diff --git a/DEPS b/DEPS index c334fff..275beac8 100644 --- a/DEPS +++ b/DEPS
@@ -174,7 +174,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': '26a87516dc1b627a3ad428f6a79e1deea51838c8', + 'angle_revision': '7e44ec26d6520ce3bce76df687b593b1e6d4b67b', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling SwiftShader # and whatever else without interference from each other. @@ -182,7 +182,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': 'aea4bca2621bf6c614b9c4c606c4c06e5a968d03', + 'pdfium_revision': 'a6b07058f9525c42b021f6f01d5e0da3215f46ed', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling BoringSSL # and whatever else without interference from each other. @@ -225,7 +225,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': '030358ed22a40ceb929e00931799d34dc15a6420', + 'catapult_revision': '53a464d7b4f65aaa5820901a25bd7a236a0e8792', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libFuzzer # and whatever else without interference from each other. @@ -293,7 +293,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. - 'shaderc_revision': 'febf7e9ef53660247442dccb1fcf608bf734dead', + 'shaderc_revision': '3b038fa1c3172c5659df35f700447abf82707e40', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. @@ -842,7 +842,7 @@ # Build tools for Chrome OS. Note: This depends on third_party/pyelftools. 'src/third_party/chromite': { - 'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '7a63ee7f8a8b750b8d228d6b55f9e57e74a4e68c', + 'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '88b1ffcb482ac0af4859b9eb5af11bb55c2c9a4f', 'condition': 'checkout_linux', }, @@ -867,7 +867,7 @@ }, 'src/third_party/depot_tools': - Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'f38bc1796282c61087dcf15abc61b8fd18a68402', + Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '183971ca2a9fd274336629e598c0c4aa35b37b6a', 'src/third_party/devtools-node-modules': Var('chromium_git') + '/external/github.com/ChromeDevTools/devtools-node-modules' + '@' + Var('devtools_node_modules_revision'), @@ -1120,7 +1120,7 @@ }, 'src/third_party/libphonenumber/dist': - Var('chromium_git') + '/external/libphonenumber.git' + '@' + 'a4da30df63a097d67e3c429ead6790ad91d36cf4', + Var('chromium_git') + '/external/libphonenumber.git' + '@' + '68eba9d6ee8b11fb58ece36b6c46d07965d7f7ff', 'src/third_party/libprotobuf-mutator/src': Var('chromium_git') + '/external/github.com/google/libprotobuf-mutator.git' + '@' + Var('libprotobuf-mutator'), @@ -1246,7 +1246,7 @@ }, 'src/third_party/perfetto': - Var('android_git') + '/platform/external/perfetto.git' + '@' + '9d36b1d101b4397c757dced11b22b64142505b8e', + Var('android_git') + '/platform/external/perfetto.git' + '@' + '65b7843ab9b687a8c29b286434a577e86d01d1ba', 'src/third_party/perl': { 'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '6f3e5028eb65d0b4c5fdd792106ac4c84eee1eb3', @@ -1455,7 +1455,7 @@ Var('chromium_git') + '/v8/v8.git' + '@' + Var('v8_revision'), 'src-internal': { - 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@ed788765ead452bbed3c8608d13f7c27d515d1bb', + 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@142d30cdaa5845817c7d845883865bff4f981e0a', 'condition': 'checkout_src_internal', },
diff --git a/WATCHLISTS b/WATCHLISTS index 64f4f43..58898e6 100644 --- a/WATCHLISTS +++ b/WATCHLISTS
@@ -1054,6 +1054,9 @@ 'testing/buildbot|'\ 'tools/mb', }, + 'infra_docs': { + 'filepath': 'docs/infra', + }, 'ink_drop': { 'filepath': 'ui/views/animation/test/.*ink_drop.*|' \ 'ui/views/animation/.*ink_drop.*' @@ -2358,6 +2361,7 @@ 'incident_reporting': ['grt+watch@chromium.org'], 'indexed_db': ['jsbell+idb@chromium.org'], 'infra': ['jbudorick+watch@chromium.org'], + 'infra_docs': ['martiniss+watch@chromium.org'], 'ink_drop': ['bruthig+ink_drop@chromium.org'], 'input': ['dtapuska+chromiumwatch@chromium.org', 'nzolghadr+chromiumwatch@chromium.org'],
diff --git a/ash/app_list/views/app_list_item_view.cc b/ash/app_list/views/app_list_item_view.cc index f4f44a55..56200523 100644 --- a/ash/app_list/views/app_list_item_view.cc +++ b/ash/app_list/views/app_list_item_view.cc
@@ -502,10 +502,10 @@ run_types |= views::MenuRunner::SEND_GESTURE_EVENTS_TO_OWNER; gfx::Rect anchor_rect = - apps_grid_view_->GetMirroredRect(apps_grid_view_->GetIdealBounds(this)); + parent()->GetMirroredRect(apps_grid_view_->GetIdealBounds(this)); // Anchor the menu to the same rect that is used for selection highlight. AdaptBoundsForSelectionHighlight(&anchor_rect); - views::View::ConvertRectToScreen(apps_grid_view_, &anchor_rect); + views::View::ConvertRectToScreen(parent(), &anchor_rect); AppLaunchedMetricParams metric_params = { ash::AppListLaunchedFrom::kLaunchedFromGrid};
diff --git a/ash/app_list/views/apps_container_view.cc b/ash/app_list/views/apps_container_view.cc index 6ff2bd1..fa25d254 100644 --- a/ash/app_list/views/apps_container_view.cc +++ b/ash/app_list/views/apps_container_view.cc
@@ -196,6 +196,8 @@ void AppsContainerView::UpdateControlVisibility( ash::AppListViewState app_list_state, bool is_in_drag) { + if (app_list_state == ash::AppListViewState::kClosed) + return; apps_grid_view_->UpdateControlVisibility(app_list_state, is_in_drag); page_switcher_->SetVisible(app_list_state == ash::AppListViewState::kFullscreenAllApps ||
diff --git a/ash/app_list/views/apps_grid_view_unittest.cc b/ash/app_list/views/apps_grid_view_unittest.cc index 7ca3e49..6d207279 100644 --- a/ash/app_list/views/apps_grid_view_unittest.cc +++ b/ash/app_list/views/apps_grid_view_unittest.cc
@@ -99,6 +99,42 @@ DISALLOW_COPY_AND_ASSIGN(PageFlipWaiter); }; +// WindowDeletionWaiter waits for the specified window to be deleted. +class WindowDeletionWaiter : aura::WindowObserver { + public: + explicit WindowDeletionWaiter(aura::Window* window) : window_(window) { + window_->AddObserver(this); + } + ~WindowDeletionWaiter() override = default; + + void Wait() { run_loop_.Run(); } + + private: + // WindowObserver: + void OnWindowDestroying(aura::Window* window) override { + window->RemoveObserver(this); + run_loop_.QuitWhenIdle(); + } + + base::RunLoop run_loop_; + aura::Window* window_; + + DISALLOW_COPY_AND_ASSIGN(WindowDeletionWaiter); +}; + +// Find the window with type WINDOW_TYPE_MENU and returns the firstly found one. +// Returns nullptr if no such window exists. +aura::Window* FindMenuWindow(aura::Window* root) { + if (root->type() == aura::client::WINDOW_TYPE_MENU) + return root; + for (auto* child : root->children()) { + auto* menu_in_child = FindMenuWindow(child); + if (menu_in_child) + return menu_in_child; + } + return nullptr; +} + // Dragging task to be run after page flip is observed. class DragAfterPageFlipTask : public ash::PaginationModelObserver { public: @@ -788,6 +824,53 @@ EXPECT_FALSE(apps_grid_view_->IsSelectedView(app)); } +// Tests that the context menu for app item appears at the right position. +TEST_P(AppsGridViewTest, MenuAtRightPosition) { + const size_t kItemsInPage = + apps_grid_view_->cols() * apps_grid_view_->rows_per_page(); + const size_t kPages = 2; + model_->PopulateApps(kItemsInPage * kPages); + + auto* root = apps_grid_view_->GetWidget()->GetNativeWindow()->GetRootWindow(); + gfx::Rect root_bounds = root->GetBoundsInScreen(); + + std::vector<int> pages_to_check = {1, 0}; + for (int i : pages_to_check) { + apps_grid_view_->pagination_model()->SelectPage(i, /*animate=*/false); + + for (size_t j = 0; j < kItemsInPage; ++j) { + const size_t idx = kItemsInPage * i + j; + AppListItemView* item_view = GetItemViewAt(idx); + + // Send a mouse event which would show a context menu. + ui::MouseEvent press_event(ui::ET_MOUSE_PRESSED, gfx::Point(), + gfx::Point(), ui::EventTimeForNow(), + ui::EF_RIGHT_MOUSE_BUTTON, + ui::EF_RIGHT_MOUSE_BUTTON); + static_cast<views::View*>(item_view)->OnMouseEvent(&press_event); + + ui::MouseEvent release_event(ui::ET_MOUSE_RELEASED, gfx::Point(), + gfx::Point(), ui::EventTimeForNow(), + ui::EF_RIGHT_MOUSE_BUTTON, + ui::EF_RIGHT_MOUSE_BUTTON); + static_cast<views::View*>(item_view)->OnMouseEvent(&release_event); + + // Make sure that the menu is drawn on screen. + auto* menu_window = FindMenuWindow(root); + gfx::Rect menu_bounds = menu_window->GetBoundsInScreen(); + EXPECT_TRUE(root_bounds.Contains(menu_bounds)) + << "menu bounds for " << idx << "-th item " << menu_bounds.ToString() + << " is outside of the screen bounds " << root_bounds.ToString(); + + // CancelContextMenu doesn't remove the menu window immediately, so wait + // for its actual deletion. + WindowDeletionWaiter waiter(menu_window); + item_view->CancelContextMenu(); + waiter.Wait(); + } + } +} + TEST_P(AppsGridViewTest, MouseDragItemIntoFolder) { size_t kTotalItems = 3; model_->PopulateApps(kTotalItems);
diff --git a/ash/assistant/assistant_state_controller_unittest.cc b/ash/assistant/assistant_state_controller_unittest.cc index 4bd7e1d..13fc445 100644 --- a/ash/assistant/assistant_state_controller_unittest.cc +++ b/ash/assistant/assistant_state_controller_unittest.cc
@@ -27,9 +27,15 @@ void OnAssistantContextEnabled(bool context_enabled) override { context_enabled_ = context_enabled; } + void OnAssistantSettingsEnabled(bool settings_enabled) override { + settings_enabled_ = settings_enabled; + } void OnAssistantHotwordAlwaysOn(bool hotword_always_on) override { hotword_always_on_ = hotword_always_on; } + void OnAssistantHotwordEnabled(bool hotword_enabled) override { + hotword_enabled_ = hotword_enabled; + } void OnAssistantLaunchWithMicOpen(bool launch_with_mic_open) override { launch_with_mic_open_ = launch_with_mic_open; } @@ -39,14 +45,18 @@ int consent_status() const { return consent_status_; } bool context_enabled() const { return context_enabled_; } + bool settings_enabled() const { return settings_enabled_; } bool hotword_always_on() const { return hotword_always_on_; } + bool hotword_enabled() const { return hotword_enabled_; } bool launch_with_mic_open() const { return launch_with_mic_open_; } bool notification_enabled() const { return notification_enabled_; } private: int consent_status_ = chromeos::assistant::prefs::ConsentStatus::kUnknown; bool context_enabled_ = false; + bool settings_enabled_ = false; bool hotword_always_on_ = false; + bool hotword_enabled_ = false; bool launch_with_mic_open_ = false; bool notification_enabled_ = false; @@ -85,8 +95,11 @@ chromeos::assistant::prefs::ConsentStatus::kActivityControlAccepted); prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantContextEnabled, true); + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, true); prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantHotwordAlwaysOn, true); + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantHotwordEnabled, + true); prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantLaunchWithMicOpen, true); prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantNotificationEnabled, @@ -98,7 +111,9 @@ EXPECT_EQ(chromeos::assistant::prefs::ConsentStatus::kActivityControlAccepted, observer()->consent_status()); EXPECT_EQ(observer()->context_enabled(), true); + EXPECT_EQ(observer()->settings_enabled(), true); EXPECT_EQ(observer()->hotword_always_on(), true); + EXPECT_EQ(observer()->hotword_enabled(), true); EXPECT_EQ(observer()->launch_with_mic_open(), true); EXPECT_EQ(observer()->notification_enabled(), true); AssistantState::Get()->RemoveObserver(observer()); @@ -133,6 +148,17 @@ AssistantState::Get()->RemoveObserver(observer()); } +TEST_F(AssistantStateControllerTest, NotifySettingsEnabled) { + AssistantState::Get()->AddObserver(observer()); + + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, false); + EXPECT_EQ(observer()->settings_enabled(), false); + + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, true); + EXPECT_EQ(observer()->settings_enabled(), true); + AssistantState::Get()->RemoveObserver(observer()); +} + TEST_F(AssistantStateControllerTest, NotifyHotwordAlwaysOn) { AssistantState::Get()->AddObserver(observer()); @@ -146,6 +172,19 @@ AssistantState::Get()->RemoveObserver(observer()); } +TEST_F(AssistantStateControllerTest, NotifyHotwordEnabled) { + AssistantState::Get()->AddObserver(observer()); + + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantHotwordEnabled, + false); + EXPECT_EQ(observer()->hotword_enabled(), false); + + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantHotwordEnabled, + true); + EXPECT_EQ(observer()->hotword_enabled(), true); + AssistantState::Get()->RemoveObserver(observer()); +} + TEST_F(AssistantStateControllerTest, NotifyLaunchWithMicOpen) { AssistantState::Get()->AddObserver(observer());
diff --git a/ash/assistant/test/assistant_ash_test_base.cc b/ash/assistant/test/assistant_ash_test_base.cc index 46a219d9..1a02cebf 100644 --- a/ash/assistant/test/assistant_ash_test_base.cc +++ b/ash/assistant/test/assistant_ash_test_base.cc
@@ -12,6 +12,7 @@ #include "ash/app_list/views/contents_view.h" #include "ash/assistant/assistant_controller.h" #include "ash/public/cpp/app_list/app_list_features.h" +#include "ash/session/session_controller_impl.h" #include "ash/shell.h" #include "ui/compositor/scoped_animation_duration_scale_mode.h" @@ -28,7 +29,8 @@ AshTestBase::SetUp(); // Enable Assistant in settings. - AssistantState::Get()->NotifySettingsEnabled(true); + Shell::Get()->session_controller()->GetPrimaryUserPrefService()->SetBoolean( + chromeos::assistant::prefs::kAssistantEnabled, true); // Cache controller. controller_ = Shell::Get()->assistant_controller();
diff --git a/ash/assistant/ui/DEPS b/ash/assistant/ui/DEPS index bea464e..b2ebf4f 100644 --- a/ash/assistant/ui/DEPS +++ b/ash/assistant/ui/DEPS
@@ -23,6 +23,7 @@ "+ash/assistant/assistant_controller.h", "+ash/assistant/assistant_ui_controller.h", "+ash/shell.h", + "+ash/session/session_controller_impl.h", "+ash/test/ash_test_base.h", "+ash/wm/tablet_mode/tablet_mode_controller.h", "+base/test/scoped_feature_list.h",
diff --git a/ash/assistant/ui/assistant_container_view_unittest.cc b/ash/assistant/ui/assistant_container_view_unittest.cc index 581dc8176..cc2cdb6 100644 --- a/ash/assistant/ui/assistant_container_view_unittest.cc +++ b/ash/assistant/ui/assistant_container_view_unittest.cc
@@ -8,6 +8,7 @@ #include "ash/assistant/assistant_controller.h" #include "ash/assistant/assistant_ui_controller.h" +#include "ash/session/session_controller_impl.h" #include "ash/shell.h" #include "ash/test/ash_test_base.h" #include "ash/wm/tablet_mode/tablet_mode_controller.h" @@ -40,7 +41,8 @@ DCHECK(ui_controller_); // Enable Assistant in settings. - AssistantState::Get()->NotifySettingsEnabled(true); + Shell::Get()->session_controller()->GetPrimaryUserPrefService()->SetBoolean( + chromeos::assistant::prefs::kAssistantEnabled, true); // After mocks are set up our Assistant service is ready for use. Indicate // this by changing status from NOT_READY to STOPPED.
diff --git a/ash/public/cpp/assistant/assistant_state.cc b/ash/public/cpp/assistant/assistant_state.cc index 736e804..1f4a3ee 100644 --- a/ash/public/cpp/assistant/assistant_state.cc +++ b/ash/public/cpp/assistant/assistant_state.cc
@@ -43,26 +43,6 @@ [state](auto* observer) { observer->OnAssistantStatusChanged(state); }); } -void AssistantState::NotifySettingsEnabled(bool enabled) { - if (settings_enabled_.has_value() && settings_enabled_.value() == enabled) - return; - - UpdateSettingsEnabled(enabled); - remote_observers_.ForAllPtrs([enabled](auto* observer) { - observer->OnAssistantSettingsEnabled(enabled); - }); -} - -void AssistantState::NotifyHotwordEnabled(bool enabled) { - if (hotword_enabled_.has_value() && hotword_enabled_.value() == enabled) - return; - - UpdateHotwordEnabled(enabled); - remote_observers_.ForAllPtrs([enabled](auto* observer) { - observer->OnAssistantHotwordEnabled(enabled); - }); -} - void AssistantState::NotifyFeatureAllowed(mojom::AssistantAllowedState state) { if (allowed_state_ == state) return;
diff --git a/ash/public/cpp/assistant/assistant_state.h b/ash/public/cpp/assistant/assistant_state.h index 866a167..dd7ae6b 100644 --- a/ash/public/cpp/assistant/assistant_state.h +++ b/ash/public/cpp/assistant/assistant_state.h
@@ -28,8 +28,6 @@ void BindRequest(mojom::AssistantStateControllerRequest request); void NotifyStatusChanged(mojom::VoiceInteractionState state); - void NotifySettingsEnabled(bool enabled); - void NotifyHotwordEnabled(bool enabled); void NotifyFeatureAllowed(mojom::AssistantAllowedState state); void NotifyLocaleChanged(const std::string& locale); void NotifyArcPlayStoreEnabledChanged(bool enabled);
diff --git a/ash/public/cpp/assistant/assistant_state_base.cc b/ash/public/cpp/assistant/assistant_state_base.cc index d8b459d..4d7062e 100644 --- a/ash/public/cpp/assistant/assistant_state_base.cc +++ b/ash/public/cpp/assistant/assistant_state_base.cc
@@ -73,10 +73,18 @@ base::BindRepeating(&AssistantStateBase::UpdateContextEnabled, base::Unretained(this))); pref_change_registrar_->Add( + chromeos::assistant::prefs::kAssistantEnabled, + base::BindRepeating(&AssistantStateBase::UpdateSettingsEnabled, + base::Unretained(this))); + pref_change_registrar_->Add( chromeos::assistant::prefs::kAssistantHotwordAlwaysOn, base::BindRepeating(&AssistantStateBase::UpdateHotwordAlwaysOn, base::Unretained(this))); pref_change_registrar_->Add( + chromeos::assistant::prefs::kAssistantHotwordEnabled, + base::BindRepeating(&AssistantStateBase::UpdateHotwordEnabled, + base::Unretained(this))); + pref_change_registrar_->Add( chromeos::assistant::prefs::kAssistantLaunchWithMicOpen, base::BindRepeating(&AssistantStateBase::UpdateLaunchWithMicOpen, base::Unretained(this))); @@ -87,7 +95,9 @@ UpdateConsentStatus(); UpdateContextEnabled(); + UpdateSettingsEnabled(); UpdateHotwordAlwaysOn(); + UpdateHotwordEnabled(); UpdateLaunchWithMicOpen(); UpdateNotificationEnabled(); } @@ -97,8 +107,12 @@ observer->OnAssistantConsentStatusChanged(consent_status_.value()); if (context_enabled_.has_value()) observer->OnAssistantContextEnabled(context_enabled_.value()); + if (settings_enabled_.has_value()) + observer->OnAssistantSettingsEnabled(settings_enabled_.value()); if (hotword_always_on_.has_value()) observer->OnAssistantHotwordAlwaysOn(hotword_always_on_.value()); + if (hotword_enabled_.has_value()) + observer->OnAssistantHotwordEnabled(hotword_enabled_.value()); if (launch_with_mic_open_.has_value()) observer->OnAssistantLaunchWithMicOpen(launch_with_mic_open_.value()); if (notification_enabled_.has_value()) @@ -110,10 +124,6 @@ void AssistantStateBase::InitializeObserverMojom( mojom::AssistantStateObserver* observer) { observer->OnAssistantStatusChanged(voice_interaction_state_); - if (settings_enabled_.has_value()) - observer->OnAssistantSettingsEnabled(settings_enabled_.value()); - if (hotword_enabled_.has_value()) - observer->OnAssistantHotwordEnabled(hotword_enabled_.value()); if (allowed_state_.has_value()) observer->OnAssistantFeatureAllowedChanged(allowed_state_.value()); if (locale_.has_value()) @@ -146,6 +156,18 @@ observer.OnAssistantContextEnabled(context_enabled_.value()); } +void AssistantStateBase::UpdateSettingsEnabled() { + auto settings_enabled = pref_change_registrar_->prefs()->GetBoolean( + chromeos::assistant::prefs::kAssistantEnabled); + if (settings_enabled_.has_value() && + settings_enabled_.value() == settings_enabled) { + return; + } + settings_enabled_ = settings_enabled; + for (auto& observer : observers_) + observer.OnAssistantSettingsEnabled(settings_enabled_.value()); +} + void AssistantStateBase::UpdateHotwordAlwaysOn() { auto hotword_always_on = pref_change_registrar_->prefs()->GetBoolean( chromeos::assistant::prefs::kAssistantHotwordAlwaysOn); @@ -158,6 +180,18 @@ observer.OnAssistantHotwordAlwaysOn(hotword_always_on_.value()); } +void AssistantStateBase::UpdateHotwordEnabled() { + auto hotword_enabled = pref_change_registrar_->prefs()->GetBoolean( + chromeos::assistant::prefs::kAssistantHotwordEnabled); + if (hotword_enabled_.has_value() && + hotword_enabled_.value() == hotword_enabled) { + return; + } + hotword_enabled_ = hotword_enabled; + for (auto& observer : observers_) + observer.OnAssistantHotwordEnabled(hotword_enabled_.value()); +} + void AssistantStateBase::UpdateLaunchWithMicOpen() { auto launch_with_mic_open = pref_change_registrar_->prefs()->GetBoolean( chromeos::assistant::prefs::kAssistantLaunchWithMicOpen); @@ -189,18 +223,6 @@ observer.OnAssistantStatusChanged(voice_interaction_state_); } -void AssistantStateBase::UpdateSettingsEnabled(bool enabled) { - settings_enabled_ = enabled; - for (auto& observer : observers_) - observer.OnAssistantSettingsEnabled(settings_enabled_.value()); -} - -void AssistantStateBase::UpdateHotwordEnabled(bool enabled) { - hotword_enabled_ = enabled; - for (auto& observer : observers_) - observer.OnAssistantHotwordEnabled(hotword_enabled_.value()); -} - void AssistantStateBase::UpdateFeatureAllowedState( mojom::AssistantAllowedState state) { allowed_state_ = state;
diff --git a/ash/public/cpp/assistant/assistant_state_base.h b/ash/public/cpp/assistant/assistant_state_base.h index a07ae5d..c9861c8d 100644 --- a/ash/public/cpp/assistant/assistant_state_base.h +++ b/ash/public/cpp/assistant/assistant_state_base.h
@@ -28,15 +28,15 @@ virtual void OnAssistantConsentStatusChanged(int consent_status) {} virtual void OnAssistantContextEnabled(bool enabled) {} + virtual void OnAssistantSettingsEnabled(bool enabled) {} virtual void OnAssistantHotwordAlwaysOn(bool hotword_always_on) {} + virtual void OnAssistantHotwordEnabled(bool enabled) {} virtual void OnAssistantLaunchWithMicOpen(bool launch_with_mic_open) {} virtual void OnAssistantNotificationEnabled(bool notification_enabled) {} // mojom::AssistantStateObserver: void OnAssistantStatusChanged( ash::mojom::VoiceInteractionState state) override {} - void OnAssistantSettingsEnabled(bool enabled) override {} - void OnAssistantHotwordEnabled(bool enabled) override {} void OnAssistantFeatureAllowedChanged( ash::mojom::AssistantAllowedState state) override {} void OnArcPlayStoreEnabledChanged(bool enabled) override {} @@ -115,14 +115,14 @@ // Called when the related preferences are obtained from the pref service. void UpdateConsentStatus(); void UpdateContextEnabled(); + void UpdateSettingsEnabled(); void UpdateHotwordAlwaysOn(); + void UpdateHotwordEnabled(); void UpdateLaunchWithMicOpen(); void UpdateNotificationEnabled(); // Called when new values of the listened states are received. void UpdateAssistantStatus(mojom::VoiceInteractionState state); - void UpdateSettingsEnabled(bool enabled); - void UpdateHotwordEnabled(bool enabled); void UpdateFeatureAllowedState(mojom::AssistantAllowedState state); void UpdateLocale(const std::string& locale); void UpdateArcPlayStoreEnabled(bool enabled);
diff --git a/ash/public/mojom/assistant_state_controller.mojom b/ash/public/mojom/assistant_state_controller.mojom index 07e7cd9..42b924f 100644 --- a/ash/public/mojom/assistant_state_controller.mojom +++ b/ash/public/mojom/assistant_state_controller.mojom
@@ -11,12 +11,6 @@ // Called when Assistant state changes. OnAssistantStatusChanged(VoiceInteractionState state); - // Called when the Assistant is enabled/disabled in settings. - OnAssistantSettingsEnabled(bool enabled); - - // Called when hotword listening is enabled/disabled. - OnAssistantHotwordEnabled(bool enabled); - // Called when assistant feature allowed state has changed. OnAssistantFeatureAllowedChanged(AssistantAllowedState state);
diff --git a/ash/shelf/home_button_unittest.cc b/ash/shelf/home_button_unittest.cc index 192518c..fe022017 100644 --- a/ash/shelf/home_button_unittest.cc +++ b/ash/shelf/home_button_unittest.cc
@@ -66,6 +66,10 @@ AssistantState* assistant_state() const { return AssistantState::Get(); } + PrefService* prefs() { + return Shell::Get()->session_controller()->GetPrimaryUserPrefService(); + } + private: DISALLOW_COPY_AND_ASSIGN(HomeButtonTest); }; @@ -174,7 +178,7 @@ CreateUserSessions(2); // Enable voice interaction in system settings. - assistant_state()->NotifySettingsEnabled(true); + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, true); assistant_state()->NotifyFeatureAllowed( mojom::AssistantAllowedState::ALLOWED); assistant_state()->NotifyStatusChanged(mojom::VoiceInteractionState::STOPPED); @@ -207,7 +211,7 @@ mojom::AssistantAllowedState::DISALLOWED_BY_NONPRIMARY_USER); // Enable voice interaction in system settings. - assistant_state()->NotifySettingsEnabled(true); + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, true); ui::GestureEvent long_press = CreateGestureEvent(ui::GestureEventDetails(ui::ET_GESTURE_LONG_PRESS)); @@ -234,7 +238,7 @@ // Simulate a user who has already completed setup flow, but disabled voice // interaction in settings. - assistant_state()->NotifySettingsEnabled(false); + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, false); assistant_state()->NotifyFeatureAllowed( mojom::AssistantAllowedState::ALLOWED);
diff --git a/ash/system/network/vpn_feature_pod_controller.cc b/ash/system/network/vpn_feature_pod_controller.cc index 7a16494..de617de 100644 --- a/ash/system/network/vpn_feature_pod_controller.cc +++ b/ash/system/network/vpn_feature_pod_controller.cc
@@ -32,7 +32,7 @@ // Show the VPN entry in the ash tray bubble if at least one third-party VPN // provider is installed. - if (Shell::Get()->vpn_list()->HaveExtensionOrArcVPNProviders()) + if (Shell::Get()->vpn_list()->HaveExtensionOrArcVpnProviders()) return true; // Also show the VPN entry if at least one VPN network is configured.
diff --git a/ash/system/network/vpn_list.cc b/ash/system/network/vpn_list.cc index c791523..8de0437 100644 --- a/ash/system/network/vpn_list.cc +++ b/ash/system/network/vpn_list.cc
@@ -11,60 +11,6 @@ namespace ash { -VPNProvider::VPNProvider() = default; - -VPNProvider VPNProvider::CreateBuiltInVPNProvider() { - VPNProvider vpn_provider; - vpn_provider.provider_type = BUILT_IN_VPN; - return vpn_provider; -} - -VPNProvider VPNProvider::CreateExtensionVPNProvider( - const std::string& extension_id, - const std::string& third_party_provider_name) { - DCHECK(!extension_id.empty()); - DCHECK(!third_party_provider_name.empty()); - - VPNProvider vpn_provider; - vpn_provider.provider_type = THIRD_PARTY_VPN; - vpn_provider.app_id = extension_id; - vpn_provider.provider_name = third_party_provider_name; - return vpn_provider; -} - -VPNProvider VPNProvider::CreateArcVPNProvider( - const std::string& package_name, - const std::string& app_name, - const std::string& app_id, - const base::Time last_launch_time) { - DCHECK(!app_id.empty()); - DCHECK(!app_name.empty()); - DCHECK(!package_name.empty()); - DCHECK(!last_launch_time.is_null()); - - VPNProvider vpn_provider; - vpn_provider.provider_type = ARC_VPN; - vpn_provider.app_id = app_id; - vpn_provider.provider_name = app_name; - vpn_provider.package_name = package_name; - vpn_provider.last_launch_time = last_launch_time; - return vpn_provider; -} - -VPNProvider::VPNProvider(const VPNProvider& other) { - provider_type = other.provider_type; - app_id = other.app_id; - provider_name = other.provider_name; - package_name = other.package_name; - last_launch_time = other.last_launch_time; -} - -bool VPNProvider::operator==(const VPNProvider& other) const { - return provider_type == other.provider_type && app_id == other.app_id && - provider_name == other.provider_name && - package_name == other.package_name; -} - VpnList::Observer::~Observer() = default; VpnList::VpnList() { @@ -80,9 +26,9 @@ VpnList::~VpnList() = default; -bool VpnList::HaveExtensionOrArcVPNProviders() const { - for (const VPNProvider& extension_provider : extension_vpn_providers_) { - if (extension_provider.provider_type == VPNProvider::THIRD_PARTY_VPN) +bool VpnList::HaveExtensionOrArcVpnProviders() const { + for (const VpnProviderPtr& extension_provider : extension_vpn_providers_) { + if (extension_provider->type == VpnType::kExtension) return true; } return arc_vpn_providers_.size() > 0; @@ -112,34 +58,28 @@ base::BindOnce(&VpnList::OnGetVpnProviders, base::Unretained(this))); } -void VpnList::SetVpnProvidersForTest( - std::vector<chromeos::network_config::mojom::VpnProviderPtr> providers) { +void VpnList::SetVpnProvidersForTest(std::vector<VpnProviderPtr> providers) { OnGetVpnProviders(std::move(providers)); } -void VpnList::OnGetVpnProviders( - std::vector<chromeos::network_config::mojom::VpnProviderPtr> providers) { +void VpnList::OnGetVpnProviders(std::vector<VpnProviderPtr> providers) { extension_vpn_providers_.clear(); arc_vpn_providers_.clear(); // Add the OpenVPN/L2TP provider. AddBuiltInProvider(); // Add Third Party (Extension and Arc) providers. - for (const auto& provider : providers) { + for (auto& provider : providers) { switch (provider->type) { - case chromeos::network_config::mojom::VpnType::kL2TPIPsec: - case chromeos::network_config::mojom::VpnType::kOpenVPN: + case VpnType::kL2TPIPsec: + case VpnType::kOpenVPN: // Only third party VpnProvider instances should exist. NOTREACHED(); break; - case chromeos::network_config::mojom::VpnType::kExtension: - extension_vpn_providers_.push_back( - VPNProvider::CreateExtensionVPNProvider(provider->provider_id, - provider->provider_name)); + case VpnType::kExtension: + extension_vpn_providers_.push_back(std::move(provider)); break; - case chromeos::network_config::mojom::VpnType::kArc: - arc_vpn_providers_.push_back(VPNProvider::CreateArcVPNProvider( - provider->provider_id, provider->provider_name, provider->app_id, - provider->last_launch_time)); + case VpnType::kArc: + arc_vpn_providers_.push_back(std::move(provider)); break; } } @@ -148,13 +88,17 @@ void VpnList::NotifyObservers() { for (auto& observer : observer_list_) - observer.OnVPNProvidersChanged(); + observer.OnVpnProvidersChanged(); } void VpnList::AddBuiltInProvider() { - // The VPNProvider() constructor generates the built-in provider and has no - // extension ID. - extension_vpn_providers_.push_back(VPNProvider::CreateBuiltInVPNProvider()); + // Create a VpnProvider with type kOpenVPN for the built-in provider. + extension_vpn_providers_.push_back( + VpnProvider::New(VpnType::kOpenVPN, + /*provider_id=*/std::string(), + /*provider_name=*/std::string(), + /*app_id=*/std::string(), + /*last_launch_time=*/base::Time())); } } // namespace ash
diff --git a/ash/system/network/vpn_list.h b/ash/system/network/vpn_list.h index 28fd5e89..aae73b8 100644 --- a/ash/system/network/vpn_list.h +++ b/ash/system/network/vpn_list.h
@@ -18,54 +18,6 @@ namespace ash { -// Describes a VPN provider for the UI. TODO(979314): Remove this class and use -// network_config::mojom::VpnProvider instead. -struct ASH_EXPORT VPNProvider { - enum ProviderType { - BUILT_IN_VPN = 0, - THIRD_PARTY_VPN, - ARC_VPN, - }; - - VPNProvider(); - - static VPNProvider CreateBuiltInVPNProvider(); - static VPNProvider CreateExtensionVPNProvider( - const std::string& extension_id, - const std::string& third_party_provider_name); - static VPNProvider CreateArcVPNProvider(const std::string& package_name, - const std::string& app_name, - const std::string& app_id, - const base::Time last_launch_time); - - // Explicit copy constructor. - VPNProvider(const VPNProvider& other); - - bool operator==(const VPNProvider& other) const; - - // This property represents whether this is a built-in or third-party or Arc - // VPN provider. - ProviderType provider_type; - - // Properties used by third-party VPN providers and Arc VPN providers. Empty - // for built-in VPN. - - // App id of the extension or Arc app that implements this provider. - std::string app_id; - - // Human-readable name. - std::string provider_name; - - // Properties used by Arc VPN providers. Empty for built-in VPN and - // third-party VPN providers. - - // Package name of the Arc VPN provider. e.g. package.name.foo.bar - std::string package_name; - - // Last launch time is used to sort Arc VPN providers. - base::Time last_launch_time; -}; - // This delegate provides UI code in ash, e.g. |VPNListView|, with access to the // list of VPN providers enabled in the primary user's profile. The delegate // furthermore allows the UI code to request that a VPN provider show its "add @@ -73,11 +25,15 @@ class ASH_EXPORT VpnList : public chromeos::network_config::mojom::CrosNetworkConfigObserver { public: + using VpnProvider = chromeos::network_config::mojom::VpnProvider; + using VpnProviderPtr = chromeos::network_config::mojom::VpnProviderPtr; + using VpnType = chromeos::network_config::mojom::VpnType; + // An observer that is notified whenever the list of VPN providers enabled in // the primary user's profile changes. class Observer { public: - virtual void OnVPNProvidersChanged() = 0; + virtual void OnVpnProvidersChanged() = 0; protected: virtual ~Observer(); @@ -89,17 +45,17 @@ VpnList(); ~VpnList() override; - const std::vector<VPNProvider>& extension_vpn_providers() { + const std::vector<VpnProviderPtr>& extension_vpn_providers() { return extension_vpn_providers_; } - const std::vector<VPNProvider>& arc_vpn_providers() { + const std::vector<VpnProviderPtr>& arc_vpn_providers() { return arc_vpn_providers_; } // Returns |true| if at least one third-party VPN provider or at least one Arc // VPN provider is enabled in the primary user's profile, in addition to the // built-in OpenVPN/L2TP provider. - bool HaveExtensionOrArcVPNProviders() const; + bool HaveExtensionOrArcVpnProviders() const; void AddObserver(Observer* observer); void RemoveObserver(Observer* observer); @@ -115,12 +71,10 @@ void OnDeviceStateListChanged() override; void OnVpnProvidersChanged() override; - void SetVpnProvidersForTest( - std::vector<chromeos::network_config::mojom::VpnProviderPtr> providers); + void SetVpnProvidersForTest(std::vector<VpnProviderPtr> providers); private: - void OnGetVpnProviders( - std::vector<chromeos::network_config::mojom::VpnProviderPtr> providers); + void OnGetVpnProviders(std::vector<VpnProviderPtr> providers); // Notify observers that the list of VPN providers enabled in the primary // user's profile has changed. @@ -136,11 +90,11 @@ // Cache of VPN providers, including the built-in OpenVPN/L2TP provider and // other providers added by extensions in the primary user's profile. - std::vector<VPNProvider> extension_vpn_providers_; + std::vector<VpnProviderPtr> extension_vpn_providers_; // Cache of Arc VPN providers. Will be sorted based on last launch time when // creating vpn list view. - std::vector<VPNProvider> arc_vpn_providers_; + std::vector<VpnProviderPtr> arc_vpn_providers_; base::ObserverList<Observer>::Unchecked observer_list_;
diff --git a/ash/system/network/vpn_list_unittest.cc b/ash/system/network/vpn_list_unittest.cc index 5eb41568..b2c908a 100644 --- a/ash/system/network/vpn_list_unittest.cc +++ b/ash/system/network/vpn_list_unittest.cc
@@ -26,7 +26,7 @@ ~TestVpnListObserver() override = default; // VpnList::Observer: - void OnVPNProvidersChanged() override { change_count_++; } + void OnVpnProvidersChanged() override { change_count_++; } int change_count_ = 0; }; @@ -48,122 +48,98 @@ // The VPN list should only contain the built-in provider. ASSERT_EQ(1u, vpn_list.extension_vpn_providers().size()); - VPNProvider provider = vpn_list.extension_vpn_providers()[0]; - EXPECT_EQ(provider.provider_type, VPNProvider::BUILT_IN_VPN); - EXPECT_TRUE(provider.app_id.empty()); + const VpnProviderPtr& provider = vpn_list.extension_vpn_providers()[0]; + EXPECT_EQ(provider->type, VpnType::kOpenVPN); + EXPECT_TRUE(provider->app_id.empty()); } -TEST_F(VpnListTest, ExtensionProviders) { +TEST_F(VpnListTest, ThirdPartyProviders) { VpnList vpn_list; + // The VpnList model doesn't sort by launch time or otherwise do anything + // with the value, so we use the same value for all instances and di a single + // verification that it gets set. + base::Time launch_time = base::Time::Now(); // The VPN list should only contain the built-in provider. EXPECT_EQ(1u, vpn_list.extension_vpn_providers().size()); - // Add some third party (extension-backed) providers. + // Add some third party providers. + VpnProviderPtr extension_provider1 = + VpnProvider::New(VpnType::kExtension, "extension_id1", "name1", + "extension_id1", launch_time); + VpnProviderPtr extension_provider2 = + VpnProvider::New(VpnType::kExtension, "extension_id2", "name2", + "extension_id2", launch_time); + VpnProviderPtr arc_provider1 = + VpnProvider::New(VpnType::kArc, "package.name.foo1", "ArcVPNMonster1", + "arc_app_id1", launch_time); + std::vector<VpnProviderPtr> third_party_providers; - VpnProviderPtr third_party1 = VpnProvider::New(); - third_party1->type = VpnType::kExtension; - third_party1->provider_name = "name1"; - third_party1->provider_id = "extension_id1"; - third_party_providers.push_back(std::move(third_party1)); + third_party_providers.push_back(extension_provider1->Clone()); + third_party_providers.push_back(extension_provider2->Clone()); + third_party_providers.push_back(arc_provider1->Clone()); + vpn_list.SetVpnProvidersForTest(CopyProviders(third_party_providers)); - VpnProviderPtr third_party2 = VpnProvider::New(); - third_party2->type = VpnType::kExtension; - third_party2->provider_name = "name2"; - third_party2->provider_id = "extension_id2"; - third_party_providers.push_back(std::move(third_party2)); + // Extension list contains the builtin provider and extension-backed + // providers. + { + const std::vector<VpnProviderPtr>& extension_providers = + vpn_list.extension_vpn_providers(); + ASSERT_EQ(3u, extension_providers.size()); + EXPECT_EQ(VpnType::kOpenVPN, extension_providers[0]->type); + EXPECT_TRUE(extension_providers[1]->Equals(*extension_provider1)); + EXPECT_TRUE(extension_providers[2]->Equals(*extension_provider2)); + } - vpn_list.SetVpnProvidersForTest(std::move(third_party_providers)); + // Arc list contains the Arc providers. + { + const std::vector<VpnProviderPtr>& arc_providers = + vpn_list.arc_vpn_providers(); + EXPECT_EQ(1u, arc_providers.size()); + EXPECT_TRUE(arc_providers[0]->Equals(*arc_provider1)); + EXPECT_EQ(launch_time, arc_providers[0]->last_launch_time); + } - // Mojo types will be converted to internal ash types. - VPNProvider extension_provider1 = - VPNProvider::CreateExtensionVPNProvider("extension_id1", "name1"); - VPNProvider extension_provider2 = - VPNProvider::CreateExtensionVPNProvider("extension_id2", "name2"); + // A second Arc VPN gets installed. + VpnProviderPtr arc_provider2 = + VpnProvider::New(VpnType::kArc, "package.name.foo2", "ArcVPNMonster2", + "arc_app_id2", launch_time); + third_party_providers.push_back(arc_provider2->Clone()); + vpn_list.SetVpnProvidersForTest(CopyProviders(third_party_providers)); + { + const std::vector<VpnProviderPtr>& arc_providers = + vpn_list.arc_vpn_providers(); + EXPECT_EQ(2u, arc_providers.size()); + EXPECT_TRUE(arc_providers[0]->Equals(*arc_provider1)); + EXPECT_TRUE(arc_providers[1]->Equals(*arc_provider2)); + } - // List contains the extension-backed providers. Order doesn't matter. - std::vector<VPNProvider> extension_providers = - vpn_list.extension_vpn_providers(); - EXPECT_EQ(3u, extension_providers.size()); - EXPECT_EQ(1u, std::count(extension_providers.begin(), - extension_providers.end(), extension_provider1)); - EXPECT_EQ(1u, std::count(extension_providers.begin(), - extension_providers.end(), extension_provider2)); -} - -TEST_F(VpnListTest, ArcProviders) { - VpnList vpn_list; - - // Initial refresh. - base::Time launchTime1 = base::Time::Now(); - std::vector<VpnProviderPtr> arc_vpn_providers; - VpnProviderPtr arc_vpn_provider1 = VpnProvider::New(); - arc_vpn_provider1->type = VpnType::kArc; - arc_vpn_provider1->provider_id = "package.name.foo1"; - arc_vpn_provider1->provider_name = "ArcVPNMonster1"; - arc_vpn_provider1->app_id = "arc_app_id1"; - arc_vpn_provider1->last_launch_time = launchTime1; - arc_vpn_providers.push_back(std::move(arc_vpn_provider1)); - - vpn_list.SetVpnProvidersForTest(CopyProviders(arc_vpn_providers)); - - VPNProvider arc_provider1 = VPNProvider::CreateArcVPNProvider( - "package.name.foo1", "ArcVPNMonster1", "arc_app_id1", launchTime1); - - std::vector<VPNProvider> arc_providers = vpn_list.arc_vpn_providers(); - EXPECT_EQ(1u, arc_providers.size()); - EXPECT_EQ(1u, std::count(arc_providers.begin(), arc_providers.end(), - arc_provider1)); - EXPECT_EQ(launchTime1, arc_providers[0].last_launch_time); - - // package.name.foo2 gets installed. - VpnProviderPtr arc_vpn_provider2 = VpnProvider::New(); - arc_vpn_provider2->type = VpnType::kArc; - arc_vpn_provider2->provider_id = "package.name.foo2"; - arc_vpn_provider2->provider_name = "ArcVPNMonster2"; - arc_vpn_provider2->app_id = "arc_app_id2"; - arc_vpn_provider2->last_launch_time = base::Time::Now(); - arc_vpn_providers.push_back(std::move(arc_vpn_provider2)); - - vpn_list.SetVpnProvidersForTest(CopyProviders(arc_vpn_providers)); - - VPNProvider arc_provider2 = VPNProvider::CreateArcVPNProvider( - "package.name.foo2", "ArcVPNMonster2", "arc_app_id2", base::Time::Now()); - arc_providers = vpn_list.arc_vpn_providers(); - EXPECT_EQ(2u, arc_providers.size()); - EXPECT_EQ(1u, std::count(arc_providers.begin(), arc_providers.end(), - arc_provider1)); - EXPECT_EQ(1u, std::count(arc_providers.begin(), arc_providers.end(), - arc_provider2)); - - // package.name.foo1 gets uninstalled. - arc_vpn_providers.erase(arc_vpn_providers.begin()); - vpn_list.SetVpnProvidersForTest(CopyProviders(arc_vpn_providers)); - - arc_providers = vpn_list.arc_vpn_providers(); - EXPECT_EQ(1u, arc_providers.size()); - EXPECT_EQ(1u, std::count(arc_providers.begin(), arc_providers.end(), - arc_provider2)); + // The first Arc VPN gets uninstalled. + auto iter = std::find_if( + third_party_providers.begin(), third_party_providers.end(), + [](const auto& p) { return p->provider_id == "package.name.foo1"; }); + ASSERT_NE(iter, third_party_providers.end()); + third_party_providers.erase(iter); + vpn_list.SetVpnProvidersForTest(CopyProviders(third_party_providers)); + { + const std::vector<VpnProviderPtr>& arc_providers = + vpn_list.arc_vpn_providers(); + EXPECT_EQ(1u, arc_providers.size()); + ASSERT_TRUE(arc_providers[0]); + ASSERT_TRUE(arc_provider2); + EXPECT_TRUE(arc_providers[0]->Equals(*arc_provider2)); + } // package.name.foo2 changes due to update or system language change. - base::Time launchTime2 = base::Time::Now(); - VpnProviderPtr arc_vpn_provider2_rename = VpnProvider::New(); - arc_vpn_provider2_rename->type = VpnType::kArc; - arc_vpn_provider2_rename->provider_id = "package.name.foo2"; - arc_vpn_provider2_rename->provider_name = "ArcVPNMonster2Rename"; - arc_vpn_provider2_rename->app_id = "arc_app_id2_rename"; - arc_vpn_provider2_rename->last_launch_time = launchTime2; - arc_vpn_providers[0] = std::move(arc_vpn_provider2_rename); - vpn_list.SetVpnProvidersForTest(CopyProviders(arc_vpn_providers)); - - arc_provider2.provider_name = "ArcVPNMonster2Rename"; - arc_provider2.app_id = "arc_app_id2_rename"; - - arc_providers = vpn_list.arc_vpn_providers(); - EXPECT_EQ(1u, arc_providers.size()); - EXPECT_EQ(1u, std::count(arc_providers.begin(), arc_providers.end(), - arc_provider2)); - EXPECT_EQ(launchTime2, arc_providers[0].last_launch_time); + arc_provider2->provider_name = "ArcVPNMonster2Rename"; + arc_provider2->app_id = "arc_app_id2_rename"; + third_party_providers[2] = arc_provider2->Clone(); + vpn_list.SetVpnProvidersForTest(CopyProviders(third_party_providers)); + { + const std::vector<VpnProviderPtr>& arc_providers = + vpn_list.arc_vpn_providers(); + EXPECT_TRUE(arc_providers[0]->Equals(*arc_provider2)); + } } TEST_F(VpnListTest, Observers) {
diff --git a/ash/system/network/vpn_list_view.cc b/ash/system/network/vpn_list_view.cc index 05c21df..2f380356 100644 --- a/ash/system/network/vpn_list_view.cc +++ b/ash/system/network/vpn_list_view.cc
@@ -54,36 +54,37 @@ using chromeos::network_config::mojom::NetworkStateProperties; using chromeos::network_config::mojom::NetworkStatePropertiesPtr; using chromeos::network_config::mojom::NetworkType; +using chromeos::network_config::mojom::VpnProvider; +using chromeos::network_config::mojom::VpnProviderPtr; using chromeos::network_config::mojom::VpnType; namespace ash { namespace tray { namespace { -struct CompareArcVPNProviderByLastLaunchTime { - bool operator()(const VPNProvider& provider1, const VPNProvider& provider2) { - return provider1.last_launch_time > provider2.last_launch_time; +struct CompareArcVpnProviderByLastLaunchTime { + bool operator()(const VpnProviderPtr& provider1, + const VpnProviderPtr& provider2) { + return provider1->last_launch_time > provider2->last_launch_time; } }; // Indicates whether |network| belongs to this VPN provider. -bool VpnProviderMatchesNetwork(const VPNProvider& provider, +bool VpnProviderMatchesNetwork(const VpnProvider* provider, const NetworkStateProperties* network) { DCHECK(network); // Never display non-VPN networks or VPNs with no provider info. if (network->type != NetworkType::kVPN) return false; - // Package name is the vpn provider id for ArcVPNProvider in network state. - if (network->vpn->type == VpnType::kArc) { - return provider.provider_type == VPNProvider::ARC_VPN && - network->vpn->provider_id == provider.package_name; + if (network->vpn->type == VpnType::kArc || + network->vpn->type == VpnType::kExtension) { + return network->vpn->type == provider->type && + network->vpn->provider_id == provider->provider_id; } - if (network->vpn->type == VpnType::kExtension) { - return provider.provider_type == VPNProvider::THIRD_PARTY_VPN && - network->vpn->provider_id == provider.app_id; - } - return provider.provider_type == VPNProvider::BUILT_IN_VPN; + + // Internal provider types all match the default internal provider. + return provider->type == VpnType::kOpenVPN; } // Returns the PrefService that should be used for kVpnConfigAllowed, which is @@ -104,11 +105,11 @@ // A list entry that represents a VPN provider. class VPNListProviderEntry : public views::ButtonListener, public views::View { public: - VPNListProviderEntry(const VPNProvider& vpn_provider, + VPNListProviderEntry(const VpnProviderPtr& vpn_provider, bool top_item, const std::string& name, int button_accessible_name_id) - : vpn_provider_(vpn_provider) { + : vpn_provider_(vpn_provider->Clone()) { TrayPopupUtils::ConfigureAsStickyHeader(this); SetLayoutManager(std::make_unique<views::FillLayout>()); TriView* tri_view = TrayPopupUtils::CreateSubHeaderRowView(true); @@ -143,15 +144,15 @@ void ButtonPressed(views::Button* sender, const ui::Event& event) override { // If the user clicks on a provider entry, request that the "add network" // dialog for this provider be shown. - if (vpn_provider_.provider_type == VPNProvider::THIRD_PARTY_VPN) { + if (vpn_provider_->type == VpnType::kExtension) { Shell::Get()->metrics()->RecordUserMetricsAction( UMA_STATUS_AREA_VPN_ADD_THIRD_PARTY_CLICKED); Shell::Get()->system_tray_model()->client()->ShowThirdPartyVpnCreate( - vpn_provider_.app_id); - } else if (vpn_provider_.provider_type == VPNProvider::ARC_VPN) { + vpn_provider_->app_id); + } else if (vpn_provider_->type == VpnType::kArc) { // TODO(lgcheng@) Add UMA status if needed. Shell::Get()->system_tray_model()->client()->ShowArcVpnCreate( - vpn_provider_.app_id); + vpn_provider_->app_id); } else { Shell::Get()->metrics()->RecordUserMetricsAction( UMA_STATUS_AREA_VPN_ADD_BUILT_IN_CLICKED); @@ -161,7 +162,7 @@ } private: - const VPNProvider vpn_provider_; + VpnProviderPtr vpn_provider_; DISALLOW_COPY_AND_ASSIGN(VPNListProviderEntry); }; @@ -297,12 +298,12 @@ void VPNListView::OnGetNetworkStateList(NetworkStateList networks) { // Before updating the list, determine whether the user was hovering over one // of the VPN provider or network entries. - std::unique_ptr<VPNProvider> hovered_provider; + VpnProviderPtr hovered_provider; std::string hovered_network_guid; - for (const std::pair<const views::View* const, VPNProvider>& provider : + for (const std::pair<const views::View* const, VpnProviderPtr>& entry : provider_view_map_) { - if (provider.first->IsMouseHovered()) { - hovered_provider.reset(new VPNProvider(provider.second)); + if (entry.first->IsMouseHovered()) { + hovered_provider = entry.second->Clone(); break; } } @@ -330,10 +331,10 @@ // will be scrolled to ensure the entry is visible. const views::View* scroll_to_show_view = nullptr; if (hovered_provider) { - for (const std::pair<const views::View* const, VPNProvider>& provider : + for (const std::pair<const views::View* const, VpnProviderPtr>& entry : provider_view_map_) { - if (provider.second == *hovered_provider) { - scroll_to_show_view = provider.first; + if (entry.second->Equals(*hovered_provider)) { + scroll_to_show_view = entry.first; break; } } @@ -365,7 +366,7 @@ return true; } -void VPNListView::OnVPNProvidersChanged() { +void VPNListView::OnVpnProvidersChanged() { UpdateNetworkList(); } @@ -385,32 +386,29 @@ list_empty_ = false; } -void VPNListView::AddProviderAndNetworks(const VPNProvider& vpn_provider) { - AddProviderAndNetworks(vpn_provider, {}); -} - -void VPNListView::AddProviderAndNetworks(const VPNProvider& vpn_provider, +void VPNListView::AddProviderAndNetworks(VpnProviderPtr vpn_provider, const NetworkStateList& networks) { // Add a visual separator, unless this is the topmost entry in the list. if (!list_empty_) { scroll_content()->AddChildView(CreateListSubHeaderSeparator()); } std::string vpn_name = - vpn_provider.provider_type == VPNProvider::BUILT_IN_VPN + vpn_provider->type == VpnType::kOpenVPN ? l10n_util::GetStringUTF8(IDS_ASH_STATUS_TRAY_VPN_BUILT_IN_PROVIDER) - : vpn_provider.provider_name; + : vpn_provider->provider_name; // Add a list entry for the VPN provider. views::View* provider_view = nullptr; provider_view = new VPNListProviderEntry(vpn_provider, list_empty_, vpn_name, IDS_ASH_STATUS_TRAY_ADD_CONNECTION); scroll_content()->AddChildView(provider_view); - provider_view_map_[provider_view] = vpn_provider; + const VpnProvider* vpn_providerp = vpn_provider.get(); + provider_view_map_[provider_view] = std::move(vpn_provider); list_empty_ = false; // Add the networks belonging to this provider, in the priority order returned // by shill. for (const auto& network : networks) { - if (VpnProviderMatchesNetwork(vpn_provider, network.get())) + if (VpnProviderMatchesNetwork(vpn_providerp, network.get())) AddNetwork(network.get()); } } @@ -418,12 +416,12 @@ bool VPNListView::ProcessProviderForNetwork( const NetworkStateProperties* network, const NetworkStateList& networks, - std::vector<VPNProvider>* providers) { + std::vector<VpnProviderPtr>* providers) { for (auto provider_iter = providers->begin(); provider_iter != providers->end(); ++provider_iter) { - if (!VpnProviderMatchesNetwork(*provider_iter, network)) + if (!VpnProviderMatchesNetwork(provider_iter->get(), network)) continue; - AddProviderAndNetworks(*provider_iter, networks); + AddProviderAndNetworks(std::move(*provider_iter), networks); providers->erase(provider_iter); return true; } @@ -431,14 +429,22 @@ } void VPNListView::AddProvidersAndNetworks(const NetworkStateList& networks) { - // Get the list of VPN providers enabled in the primary user's profile. - std::vector<VPNProvider> extension_providers = - Shell::Get()->vpn_list()->extension_vpn_providers(); - // Get the list of Arc VPN providers installed in the primary user's profile. - std::vector<VPNProvider> arc_providers = - Shell::Get()->vpn_list()->arc_vpn_providers(); + // Copy the list of Extension VPN providers enabled in the primary user's + // profile. + std::vector<VpnProviderPtr> extension_providers; + for (const VpnProviderPtr& provider : + Shell::Get()->vpn_list()->extension_vpn_providers()) { + extension_providers.push_back(provider->Clone()); + } + // Copy the list of Arc VPN providers installed in the primary user's profile. + std::vector<VpnProviderPtr> arc_providers; + for (const VpnProviderPtr& provider : + Shell::Get()->vpn_list()->arc_vpn_providers()) { + arc_providers.push_back(provider->Clone()); + } + std::sort(arc_providers.begin(), arc_providers.end(), - CompareArcVPNProviderByLastLaunchTime()); + CompareArcVpnProviderByLastLaunchTime()); // Add connected ARCVPN network. If we can find the correct provider, nest // the network under the provider. Otherwise list it unnested. @@ -462,13 +468,13 @@ // Add providers without any configured networks, in the order that the // providers were returned by the extensions system. - for (const VPNProvider& extension_provider : extension_providers) - AddProviderAndNetworks(extension_provider); + for (VpnProviderPtr& extension_provider : extension_providers) + AddProviderAndNetworks(std::move(extension_provider), {}); // Add Arc VPN providers without any connected or connecting networks. These // providers are sorted by last launch time. - for (const VPNProvider& arc_provider : arc_providers) { - AddProviderAndNetworks(arc_provider); + for (VpnProviderPtr& arc_provider : arc_providers) { + AddProviderAndNetworks(std::move(arc_provider), {}); } }
diff --git a/ash/system/network/vpn_list_view.h b/ash/system/network/vpn_list_view.h index 9d9d9b0f..1f6e1af 100644 --- a/ash/system/network/vpn_list_view.h +++ b/ash/system/network/vpn_list_view.h
@@ -39,6 +39,8 @@ class VPNListView : public NetworkStateListDetailedView, public VpnList::Observer { public: + using VpnProviderPtr = chromeos::network_config::mojom::VpnProviderPtr; + VPNListView(DetailedViewDelegate* delegate, LoginStatus login); ~VPNListView() override; @@ -51,7 +53,7 @@ bool IsNetworkEntry(views::View* view, std::string* guid) const override; // VpnList::Observer: - void OnVPNProvidersChanged() override; + void OnVpnProvidersChanged() override; // See Shell::RegisterProfilePrefs(). static void RegisterProfilePrefs(PrefRegistrySimple* registry); @@ -69,12 +71,9 @@ const chromeos::network_config::mojom::NetworkStateProperties* network); // Adds the VPN provider identified by |vpn_provider| to the list, along with - // no networks that belong to this provider. - void AddProviderAndNetworks(const VPNProvider& vpn_provider); - - // Adds the VPN provider identified by |vpn_provider| to the list, along with - // any networks that belong to this provider. - void AddProviderAndNetworks(const VPNProvider& vpn_provider, + // any networks that may belong to this provider. Takes ownership of + // |vpn_provider|. + void AddProviderAndNetworks(VpnProviderPtr vpn_provider, const NetworkStateList& networks); // Finds VPN provider from |providers| that matches given |network|. Then adds @@ -85,13 +84,13 @@ bool ProcessProviderForNetwork( const chromeos::network_config::mojom::NetworkStateProperties* network, const NetworkStateList& networks, - std::vector<VPNProvider>* providers); + std::vector<VpnProviderPtr>* providers); // Adds all available VPN providers and networks to the list. void AddProvidersAndNetworks(const NetworkStateList& networks); // A mapping from each VPN provider's list entry to the provider. - std::map<const views::View* const, VPNProvider> provider_view_map_; + std::map<const views::View* const, VpnProviderPtr> provider_view_map_; // A mapping from each network's list entry to the network's guid. std::map<const views::View* const, std::string> network_view_guid_map_;
diff --git a/ash/system/palette/palette_tray_unittest.cc b/ash/system/palette/palette_tray_unittest.cc index f4ccafa7..85cbc0f 100644 --- a/ash/system/palette/palette_tray_unittest.cc +++ b/ash/system/palette/palette_tray_unittest.cc
@@ -339,7 +339,7 @@ ui::ScopedAnimationDurationScaleMode animation_duration_mode( ui::ScopedAnimationDurationScaleMode::NON_ZERO_DURATION); assistant_state()->NotifyStatusChanged(mojom::VoiceInteractionState::RUNNING); - assistant_state()->NotifySettingsEnabled(true); + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, true); prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantContextEnabled, true); @@ -419,7 +419,7 @@ ui::ScopedAnimationDurationScaleMode::NON_ZERO_DURATION); assistant_state()->NotifyStatusChanged( mojom::VoiceInteractionState::NOT_READY); - assistant_state()->NotifySettingsEnabled(false); + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, false); prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantContextEnabled, false); @@ -448,7 +448,7 @@ false /* no highlighter on press */); // Enable the other user pref, still not sufficient. - assistant_state()->NotifySettingsEnabled(true); + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, true); WaitDragAndAssertMetalayer("two prefs enabled", origin, ui::EF_LEFT_MOUSE_BUTTON, false /* no metalayer */, false /* no highlighter on press */);
diff --git a/ash/system/palette/tools/metalayer_mode.cc b/ash/system/palette/tools/metalayer_mode.cc index 5a2139d..4360b41e 100644 --- a/ash/system/palette/tools/metalayer_mode.cc +++ b/ash/system/palette/tools/metalayer_mode.cc
@@ -157,7 +157,7 @@ } void MetalayerMode::OnAssistantSettingsEnabled(bool enabled) { - voice_interaction_enabled_ = enabled; + assistant_enabled_ = enabled; UpdateState(); }
diff --git a/ash/system/palette/tools/metalayer_mode.h b/ash/system/palette/tools/metalayer_mode.h index d7d21c9..4df15b6 100644 --- a/ash/system/palette/tools/metalayer_mode.h +++ b/ash/system/palette/tools/metalayer_mode.h
@@ -33,7 +33,7 @@ // from |enabled| which means that the palette tool is currently selected by // the user. bool feature_enabled() const { - return voice_interaction_enabled_ && assistant_context_enabled_ && + return assistant_enabled_ && assistant_context_enabled_ && assistant_allowed_state_ == mojom::AssistantAllowedState::ALLOWED; } @@ -86,7 +86,7 @@ mojom::VoiceInteractionState voice_interaction_state_ = mojom::VoiceInteractionState::NOT_READY; - bool voice_interaction_enabled_ = false; + bool assistant_enabled_ = false; bool assistant_context_enabled_ = false;
diff --git a/ash/system/palette/tools/metalayer_unittest.cc b/ash/system/palette/tools/metalayer_unittest.cc index 1687205..e382c90 100644 --- a/ash/system/palette/tools/metalayer_unittest.cc +++ b/ash/system/palette/tools/metalayer_unittest.cc
@@ -96,7 +96,8 @@ const bool selectable = allowed && enabled && context && ready; assistant_state()->NotifyStatusChanged(state); - assistant_state()->NotifySettingsEnabled(enabled); + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, + enabled); assistant_state()->NotifyFeatureAllowed(allowed_state); prefs()->SetBoolean( chromeos::assistant::prefs::kAssistantContextEnabled, context); @@ -146,7 +147,7 @@ // Verifies that disabling the metalayer support disables the tool. TEST_F(MetalayerToolTest, MetalayerUnsupportedDisablesPaletteTool) { assistant_state()->NotifyStatusChanged(mojom::VoiceInteractionState::RUNNING); - assistant_state()->NotifySettingsEnabled(true); + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, true); prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantContextEnabled, true); @@ -154,9 +155,9 @@ tool_->OnEnable(); EXPECT_CALL(*palette_tool_delegate_.get(), DisableTool(PaletteToolId::METALAYER)); - assistant_state()->NotifySettingsEnabled(false); + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, false); testing::Mock::VerifyAndClearExpectations(palette_tool_delegate_.get()); - assistant_state()->NotifySettingsEnabled(true); + prefs()->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, true); tool_->OnEnable(); EXPECT_CALL(*palette_tool_delegate_.get(),
diff --git a/ash/wm/overview/overview_session_unittest.cc b/ash/wm/overview/overview_session_unittest.cc index 700da890..9275183 100644 --- a/ash/wm/overview/overview_session_unittest.cc +++ b/ash/wm/overview/overview_session_unittest.cc
@@ -2369,7 +2369,8 @@ // Test that the mask that is applied to add rounded corners in overview mode // is removed during animations. -TEST_F(OverviewSessionRoundedCornerTest, RoundedEdgeMaskVisibility) { +// TODO(https://crbug.com/1000730): Re-enable this test. +TEST_F(OverviewSessionRoundedCornerTest, DISABLED_RoundedEdgeMaskVisibility) { std::unique_ptr<aura::Window> window1(CreateTestWindow()); std::unique_ptr<aura::Window> window2(CreateTestWindow());
diff --git a/ash/wm/tablet_mode/tablet_mode_controller.cc b/ash/wm/tablet_mode/tablet_mode_controller.cc index 42601a1..c693eb5 100644 --- a/ash/wm/tablet_mode/tablet_mode_controller.cc +++ b/ash/wm/tablet_mode/tablet_mode_controller.cc
@@ -17,6 +17,7 @@ #include "ash/shell.h" #include "ash/shell_delegate.h" #include "ash/wm/overview/overview_controller.h" +#include "ash/wm/splitview/split_view_utils.h" #include "ash/wm/tablet_mode/internal_input_devices_event_blocker.h" #include "ash/wm/tablet_mode/tablet_mode_window_manager.h" #include "ash/wm/window_state.h" @@ -688,13 +689,21 @@ state_ = State::kEnteringTabletMode; // Take a screenshot if there is a top window that will get animated. + // Since with ash::features::kDragToSnapInClamshellMode enabled, we'll keep + // overview active after clamshell <-> tablet mode transition if it was + // active before transition, do not take screenshot if overview is active + // in this case. // TODO(sammiequon): Handle the case where the top window is not on the // primary display. aura::Window* top_window = TabletModeWindowManager::GetTopWindow(); - bool top_window_on_primary_display = + const bool top_window_on_primary_display = top_window && top_window->GetRootWindow() == Shell::GetPrimaryRootWindow(); - if (use_screenshot_for_test && top_window_on_primary_display) { + const bool overview_remain_active = + IsClamshellSplitViewModeEnabled() && + Shell::Get()->overview_controller()->InOverviewSession(); + if (use_screenshot_for_test && top_window_on_primary_display && + !overview_remain_active) { TakeScreenshot(top_window); } else { FinishInitTabletMode();
diff --git a/base/android/java/src/org/chromium/base/LifetimeAssert.java b/base/android/java/src/org/chromium/base/LifetimeAssert.java index 6154b1b..1784bbe4 100644 --- a/base/android/java/src/org/chromium/base/LifetimeAssert.java +++ b/base/android/java/src/org/chromium/base/LifetimeAssert.java
@@ -6,8 +6,6 @@ import android.support.annotation.VisibleForTesting; -import org.chromium.base.annotations.CheckDiscard; - import java.lang.ref.PhantomReference; import java.lang.ref.ReferenceQueue; import java.util.Collections; @@ -28,7 +26,6 @@ * } * } */ -@CheckDiscard public class LifetimeAssert { interface TestHook { void onCleaned(WrappedReference ref, String msg);
diff --git a/base/android/java/src/org/chromium/base/library_loader/LegacyLinker.java b/base/android/java/src/org/chromium/base/library_loader/LegacyLinker.java index 7b857b21..75c50f5 100644 --- a/base/android/java/src/org/chromium/base/library_loader/LegacyLinker.java +++ b/base/android/java/src/org/chromium/base/library_loader/LegacyLinker.java
@@ -33,13 +33,14 @@ @Override @GuardedBy("sLock") - void loadLibraryImplLocked(String libFilePath, boolean isFixedAddressPermitted) { + void loadLibraryImplLocked(String library, boolean isFixedAddressPermitted) { ensureInitializedLocked(); assert mState == State.INITIALIZED; // Only one successful call. boolean provideRelro = mInBrowserProcess; long loadAddress = isFixedAddressPermitted ? mBaseLoadAddress : 0; + String libFilePath = System.mapLibraryName(library); final String sharedRelRoName = libFilePath; LibInfo libInfo = new LibInfo(); if (!nativeLoadLibrary(libFilePath, loadAddress, libInfo)) {
diff --git a/base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java b/base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java index 3ee374e..fca7cbb2 100644 --- a/base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java +++ b/base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java
@@ -36,6 +36,7 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.util.Locale; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -294,21 +295,20 @@ // Helper for loadAlreadyLocked(). Load a native shared library with the Chromium linker. // Records UMA histograms depending on the results of loading. - @GuardedBy("mLock") - private void loadLibraryWithCustomLinkerAlreadyLocked( - Linker linker, String libFilePath, boolean isFirstAttempt) { + private static void loadLibraryWithCustomLinker( + Linker linker, String library, boolean isFirstAttempt) { // Attempt shared RELROs, and if that fails then retry without. boolean loadAtFixedAddress = true; boolean success = true; try { - linker.loadLibrary(libFilePath, true /* isFixedAddressPermitted */); + linker.loadLibrary(library, true /* isFixedAddressPermitted */); } catch (UnsatisfiedLinkError e) { Log.w(TAG, "Failed to load native library with shared RELRO, retrying without"); sLoadStatusRecorder.recordLoadAttempt( false /* success */, isFirstAttempt, true /* loadAtFixedAddress */); loadAtFixedAddress = false; success = false; - linker.loadLibrary(libFilePath, false /* isFixedAddressPermitted */); + linker.loadLibrary(library, false /* isFixedAddressPermitted */); success = true; } finally { sLoadStatusRecorder.recordLoadAttempt(success, isFirstAttempt, loadAtFixedAddress); @@ -326,93 +326,89 @@ return extractFileIfStale(appInfo, libraryEntry, makeLibraryDirAndSetPermission()); } + private static void loadWithChromiumLinker(ApplicationInfo appInfo, String library) { + Linker linker = Linker.getInstance(); + + if (isInZipFile()) { + String sourceDir = appInfo.sourceDir; + linker.setApkFilePath(sourceDir); + Log.i(TAG, " Loading %s from within %s", library, sourceDir); + } else { + Log.i(TAG, "Loading %s", library); + } + + try { + // Load the library using this Linker. May throw UnsatisfiedLinkError. + loadLibraryWithCustomLinker(linker, library, true /* isFirstAttempt */); + } catch (UnsatisfiedLinkError e) { + if (!isInZipFile() && PLATFORM_REQUIRES_NATIVE_FALLBACK_EXTRACTION) { + loadLibraryWithCustomLinker(linker, getExtractedLibraryPath(appInfo, library), + false /* isFirstAttempt */); + } else { + throw e; + } + } + } + + @GuardedBy("mLock") + @SuppressLint("UnsafeDynamicallyLoadedCode") + private void loadWithSystemLinkerAlreadyLocked(ApplicationInfo appInfo) { + setEnvForNative(); + preloadAlreadyLocked(appInfo); + + // If the libraries are located in the zip file, assert that the device API level is M or + // higher. On devices <=M, the libraries should always be loaded by LegacyLinker. + assert !isInZipFile() || Build.VERSION.SDK_INT >= VERSION_CODES.M; + + // Load libraries using the system linker. + for (String library : NativeLibraries.LIBRARIES) { + if (!isInZipFile()) { + // The extract and retry logic isn't needed because this path is used only for local + // development. + System.loadLibrary(library); + } else { + // Load directly from the APK. + boolean is64Bit = ApiHelperForM.isProcess64Bit(); + String zipFilePath = appInfo.sourceDir; + String fullPath = + zipFilePath + "!/" + makeLibraryPathInZipFile(library, false, is64Bit); + + Log.i(TAG, "libraryName: %s", fullPath); + System.load(fullPath); + } + } + } + // Invoke either Linker.loadLibrary(...), System.loadLibrary(...) or System.load(...), // triggering JNI_OnLoad in native code. - // TODO(crbug.com/635567): Fix this properly. - @SuppressLint({"DefaultLocale", "UnsafeDynamicallyLoadedCode"}) @GuardedBy("mLock") private void loadAlreadyLocked(ApplicationInfo appInfo, boolean inZygote) throws ProcessInitException { try (TraceEvent te = TraceEvent.scoped("LibraryLoader.loadAlreadyLocked")) { if (mLoaded) return; - assert !mInitialized; long startTime = SystemClock.uptimeMillis(); if (useChromiumLinker() && !inZygote) { - Linker linker = Linker.getInstance(); - - // See base/android/linker/config.gni, the chromium linker is only enabled when we - // have a single library. + // See base/android/linker/config.gni, the chromium linker is only enabled when + // we have a single library. assert NativeLibraries.LIBRARIES.length == 1; String library = NativeLibraries.LIBRARIES[0]; - - if (isInZipFile()) { - String sourceDir = appInfo.sourceDir; - linker.setApkFilePath(sourceDir); - Log.i(TAG, " Loading %s from within %s", library, sourceDir); - } else { - Log.i(TAG, "Loading %s", library); - } - - try { - // Load the library using this Linker. May throw UnsatisfiedLinkError. - loadLibraryWithCustomLinkerAlreadyLocked( - linker, System.mapLibraryName(library), true /* isFirstAttempt */); - } catch (UnsatisfiedLinkError e) { - if (!isInZipFile() && PLATFORM_REQUIRES_NATIVE_FALLBACK_EXTRACTION) { - loadLibraryWithCustomLinkerAlreadyLocked(linker, - getExtractedLibraryPath(appInfo, library), - false /* isFirstAttempt */); - } else { - Log.e(TAG, "Unable to load library: " + library); - throw(e); - } - } + loadWithChromiumLinker(appInfo, library); } else { - setEnvForNative(); - preloadAlreadyLocked(appInfo); - - // If the libraries are located in the zip file, assert that the device API level is - // M or higher. On devices lower than M, the libraries should always be loaded by - // LegacyLinker. - assert !isInZipFile() || Build.VERSION.SDK_INT >= VERSION_CODES.M; - - // Load libraries using the system linker. - for (String library : NativeLibraries.LIBRARIES) { - try { - if (!isInZipFile()) { - // The extract and retry logic isn't needed because this path is used - // only for local development. - System.loadLibrary(library); - } else { - // Load directly from the APK. - boolean is64Bit = ApiHelperForM.isProcess64Bit(); - String zipFilePath = appInfo.sourceDir; - // In API level 23 and above, it’s possible to open a .so file directly - // from the APK of the path form - // "my_zip_file.zip!/libs/libstuff.so". See: - // https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md#opening-shared-libraries-directly-from-an-apk - String libraryName = zipFilePath + "!/" - + makeLibraryPathInZipFile(library, true, is64Bit); - Log.i(TAG, "libraryName: " + libraryName); - System.load(libraryName); - } - } catch (UnsatisfiedLinkError e) { - Log.e(TAG, "Unable to load library: " + library); - throw(e); - } - } + loadWithSystemLinkerAlreadyLocked(appInfo); } long stopTime = SystemClock.uptimeMillis(); mLibraryLoadTimeMs = stopTime - startTime; - Log.i(TAG, "Time to load native libraries: %d ms (timestamps %d-%d)", - mLibraryLoadTimeMs, startTime % 10000, stopTime % 10000); + Log.i(TAG, "Time to load native libraries: %d ms", mLibraryLoadTimeMs); mLoaded = true; } catch (UnsatisfiedLinkError e) { + // Callers typically call System.exit() when catching this exception, make sure that it + // doesn't get lost. + Log.e(TAG, "Unable to load library.", e); throw new ProcessInitException(LoaderErrors.LOADER_ERROR_NATIVE_LIBRARY_LOAD_FAILED, e); } } @@ -453,7 +449,8 @@ // to the /data directory. The libraries can still be accessed directly by the Chromium // linker from the APK. String crazyPart = crazyPrefix ? "crazy." : ""; - return String.format("lib/%s/%s%s", cpuAbi, crazyPart, System.mapLibraryName(library)); + return String.format( + Locale.US, "lib/%s/%s%s", cpuAbi, crazyPart, System.mapLibraryName(library)); } // The WebView requires the Command Line to be switched over before @@ -508,9 +505,9 @@ // Check that the version of the library we have loaded matches the version we expect Log.i(TAG, - String.format("Expected native library version number \"%s\", " - + "actual native library version number \"%s\"", - NativeLibraries.sVersionNumber, LibraryLoaderJni.get().getVersionNumber())); + "Expected native library version number \"%s\", " + + "actual native library version number \"%s\"", + NativeLibraries.sVersionNumber, LibraryLoaderJni.get().getVersionNumber()); if (!NativeLibraries.sVersionNumber.equals(LibraryLoaderJni.get().getVersionNumber())) { throw new ProcessInitException(LoaderErrors.LOADER_ERROR_NATIVE_LIBRARY_WRONG_VERSION); } @@ -558,11 +555,10 @@ // Called after all native initializations are complete. public void onBrowserNativeInitializationComplete() { + if (!useChromiumLinker()) return; synchronized (mLock) { - if (useChromiumLinker()) { - RecordHistogram.recordTimesHistogram( - "ChromiumAndroidLinker.BrowserLoadTime", mLibraryLoadTimeMs); - } + RecordHistogram.recordTimesHistogram( + "ChromiumAndroidLinker.BrowserLoadTime", mLibraryLoadTimeMs); } } @@ -571,10 +567,9 @@ // time they are captured. This function stores a pending value, so that a later call to // RecordChromiumAndroidLinkerRendererHistogram() will record it correctly. public void registerRendererProcessHistogram() { + if (!useChromiumLinker()) return; synchronized (mLock) { - if (useChromiumLinker()) { - LibraryLoaderJni.get().recordRendererLibraryLoadTime(mLibraryLoadTimeMs); - } + LibraryLoaderJni.get().recordRendererLibraryLoadTime(mLibraryLoadTimeMs); } } @@ -639,8 +634,9 @@ try { zipFile = new ZipFile(apkPath); ZipEntry zipEntry = zipFile.getEntry(pathWithinApk); - if (zipEntry == null) + if (zipEntry == null) { throw new RuntimeException("Cannot find ZipEntry" + pathWithinApk); + } InputStream inputStream = zipFile.getInputStream(zipEntry); FileUtils.copyStreamToFile(inputStream, libraryFile);
diff --git a/base/android/java/src/org/chromium/base/library_loader/Linker.java b/base/android/java/src/org/chromium/base/library_loader/Linker.java index 92570e27..cfb70b3 100644 --- a/base/android/java/src/org/chromium/base/library_loader/Linker.java +++ b/base/android/java/src/org/chromium/base/library_loader/Linker.java
@@ -5,7 +5,6 @@ package org.chromium.base.library_loader; import android.annotation.SuppressLint; -import android.os.Build; import android.os.Bundle; import android.os.Parcel; import android.os.ParcelFileDescriptor; @@ -217,11 +216,10 @@ * fails to provide the library, the system linker is used as a fallback. * * LegacyLinker can run on all Android releases, but is unused on P+ as it may cause issues. - * LegacyLinker is preferred on N- because it does not write the shared RELRO to disk at + * LegacyLinker is preferred on M- because it does not write the shared RELRO to disk at * almost every cold startup. * - * Finally, ModernLinker is used on Android N+ when installing Chrome{,Modern}.apk, which is not - * a configuration shipped through the play store, but kept here temporarily to ease testing. + * Finally, ModernLinker is used on Android Q+ with Trichrome. * * @return the Linker implementation instance. */ @@ -240,10 +238,7 @@ // regular library loading. See http://crbug.com/980304 as example. // // This is only called if LibraryLoader.useChromiumLinker() returns true, meaning this is - // either Chrome{,Modern} or the linker tests. - // - // TODO(lizeb): Also check that this is a local build to avoid shipping ModernLinker - // accidentally. + // either Chrome{,Modern}, the linker tests or Trichrome. synchronized (sLock) { if (sSingleton == null) { // With incremental install, it's important to fall back to the "normal" @@ -252,9 +247,7 @@ ContextUtils.getApplicationContext().getApplicationInfo().className; boolean isIncrementalInstall = appClass != null && appClass.contains("incrementalinstall"); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && !isIncrementalInstall) { - // This is not hit for shipping versions, as the Chrome flavor on N+ is - // MonoChrome, and this requires both Chrome.apk and N+. + if (NativeLibraries.sUseModernLinker && !isIncrementalInstall) { sSingleton = new ModernLinker(); } else { sSingleton = new LegacyLinker(); @@ -306,22 +299,22 @@ } /** Tell the linker about the APK path, if the library is loaded from the APK. */ - abstract void setApkFilePath(String path); + void setApkFilePath(String path) {} /** * Load a native shared library with the Chromium linker. Note the crazy linker treats * libraries and files as equivalent, so you can only open one library in a given zip * file. The library must not be the Chromium linker library. * - * @param libFilePath The path of the library (possibly in the zip file). + * @param library The library name to load. * @param isFixesAddressPermitted Whether the library can be loaded at a fixed address for RELRO * sharing. */ - final void loadLibrary(String libFilePath, boolean isFixedAddressPermitted) { - if (DEBUG) Log.i(TAG, "loadLibrary: %s", libFilePath); - assert !libFilePath.equals(LINKER_JNI_LIBRARY); + final void loadLibrary(String library, boolean isFixedAddressPermitted) { + if (DEBUG) Log.i(TAG, "loadLibrary: %s", library); + assert !library.equals(LINKER_JNI_LIBRARY); synchronized (sLock) { - loadLibraryImplLocked(libFilePath, isFixedAddressPermitted); + loadLibraryImplLocked(library, isFixedAddressPermitted); } }
diff --git a/base/android/java/src/org/chromium/base/library_loader/ModernLinker.java b/base/android/java/src/org/chromium/base/library_loader/ModernLinker.java index 656b530..c0e62f4 100644 --- a/base/android/java/src/org/chromium/base/library_loader/ModernLinker.java +++ b/base/android/java/src/org/chromium/base/library_loader/ModernLinker.java
@@ -23,32 +23,24 @@ // Log tag for this class. private static final String TAG = "ModernLinker"; - @GuardedBy("sLock") - private boolean mLoadFromApk; - ModernLinker() {} @Override - void setApkFilePath(String path) { - synchronized (sLock) { - mLoadFromApk = true; - } - } - - @Override @GuardedBy("sLock") - void loadLibraryImplLocked(String libFilePath, boolean isFixedAddressPermitted) { - if (DEBUG) Log.i(TAG, "loadLibraryImpl: " + libFilePath + ", " + isFixedAddressPermitted); + void loadLibraryImplLocked(String library, boolean isFixedAddressPermitted) { + // We expect to load monochrome, if it's not the case, log. + if (!"monochrome".equals(library) || DEBUG) { + Log.i(TAG, "loadLibraryImpl: %s, %b", library, isFixedAddressPermitted); + } ensureInitializedLocked(); assert mState == State.INITIALIZED; // Only one successful call. + String libFilePath = System.mapLibraryName(library); boolean loadNoRelro = !isFixedAddressPermitted; boolean provideRelro = isFixedAddressPermitted && mInBrowserProcess; long loadAddress = isFixedAddressPermitted ? mBaseLoadAddress : 0; - if (mLoadFromApk) libFilePath = "crazy." + libFilePath; - if (loadNoRelro) { // Cannot use System.loadLibrary(), as the library name is transformed (adding the "lib" // prefix and ".so" suffix), making the name incorrect. @@ -85,6 +77,20 @@ mLibInfo = null; mState = State.DONE; } + + // Load the library a second time, in order to keep using lazy JNI registration. When + // loading the library with the Chromium linker, ART doesn't know about our library, so + // cannot resolve JNI methods lazily. Loading the library a second time makes sure it + // knows about us. + // + // This is not wasteful though, as libraries are reference-counted, and as a consequence the + // library is not really loaded a second time, and we keep relocation sharing. + try { + System.loadLibrary(library); + } catch (UnsatisfiedLinkError e) { + throw new UnsatisfiedLinkError( + "Unable to load the library a second time with the system linker"); + } } @GuardedBy("sLock")
diff --git a/base/android/linker/modern_linker_jni.cc b/base/android/linker/modern_linker_jni.cc index 75091df6..62139a5 100644 --- a/base/android/linker/modern_linker_jni.cc +++ b/base/android/linker/modern_linker_jni.cc
@@ -96,8 +96,9 @@ android_dlextinfo ext = dlextinfo->extinfo; LOG_INFO( "android_dlopen_ext:" - " flags=0x%llx, reserved_addr=%p, reserved_size=%d, relro_fd=%d", - static_cast<long long>(ext.flags), ext.reserved_addr, + " filename=%s, flags=0x%llx, reserved_addr=%p, reserved_size=%d," + " relro_fd=%d", + filename, static_cast<long long>(ext.flags), ext.reserved_addr, static_cast<int>(ext.reserved_size), ext.relro_fd); *status = android_dlopen_ext(filename, flag, &ext); @@ -341,6 +342,7 @@ // Calls JNI_OnLoad() in the library referenced by |handle|. // Returns true for success. bool CallJniOnLoad(void* handle) { + LOG_INFO("Entering"); // Locate and if found then call the loaded library's JNI_OnLoad() function. using JNI_OnLoadFunctionPtr = int (*)(void* vm, void* reserved); auto jni_onload = @@ -353,6 +355,7 @@ return false; } } + return true; } @@ -394,7 +397,7 @@ ResizeMapping(mapping); if (!CallJniOnLoad(handle)) { unlink(relocations_path.c_str()); - return false; + return -1; } relro_fd.ReopenReadOnly(relocations_path); return relro_fd.Release();
diff --git a/base/util/memory_pressure/multi_source_memory_pressure_monitor.cc b/base/util/memory_pressure/multi_source_memory_pressure_monitor.cc index 867bd32..14b61807 100644 --- a/base/util/memory_pressure/multi_source_memory_pressure_monitor.cc +++ b/base/util/memory_pressure/multi_source_memory_pressure_monitor.cc
@@ -73,4 +73,10 @@ system_evaluator_.reset(); } +void MultiSourceMemoryPressureMonitor::SetSystemEvaluator( + std::unique_ptr<SystemMemoryPressureEvaluator> evaluator) { + DCHECK(!system_evaluator_); + system_evaluator_ = std::move(evaluator); +} + } // namespace util
diff --git a/base/util/memory_pressure/multi_source_memory_pressure_monitor.h b/base/util/memory_pressure/multi_source_memory_pressure_monitor.h index 55aab52f..ed08b6d8 100644 --- a/base/util/memory_pressure/multi_source_memory_pressure_monitor.h +++ b/base/util/memory_pressure/multi_source_memory_pressure_monitor.h
@@ -44,6 +44,9 @@ void ResetSystemEvaluatorForTesting(); + void SetSystemEvaluator( + std::unique_ptr<SystemMemoryPressureEvaluator> evaluator); + protected: void StartMetricsTimer(); void StopMetricsTimer();
diff --git a/base/util/memory_pressure/system_memory_pressure_evaluator_mac.cc b/base/util/memory_pressure/system_memory_pressure_evaluator_mac.cc index f5f62ef..3b7ab5eb 100644 --- a/base/util/memory_pressure/system_memory_pressure_evaluator_mac.cc +++ b/base/util/memory_pressure/system_memory_pressure_evaluator_mac.cc
@@ -16,6 +16,7 @@ #include "base/logging.h" #include "base/mac/mac_util.h" #include "base/memory/memory_pressure_monitor.h" +#include "base/threading/sequenced_task_runner_handle.h" // Redeclare for partial 10.9 availability. DISPATCH_EXPORT const struct dispatch_source_type_s @@ -46,11 +47,23 @@ 0, DISPATCH_MEMORYPRESSURE_WARN | DISPATCH_MEMORYPRESSURE_CRITICAL | DISPATCH_MEMORYPRESSURE_NORMAL, - dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0))) { + dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0))), + weak_ptr_factory_(this) { + // WeakPtr needed because there is no guarantee that |this| is still be alive + // when the task posted to the TaskRunner or event handler runs. + base::WeakPtr<SystemMemoryPressureEvaluator> weak_this = + weak_ptr_factory_.GetWeakPtr(); + scoped_refptr<base::TaskRunner> task_runner = + base::SequencedTaskRunnerHandle::Get(); + // Attach an event handler to the memory pressure event source. if (memory_level_event_source_.get()) { dispatch_source_set_event_handler(memory_level_event_source_, ^{ - OnMemoryPressureChanged(memory_level_event_source_.get()); + task_runner->PostTask( + FROM_HERE, + base::BindRepeating( + &SystemMemoryPressureEvaluator::OnMemoryPressureChanged, + weak_this)); }); // Start monitoring the event source. @@ -84,8 +97,7 @@ GetMacMemoryPressureLevel())); } -void SystemMemoryPressureEvaluator::OnMemoryPressureChanged( - dispatch_source_s* event_source) { +void SystemMemoryPressureEvaluator::OnMemoryPressureChanged() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); // The OS has sent a notification that the memory pressure level has changed. // Go through the normal memory pressure level checking mechanism so that
diff --git a/base/util/memory_pressure/system_memory_pressure_evaluator_mac.h b/base/util/memory_pressure/system_memory_pressure_evaluator_mac.h index 4d1320d2..751784c 100644 --- a/base/util/memory_pressure/system_memory_pressure_evaluator_mac.h +++ b/base/util/memory_pressure/system_memory_pressure_evaluator_mac.h
@@ -8,7 +8,6 @@ #include <CoreFoundation/CFDate.h> #include <dispatch/dispatch.h> -#include "base/base_export.h" #include "base/mac/scoped_cftyperef.h" #include "base/mac/scoped_dispatch_object.h" #include "base/macros.h" @@ -45,13 +44,15 @@ void UpdatePressureLevel(); // Run |dispatch_callback| on memory pressure notifications from the OS. - void OnMemoryPressureChanged(dispatch_source_s* event_source); + void OnMemoryPressureChanged(); // The dispatch source that generates memory pressure change notifications. base::ScopedDispatchObject<dispatch_source_t> memory_level_event_source_; SEQUENCE_CHECKER(sequence_checker_); + base::WeakPtrFactory<SystemMemoryPressureEvaluator> weak_ptr_factory_; + DISALLOW_COPY_AND_ASSIGN(SystemMemoryPressureEvaluator); };
diff --git a/base/util/memory_pressure/system_memory_pressure_evaluator_mac_unittest.cc b/base/util/memory_pressure/system_memory_pressure_evaluator_mac_unittest.cc index 9561b1e..70f24b51 100644 --- a/base/util/memory_pressure/system_memory_pressure_evaluator_mac_unittest.cc +++ b/base/util/memory_pressure/system_memory_pressure_evaluator_mac_unittest.cc
@@ -73,6 +73,8 @@ } TEST(MacSystemMemoryPressureEvaluatorTest, CurrentMemoryPressure) { + base::test::TaskEnvironment task_environment( + base::test::TaskEnvironment::MainThreadType::UI); TestSystemMemoryPressureEvaluator evaluator(nullptr); base::MemoryPressureListener::MemoryPressureLevel memory_pressure = @@ -87,6 +89,8 @@ } TEST(MacSystemMemoryPressureEvaluatorTest, MemoryPressureConversion) { + base::test::TaskEnvironment task_environment( + base::test::TaskEnvironment::MainThreadType::UI); TestSystemMemoryPressureEvaluator evaluator(nullptr); evaluator.macos_pressure_level_for_testing_ = DISPATCH_MEMORYPRESSURE_NORMAL;
diff --git a/build/android/gyp/apkbuilder.py b/build/android/gyp/apkbuilder.py index b3996c4..a6a5dd95 100755 --- a/build/android/gyp/apkbuilder.py +++ b/build/android/gyp/apkbuilder.py
@@ -203,20 +203,23 @@ def _AddNativeLibraries(out_apk, native_libs, android_abi, uncompress): """Add native libraries to APK.""" - has_crazy_linker = any('android_linker' in os.path.basename(p) - for p in native_libs) + has_crazy_linker = any( + 'android_linker' in os.path.basename(p) for p in native_libs) + has_monochrome = any('monochrome' in os.path.basename(p) for p in native_libs) + for path in native_libs: basename = os.path.basename(path) - compress = None - if (uncompress and os.path.splitext(basename)[1] == '.so' - and 'android_linker' not in basename - and (not has_crazy_linker or 'clang_rt' not in basename) - and (not has_crazy_linker or 'crashpad_handler' not in basename)): - compress = False - # Add prefix to prevent android install from extracting upon install. - if has_crazy_linker: - basename = 'crazy.' + basename + if uncompress and os.path.splitext(basename)[1] == '.so': + # Trichrome + if has_crazy_linker and has_monochrome: + compress = False + elif ('android_linker' not in basename + and (not has_crazy_linker or 'clang_rt' not in basename) + and (not has_crazy_linker or 'crashpad_handler' not in basename)): + compress = False + if has_crazy_linker and not has_monochrome: + basename = 'crazy.' + basename apk_path = 'lib/%s/%s' % (android_abi, basename) build_utils.AddToZipHermetic(out_apk,
diff --git a/build/android/gyp/native_libraries_template.py b/build/android/gyp/native_libraries_template.py index 52ba0872..0a70d95 100644 --- a/build/android/gyp/native_libraries_template.py +++ b/build/android/gyp/native_libraries_template.py
@@ -19,6 +19,7 @@ public static {MAYBE_FINAL}boolean sUseLinker{USE_LINKER}; public static {MAYBE_FINAL}boolean sUseLibraryInZipFile{USE_LIBRARY_IN_ZIP_FILE}; public static {MAYBE_FINAL}boolean sEnableLinkerTests{ENABLE_LINKER_TESTS}; + public static {MAYBE_FINAL}boolean sUseModernLinker{USE_MODERN_LINKER}; // This is the list of native libraries to be loaded (in the correct order) // by LibraryLoader.java.
diff --git a/build/android/gyp/write_native_libraries_java.py b/build/android/gyp/write_native_libraries_java.py index 1bd542f..244113a1 100755 --- a/build/android/gyp/write_native_libraries_java.py +++ b/build/android/gyp/write_native_libraries_java.py
@@ -30,6 +30,8 @@ parser.add_argument( '--enable-chromium-linker-tests', action='store_true', help='Run tests.') parser.add_argument( + '--use-modern-linker', action='store_true', help='To use ModernLinker.') + parser.add_argument( '--native-libraries-list', help='File with list of native libraries.') parser.add_argument( '--version-number', @@ -77,6 +79,7 @@ 'USE_LINKER': bool_str(options.enable_chromium_linker), 'USE_LIBRARY_IN_ZIP_FILE': bool_str(options.load_library_from_apk), 'ENABLE_LINKER_TESTS': bool_str(options.enable_chromium_linker_tests), + 'USE_MODERN_LINKER': bool_str(options.use_modern_linker), 'LIBRARIES': ','.join(native_libraries_list), 'VERSION_NUMBER': options.version_number, 'CPU_FAMILY': options.cpu_family,
diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni index 412864d..7e8306a 100644 --- a/build/config/android/internal_rules.gni +++ b/build/config/android/internal_rules.gni
@@ -786,6 +786,19 @@ } else { wrapper_script = "$root_build_dir/bin/run_${_test_name}" } + + if (defined(invoker.modules)) { + foreach(module, invoker.modules) { + executable_args += [ + "--module", + module, + ] + } + } + + if (defined(invoker.command_line_args)) { + executable_args += invoker.command_line_args + } } }
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni index ae6ad99..c99d782 100644 --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni
@@ -785,6 +785,9 @@ invoker.enable_chromium_linker_tests) { args += [ "--enable-chromium-linker-tests" ] } + if (defined(invoker.use_modern_linker) && invoker.use_modern_linker) { + args += [ "--use-modern-linker" ] + } } } } @@ -2252,11 +2255,14 @@ _use_chromium_linker = defined(invoker.use_chromium_linker) && invoker.use_chromium_linker + _use_modern_linker = + defined(invoker.use_modern_linker) && invoker.use_modern_linker _load_library_from_apk = defined(invoker.load_library_from_apk) && invoker.load_library_from_apk assert(_use_chromium_linker || true) # Mark as used. + assert(_use_modern_linker || true) # Mark as used. assert(!_load_library_from_apk || _use_chromium_linker, "load_library_from_apk requires use_chromium_linker") @@ -2660,6 +2666,7 @@ } enable_chromium_linker = _use_chromium_linker load_library_from_apk = _load_library_from_apk + use_modern_linker = _use_modern_linker use_final_fields = true } _srcjar_deps += [ ":${_template_name}__native_libraries" ] @@ -3367,6 +3374,7 @@ "generate_buildconfig_java", "generate_final_jni", "input_jars_paths", + "use_modern_linker", "jacoco_never_instrument", "java_files", "javac_args", @@ -3559,10 +3567,13 @@ # The following args are optional: # apk_under_test: The target being tested. # additional_apks: Additional targets to install on device. + # command_line_args: Command line arguments to set for APK under test. # data: List of runtime data file dependencies. # data_deps: List of non-linked dependencies. # deps: List of private dependencies. # ignore_all_data_deps: Don't build data_deps and additional_apks. + # modules: Extra dynamic feature modules to install for test target. Can + # only be used if |apk_under_test| is an Android app bundle. # never_incremental: Disable incremental builds. # proguard_enabled: Enable proguard # public_deps: List of public dependencies @@ -3602,10 +3613,12 @@ [ "additional_apks", "apk_under_test", + "command_line_args", "data", "data_deps", "deps", "ignore_all_data_deps", + "modules", "proguard_enabled", "public_deps", ]) @@ -3793,7 +3806,8 @@ # Declare an Android instrumentation test apk with wrapper script. # - # This target creates an Android instrumentation test apk with wrapper script to run the test. + # This target creates an Android instrumentation test apk with wrapper script + # to run the test. # # Supports all variables of android_test_apk. template("instrumentation_test_apk") { @@ -3807,10 +3821,12 @@ [ "additional_apks", "apk_under_test", + "command_line_args", "data", "data_deps", "deps", "ignore_all_data_deps", + "modules", "never_incremental", "proguard_enabled", "public_deps",
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn index 73e2707..fbd84eda 100644 --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn
@@ -2113,9 +2113,7 @@ android_test_apk_name = "ChromeSmokeTest" } -# TODO(crbug.com/989654): Add Chrome bundle as test target once the test runner -# knows how to install bundles. -instrumentation_test_apk("chrome_bundle_smoke_test") { +android_test_apk("chrome_bundle_smoke_test_apk") { apk_name = "ChromeBundleSmokeTest" android_manifest = "javatests/src/org/chromium/chrome/test/smoke/AndroidManifest_bundle.xml" @@ -2134,6 +2132,18 @@ ] } +instrumentation_test_runner("monochrome_public_bundle_smoke_test") { + apk_under_test = "//chrome/android:monochrome_public_bundle_apks" + android_test_apk = ":chrome_bundle_smoke_test_apk" + android_test_apk_name = "ChromeBundleSmokeTest" + never_incremental = true + modules = [ "test_dummy" ] + command_line_args = [ + "--enable-test-dummy-module", + "--no-fre", + ] +} + if (defined(expected_static_initializer_count)) { action_with_pydeps("monochrome_static_initializers") { script = "//build/android/gyp/assert_static_initializers.py"
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni index 4a43870..065acfb 100644 --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni
@@ -1234,6 +1234,7 @@ "java/src/org/chromium/chrome/browser/permissions/PermissionDialogModel.java", "java/src/org/chromium/chrome/browser/permissions/PermissionDialogController.java", "java/src/org/chromium/chrome/browser/permissions/PermissionDialogDelegate.java", + "java/src/org/chromium/chrome/browser/permissions/PermissionFieldTrial.java", "java/src/org/chromium/chrome/browser/permissions/PermissionUmaUtil.java", "java/src/org/chromium/chrome/browser/photo_picker/BitmapScalerTask.java", "java/src/org/chromium/chrome/browser/photo_picker/BitmapUtils.java", @@ -1468,6 +1469,7 @@ "java/src/org/chromium/chrome/browser/signin/SyncPromoView.java", "java/src/org/chromium/chrome/browser/signin/UnifiedConsentServiceBridge.java", "java/src/org/chromium/chrome/browser/sms/SmsReceiverInfoBar.java", + "java/src/org/chromium/chrome/browser/sms/SmsReceiverUma.java", "java/src/org/chromium/chrome/browser/snackbar/BottomContainer.java", "java/src/org/chromium/chrome/browser/snackbar/Snackbar.java", "java/src/org/chromium/chrome/browser/snackbar/SnackbarCollection.java",
diff --git a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutTest.java b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutTest.java index 63ea0d0..74e1e5a 100644 --- a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutTest.java +++ b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutTest.java
@@ -13,6 +13,7 @@ import static org.chromium.content_public.browser.test.util.CriteriaHelper.DEFAULT_MAX_TIME_TO_POLL; import static org.chromium.content_public.browser.test.util.CriteriaHelper.DEFAULT_POLLING_INTERVAL; +import android.animation.ValueAnimator; import android.graphics.Bitmap; import android.os.Build; import android.provider.Settings; @@ -115,8 +116,11 @@ @Test @MediumTest + // clang-format off + @Features.DisableFeatures(ChromeFeatureList.TAB_TO_GTS_ANIMATION) @CommandLineFlags.Add({BASE_PARAMS}) public void testTabToGridFromLiveTab() throws InterruptedException { + // clang-format on TabSwitcher.TabListDelegate delegate = mStartSurfaceLayout.getStartSurfaceForTesting().getTabListDelegate(); assertEquals(0, delegate.getSoftCleanupDelayForTesting()); @@ -145,8 +149,11 @@ @Test @MediumTest + // clang-format off + @Features.DisableFeatures(ChromeFeatureList.TAB_TO_GTS_ANIMATION) @CommandLineFlags.Add({BASE_PARAMS + "/soft-cleanup-delay/10000/cleanup-delay/10000"}) public void testTabToGridFromLiveTabWarm() throws InterruptedException { + // clang-format on TabSwitcher.TabListDelegate delegate = mStartSurfaceLayout.getStartSurfaceForTesting().getTabListDelegate(); assertEquals(10000, delegate.getSoftCleanupDelayForTesting()); @@ -170,8 +177,11 @@ @Test @MediumTest + // clang-format off + @Features.DisableFeatures(ChromeFeatureList.TAB_TO_GTS_ANIMATION) @CommandLineFlags.Add({BASE_PARAMS + "/cleanup-delay/10000"}) public void testTabToGridFromLiveTabSoft() throws InterruptedException { + // clang-format on prepareTabs(2, NTP_URL); testTabToGrid(mUrl); } @@ -309,6 +319,7 @@ @Test @MediumTest + @Features.DisableFeatures(ChromeFeatureList.TAB_TO_GTS_ANIMATION) public void testGridToTabToCurrentLive() throws InterruptedException { prepareTabs(1, mUrl); testGridToTab(false, false); @@ -316,6 +327,7 @@ @Test @MediumTest + @Features.DisableFeatures(ChromeFeatureList.TAB_TO_GTS_ANIMATION) @DisabledTest(message = "crbug.com/986047. This works on emulators but not on real devices.") public void testGridToTabToCurrentLiveDetached() throws Exception { for (int i = 0; i < 10; i++) { @@ -359,6 +371,7 @@ @Test @MediumTest + @Features.DisableFeatures(ChromeFeatureList.TAB_TO_GTS_ANIMATION) public void testGridToTabToOtherLive() throws InterruptedException { prepareTabs(2, mUrl); testGridToTab(true, false); @@ -376,6 +389,7 @@ @Test @MediumTest + @Features.DisableFeatures(ChromeFeatureList.TAB_TO_GTS_ANIMATION) public void testGridToTabToOtherFrozen() throws InterruptedException { prepareTabs(2, mUrl); testGridToTab(true, true);
diff --git a/chrome/android/java/res/drawable-hdpi/ic_dialer_not_found_red_40dp.png b/chrome/android/java/res/drawable-hdpi/ic_dialer_not_found_red_40dp.png new file mode 100644 index 0000000..db21547 --- /dev/null +++ b/chrome/android/java/res/drawable-hdpi/ic_dialer_not_found_red_40dp.png Binary files differ
diff --git a/chrome/android/java/res/drawable-mdpi/ic_dialer_not_found_red_40dp.png b/chrome/android/java/res/drawable-mdpi/ic_dialer_not_found_red_40dp.png new file mode 100644 index 0000000..ab12141 --- /dev/null +++ b/chrome/android/java/res/drawable-mdpi/ic_dialer_not_found_red_40dp.png Binary files differ
diff --git a/chrome/android/java/res/drawable-xhdpi/ic_dialer_not_found_red_40dp.png b/chrome/android/java/res/drawable-xhdpi/ic_dialer_not_found_red_40dp.png new file mode 100644 index 0000000..c7cb3cd6 --- /dev/null +++ b/chrome/android/java/res/drawable-xhdpi/ic_dialer_not_found_red_40dp.png Binary files differ
diff --git a/chrome/android/java/res/drawable-xxhdpi/ic_dialer_not_found_red_40dp.png b/chrome/android/java/res/drawable-xxhdpi/ic_dialer_not_found_red_40dp.png new file mode 100644 index 0000000..6c49901 --- /dev/null +++ b/chrome/android/java/res/drawable-xxhdpi/ic_dialer_not_found_red_40dp.png Binary files differ
diff --git a/chrome/android/java/res/drawable-xxxhdpi/ic_dialer_not_found_red_40dp.png b/chrome/android/java/res/drawable-xxxhdpi/ic_dialer_not_found_red_40dp.png new file mode 100644 index 0000000..7a85b99 --- /dev/null +++ b/chrome/android/java/res/drawable-xxxhdpi/ic_dialer_not_found_red_40dp.png Binary files differ
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java index a1e43aea..278e30a5 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
@@ -302,6 +302,7 @@ "PredictivePrefetchingAllowedOnAllConnectionTypes"; public static final String PRIORITIZE_BOOTSTRAP_TASKS = "PrioritizeBootstrapTasks"; public static final String QUERY_IN_OMNIBOX = "QueryInOmnibox"; + public static final String QUIET_NOTIFICATION_PROMPTS = "QuietNotificationPrompts"; public static final String REACHED_CODE_PROFILER = "ReachedCodeProfiler"; public static final String READER_MODE_IN_CCT = "ReaderModeInCCT"; public static final String REMOVE_NAVIGATION_HISTORY = "RemoveNavigationHistory";
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java index 309e5da..a84b2c6 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -87,6 +87,7 @@ import org.chromium.chrome.browser.incognito.IncognitoUtils; import org.chromium.chrome.browser.infobar.DataReductionPromoInfoBar; import org.chromium.chrome.browser.language.LanguageAskPrompt; +import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; import org.chromium.chrome.browser.locale.LocaleManager; import org.chromium.chrome.browser.metrics.ActivityStopMetrics; import org.chromium.chrome.browser.metrics.LaunchMetrics; @@ -285,6 +286,9 @@ */ private boolean mCreatedTabOnStartup; + // Whether or not the initial tab is being created. + private boolean mPendingInitialTabCreation; + /** * Keeps track of the pref for the last time since this activity was stopped. */ @@ -983,7 +987,9 @@ mMainIntentMetrics.logLaunchBehavior(); super.onStartWithNative(); - setInitialOverviewState(); + // Don't call setInitialOverviewState if we're waiting for the tab's creation or we risk + // showing a glimpse of the tab selector during start up. + if (!mPendingInitialTabCreation) setInitialOverviewState(); if (isMainIntentFromLauncher(getIntent()) && isInOverviewMode()) { RecordUserAction.record("MobileStartup.UserEnteredTabSwitcher"); @@ -1237,6 +1243,8 @@ // If homepage URI is not determined, due to PartnerBrowserCustomizations provider // async reading, then create a tab at the async reading finished. If it takes // too long, just create NTP. + + mPendingInitialTabCreation = true; PartnerBrowserCustomizations.setOnInitializeAsyncFinished( () -> { mMainIntentMetrics.setIgnoreEvents(true); @@ -1252,10 +1260,18 @@ } } + private boolean hasStartWithNativeBeenCalled() { + int activity_state = getLifecycleDispatcher().getCurrentActivityState(); + return activity_state == ActivityLifecycleDispatcher.ActivityState.STARTED_WITH_NATIVE + || activity_state == ActivityLifecycleDispatcher.ActivityState.RESUMED_WITH_NATIVE; + } + /** * Create an initial tab for cold start without restored tabs. */ private void createInitialTab() { + mPendingInitialTabCreation = false; + // If the grid tab switcher is enabled and the tab switcher will be shown on start, // do not create a new tab. With the grid, creating a new tab is now a one tap action. if (shouldShowTabSwitcherOnStart() && FeatureUtilities.isGridTabSwitcherEnabled()) return; @@ -1276,6 +1292,10 @@ } getTabCreator(false).launchUrl(url, TabLaunchType.FROM_CHROME_UI); + + // If we didn't call setInitialOverviewState() in startWithNative() because + // mPendingInitialTabCreation was true then do so now. + if (hasStartWithNativeBeenCalled()) setInitialOverviewState(); } @Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java index 89ba5ac..77c35d8 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -209,7 +209,7 @@ "MobileDownload.ContextMenu.SaveImage", type, TypeSaveImage.NUM_ENTRIES); } - // Note: these values must match the ContextMenuSaveImage enum in enums.xml. + // Note: these values must match the ContextMenuLensSupportStatus enum in enums.xml. // Only add new values at the end, right before NUM_ENTRIES. @IntDef({LensSupportStatus.LENS_SUPPORTED, LensSupportStatus.NON_GOOGLE_SEARCH_ENGINE, LensSupportStatus.ACTIVITY_NOT_ACCESSIBLE, LensSupportStatus.OUT_OF_DATE,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarCompactLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarCompactLayout.java index d6be09c6..1d4cb22 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarCompactLayout.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarCompactLayout.java
@@ -139,12 +139,11 @@ return this; } - /** The link will be appended after the main message. */ - public MessageBuilder withLink(@StringRes int textResId, Callback<View> onTapCallback) { + /** Appends a link after the main message, its displayed text being the specified string. */ + public MessageBuilder withLink(CharSequence label, Callback<View> onTapCallback) { assert mLink == null; final Resources resources = mLayout.getResources(); - String label = resources.getString(textResId); SpannableString link = new SpannableString(label); link.setSpan(new NoUnderlineClickableSpan(resources, onTapCallback), 0, label.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); @@ -153,6 +152,16 @@ return this; } + /** + * Appends a link after the main message, its displayed text being constructed from the + * given resource ID. + */ + public MessageBuilder withLink(@StringRes int textResId, Callback<View> onTapCallback) { + final Resources resources = mLayout.getResources(); + String label = resources.getString(textResId); + return withLink(label, onTapCallback); + } + /** Finalizes the message view as set up in the builder and inserts it into the layout. */ public void buildAndInsert() { mLayout.addContent(build(), 1f);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/PermissionInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/PermissionInfoBar.java index 7f18c88..4804232 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/PermissionInfoBar.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/PermissionInfoBar.java
@@ -4,12 +4,15 @@ package org.chromium.chrome.browser.infobar; -import android.graphics.Bitmap; +import android.os.Bundle; import org.chromium.base.annotations.CalledByNative; import org.chromium.chrome.R; import org.chromium.chrome.browser.ResourceId; import org.chromium.chrome.browser.permissions.AndroidPermissionRequester; +import org.chromium.chrome.browser.preferences.PreferencesLauncher; +import org.chromium.chrome.browser.preferences.website.SingleCategoryPreferences; +import org.chromium.chrome.browser.preferences.website.SiteSettingsCategory; import org.chromium.chrome.browser.tab.Tab; /** @@ -24,18 +27,90 @@ /** The content settings types corresponding to the permission requested in this infobar. */ protected int[] mContentSettingsTypes; + /** Whether the last clicked button was the "Manage" (secondary) button. */ + protected boolean mManageButtonLastClicked; + + /** Whether the infobar should be shown as a compact mini-infobar or a classic expanded one. */ + private boolean mIsExpanded; + + /** The text of the link shown in the compact state. */ + private String mCompactLinkText; + + /** The message text in the compact state. */ + private String mCompactMessage; + + /** The secondary text shown below the message in the expanded state. */ + private String mDescription; + protected PermissionInfoBar(Tab tab, int[] contentSettingsTypes, int iconDrawableId, - Bitmap iconBitmap, String message, String linkText, String primaryButtonText, - String secondaryButtonText) { - super(iconDrawableId, R.color.infobar_icon_drawable_color, iconBitmap, message, linkText, - primaryButtonText, secondaryButtonText); + String compactMessage, String compactLinkText, String message, String description, + String primaryButtonText, String secondaryButtonText) { + super(iconDrawableId, R.color.infobar_icon_drawable_color, null /* iconBitmap */, message, + null /* linkText */, primaryButtonText, secondaryButtonText); mTab = tab; mContentSettingsTypes = contentSettingsTypes; + mManageButtonLastClicked = false; + mIsExpanded = false; + mCompactLinkText = compactLinkText; + mCompactMessage = compactMessage; + mDescription = description; + } + + @Override + protected boolean usesCompactLayout() { + return !mIsExpanded; + } + + @Override + protected void createCompactLayoutContent(InfoBarCompactLayout layout) { + new InfoBarCompactLayout.MessageBuilder(layout) + .withText(mCompactMessage) + .withLink(mCompactLinkText, view -> onLinkClicked()) + .buildAndInsert(); + } + + @Override + public boolean areControlsEnabled() { + // The controls need to be enbled after the user clicks `manage` since they will return to + // the page and the infobar still needs to be kept active. + return super.areControlsEnabled() || mManageButtonLastClicked; + } + + @Override + public void onButtonClicked(final boolean isPrimaryButton) { + mManageButtonLastClicked = !isPrimaryButton; + if (getContext() == null) { + onButtonClickedInternal(isPrimaryButton); + return; + } + + if (isPrimaryButton) { + // requestAndroidPermissions will call back into this class to finalize the action if it + // returns true. + if (AndroidPermissionRequester.requestAndroidPermissions( + mTab, mContentSettingsTypes.clone(), this)) { + return; + } + } else { + launchNotificationsSettingsPage(); + } + onButtonClickedInternal(isPrimaryButton); + } + + @Override + public void onLinkClicked() { + if (!mIsExpanded) { + mIsExpanded = true; + replaceView(createView()); + } + + super.onLinkClicked(); } @Override public void createContent(InfoBarLayout layout) { super.createContent(layout); + layout.getMessageLayout().addDescription(mDescription); } @Override @@ -48,44 +123,40 @@ onCloseButtonClicked(); } - @Override - public void onButtonClicked(final boolean isPrimaryButton) { - // requestAndroidPermissions will call back into this class to finalize the action if it - // returns true. - if (!isPrimaryButton || getContext() == null - || !AndroidPermissionRequester.requestAndroidPermissions( - mTab, mContentSettingsTypes.clone(), this)) { - onButtonClickedInternal(isPrimaryButton); - return; - } - } - private void onButtonClickedInternal(boolean isPrimaryButton) { super.onButtonClicked(isPrimaryButton); } + private void launchNotificationsSettingsPage() { + Bundle fragmentArguments = new Bundle(); + fragmentArguments.putString(SingleCategoryPreferences.EXTRA_CATEGORY, + SiteSettingsCategory.preferenceKey(SiteSettingsCategory.Type.NOTIFICATIONS)); + PreferencesLauncher.launchSettingsPage( + getContext(), SingleCategoryPreferences.class, fragmentArguments); + } + /** * Creates and begins the process for showing a PermissionInfoBar. * @param tab The owning tab for the infobar. + * @param contentSettingsTypes The list of ContentSettingTypes being requested by this infobar. * @param enumeratedIconId ID corresponding to the icon that will be shown for the infobar. * The ID must have been mapped using the ResourceMapper class * before passing it to this function. - * @param iconBitmap Bitmap to use if there is no equivalent Java resource for - * enumeratedIconId. - * @param message Message to tell the user the purpose of the infobar. - * @param linkText Link text to display in addition to the message. + * @param compactMessage Message to show in the compact state. + * @param compactLinkText Text of link displayed right to the message in compact state. + * @param message Primary message in the extended state. + * @param description Secondary message (description) in the expanded state. * @param buttonOk String to display on the OK button. - * @param buttonCancel String to display on the Cancel button. - * @param contentSettingsTypes The list of ContentSettingTypes being requested by this infobar. + * @param buttonManage String to display on the Manage button. */ @CalledByNative - private static PermissionInfoBar create(Tab tab, int enumeratedIconId, Bitmap iconBitmap, - String message, String linkText, String buttonOk, String buttonCancel, - int[] contentSettingsTypes) { + private static PermissionInfoBar create(Tab tab, int[] contentSettingsTypes, + int enumeratedIconId, String compactMessage, String compactLinkText, String message, + String description, String buttonOk, String buttonManage) { int drawableId = ResourceId.mapToDrawableId(enumeratedIconId); PermissionInfoBar infoBar = new PermissionInfoBar(tab, contentSettingsTypes, drawableId, - iconBitmap, message, linkText, buttonOk, buttonCancel); + compactMessage, compactLinkText, message, description, buttonOk, buttonManage); return infoBar; }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationConstants.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationConstants.java index f23f448..0f873ba 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationConstants.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationConstants.java
@@ -111,6 +111,11 @@ public static final int NOTIFICATION_ID_SHARED_CLIPBOARD_OUTGOING = 11; /** + * Unique identifier for ClickToCall error notification. + */ + public static final int NOTIFICATION_ID_CLICK_TO_CALL_ERROR = 12; + + /** * Separator used to separate the notification origin from additional data such as the * developer specified tag. This and the prefix following it need to be the same as the one * specified in notification_id_generator.cc.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java index 1f0c8d6..e768d26 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
@@ -36,6 +36,7 @@ import org.chromium.chrome.browser.init.ChromeBrowserInitializer; import org.chromium.chrome.browser.notifications.channels.ChannelDefinitions; import org.chromium.chrome.browser.notifications.channels.SiteChannelsManager; +import org.chromium.chrome.browser.permissions.PermissionFieldTrial; import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.preferences.PreferencesLauncher; import org.chromium.chrome.browser.preferences.website.SingleCategoryPreferences; @@ -548,12 +549,15 @@ notificationBuilder, notificationType, notificationId, origin, actions, image); // Store notification if its origin is suspended. + // TODO(knollr): By-pass the NotificationSuspender for non-site notifications. NotificationSuspender.maybeSuspendNotification(notification).then((suspended) -> { if (suspended) return; // Display notification as Chrome. mNotificationManager.notify(notification); NotificationUmaTracker.getInstance().onNotificationShown( - NotificationUmaTracker.SystemNotificationType.SITES, + notificationType == NotificationType.PERMISSION_REQUEST + ? PermissionFieldTrial.systemNotificationTypeToUse() + : NotificationUmaTracker.SystemNotificationType.SITES, notification.getNotification()); }); } @@ -592,7 +596,16 @@ .setHideLargeIcon(notificationType == NotificationType.PERMISSION_REQUEST); if (notificationType == NotificationType.PERMISSION_REQUEST) { - notificationBuilder.setChannelId(ChannelDefinitions.ChannelId.BROWSER); + @PermissionFieldTrial.UIFlavor + int ui_flavor = PermissionFieldTrial.uiFlavorToUse(); + + assert ui_flavor != PermissionFieldTrial.UIFlavor.MINI_INFOBAR; + assert ui_flavor != PermissionFieldTrial.UIFlavor.NONE; + + // Notification priority is used before Android O instead of channel importance to + // determine how to display the notification. + notificationBuilder.setPriority(PermissionFieldTrial.notificationPriorityToUse()); + notificationBuilder.setChannelId(PermissionFieldTrial.notificationChannelIdToUse()); } else if (shouldSetChannelId(forWebApk)) { // TODO(crbug.com/773738): Channel ID should be retrieved from cache in native and // passed through to here with other notification parameters. @@ -675,7 +688,9 @@ notificationBuilder.addSettingsAction(settingsIconId, settingsTitle, pendingSettingsIntent); return notificationBuilder.build( - new NotificationMetadata(NotificationUmaTracker.SystemNotificationType.SITES, + new NotificationMetadata(notificationType == NotificationType.PERMISSION_REQUEST + ? PermissionFieldTrial.systemNotificationTypeToUse() + : NotificationUmaTracker.SystemNotificationType.SITES, notificationId /* notificationTag */, PLATFORM_ID /* notificationId */)); }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationUmaTracker.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationUmaTracker.java index 23e6435b..b18dd9c5c 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationUmaTracker.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationUmaTracker.java
@@ -49,7 +49,9 @@ SystemNotificationType.OFFLINE_CONTENT_SUGGESTION, SystemNotificationType.TRUSTED_WEB_ACTIVITY_SITES, SystemNotificationType.OFFLINE_PAGES, SystemNotificationType.SEND_TAB_TO_SELF, SystemNotificationType.UPDATES, - SystemNotificationType.CLICK_TO_CALL, SystemNotificationType.SHARED_CLIPBOARD}) + SystemNotificationType.CLICK_TO_CALL, SystemNotificationType.SHARED_CLIPBOARD, + SystemNotificationType.PERMISSION_REQUESTS, + SystemNotificationType.PERMISSION_REQUESTS_HIGH}) @Retention(RetentionPolicy.SOURCE) public @interface SystemNotificationType { int UNKNOWN = -1; @@ -72,8 +74,10 @@ int UPDATES = 16; int CLICK_TO_CALL = 17; int SHARED_CLIPBOARD = 18; + int PERMISSION_REQUESTS = 19; + int PERMISSION_REQUESTS_HIGH = 20; - int NUM_ENTRIES = 19; + int NUM_ENTRIES = 21; } /*
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/channels/ChannelDefinitions.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/channels/ChannelDefinitions.java index 23a0e48f0..23eebd17 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/channels/ChannelDefinitions.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/channels/ChannelDefinitions.java
@@ -55,7 +55,8 @@ */ @StringDef({ChannelId.BROWSER, ChannelId.DOWNLOADS, ChannelId.INCOGNITO, ChannelId.MEDIA, ChannelId.SCREEN_CAPTURE, ChannelId.CONTENT_SUGGESTIONS, ChannelId.WEBAPP_ACTIONS, - ChannelId.SITES, ChannelId.SHARING, ChannelId.UPDATES, ChannelId.COMPLETED_DOWNLOADS}) + ChannelId.SITES, ChannelId.SHARING, ChannelId.UPDATES, ChannelId.COMPLETED_DOWNLOADS, + ChannelId.PERMISSION_REQUESTS, ChannelId.PERMISSION_REQUESTS_HIGH}) @Retention(RetentionPolicy.SOURCE) public @interface ChannelId { String BROWSER = "browser"; @@ -71,6 +72,8 @@ String SHARING = "sharing"; String UPDATES = "updates"; String COMPLETED_DOWNLOADS = "completed_downloads"; + String PERMISSION_REQUESTS = "permission_requests"; + String PERMISSION_REQUESTS_HIGH = "permission_requests_high"; } @StringDef({ @@ -175,6 +178,16 @@ NotificationManager.IMPORTANCE_LOW, ChannelGroupId.GENERAL, true /* showNotificationBadges */)); + map.put(ChannelId.PERMISSION_REQUESTS, + new PredefinedChannel(ChannelId.PERMISSION_REQUESTS, + R.string.notification_category_permission_requests, + NotificationManager.IMPORTANCE_LOW, ChannelGroupId.GENERAL)); + + map.put(ChannelId.PERMISSION_REQUESTS_HIGH, + new PredefinedChannel(ChannelId.PERMISSION_REQUESTS_HIGH, + R.string.notification_category_permission_requests, + NotificationManager.IMPORTANCE_HIGH, ChannelGroupId.GENERAL)); + MAP = Collections.unmodifiableMap(map); STARTUP = Collections.unmodifiableSet(startup); }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/permissions/PermissionFieldTrial.java b/chrome/android/java/src/org/chromium/chrome/browser/permissions/PermissionFieldTrial.java new file mode 100644 index 0000000..d112bda --- /dev/null +++ b/chrome/android/java/src/org/chromium/chrome/browser/permissions/PermissionFieldTrial.java
@@ -0,0 +1,83 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package org.chromium.chrome.browser.permissions; + +import android.support.annotation.IntDef; +import android.support.v4.app.NotificationCompat; + +import org.chromium.chrome.browser.ChromeFeatureList; +import org.chromium.chrome.browser.notifications.NotificationUmaTracker; +import org.chromium.chrome.browser.notifications.channels.ChannelDefinitions; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Provides Field Trial support for the permissions field trial + */ +public class PermissionFieldTrial { + // Keep in sync with "chrome/browser/permissions/permission_features.h" + private static final String QUIET_NOTIFICATION_PROMPTS_UI_FLAVOUR_PARAMETER_NAME = "ui_flavour"; + private static final String QUIET_NOTIFICATION_PROMPTS_HEADS_UP_NOTIFICATION = + "heads_up_notification"; + private static final String QUIET_NOTIFICATION_PROMPTS_MINI_INFOBAR = "mini_infobar"; + + @IntDef({UIFlavor.NONE, UIFlavor.QUIET_NOTIFICATION, UIFlavor.HEADS_UP_NOTIFICATION, + UIFlavor.MINI_INFOBAR}) + @Retention(RetentionPolicy.SOURCE) + public @interface UIFlavor { + int NONE = 0; + int QUIET_NOTIFICATION = 1; + int HEADS_UP_NOTIFICATION = 2; + int MINI_INFOBAR = 3; + } + + public static @UIFlavor int uiFlavorToUse() { + if (!ChromeFeatureList.isEnabled(ChromeFeatureList.QUIET_NOTIFICATION_PROMPTS)) { + return UIFlavor.NONE; + } + + switch (ChromeFeatureList.getFieldTrialParamByFeature( + ChromeFeatureList.QUIET_NOTIFICATION_PROMPTS, + PermissionFieldTrial.QUIET_NOTIFICATION_PROMPTS_UI_FLAVOUR_PARAMETER_NAME)) { + case PermissionFieldTrial.QUIET_NOTIFICATION_PROMPTS_HEADS_UP_NOTIFICATION: + return UIFlavor.HEADS_UP_NOTIFICATION; + case PermissionFieldTrial.QUIET_NOTIFICATION_PROMPTS_MINI_INFOBAR: + return UIFlavor.MINI_INFOBAR; + default: + return UIFlavor.QUIET_NOTIFICATION; + } + } + + public static @ChannelDefinitions.ChannelId String notificationChannelIdToUse() { + switch (uiFlavorToUse()) { + case UIFlavor.QUIET_NOTIFICATION: + return ChannelDefinitions.ChannelId.PERMISSION_REQUESTS; + case UIFlavor.HEADS_UP_NOTIFICATION: + return ChannelDefinitions.ChannelId.PERMISSION_REQUESTS_HIGH; + default: + return ChannelDefinitions.ChannelId.BROWSER; + } + } + + public static int notificationPriorityToUse() { + if (uiFlavorToUse() == UIFlavor.HEADS_UP_NOTIFICATION) { + return NotificationCompat.PRIORITY_MAX; + } + + return NotificationCompat.PRIORITY_LOW; + } + + public static @NotificationUmaTracker.SystemNotificationType int systemNotificationTypeToUse() { + switch (uiFlavorToUse()) { + case UIFlavor.QUIET_NOTIFICATION: + return NotificationUmaTracker.SystemNotificationType.PERMISSION_REQUESTS; + case UIFlavor.HEADS_UP_NOTIFICATION: + return NotificationUmaTracker.SystemNotificationType.PERMISSION_REQUESTS_HIGH; + default: + return NotificationUmaTracker.SystemNotificationType.UNKNOWN; + } + } +}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java index e7c9661..b597a6db 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
@@ -13,6 +13,7 @@ import android.text.TextUtils; import org.chromium.base.ContextUtils; +import org.chromium.chrome.browser.ChromeFeatureList; import org.chromium.chrome.browser.IntentHandler; /** @@ -21,6 +22,7 @@ public class LensUtils { private static final String LENS_CONTRACT_URI = "googleapp://lens"; private static final String LENS_BITMAP_URI_KEY = "LensBitmapUriKey"; + private static final String MIN_AGSA_VERSION_FEATURE_PARAM_NAME = "minAgsaVersionName"; private static final String MIN_AGSA_VERSION_NAME_FOR_LENS_POSTCAPTURE = "8.19"; /** @@ -47,18 +49,45 @@ } /** + * Gets the minimum AGSA version required to support the Lens context menu integration + * on this device. Takes the value from a server provided value if a field trial is + * active but otherwise will take the value from a client side default (unless the + * lens feature is not enabled at all, in which case return an empty string). + * + * @return The minimum version name string or an empty string if not available. + */ + private static String getMinimumAgsaVersionForLensSupport() { + if (ChromeFeatureList.isEnabled(ChromeFeatureList.CONTEXT_MENU_SEARCH_WITH_GOOGLE_LENS)) { + final String serverProvidedMinAgsaVersion = + ChromeFeatureList.getFieldTrialParamByFeature( + ChromeFeatureList.CONTEXT_MENU_SEARCH_WITH_GOOGLE_LENS, + MIN_AGSA_VERSION_FEATURE_PARAM_NAME); + if (TextUtils.isEmpty(serverProvidedMinAgsaVersion)) { + // Falls into this block if the user enabled the feature using chrome://flags and + // the param was not set by the server. + return MIN_AGSA_VERSION_NAME_FOR_LENS_POSTCAPTURE; + } + return serverProvidedMinAgsaVersion; + } + // The feature is disabled so no need to return a minimum version. + return ""; + } + + /** * Checks if the AGSA version is below a certain {@code String} version name * which denotes support for the Lens postcapture experience. * @param installedVersionName The AGSA version installed on this device, * @return Whether the AGSA version on the device is high enough. */ public static boolean isAgsaVersionBelowMinimum(String installedVersionName) { - if (TextUtils.isEmpty(installedVersionName)) { + String minimumAllowedAgsaVersionName = getMinimumAgsaVersionForLensSupport(); + if (TextUtils.isEmpty(installedVersionName) + || TextUtils.isEmpty(minimumAllowedAgsaVersionName)) { return true; } String[] agsaNumbers = installedVersionName.split("\\.", -1); - String[] targetAgsaNumbers = MIN_AGSA_VERSION_NAME_FOR_LENS_POSTCAPTURE.split("\\.", -1); + String[] targetAgsaNumbers = minimumAllowedAgsaVersionName.split("\\.", -1); // To avoid IndexOutOfBounds int maxIndex = Math.min(agsaNumbers.length, targetAgsaNumbers.length);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sharing/SharingNotificationUtil.java b/chrome/android/java/src/org/chromium/chrome/browser/sharing/SharingNotificationUtil.java index a73866e..76e4769 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/sharing/SharingNotificationUtil.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sharing/SharingNotificationUtil.java
@@ -38,7 +38,9 @@ private static final String EXTRA_NOTIFICATION_ID = "notification_id"; private static final String EXTRA_NOTIFICATION_TOKEN = "notification_token"; private static final int REQUEST_CODE_DISMISS = 100; - private static final @DrawableRes int SMALL_ICON_ID = R.drawable.ic_devices_16dp; + + // TODO(himanshujaju) - We have only two small icons, one for error and one for non error. We + // could avoid passing them around. private static HashSet<Integer> sDismissedSendingNotifications = new HashSet<>(); private static int sSendingNotificationCount; @@ -72,10 +74,11 @@ * @param contentTitle The notification title text. * @param contentText The notification content text. * @param largeIconId The large notification icon resource id, 0 if not used. + * @param color The color to be used for the notification. */ public static void showNotification(@SystemNotificationType int type, String group, int id, PendingIntentProvider contentIntent, String contentTitle, String contentText, - @DrawableRes int largeIconId) { + @DrawableRes int smallIconId, @DrawableRes int largeIconId, int color) { Context context = ContextUtils.getApplicationContext(); Resources resources = context.getResources(); ChromeNotificationBuilder builder = @@ -87,12 +90,11 @@ .setContentIntent(contentIntent) .setContentTitle(contentTitle) .setContentText(contentText) - .setColor(ApiCompatibilityUtils.getColor( - context.getResources(), R.color.default_icon_color_blue)) + .setColor(ApiCompatibilityUtils.getColor(context.getResources(), color)) .setGroup(group) .setPriorityBeforeO(NotificationCompat.PRIORITY_HIGH) .setVibrate(new long[0]) - .setSmallIcon(SMALL_ICON_ID) + .setSmallIcon(smallIconId) .setAutoCancel(true) .setDefaults(Notification.DEFAULT_ALL); if (largeIconId != 0) { @@ -149,7 +151,7 @@ context.getResources(), R.color.default_icon_color_blue)) .setPriorityBeforeO(NotificationCompat.PRIORITY_HIGH) .setVibrate(new long[0]) - .setSmallIcon(SMALL_ICON_ID) + .setSmallIcon(R.drawable.ic_devices_16dp) .setProgress(/*max=*/0, /*percentage=*/0, true) .setOngoing(true) .addAction(R.drawable.ic_cancel_circle, dismissTitle, dismissIntent,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sharing/click_to_call/ClickToCallMessageHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/sharing/click_to_call/ClickToCallMessageHandler.java index 55f2a6e..f451e7c 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/sharing/click_to_call/ClickToCallMessageHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sharing/click_to_call/ClickToCallMessageHandler.java
@@ -50,12 +50,32 @@ ClickToCallUma.recordDialerPresent(true); ClickToCallUma.recordDialerShown(TextUtils.isEmpty(phoneNumber)); } catch (ActivityNotFoundException activityNotFound) { - // TODO(crbug.com/996644): Add error dialog when no dialer app is available. + // Notify the user that no dialer app was available. ClickToCallUma.recordDialerPresent(false); + displayDialerNotFoundNotification(); } } /** + * Shows an error notification suggesting the user to enable a dialer app to + * use click to call. + */ + public static void displayDialerNotFoundNotification() { + Context context = ContextUtils.getApplicationContext(); + + SharingNotificationUtil.showNotification( + NotificationUmaTracker.SystemNotificationType.CLICK_TO_CALL, + NotificationConstants.GROUP_CLICK_TO_CALL, + NotificationConstants.NOTIFICATION_ID_CLICK_TO_CALL_ERROR, /*contentIntent=*/null, + context.getResources().getString( + R.string.click_to_call_dialer_absent_notification_title), + context.getResources().getString( + R.string.click_to_call_dialer_absent_notification_text), + R.drawable.ic_error_outline_red_24dp, R.drawable.ic_dialer_not_found_red_40dp, + R.color.google_red_600); + } + + /** * Handles the tapping of a notification by opening the dialer with the * phone number specified in the notification. */ @@ -99,7 +119,8 @@ NotificationConstants.GROUP_CLICK_TO_CALL, NotificationConstants.NOTIFICATION_ID_CLICK_TO_CALL, contentIntent, phoneNumber, context.getResources().getString(R.string.click_to_call_notification_text), - R.drawable.ic_dialer_icon_blue_40dp); + R.drawable.ic_devices_16dp, R.drawable.ic_dialer_icon_blue_40dp, + R.color.default_icon_color_blue); } /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMessageHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMessageHandler.java index 21277fa..9603aae 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMessageHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMessageHandler.java
@@ -52,6 +52,7 @@ NotificationConstants.GROUP_SHARED_CLIPBOARD, NotificationConstants.NOTIFICATION_ID_SHARED_CLIPBOARD_INCOMING, contentIntent, notificationTitle, resources.getString(R.string.shared_clipboard_notification_text), - R.drawable.shared_clipboard_40dp); + R.drawable.ic_devices_16dp, R.drawable.shared_clipboard_40dp, + R.color.default_icon_color_blue); } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sms/SmsReceiverInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/sms/SmsReceiverInfoBar.java index ffc05e14..e6e4c99 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/sms/SmsReceiverInfoBar.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sms/SmsReceiverInfoBar.java
@@ -6,6 +6,7 @@ import android.app.Activity; import android.content.Context; +import android.os.SystemClock; import android.view.View; import org.chromium.base.Log; @@ -27,6 +28,7 @@ private static final boolean DEBUG = false; private String mMessage; private WindowAndroid mWindowAndroid; + private Long mKeyboardDismissedTime; @VisibleForTesting @CalledByNative @@ -49,6 +51,7 @@ @Override public void createContent(InfoBarLayout layout) { super.createContent(layout); + SmsReceiverUma.recordInfobarAction(SmsReceiverUma.InfobarAction.SHOWN); Activity activity = mWindowAndroid.getActivity().get(); if (activity != null) { @@ -58,6 +61,8 @@ if (focusedView != null && keyboardVisibilityDelegate.isKeyboardShowing(activity, focusedView)) { keyboardVisibilityDelegate.hideKeyboard(focusedView); + SmsReceiverUma.recordInfobarAction(SmsReceiverUma.InfobarAction.KEYBOARD_DISMISSED); + mKeyboardDismissedTime = SystemClock.uptimeMillis(); } } @@ -65,4 +70,14 @@ InfoBarControlLayout control = layout.addControlLayout(); control.addDescription(mMessage); } + + @Override + public void onCloseButtonClicked() { + super.onCloseButtonClicked(); + + if (mKeyboardDismissedTime != null) { + SmsReceiverUma.recordCancelTimeAfterKeyboardDismissal( + SystemClock.uptimeMillis() - mKeyboardDismissedTime); + } + } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sms/SmsReceiverUma.java b/chrome/android/java/src/org/chromium/chrome/browser/sms/SmsReceiverUma.java new file mode 100644 index 0000000..fc173ed --- /dev/null +++ b/chrome/android/java/src/org/chromium/chrome/browser/sms/SmsReceiverUma.java
@@ -0,0 +1,37 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package org.chromium.chrome.browser.sms; + +import android.support.annotation.IntDef; + +import org.chromium.base.metrics.RecordHistogram; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Helper Class for Sms Receiver UMA Collection. + */ +final class SmsReceiverUma { + // Note: these values must match the SMSReceiverInfobar enum in enums.xml. + // Only add new values at the end, right before NUM_ENTRIES. + @IntDef({InfobarAction.SHOWN, InfobarAction.KEYBOARD_DISMISSED}) + @Retention(RetentionPolicy.SOURCE) + public @interface InfobarAction { + int SHOWN = 0; + int KEYBOARD_DISMISSED = 1; + int NUM_ENTRIES = 2; + } + + static void recordInfobarAction(int action) { + RecordHistogram.recordEnumeratedHistogram( + "Blink.Sms.Receive.Infobar", action, InfobarAction.NUM_ENTRIES); + } + + static void recordCancelTimeAfterKeyboardDismissal(long durationMs) { + RecordHistogram.recordMediumTimesHistogram( + "Blink.Sms.Receive.TimeCancelOnKeyboardDismissal", durationMs); + } +}
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd index c387f8c..93c5e2ad 100644 --- a/chrome/android/java/strings/android_chrome_strings.grd +++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -337,11 +337,9 @@ <message name="IDS_NOTIFICATION_CATEGORY_COMPLETED_DOWNLOADS" desc="Label for completed download notifications, within a list of notification categories. [CHAR-LIMIT=32]"> Completed downloads </message> - <if expr="False"> - <message name="IDS_NOTIFICATION_CATEGORY_PERMISSION_REQUESTS" desc="Label for permission requests, within a list of notification categories. [CHAR-LIMIT=32]"> - Permission requests - </message> - </if> + <message name="IDS_NOTIFICATION_CATEGORY_PERMISSION_REQUESTS" desc="Label for permission requests, within a list of notification categories. [CHAR-LIMIT=32]"> + Permission requests + </message> <!-- Sign-in, sync and personalization preferences --> <message name="IDS_PREFS_SECTION_ACCOUNT" desc="Title for the group of account-related entries in Settings. [CHAR-LIMIT=32]"> @@ -3888,9 +3886,15 @@ </message> <!-- ClickToCall --> - <message name="IDS_CLICK_TO_CALL_NOTIFICATION_TEXT" desc="Text displayed in a click to call notification."> + <message name="IDS_CLICK_TO_CALL_NOTIFICATION_TEXT" desc="Text displayed in a click to call notification to call on a number."> Tap to make call </message> + <message name="IDS_CLICK_TO_CALL_DIALER_ABSENT_NOTIFICATION_TITLE" desc="Title of click to call notification when there is no dialer on device."> + Can't make calls + </message> + <message name="IDS_CLICK_TO_CALL_DIALER_ABSENT_NOTIFICATION_TEXT" desc="Text displayed in a click to call notification when there is no dialer on device."> + Make sure a phone app is enabled on this device + </message> <!-- Shared Clipboard --> <message name="IDS_SHARED_CLIPBOARD_NOTIFICATION_TITLE_UNKNOWN_DEVICE" desc="Title text displayed in a shared clipboard notification when the source device name is unknown.">
diff --git a/chrome/android/java/strings/android_chrome_strings_grd/IDS_CLICK_TO_CALL_DIALER_ABSENT_NOTIFICATION_TEXT.png.sha1 b/chrome/android/java/strings/android_chrome_strings_grd/IDS_CLICK_TO_CALL_DIALER_ABSENT_NOTIFICATION_TEXT.png.sha1 new file mode 100644 index 0000000..1c1bf53 --- /dev/null +++ b/chrome/android/java/strings/android_chrome_strings_grd/IDS_CLICK_TO_CALL_DIALER_ABSENT_NOTIFICATION_TEXT.png.sha1
@@ -0,0 +1 @@ +8ea6724244a81229308d4307c429c51892062bcc \ No newline at end of file
diff --git a/chrome/android/java/strings/android_chrome_strings_grd/IDS_CLICK_TO_CALL_DIALER_ABSENT_NOTIFICATION_TITLE.png.sha1 b/chrome/android/java/strings/android_chrome_strings_grd/IDS_CLICK_TO_CALL_DIALER_ABSENT_NOTIFICATION_TITLE.png.sha1 new file mode 100644 index 0000000..1c1bf53 --- /dev/null +++ b/chrome/android/java/strings/android_chrome_strings_grd/IDS_CLICK_TO_CALL_DIALER_ABSENT_NOTIFICATION_TITLE.png.sha1
@@ -0,0 +1 @@ +8ea6724244a81229308d4307c429c51892062bcc \ No newline at end of file
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/channels/ChannelsInitializerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/channels/ChannelsInitializerTest.java index 469a1b0..506e60f 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/channels/ChannelsInitializerTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/channels/ChannelsInitializerTest.java
@@ -327,6 +327,43 @@ assertThat(getChannelsIgnoringDefault(), hasSize(2)); } + @Test + @SmallTest + @MinAndroidSdkLevel(Build.VERSION_CODES.O) + @TargetApi(Build.VERSION_CODES.O) + @Feature({"Browser", "Notifications"}) + public void testEnsureInitialized_permissionRequests() throws Exception { + mChannelsInitializer.ensureInitialized(ChannelDefinitions.ChannelId.PERMISSION_REQUESTS); + + assertThat(getChannelsIgnoringDefault(), hasSize(1)); + NotificationChannel channel = getChannelsIgnoringDefault().get(0); + assertThat(channel.getId(), is(ChannelDefinitions.ChannelId.PERMISSION_REQUESTS)); + assertThat(channel.getName().toString(), + is(mContext.getString( + org.chromium.chrome.R.string.notification_category_permission_requests))); + assertThat(channel.getImportance(), is(NotificationManager.IMPORTANCE_LOW)); + assertThat(channel.getGroup(), is(ChannelDefinitions.ChannelGroupId.GENERAL)); + } + + @Test + @SmallTest + @MinAndroidSdkLevel(Build.VERSION_CODES.O) + @TargetApi(Build.VERSION_CODES.O) + @Feature({"Browser", "Notifications"}) + public void testEnsureInitialized_permissionRequestsHigh() throws Exception { + mChannelsInitializer.ensureInitialized( + ChannelDefinitions.ChannelId.PERMISSION_REQUESTS_HIGH); + + assertThat(getChannelsIgnoringDefault(), hasSize(1)); + NotificationChannel channel = getChannelsIgnoringDefault().get(0); + assertThat(channel.getId(), is(ChannelDefinitions.ChannelId.PERMISSION_REQUESTS_HIGH)); + assertThat(channel.getName().toString(), + is(mContext.getString( + org.chromium.chrome.R.string.notification_category_permission_requests))); + assertThat(channel.getImportance(), is(NotificationManager.IMPORTANCE_HIGH)); + assertThat(channel.getGroup(), is(ChannelDefinitions.ChannelGroupId.GENERAL)); + } + /** * Gets the current notification channels from the notification manager, except for any with * the default ID, which will be removed from the list before returning.
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/share/LensUtilsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/share/LensUtilsTest.java index 59ba184..2e03983 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/share/LensUtilsTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/share/LensUtilsTest.java
@@ -9,27 +9,86 @@ import android.support.test.filters.SmallTest; import org.junit.Assert; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; +import org.chromium.base.test.util.CommandLineFlags; +import org.chromium.chrome.browser.ChromeFeatureList; +import org.chromium.chrome.browser.ChromeSwitches; +import org.chromium.chrome.test.ChromeBrowserTestRule; import org.chromium.chrome.test.ChromeJUnit4ClassRunner; +import org.chromium.chrome.test.util.browser.Features; /** * Tests of {@link LensUtils}. */ @RunWith(ChromeJUnit4ClassRunner.class) +@CommandLineFlags.Add(ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE) public class LensUtilsTest { + @Rule + public final ChromeBrowserTestRule mBrowserTestRule = new ChromeBrowserTestRule(); + /** - * Test {@link LensUtils#isAgsaVersionBelowMinimum()} method. + * Test {@link LensUtils#isAgsaVersionBelowMinimum()} method if the + * feature is disabled. */ @Test @SmallTest - public void isAgsaVersionBelowMinimumTest() { + @Features.DisableFeatures({ChromeFeatureList.CONTEXT_MENU_SEARCH_WITH_GOOGLE_LENS}) + public void isAgsaVersionBelowMinimumFeatureDisabledTest() { + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("8.19")); + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("8.19.1")); + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("8.30")); + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("9.30")); + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("")); + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("8.1")); + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("7.30")); + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("8")); + } + + /** + * Test {@link LensUtils#isAgsaVersionBelowMinimum()} method if the + * feature was enabled using chrome://flags. + */ + @Test + @SmallTest + @Features.EnableFeatures({ChromeFeatureList.CONTEXT_MENU_SEARCH_WITH_GOOGLE_LENS}) + public void isAgsaVersionBelowMinimumFeatureEnabledByClientTest() { Assert.assertFalse(LensUtils.isAgsaVersionBelowMinimum("8.19")); Assert.assertFalse(LensUtils.isAgsaVersionBelowMinimum("8.19.1")); + Assert.assertFalse(LensUtils.isAgsaVersionBelowMinimum("8.24")); + Assert.assertFalse(LensUtils.isAgsaVersionBelowMinimum("8.25")); Assert.assertFalse(LensUtils.isAgsaVersionBelowMinimum("8.30")); Assert.assertFalse(LensUtils.isAgsaVersionBelowMinimum("9.30")); + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("")); + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("8.1")); + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("7.30")); + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("8")); + } + + /** + * Test {@link LensUtils#isAgsaVersionBelowMinimum()} method if the + * feature was enabled by the server (using a 8.25 as the minimum which is + * higher than the 8.19 version required by default). + */ + @Test + @SmallTest + @CommandLineFlags.Add({"enable-features=" + + ChromeFeatureList.CONTEXT_MENU_SEARCH_WITH_GOOGLE_LENS + "<FakeStudyName", + "force-fieldtrials=FakeStudyName/Enabled", + "force-fieldtrial-params=FakeStudyName.Enabled:minAgsaVersionName/8.25"}) + public void + isAgsaVersionBelowMinimumFeatureEnabledByServerTest() { + Assert.assertFalse(LensUtils.isAgsaVersionBelowMinimum("8.25")); + Assert.assertFalse(LensUtils.isAgsaVersionBelowMinimum("8.30")); + Assert.assertFalse(LensUtils.isAgsaVersionBelowMinimum("9.30")); + + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("")); + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("8.19")); + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("8.19.1")); + Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("8.24")); Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("8.1")); Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("7.30")); Assert.assertTrue(LensUtils.isAgsaVersionBelowMinimum("8"));
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sms/SmsReceiverInfoBarTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/sms/SmsReceiverInfoBarTest.java index 2155f1f..f0c69346 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/sms/SmsReceiverInfoBarTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/sms/SmsReceiverInfoBarTest.java
@@ -13,6 +13,7 @@ import org.junit.Test; import org.junit.runner.RunWith; +import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.test.util.CommandLineFlags; import org.chromium.base.test.util.Feature; import org.chromium.chrome.browser.ChromeActivity; @@ -41,6 +42,9 @@ new ChromeActivityTestRule<>(ChromeActivity.class); private ChromeActivity mActivity; + private final static String INFOBAR_HISTOGRAM = "Blink.Sms.Receive.Infobar"; + private final static String TIME_CANCEL_ON_KEYBOARD_DISMISSAL_HISTOGRAM = + "Blink.Sms.Receive.TimeCancelOnKeyboardDismissal"; @Before public void setUp() throws Exception { @@ -59,6 +63,15 @@ }); } + private void assertHistogramRecordedCount(String name, int expectedCount) { + Assert.assertEquals(expectedCount, RecordHistogram.getHistogramTotalCountForTesting(name)); + } + + private void assertHistogramRecordedCount(String name, int sample, int expectedCount) { + Assert.assertEquals( + expectedCount, RecordHistogram.getHistogramValueCountForTesting(name, sample)); + } + @Test @MediumTest @Feature({"InfoBars", "UiCatalogue"}) @@ -69,6 +82,10 @@ // Click primary button. Assert.assertTrue(InfoBarUtil.clickPrimaryButton(infoBar)); + + assertHistogramRecordedCount(INFOBAR_HISTOGRAM, SmsReceiverUma.InfobarAction.SHOWN, 1); + assertHistogramRecordedCount( + INFOBAR_HISTOGRAM, SmsReceiverUma.InfobarAction.KEYBOARD_DISMISSED, 0); } @Test @@ -81,6 +98,10 @@ // Close infobar. Assert.assertTrue(InfoBarUtil.clickCloseButton(infoBar)); + + assertHistogramRecordedCount(INFOBAR_HISTOGRAM, SmsReceiverUma.InfobarAction.SHOWN, 1); + assertHistogramRecordedCount( + INFOBAR_HISTOGRAM, SmsReceiverUma.InfobarAction.KEYBOARD_DISMISSED, 0); } @Test @@ -106,5 +127,43 @@ // Keyboard is hidden after info bar is created and shown. CriteriaHelper.pollUiThread(Criteria.equals( false, () -> keyboardVisibilityDelegate.isKeyboardShowing(mActivity, editText))); + + assertHistogramRecordedCount(INFOBAR_HISTOGRAM, SmsReceiverUma.InfobarAction.SHOWN, 1); + assertHistogramRecordedCount( + INFOBAR_HISTOGRAM, SmsReceiverUma.InfobarAction.KEYBOARD_DISMISSED, 1); + assertHistogramRecordedCount(TIME_CANCEL_ON_KEYBOARD_DISMISSAL_HISTOGRAM, 0); + } + + @Test + @MediumTest + @Feature({"InfoBars", "UiCatalogue"}) + public void testUMARecordedWhenInfobarDismissedAfterHidingKeyboard() { + KeyboardVisibilityDelegate keyboardVisibilityDelegate = + mActivityTestRule.getKeyboardDelegate(); + EditText editText = new EditText(mActivity); + + TestThreadUtils.runOnUiThreadBlocking(() -> { + mActivity.setContentView(editText); + editText.requestFocus(); + keyboardVisibilityDelegate.showKeyboard(editText); + }); + + // Wait until the keyboard is showing. + CriteriaHelper.pollUiThread(Criteria.equals( + true, () -> keyboardVisibilityDelegate.isKeyboardShowing(mActivity, editText))); + + SmsReceiverInfoBar infoBar = createInfoBar(); + + // Keyboard is hidden after info bar is created and shown. + CriteriaHelper.pollUiThread(Criteria.equals( + false, () -> keyboardVisibilityDelegate.isKeyboardShowing(mActivity, editText))); + + // Close info bar. + InfoBarUtil.clickCloseButton(infoBar); + + assertHistogramRecordedCount(INFOBAR_HISTOGRAM, SmsReceiverUma.InfobarAction.SHOWN, 1); + assertHistogramRecordedCount( + INFOBAR_HISTOGRAM, SmsReceiverUma.InfobarAction.KEYBOARD_DISMISSED, 1); + assertHistogramRecordedCount(TIME_CANCEL_ON_KEYBOARD_DISMISSAL_HISTOGRAM, 1); } }
diff --git a/chrome/android/trichrome.gni b/chrome/android/trichrome.gni index 3f6ca2b..a58b8b09 100644 --- a/chrome/android/trichrome.gni +++ b/chrome/android/trichrome.gni
@@ -71,7 +71,9 @@ r_java_root_package_name = "trichrome_lib" app_as_shared_lib = true } - use_chromium_linker = false + use_chromium_linker = chromium_linker_supported + use_modern_linker = use_chromium_linker + uncompress_shared_libraries = true uncompress_dex = use_uncompressed_dex version_name = chrome_version_name
diff --git a/chrome/app/chromeos_strings.grdp b/chrome/app/chromeos_strings.grdp index ef561a7..84a73e1 100644 --- a/chrome/app/chromeos_strings.grdp +++ b/chrome/app/chromeos_strings.grdp
@@ -1235,6 +1235,12 @@ <message name="IDS_SIGNIN_ERROR_SECONDARY_ACCOUNT_MIGRATION_BUBBLE_VIEW_MESSAGE" desc="Message in the sign-in error bubble view for Chrome OS Secondary Accounts that have not been migrated to Chrome OS Account Manager."> Account update required </message> + <message name="IDS_CHALLENGE_RESPONSE_AUTH_MULTIPLE_CLIENT_CERTS_ERROR" desc="Error message shown when multiple client certificates were used during the challenge-response based authentication."> + Multiple client certificates are not supported + </message> + <message name="IDS_CHALLENGE_RESPONSE_AUTH_INVALID_CLIENT_CERT_ERROR" desc="Error message shown when client certificate attributes extraction failed during the challenge-response based authentication."> + Invalid client certificate + </message> <!-- Strings used in <cr-network-list>, used in Settings and OOBE --> <message name="IDS_NETWORK_LIST_INITIALIZING" desc="Text in the network list element when a Cellular network is initiailizing.">
diff --git a/chrome/app/chromium_strings.grd b/chrome/app/chromium_strings.grd index 34d2a62b..47318c3 100644 --- a/chrome/app/chromium_strings.grd +++ b/chrome/app/chromium_strings.grd
@@ -321,7 +321,7 @@ Chromium can help you remember your passwords so you don't have to. </message> <message name="IDS_PASSWORD_MANAGER_ONBOARDING_DETAILS_B" desc="The explanation text that is shown below the title in the password manager onboarding dialog."> - Save your passwords to Chromium to access them on all your devices. + Save your passwords to Chromium to access them on all your devices. </message> <message name="IDS_PASSWORD_MANAGER_ONBOARDING_DETAILS_C" desc="The explanation text that is shown below the title in the password manager onboarding dialog."> Chromium can help you remember your passwords so you don't have to. @@ -1055,7 +1055,7 @@ other {Chromium will restart in # seconds}} </message> <message name="IDS_CRITICAL_NOTIFICATION_TITLE_ALTERNATE" desc="The title for a bubble that appears when there is a critical update and Chromium must restart to install it. The title was previously countng down to an automatic restart and now it has finished. Will only be seen if a web page stops the shutdown process."> - You should restart Chromium now + Please restart Chromium now </message> <message name="IDS_CRITICAL_NOTIFICATION_TEXT" desc="Explanation text for the bubble that appears when there is a critical update and Chromium must restart to install it."> A special security update for Chromium was just applied. Restart now and we'll restore your tabs.
diff --git a/chrome/app/google_chrome_strings.grd b/chrome/app/google_chrome_strings.grd index ac42b27..44ce38e 100644 --- a/chrome/app/google_chrome_strings.grd +++ b/chrome/app/google_chrome_strings.grd
@@ -1074,7 +1074,7 @@ other {Google Chrome will restart in # seconds}} </message> <message name="IDS_CRITICAL_NOTIFICATION_TITLE_ALTERNATE" desc="The title for a bubble that appears when there is a critical update and Chrome must restart to install it. The title was previously countng down to an automatic restart and now it has finished. Will only be seen if a web page stops the shutdown process."> - You should restart Google Chrome now + Please restart Chrome now </message> <message name="IDS_CRITICAL_NOTIFICATION_TEXT" desc="Explanation text for the bubble that appears when there is a critical update and Chrome must restart to install it."> A special security update for Google Chrome was just applied. Restart now and we'll restore your tabs.
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn index 1209dbc..e0d99c9 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -1075,6 +1075,8 @@ "performance_manager/chrome_browser_main_extra_parts_performance_manager.h", "performance_manager/chrome_content_browser_client_performance_manager_part.cc", "performance_manager/chrome_content_browser_client_performance_manager_part.h", + "performance_manager/decorators/freeze_origin_trial_policy_aggregator.cc", + "performance_manager/decorators/freeze_origin_trial_policy_aggregator.h", "performance_manager/decorators/frozen_frame_aggregator.cc", "performance_manager/decorators/frozen_frame_aggregator.h", "performance_manager/decorators/page_almost_idle_decorator.cc",
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc index 95078a0..e8cbe5d 100644 --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -2648,9 +2648,6 @@ flag_descriptions::kCrostiniUsbAllowUnsupportedName, flag_descriptions::kCrostiniUsbAllowUnsupportedDescription, kOsCrOS, FEATURE_VALUE_TYPE(chromeos::features::kCrostiniUsbAllowUnsupported)}, - {"crostini-usb-support", flag_descriptions::kCrostiniUsbSupportName, - flag_descriptions::kCrostiniUsbSupportDescription, kOsCrOS, - FEATURE_VALUE_TYPE(chromeos::features::kCrostiniUsbSupport)}, {"file-manager-feedback-panel", flag_descriptions::kFileManagerFeedbackPanelName, flag_descriptions::kFileManagerFeedbackPanelDescription, kOsCrOS, @@ -3882,6 +3879,11 @@ flag_descriptions::kAshEnableOverviewRoundedCornersName, flag_descriptions::kAshEnableOverviewRoundedCornersDescription, kOsCrOS, FEATURE_VALUE_TYPE(ash::features::kEnableOverviewRoundedCorners)}, + + {"use-fake-device-for-media-stream", + flag_descriptions::kUseFakeDeviceForMediaStreamName, + flag_descriptions::kUseFakeDeviceForMediaStreamDescription, kOsCrOS, + FEATURE_VALUE_TYPE(media::kUseFakeDeviceForMediaStream)}, #endif // defined(OS_CHROMEOS) #if defined(OS_WIN)
diff --git a/chrome/browser/about_flags_browsertest.cc b/chrome/browser/about_flags_browsertest.cc index cc00a28..46fc2c13 100644 --- a/chrome/browser/about_flags_browsertest.cc +++ b/chrome/browser/about_flags_browsertest.cc
@@ -222,7 +222,13 @@ GetOriginListText(contents, kSwitchName)); } -IN_PROC_BROWSER_TEST_P(AboutFlagsBrowserTest, OriginFlagEnabled) { +#if defined(OS_CHROMEOS) && !defined(NDEBUG) +// TODO(https://crbug.com/1000714): Re-enable this test. +#define MAYBE_OriginFlagEnabled DISABLED_OriginFlagEnabled +#else +#define MAYBE_OriginFlagEnabled OriginFlagEnabled +#endif +IN_PROC_BROWSER_TEST_P(AboutFlagsBrowserTest, MAYBE_OriginFlagEnabled) { #if !defined(OS_CHROMEOS) // On non-ChromeOS, the command line is modified after restart. EXPECT_EQ(
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc index 5da7c8e8..27b7f452 100644 --- a/chrome/browser/android/chrome_feature_list.cc +++ b/chrome/browser/android/chrome_feature_list.cc
@@ -75,6 +75,7 @@ &features::kPermissionDelegation, &features::kPredictivePrefetchingAllowedOnAllConnectionTypes, &features::kPrioritizeBootstrapTasks, + &features::kQuietNotificationPrompts, &features::kServiceWorkerPaymentApps, &features::kShowTrustedPublisherURL, &features::kUserActivationV2,
diff --git a/chrome/browser/android/download/download_manager_service.cc b/chrome/browser/android/download/download_manager_service.cc index fea54a9..89a0b87 100644 --- a/chrome/browser/android/download/download_manager_service.cc +++ b/chrome/browser/android/download/download_manager_service.cc
@@ -36,7 +36,6 @@ #include "components/download/public/common/download_item.h" #include "components/download/public/common/download_item_impl.h" #include "components/download/public/common/download_stats.h" -#include "components/download/public/common/download_url_loader_factory_getter_impl.h" #include "components/download/public/common/simple_download_manager_coordinator.h" #include "components/download/public/common/url_download_handler_factory.h" #include "components/download/public/task/task_manager_impl.h"
diff --git a/chrome/browser/android/vr/arcore_device/arcore_device.cc b/chrome/browser/android/vr/arcore_device/arcore_device.cc index 7761e706..c359ed7 100644 --- a/chrome/browser/android/vr/arcore_device/arcore_device.cc +++ b/chrome/browser/android/vr/arcore_device/arcore_device.cc
@@ -59,7 +59,6 @@ left_eye->field_of_view->right_degrees = horizontal_degrees; left_eye->field_of_view->up_degrees = vertical_degrees; left_eye->field_of_view->down_degrees = vertical_degrees; - left_eye->offset = {0.0f, 0.0f, 0.0f}; left_eye->render_width = width; left_eye->render_height = height; return device;
diff --git a/chrome/browser/apps/app_shim/app_shim_host_mac.cc b/chrome/browser/apps/app_shim/app_shim_host_mac.cc index 9ed6d8ee..d798200 100644 --- a/chrome/browser/apps/app_shim/app_shim_host_mac.cc +++ b/chrome/browser/apps/app_shim/app_shim_host_mac.cc
@@ -11,6 +11,7 @@ #include "base/logging.h" #include "chrome/browser/apps/app_shim/app_shim_host_bootstrap_mac.h" #include "chrome/browser/apps/app_shim/app_shim_host_mac.h" +#include "chrome/common/chrome_features.h" #include "components/remote_cocoa/browser/application_host.h" #include "components/remote_cocoa/common/application.mojom.h" #include "content/public/browser/browser_thread.h" @@ -31,7 +32,8 @@ launch_weak_factory_(this) { // Create the interfaces used to host windows, so that browser windows may be // created before the host process finishes launching. - if (uses_remote_views_) { + if (uses_remote_views_ && + base::FeatureList::IsEnabled(features::kAppShimRemoteCocoa)) { // Create the interface that will be used by views::NativeWidgetMac to // create NSWindows hosted in the app shim process. remote_cocoa::mojom::ApplicationAssociatedRequest views_application_request;
diff --git a/chrome/browser/apps/app_shim/extension_app_shim_handler_mac.cc b/chrome/browser/apps/app_shim/extension_app_shim_handler_mac.cc index c43f1058..4b95780 100644 --- a/chrome/browser/apps/app_shim/extension_app_shim_handler_mac.cc +++ b/chrome/browser/apps/app_shim/extension_app_shim_handler_mac.cc
@@ -41,7 +41,6 @@ #include "chrome/browser/web_applications/components/web_app_helpers.h" #include "chrome/browser/web_applications/components/web_app_shortcut_mac.h" #include "chrome/browser/web_applications/extensions/web_app_extension_shortcut.h" -#include "chrome/common/chrome_features.h" #include "chrome/common/extensions/extension_constants.h" #include "chrome/common/extensions/extension_metrics.h" #include "chrome/common/extensions/manifest_handlers/app_launch_info.h" @@ -59,7 +58,6 @@ #include "extensions/browser/extension_registry.h" #include "extensions/common/constants.h" #include "ui/base/cocoa/focus_window_set.h" -#include "ui/base/ui_base_features.h" using extensions::AppWindow; using extensions::AppWindowRegistry; @@ -411,8 +409,6 @@ } AppShimHost* ExtensionAppShimHandler::GetHostForBrowser(Browser* browser) { - if (!features::HostWindowsInAppShimProcess()) - return nullptr; Profile* profile = Profile::FromBrowserContext(browser->profile()); const Extension* extension = apps::ExtensionAppShimHandler::MaybeGetAppForBrowser(browser);
diff --git a/chrome/browser/apps/guest_view/web_view_browsertest.cc b/chrome/browser/apps/guest_view/web_view_browsertest.cc index 2c89f92..945f1bb 100644 --- a/chrome/browser/apps/guest_view/web_view_browsertest.cc +++ b/chrome/browser/apps/guest_view/web_view_browsertest.cc
@@ -2950,14 +2950,14 @@ content::EnsureCookiesFlushed(profile()); } -// TODO(crbug.com/994789): Flaky on MSan. -#if defined(MEMORY_SANITIZER) +// TODO(crbug.com/994789): Flaky on ChromeOS. Fix and re-enable the test. +#if defined(OS_CHROMEOS) #define MAYBE_DownloadCookieIsolation_CrossSession \ DISABLED_DownloadCookieIsolation_CrossSession #else #define MAYBE_DownloadCookieIsolation_CrossSession \ DownloadCookieIsolation_CrossSession -#endif // !defined(MEMORY_SANITIZER) +#endif // !defined(OS_CHROMEOS) IN_PROC_BROWSER_TEST_F(WebViewTest, MAYBE_DownloadCookieIsolation_CrossSession) {
diff --git a/chrome/browser/autofill/automated_tests/cache_replayer.cc b/chrome/browser/autofill/automated_tests/cache_replayer.cc index ba42c0c..9364d21 100644 --- a/chrome/browser/autofill/automated_tests/cache_replayer.cc +++ b/chrome/browser/autofill/automated_tests/cache_replayer.cc
@@ -570,9 +570,10 @@ VLOG(1) << "Intercepted in-flight request to Autofill Server: " << resource_request.url.spec(); - // TODO(crbug/958158): Extract URL content for GET Query requests. - // Look if the body has data. - if (resource_request.request_body == nullptr) { + bool is_post_request = + GetRequestTypeFromURL(request_url) == RequestType::kLegacyQueryProtoPOST; + // Look if the body has data if it is a POST request. + if (is_post_request && resource_request.request_body == nullptr) { constexpr char kNoBodyHTTPErrorHeaders[] = "HTTP/2.0 400 Bad Request"; constexpr char kNoBodyHTTPErrorBody[] = "there is no body data in the request"; @@ -584,7 +585,7 @@ } StatusOr<AutofillQueryContents> query_request_statusor = - GetRequestTypeFromURL(request_url) == RequestType::kLegacyQueryProtoPOST + is_post_request ? GetAutofillQueryContentsFromPOSTQuery(resource_request) : GetAutofillQueryContentsFromGETQueryURL(resource_request.url); // Using CHECK is fine here since ServerCacheReplayer will only be used for
diff --git a/chrome/browser/browser_switcher/bho/BUILD.gn b/chrome/browser/browser_switcher/bho/BUILD.gn index f81f61e..05568ae 100644 --- a/chrome/browser/browser_switcher/bho/BUILD.gn +++ b/chrome/browser/browser_switcher/bho/BUILD.gn
@@ -4,10 +4,17 @@ import("//build/config/compiler/compiler.gni") import("//build/toolchain/win/midl.gni") +import("//testing/test.gni") assert(is_win) assert(target_cpu == "x86" || target_cpu == "x64") +declare_args() { + # If true, compile a BHO that doesn't depend on the CRT to significantly + # minimize binary size. + use_mini_bho = false +} + shared_library("browser_switcher_bho") { if (current_cpu == "x64") { # Name the 32-bit and 64-bit output differently, since they'll be copied to @@ -25,30 +32,61 @@ "_WINDLL", ] - # TODO(nicolaso): Reduce binary size as much as possible. - # - # TODO(nicolaso): Use ie_bho.def and ie_bho.rc. - # + if (use_mini_bho) { + configs += [ "//build/config/win:sdk_link" ] + + no_default_deps = true + + libs = [ + # For buffer overflow checks with the /GS flag. + "bufferoverflowU.lib", + ] + ldflags = [ + "/NODEFAULTLIB", + "/ENTRY:DllMain", + ] + } + # TODO(nicolaso): avoid code duplication, by using BrowserSwitcherSitelist and # AlternativeBrowserDriver classes from chrome/browser_switcher/. - sources = [ - "//base/win/atl.h", - "bho.cc", - "bho.h", - "browser_switcher_core.cc", - "browser_switcher_core.h", - "ie_bho.cc", - "ie_bho.def", - "ie_bho.h", - "logging.cc", - "logging.h", - "resource.h", - ] + if (use_mini_bho) { + sources = [ + "mini_bho.cc", + "mini_bho.def", + "mini_bho_util.cc", + "mini_bho_util.h", + ] + } else { + sources = [ + "//base/win/atl.h", + "bho.cc", + "bho.h", + "browser_switcher_core.cc", + "browser_switcher_core.h", + "ie_bho.cc", + "ie_bho.def", + "logging.cc", + "logging.h", + "resource.h", + ] + } deps = [ ":ie_bho_idl", ] } +test("browser_switcher_bho_unittests") { + sources = [ + "mini_bho_util.cc", + "mini_bho_util.h", + "mini_bho_util_unittest.cc", + ] + deps = [ + "//base", + "//testing/gtest", + ] +} + if (is_clang) { browser_switcher_x64_toolchain = "//build/toolchain/win:win_clang_x64" browser_switcher_x86_toolchain = "//build/toolchain/win:win_clang_x86"
diff --git a/chrome/browser/browser_switcher/bho/mini_bho.cc b/chrome/browser/browser_switcher/bho/mini_bho.cc new file mode 100644 index 0000000..54a6d31 --- /dev/null +++ b/chrome/browser/browser_switcher/bho/mini_bho.cc
@@ -0,0 +1,806 @@ +// 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 <windows.h> + +#include <combaseapi.h> +#include <exdisp.h> +#include <exdispid.h> +#include <guiddef.h> +#include <objbase.h> +#include <oleauto.h> +#include <processthreadsapi.h> +#include <shellapi.h> +#include <shlobj.h> +#include <shlwapi.h> +#include <strsafe.h> +#include <wininet.h> + +#include "chrome/browser/browser_switcher/bho/ie_bho_idl.h" +#include "chrome/browser/browser_switcher/bho/mini_bho_util.h" + +// memset() and memcmp() needed for debug builds. +void* memset(void* ptr, int value, size_t num) { + // Naive, but only used in debug builds. + char* bytes = (char*)ptr; + for (size_t i = 0; i < num; i++) + bytes[i] = value; + return ptr; +} + +int memcmp(const void* p1, const void* p2, size_t num) { + // Naive, but only used in debug builds. + char* bytes1 = (char*)p1; + char* bytes2 = (char*)p2; + for (size_t i = 0; i < num; i++) { + if (bytes1[i] != bytes2[i]) + return bytes1[i] - bytes2[i]; + } + return 0; +} + +void* operator new(size_t num) { + return ::HeapAlloc(::GetProcessHeap(), 0, num); +} + +void* operator new[](size_t num) { + return operator new(num); +} + +void operator delete(void* ptr) { + ::HeapFree(::GetProcessHeap(), 0, ptr); +} + +void operator delete[](void* ptr) { + return operator delete(ptr); +} + +const wchar_t kHttpPrefix[] = L"http://"; +const wchar_t kHttpsPrefix[] = L"https://"; +const wchar_t kFilePrefix[] = L"file://"; + +const wchar_t kChromeKey[] = + L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\chrome.exe"; + +// TODO(crbug/950039): Add other varnames (${firefox}, ${opera}, ...) +const wchar_t kChromeVarName[] = L"${chrome}"; +const wchar_t kUrlVarName[] = L"${url}"; + +const char kWildcardUrl[] = "*"; + +const int kMinSupportedFileVersion = 1; +const int kCurrentFileVersion = 1; + +// Puts "AppData\Local\Google\BrowserSwitcher" in |out|. Returns false on +// failure. +// +// Make sure |out| is at least |MAX_PATH| long. +bool GetConfigPath(wchar_t* out) { + if (!::SHGetSpecialFolderPath(0, out, CSIDL_LOCAL_APPDATA, false)) { + util::puts("Error locating %LOCAL_APPDATA%!"); + return false; + } + return S_OK == ::StringCchCatW(out, MAX_PATH, L"\\Google\\BrowserSwitcher"); +} + +// Puts "<config_path>\cache.dat" in |out|. Returns false on failure. +// +// Make sure |out| is at least |MAX_PATH| long. +bool GetConfigFileLocation(wchar_t* out) { + if (!GetConfigPath(out)) + return false; + return S_OK == ::StringCchCatW(out, MAX_PATH, L"\\cache.dat"); +} + +// Puts "<config_path>\sitelistcache.dat" in |out|. Returns false on failure. +// +// Make sure |out| is at least |MAX_PATH| long. +bool GetIESitelistCacheLocation(wchar_t* out) { + if (!GetConfigPath(out)) + return false; + return S_OK == ::StringCchCatW(out, MAX_PATH, L"\\sitelistcache.dat"); +} + +// Reads the contents of the text file and returns them as a null-terminated +// string. +// +// Returns an empty string (with capacity=1 and str[0]='\0') if the file is +// empty or doesn't exist. +util::string ReadFileToString(const wchar_t* path) { + HANDLE file = ::CreateFile(path, GENERIC_READ, FILE_SHARE_READ, nullptr, + OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr); + size_t file_size = 0; + if (file != INVALID_HANDLE_VALUE) + file_size = GetFileSize(file, nullptr); + util::string contents(file_size + 1); + contents[file_size] = '\0'; + if (file_size != 0) + ::ReadFile(file, contents.data(), file_size, nullptr, nullptr); + return contents; +} + +// Checks if the omitted prefix for a non-fully specified prefix rule is one of +// the expected parts that are allowed to be omitted. +bool IsValidPrefix(const char* prefix, size_t prefix_len) { + static const char* kValidPrefixes[] = { + "https://", "https:", "http://", "http:", "file://", "file:", + }; + for (const char* candidate : kValidPrefixes) { + if (!::StrCmpNA(prefix, candidate, prefix_len)) + return true; + } + return false; +} + +bool StringContainsInsensitiveASCII(const char* str, const char* target) { + size_t len = ::lstrlenA(target); + while (*str) { + if (!::StrCmpNA(str, target, len)) + return true; + str++; + } + return false; +} + +bool UrlMatchesPattern(const char* url, + const char* hostname, + const char* pattern) { + if (!::StrCmpA(pattern, kWildcardUrl)) { + // Wildcard, always match. + return true; + } + if (::StrChrA(pattern, '/') != nullptr) { + // Check prefix using the normalized URL. Case sensitive, but with + // case-insensitive scheme/hostname. + const char* pos = ::StrStrA(url, pattern); + if (pos == nullptr) + return false; + return IsValidPrefix(url, (pos - url)); + } + // Compare hosts, case-insensitive. + return StringContainsInsensitiveASCII(hostname, pattern); +} + +bool IsInverted(const char* rule) { + return *rule == '!'; +} + +util::wstring ReadRegValue(HKEY key, const wchar_t* name) { + DWORD length = 0; + if (ERROR_SUCCESS != + ::RegQueryValueEx(key, name, nullptr, nullptr, nullptr, &length)) { + util::printf(ERR, "Could not get the size of the value! %d\n", + ::GetLastError()); + return util::empty_wstring(); + } + util::wstring value(length); + if (ERROR_SUCCESS != ::RegQueryValueEx(key, name, nullptr, nullptr, + reinterpret_cast<LPBYTE>(value.data()), + &length)) { + util::printf(ERR, "Could not get the value! %d\n", ::GetLastError()); + return util::empty_wstring(); + } + return value; +} + +util::wstring GetChromeLocation() { + HKEY key; + if (ERROR_SUCCESS != ::RegOpenKey(HKEY_LOCAL_MACHINE, kChromeKey, &key) && + ERROR_SUCCESS != ::RegOpenKey(HKEY_CURRENT_USER, kChromeKey, &key)) { + util::printf(ERR, "Could not open registry key %S! Error Code: %d\n", + kChromeKey, ::GetLastError()); + return util::empty_wstring(); + } + return ReadRegValue(key, nullptr); +} + +util::wstring SanitizeUrl(const wchar_t* url) { + // In almost every case should this be enough for the sanitization because + // any ASCII char will expand to at most 3 chars - %[0-9A-F][0-9A-F]. + const wchar_t untranslated_chars[] = L".:/\\_-@~();"; + util::wstring sanitized_url(::lstrlenW(url) * 3 + 1); + + const wchar_t* it = url; + wchar_t* output = sanitized_url.data(); + while (*it) { + if (::IsCharAlphaNumeric(*it) || + ::StrChrW(untranslated_chars, *it) != nullptr) { + *output++ = *it; + } else { + // Will only work for ASCII chars but hey it's at least something. + // Any unicode char will be truncated to its first 8 bits and encoded. + *output++ = '%'; + int nibble = (*it & 0xf0) >> 4; + *output++ = nibble > 9 ? nibble - 10 + 'A' : nibble + '0'; + nibble = *it & 0xf; + *output++ = nibble > 9 ? nibble - 10 + 'A' : nibble + '0'; + } + it++; + } + *output = '\0'; + return sanitized_url; +} + +util::wstring ExpandEnvironmentVariables(const wchar_t* str) { + util::wstring output; + DWORD expanded_size = 0; + expanded_size = ::ExpandEnvironmentStrings(str, nullptr, expanded_size); + if (expanded_size != 0) { + // The expected buffer length as defined in MSDN is chars + null + 1. + output = util::wstring(util::max(expanded_size, ::lstrlenW(str)) + 2); + expanded_size = + ::ExpandEnvironmentStrings(str, output.data(), expanded_size); + } + return output; +} + +util::wstring CanonicalizeUrl(const wchar_t* url) { + // In almost every case should this be enough for the sanitization because + // any ASCII char will expand to at most 3 chars - %[0-9A-F][0-9A-F]. + DWORD capacity = static_cast<DWORD>(::lstrlenW(url) * 3 + 1); + util::wstring sanitized_url(capacity); + if (!::InternetCanonicalizeUrl(url, sanitized_url.data(), &capacity, 0)) { + DWORD error = ::GetLastError(); + if (error == ERROR_INSUFFICIENT_BUFFER) { + // If we get this error it means that the buffer is too small to hold + // the canoncial url. In that case resize the buffer to what the + // requested size is (returned in |capacity|) and try again. + sanitized_url = util::wstring(capacity); + if (!::InternetCanonicalizeUrl(url, sanitized_url.data(), &capacity, 0)) + sanitized_url = util::empty_wstring(); + } + } + // If the API failed, do some poor man's sanitizing at least. + if (sanitized_url[0] == '\0') { + util::printf(WARNING, "::InternetCanonicalizeUrl failed : %d\n", + ::GetLastError()); + sanitized_url = SanitizeUrl(url); + } + return sanitized_url; +} + +util::wstring CompileCommandLine(const wchar_t* raw_command_line, + const wchar_t* url) { + util::wstring sanitized_url = CanonicalizeUrl(url); + + // +2 for the extra space we might insert, plus the terminating null char. + const size_t max_possible_size = + ::lstrlenW(sanitized_url.data()) + ::lstrlenW(raw_command_line) + 2; + util::wstring command_line(max_possible_size); + ::StringCchCopyW(command_line.data(), max_possible_size, raw_command_line); + + bool had_url_placeholder = util::wcs_replace_s( + command_line.data(), max_possible_size, kUrlVarName, url); + if (!had_url_placeholder) { + if (*raw_command_line == '\0') { + ::StringCchCatW(command_line.data(), max_possible_size, + sanitized_url.data()); + } else { + ::StringCchCatW(command_line.data(), max_possible_size, L" "); + ::StringCchCatW(command_line.data(), max_possible_size, + sanitized_url.data()); + } + } + return ExpandEnvironmentVariables(command_line.data()); +} + +util::wstring ExpandChromePath(const char* orig) { + util::wstring path = util::utf8_to_utf16(orig); + if (path[0] == '\0' || !::StrCmpW(path.data(), kChromeVarName)) + path = GetChromeLocation(); + path = ExpandEnvironmentVariables(path.data()); + return path; +} + +enum TransitionDecision { + NONE, + CHROME, + ALT_BROWSER, +}; + +class BrowserSwitcherCore { + public: + // Initializes configuration by parsing the file contents. + explicit BrowserSwitcherCore(util::string&& cache_file_contents, + util::string&& sitelistcache_file_contents) { + cache_file_contents_ = std::move(cache_file_contents); + sitelistcache_file_contents_ = std::move(sitelistcache_file_contents); + + ParseCacheFile(); + ParseSitelistCacheFile(); + + util::printf(DEBUG, "configuration_valid = %s\n", + (configuration_valid_ ? "true" : "false")); + } + + bool ShouldOpenInChrome(const wchar_t* url) { + return (GetDecision(url) == CHROME); + } + + bool InvokeChrome(const wchar_t* url) { + util::wstring path = ExpandChromePath(chrome_path_); + util::wstring command_line = util::utf8_to_utf16(chrome_parameters_); + command_line = CompileCommandLine(command_line.data(), url); + HINSTANCE browser_instance = + ::ShellExecute(nullptr, nullptr, path.data(), command_line.data(), + nullptr, SW_SHOWNORMAL); + if (reinterpret_cast<int>(browser_instance) <= 32) { + util::printf(ERR, "Could not start Chrome! Handle: %d %d\n", + reinterpret_cast<int>(browser_instance), ::GetLastError()); + return false; + } + return true; + } + + private: + // Initiates the parsing of |str| and returns the first line of the file, as a + // null-terminated string (without LF/CRLF). + // + // If there is no such line, returns nullptr and flips |configuration_valid_| + // to false. + char* GetFirstLine(char* str) { + char* line = util::strtok(str, "\n"); + if (!line) + configuration_valid_ = false; + size_t len = ::lstrlenA(line); + // Remove '\r' if it was '\r\n'. + if (line[len - 1] == '\r') + line[len - 1] = '\0'; + return line; + } + + // Like GetNextLine(char*), but gets the next line instead of the first one. + char* GetNextLine() { return GetNextLine(nullptr); } + + // Read a line that contains a number, and then read that number of lines into + // a vector (one element for each line). + util::vector<const char*> ReadList() { + char* line = GetNextLine(); + if (!line) + return util::vector<const char*>(); + int list_size; + bool success = ::StrToIntExA(line, 0, &list_size); + if (!success) { + configuration_valid_ = false; + return util::vector<const char*>(); + } + util::printf(INFO, "list size : '%d'\n", list_size); + util::vector<const char*> list = util::vector<const char*>(list_size); + for (int i = 0; i < list_size; i++) { + list[i] = GetNextLine(); + util::printf(INFO, "url : '%s'\n", list[i]); + } + return list; + } + + // Parses cache.dat. Sets |configuration_valid_| to false if it fails. + void ParseCacheFile() { + util::puts(INFO, "Loading cache.dat"); + char* line = GetFirstLine(cache_file_contents_.data()); + if (!line) + return; + int version; + bool success = ::StrToIntExA(line, 0, &version); + if (!success || version < kMinSupportedFileVersion || + version > kCurrentFileVersion) { + configuration_valid_ = false; + return; + } + + GetNextLine(); // Skip IE path. + GetNextLine(); // Skip IE parameters. + + chrome_path_ = GetNextLine(); + util::printf(INFO, "chrome_path : '%s'\n", chrome_path_); + chrome_parameters_ = GetNextLine(); + util::printf(INFO, "chrome_parameters : '%s'\n", chrome_parameters_); + util::puts(INFO, "Reading url list..."); + cache_.sitelist = ReadList(); + util::puts(INFO, "Reading grey list..."); + cache_.greylist = ReadList(); + } + + // Parses |sitelistcache.dat|. Sets |configuration_valid_| to false if it + // fails. + void ParseSitelistCacheFile() { + util::puts(INFO, "Loading sitelistcache.dat"); + // Special case: don't set |configuration_valid_| to false if the file is + // straight-up empty or doesn't exist. + if (sitelistcache_file_contents_[0] == '\0') + return; + + char* line = GetFirstLine(sitelistcache_file_contents_.data()); + if (!line) + return; + int version; + bool success = StrToIntExA(line, 0, &version); + if (!success || version < kMinSupportedFileVersion || + version > kCurrentFileVersion) { + configuration_valid_ = false; + return; + } + sitelistcache_.sitelist = ReadList(); + sitelistcache_.greylist = util::vector<const char*>(); + } + + TransitionDecision GetDecision(const wchar_t* url) { + // Switch to Chrome by default. + TransitionDecision decision = CHROME; + + // Since we cannot decide in this case we should assume it is ok to use + // Chrome. + // + // XXX: this might be incorrect, and cause redirect loops... + if (!configuration_valid_) + return ALT_BROWSER; + + // Only verify the url if is http[s] or file link. + if (::StrCmpNW(url, kHttpPrefix, ::lstrlenW(kHttpPrefix)) && + ::StrCmpNW(url, kHttpsPrefix, ::lstrlenW(kHttpsPrefix)) && + ::StrCmpNW(url, kFilePrefix, ::lstrlenW(kFilePrefix))) { + return NONE; + } + + util::string utf8_url = util::utf16_to_utf8(url); + util::string hostname(utf8_url.capacity()); + ::StringCchCopyA(hostname.data(), hostname.capacity(), utf8_url.data()); + + URL_COMPONENTS parsed_url = {0}; + parsed_url.dwStructSize = sizeof(parsed_url); + parsed_url.dwHostNameLength = static_cast<DWORD>(-1); + parsed_url.dwSchemeLength = static_cast<DWORD>(-1); + parsed_url.dwUrlPathLength = static_cast<DWORD>(-1); + parsed_url.dwExtraInfoLength = static_cast<DWORD>(-1); + if (::InternetCrackUrl(url, 0, 0, &parsed_url)) { + hostname = util::utf16_to_utf8(parsed_url.lpszHostName); + hostname[parsed_url.dwHostNameLength] = '\0'; + } else { + util::puts(ERR, "URL Parsing failed!"); + } + + const RuleSet* rulesets[] = {&cache_, &sitelistcache_}; + + size_t decision_rule_length = 0; + for (const auto* ruleset : rulesets) { + for (const char* pattern : ruleset->sitelist) { + size_t pattern_length = ::lstrlenA(pattern); + if (pattern_length <= decision_rule_length) + continue; + bool inverted = IsInverted(pattern); + // Skip "!" in the pattern. + if (inverted) + pattern++; + if (UrlMatchesPattern(utf8_url.data(), hostname.data(), pattern)) { + decision = (inverted ? CHROME : ALT_BROWSER); + decision_rule_length = pattern_length; + } + } + } + + // If the sitelist matches, no need to check the greylist. + if (decision == ALT_BROWSER) + return decision; + + for (const auto* ruleset : rulesets) { + for (const char* pattern : ruleset->greylist) { + size_t pattern_length = ::lstrlenA(pattern); + if (pattern_length <= decision_rule_length) + continue; + if (UrlMatchesPattern(utf8_url.data(), hostname.data(), pattern)) { + decision = NONE; + decision_rule_length = pattern_length; + } + } + } + + return decision; + } + + // Buffers containing the contents of the config files. Other fields are + // pointers inside these strings, so keep them in memory. + util::string cache_file_contents_; + util::string sitelistcache_file_contents_; + + const char* chrome_path_; + const char* chrome_parameters_; + + // Each rule is a pointer to a null-terminated string inside + // |[sitelist_]cache_file_contents_|. + struct RuleSet { + util::vector<const char*> sitelist; + util::vector<const char*> greylist; + }; + + RuleSet cache_; + RuleSet sitelistcache_; + + // Tracks the validity of the cached configuration. Gets flipped to false if + // parsing fails during construction. + bool configuration_valid_ = true; +}; + +class CBrowserSwitcherBHO final : public IBrowserSwitcherBHO, + public IObjectWithSite { + public: + explicit CBrowserSwitcherBHO(BrowserSwitcherCore* core) : core_(core) { + util::puts(DEBUG, "CBrowserSwitcherBHO()"); + } + ~CBrowserSwitcherBHO() { + // Useful for finding leaks. + util::puts(DEBUG, "~CBrowserSwitcherBHO()"); + } + + ////////////////////////////// + // IDispatch: + ////////////////////////////// + HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT* pctinfo) override { + // TypeInfo is for chumps. + *pctinfo = 0; + return S_OK; + } + + HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, + LCID lcid, + ITypeInfo** ppTInfo) override { + if (iTInfo != 0) + return DISP_E_BADINDEX; + *ppTInfo = nullptr; + return S_OK; + } + + HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, + LPOLESTR* rgszNames, + UINT cNames, + LCID lcid, + DISPID* rgDispId) override { + return E_NOTIMPL; + } + + HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS* pDispParams, + VARIANT* pVarResult, + EXCEPINFO* pExcepInfo, + UINT* puArgErr) override { + if (dispIdMember != DISPID_BEFORENAVIGATE2) + return S_OK; + BeforeNavigate( + pDispParams->rgvarg[6].pdispVal, pDispParams->rgvarg[5].pvarVal, + pDispParams->rgvarg[4].pvarVal, pDispParams->rgvarg[3].pvarVal, + pDispParams->rgvarg[2].pvarVal, pDispParams->rgvarg[1].pvarVal, + pDispParams->rgvarg[0].pboolVal); + return S_OK; + } + + ////////////////////////////// + // IObjectWithSite: + ////////////////////////////// + STDMETHODIMP(SetSite(IUnknown* site)) override { + HRESULT hr = S_OK; + if (site != nullptr) { + hr = site->QueryInterface(IID_IWebBrowser2, + reinterpret_cast<void**>(&web_browser_)); + if (SUCCEEDED(hr)) + hr = Advise(); + } else { + Unadvise(); + web_browser_->Release(); + } + if (site_ != nullptr) + site_->Release(); + site_ = site; + if (site_ != nullptr) + site_->AddRef(); + return hr; + } + + STDMETHODIMP(GetSite(REFIID riid, void** ppvSite)) override { + if (site_ == nullptr) { + *ppvSite = nullptr; + return E_FAIL; + } + return site_->QueryInterface(riid, ppvSite); + } + + ////////////////////////////// + // IUnknown: + ////////////////////////////// + STDMETHODIMP(QueryInterface)(REFIID riid, LPVOID* ppv) override { + if (ppv == nullptr) + return E_POINTER; + if (IsEqualIID(riid, IID_IUnknown) || + IsEqualIID(riid, IID_IBrowserSwitcherBHO)) { + *ppv = this; + AddRef(); + return S_OK; + } + if (IsEqualIID(riid, IID_IDispatch)) { + *ppv = static_cast<IDispatch*>(this); + AddRef(); + return S_OK; + } + if (IsEqualIID(riid, IID_IObjectWithSite)) { + *ppv = static_cast<IObjectWithSite*>(this); + AddRef(); + return S_OK; + } + *ppv = nullptr; + return E_NOINTERFACE; + } + + ULONG STDMETHODCALLTYPE AddRef() override { return ++refcount_; } + + ULONG STDMETHODCALLTYPE Release() override { + refcount_--; + if (refcount_ <= 0) + delete this; + return refcount_; + } + + private: + void STDMETHODCALLTYPE BeforeNavigate(IDispatch* disp, + VARIANT* url, + VARIANT* flags, + VARIANT* target_frame_name, + VARIANT* post_data, + VARIANT* headers, + VARIANT_BOOL* cancel) { + if (web_browser_ == nullptr || disp == nullptr) + return; + IUnknown* unknown1 = nullptr; + IUnknown* unknown2 = nullptr; + if (SUCCEEDED(web_browser_->QueryInterface( + IID_IUnknown, reinterpret_cast<void**>(&unknown1))) && + SUCCEEDED(disp->QueryInterface(IID_IUnknown, + reinterpret_cast<void**>(&unknown2)))) { + // Check if this is the outer frame. + if (unknown1 == unknown2) { + bool result = core_->ShouldOpenInChrome(url->bstrVal); + if (result) { + if (!core_->InvokeChrome(url->bstrVal)) { + util::puts(ERR, + "Could not invoke alternative browser! " + "Will resume loading in IE!"); + } else { + *cancel = VARIANT_TRUE; + web_browser_->Quit(); + } + } + } + } + if (unknown1) + unknown1->Release(); + if (unknown2) + unknown2->Release(); + } + + HRESULT GetConnectionPoint(IConnectionPoint** cp) { + IConnectionPointContainer* cp_container; + HRESULT hr = web_browser_->QueryInterface( + IID_IConnectionPointContainer, reinterpret_cast<void**>(&cp_container)); + if (SUCCEEDED(hr)) + hr = cp_container->FindConnectionPoint(DIID_DWebBrowserEvents2, cp); + return hr; + } + + HRESULT Advise() { + IConnectionPoint* cp; + HRESULT hr = GetConnectionPoint(&cp); + if (SUCCEEDED(hr)) + hr = cp->Advise( + static_cast<IUnknown*>(static_cast<IObjectWithSite*>(this)), + &event_cookie_); + advised_ = true; + return hr; + } + + void Unadvise() { + if (!advised_) + return; + IConnectionPoint* cp; + HRESULT hr = GetConnectionPoint(&cp); + if (SUCCEEDED(hr)) + hr = cp->Unadvise(event_cookie_); + advised_ = false; + } + + BrowserSwitcherCore* core_; + + DWORD event_cookie_; + bool advised_ = false; + IWebBrowser2* web_browser_ = nullptr; + IUnknown* site_ = nullptr; + size_t refcount_ = 0; +}; + +BrowserSwitcherCore* g_browser_switcher_core = nullptr; + +class CBrowserSwitcherBHOClass final : public IClassFactory { + public: + static CBrowserSwitcherBHOClass* GetInstance() { return &instance_; } + + ////////////////////////////// + // IClassFactory: + ////////////////////////////// + STDMETHODIMP(CreateInstance) + (IUnknown* pUnkOuter, REFIID riid, LPVOID* ppvObject) override { + if (ppvObject == nullptr) + return E_POINTER; + auto* bho = new CBrowserSwitcherBHO(g_browser_switcher_core); + return bho->QueryInterface(riid, ppvObject); + } + + STDMETHODIMP(LockServer)(BOOL fLock) override { return S_OK; } + + ////////////////////////////// + // IUnknown: + ////////////////////////////// + STDMETHODIMP(QueryInterface)(REFIID riid, LPVOID* ppv) override { + if (ppv == nullptr) + return E_POINTER; + if (IsEqualIID(riid, IID_IUnknown) || IsEqualIID(riid, IID_IClassFactory)) { + *ppv = this; + return S_OK; + } + *ppv = nullptr; + return E_NOINTERFACE; + } + + ULONG STDMETHODCALLTYPE AddRef() override { + // Not actually refcounted, just a singleton. + return 1; + } + + ULONG STDMETHODCALLTYPE Release() override { return 1; } + + private: + CBrowserSwitcherBHOClass() = default; + + static CBrowserSwitcherBHOClass instance_; +}; + +CBrowserSwitcherBHOClass CBrowserSwitcherBHOClass::instance_; + +extern "C" BOOL WINAPI DllMain(HINSTANCE instance, + DWORD reason, + LPVOID reserved) { + switch (reason) { + case DLL_PROCESS_ATTACH: + util::InitLog(); + util::puts(DEBUG, "DLL_PROCESS_ATTACH"); + { + wchar_t config_file[MAX_PATH]; + GetConfigFileLocation(config_file); + wchar_t sitelist_file[MAX_PATH]; + GetIESitelistCacheLocation(sitelist_file); + if (g_browser_switcher_core != nullptr) + delete g_browser_switcher_core; + g_browser_switcher_core = new BrowserSwitcherCore( + ReadFileToString(config_file), ReadFileToString(sitelist_file)); + } + break; + case DLL_PROCESS_DETACH: + util::puts(DEBUG, "DLL_PROCESS_DETACH"); + util::CloseLog(); + delete g_browser_switcher_core; + g_browser_switcher_core = nullptr; + break; + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + default: + break; + } + return true; +} + +STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) { + if (ppv == nullptr) + return E_POINTER; + if (!IsEqualCLSID(rclsid, CLSID_BrowserSwitcherBHO)) + return E_INVALIDARG; + *ppv = nullptr; + return CBrowserSwitcherBHOClass::GetInstance()->QueryInterface(riid, ppv); +}
diff --git a/chrome/browser/browser_switcher/bho/mini_bho.def b/chrome/browser/browser_switcher/bho/mini_bho.def new file mode 100644 index 0000000..a088cbb --- /dev/null +++ b/chrome/browser/browser_switcher/bho/mini_bho.def
@@ -0,0 +1,10 @@ +; 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. + +; Declares the module parameters. + +LIBRARY BROWSER_SWITCHER_BHO.DLL + +EXPORTS + DllGetClassObject PRIVATE
diff --git a/chrome/browser/browser_switcher/bho/mini_bho_util.cc b/chrome/browser/browser_switcher/bho/mini_bho_util.cc new file mode 100644 index 0000000..c2bac8da --- /dev/null +++ b/chrome/browser/browser_switcher/bho/mini_bho_util.cc
@@ -0,0 +1,223 @@ +// 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 "chrome/browser/browser_switcher/bho/mini_bho_util.h" + +#include <shlobj.h> +#include <shlwapi.h> +#include <strsafe.h> +#include <windows.h> + +namespace util { + +const char* kLogPrefixes[] = { + "[*ERROR!*] : ", + "[WARN] : ", + "[info] : ", + "[debug] : ", +}; + +// Points to "AppData\LocalLow\Google\BrowserSwitcher\ie_bho_log2.txt". +HANDLE g_log_file = 0; + +const wchar_t* g_log_file_path_for_testing = nullptr; + +void GetLogFilePath(wchar_t* log_file_path) { + if (g_log_file_path_for_testing != nullptr) { + ::StringCchCopyW(log_file_path, MAX_PATH, g_log_file_path_for_testing); + return; + } + + OSVERSIONINFO info = {0}; + info.dwOSVersionInfoSize = sizeof(info); + GetVersionEx(&info); + if (info.dwMajorVersion >= 6) { + wchar_t* path; + // On modern Windows versions there is a special AppData folder for + // processes with lowered execution rights, however older versions lack + // this folder so be prepared to back off to the usual AppData folder. + if (S_OK != + ::SHGetKnownFolderPath(FOLDERID_LocalAppDataLow, 0, nullptr, &path)) { + if (S_OK != + ::SHGetKnownFolderPath(FOLDERID_LocalAppData, 0, nullptr, &path)) { + return; + } + } + ::StringCchCopyW(log_file_path, MAX_PATH, path); + ::CoTaskMemFree(path); + } else { + // Old windows version only support SHGetSpecialFolderPath. + if (!::SHGetSpecialFolderPath(0, log_file_path, CSIDL_LOCAL_APPDATA, false)) + return; + } + ::StringCchCatW(log_file_path, MAX_PATH, L"\\Google"); + ::CreateDirectory(log_file_path, nullptr); + ::StringCchCatW(log_file_path, MAX_PATH, L"\\BrowserSwitcher"); + ::CreateDirectory(log_file_path, nullptr); + ::StringCchCatW(log_file_path, MAX_PATH, L"\\ie_bho_log2.txt"); +} + +void InitLog() { + wchar_t log_file_path[MAX_PATH] = L""; + GetLogFilePath(log_file_path); + if (*log_file_path == '\0') + return; + g_log_file = + ::CreateFile(log_file_path, GENERIC_WRITE, FILE_SHARE_READ, nullptr, + CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr); +} + +void CloseLog() { + ::CloseHandle(g_log_file); +} + +void SetLogFilePathForTesting(const wchar_t* log_file_path) { + g_log_file_path_for_testing = log_file_path; +} + +void write(const char* s, size_t num) { + if (g_log_file) + ::WriteFile(g_log_file, s, num, nullptr, nullptr); +} + +void vprintf(const char* fmt, va_list arglist) { + // wvsprintfA() is limited to 1024 chars. The rest is truncated. + char buffer[1025]; + wvsprintfA(buffer, fmt, arglist); + write(buffer, ::lstrlenA(buffer)); +} + +void printf(const char* fmt, ...) { + va_list arglist; + va_start(arglist, fmt); + vprintf(fmt, arglist); + va_end(arglist); +} + +void printf(LogLevel lvl, const char* fmt, ...) { + if (kLogLevel < lvl) + return; + printf("%s", kLogPrefixes[lvl]); + va_list arglist; + va_start(arglist, fmt); + vprintf(fmt, arglist); + va_end(arglist); +} + +void puts(const char* s) { + printf("%s\n", s); +} + +void puts(LogLevel lvl, const char* s) { + if (kLogLevel < lvl) + return; + printf("%s", kLogPrefixes[lvl]); + puts(s); +} + +util::string empty_string() { + util::string empty(1); + empty[0] = '\0'; + return empty; +} + +util::wstring empty_wstring() { + util::wstring empty(1); + empty[0] = '\0'; + return empty; +} + +int max(int a, int b) { + return (a < b) ? b : a; +} + +int min(int a, int b) { + return (a < b) ? a : b; +} + +void* memmove(void* dest, const void* src, size_t num) { + if (dest == src) + return dest; + // Copy backwards if src < dest. + int dir = (src < dest) ? -1 : 1; + char* dest_bytes = reinterpret_cast<char*>(dest); + const char* src_bytes = reinterpret_cast<const char*>(src); + if (src < dest) { + dest_bytes += (num - 1); + src_bytes += (num - 1); + } + for (size_t i = 0; i < num; i++) { + *dest_bytes = *src_bytes; + dest_bytes += dir; + src_bytes += dir; + } + return dest; +} + +char* strtok(char* str, const char* delimiters) { + static char* last_str = nullptr; + if (str == nullptr && last_str == nullptr) + return nullptr; + if (str == nullptr) + str = last_str; + size_t i = 0; + for (; ::StrChrA(delimiters, str[i]) == nullptr; i++) { + if (str[i] == '\0') { + last_str = nullptr; + return str; + } + } + str[i] = '\0'; + last_str = str + i + 1; + return str; +} + +bool wcs_replace_s(wchar_t* str, + size_t strsz, + const wchar_t* orig, + const wchar_t* repl) { + wchar_t* pos = ::StrStrW(str, orig); + if (pos == nullptr) + return false; + + size_t str_length = ::lstrlenW(str); + size_t repl_length = ::lstrlenW(repl); + size_t orig_length = ::lstrlenW(orig); + size_t new_length = str_length + repl_length - orig_length; + + wchar_t* dest = pos + repl_length; + wchar_t* src = pos + orig_length; + + size_t src_length = ::lstrlenW(src); + + // Move the rest of the string to the new position, making space for |repl|. + memmove(dest, src, + max(0, min(src_length, strsz - (dest - str))) * sizeof(*str)); + // Insert |repl| inside the string, writing over |orig|. + memmove(pos, repl, + max(0, min(repl_length, strsz - (pos - str))) * sizeof(*str)); + str[min(strsz - 1, new_length)] = '\0'; + + return true; +} + +string utf16_to_utf8(const wchar_t* utf16) { + const size_t buffer_size = max( + 1, + WideCharToMultiByte(CP_UTF8, 0, utf16, -1, nullptr, 0, nullptr, nullptr)); + string utf8(buffer_size); + WideCharToMultiByte(CP_UTF8, 0, utf16, -1, utf8.data(), buffer_size, nullptr, + nullptr); + return utf8; +} + +wstring utf8_to_utf16(const char* utf8) { + const size_t buffer_size = + max(1, MultiByteToWideChar(CP_UTF8, 0, utf8, -1, nullptr, 0)); + wstring utf16(buffer_size); + MultiByteToWideChar(CP_UTF8, 0, utf8, -1, utf16.data(), buffer_size); + return utf16; +} + +} // namespace util
diff --git a/chrome/browser/browser_switcher/bho/mini_bho_util.h b/chrome/browser/browser_switcher/bho/mini_bho_util.h new file mode 100644 index 0000000..d9ecc0a --- /dev/null +++ b/chrome/browser/browser_switcher/bho/mini_bho_util.h
@@ -0,0 +1,115 @@ +// 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 CHROME_BROWSER_BROWSER_SWITCHER_BHO_MINI_BHO_UTIL_H_ +#define CHROME_BROWSER_BROWSER_SWITCHER_BHO_MINI_BHO_UTIL_H_ + +#include <stdarg.h> + +enum LogLevel { + ERR, + WARNING, + INFO, + DEBUG, +}; + +// Basically a fake stdlib. Most functions have the same name & signature as the +// ones in libc (mostly from string.h). +namespace util { + +constexpr LogLevel kLogLevel = DEBUG; + +extern const char* kLogPrefixes[]; + +// write(), puts(), and printf() log to this file: +// "AppData\LocalLow\Google\BrowserSwitcher\ie_bho_log2.txt" +void InitLog(); +void CloseLog(); +void SetLogFilePathForTesting(const wchar_t* log_path); + +void write(const char* s, size_t num); +void puts(const char* s); +void puts(LogLevel lvl, const char* s); + +void vprintf(const char* fmt, va_list arglist); +void printf(const char* fmt, ...); +void printf(LogLevel lvl, const char* fmt, ...); + +// Fixed-sized vector of |T| that lives on the heap. Frees memory when deleted. +template <typename T> +class vector { + public: + vector() : vector(0) {} + explicit vector(size_t size) { + data_ = (size == 0) ? nullptr : new T[size]; + capacity_ = size; + } + ~vector() { + if (data_ != nullptr) + delete[] data_; + } + + // Avoid accidental copy. + vector(vector<T>&) = delete; + + vector(vector<T>&& that) : vector() { swap(that); } + vector<T>& operator=(vector<T>&& that) { + swap(that); + return *this; + } + + void swap(vector<T>& that) { + T* tmp_data = data_; + size_t tmp_capacity = capacity_; + data_ = that.data_; + capacity_ = that.capacity_; + that.data_ = tmp_data; + that.capacity_ = tmp_capacity; + } + + size_t capacity() { return capacity_; } + T* data() { return data_; } + + T* begin() { return data_; } + const T* begin() const { return data_; } + // This iterator is incorrect for strings. It'll include the terminating '\0'. + T* end() { return data_ + capacity_; } + const T* end() const { return data_ + capacity_; } + + // No bounds-checking. + T& operator[](size_t pos) { return data_[pos]; } + + private: + T* data_; + size_t capacity_; +}; + +// A vector of bytes = poor man's string. +using string = vector<char>; +using wstring = vector<wchar_t>; + +util::string empty_string(); +util::wstring empty_wstring(); + +int max(int a, int b); +int min(int a, int b); + +// Unlike strcpy(), etc., this can copy to overlapping memory areas. +void* memmove(void* dest, const void* src, size_t num); + +char* strtok(char* str, const char* delimiters); + +// Replaces the first occurrence of |orig| with |repl|. Returns true if a +// replacement was done. +bool wcs_replace_s(wchar_t* str, + size_t strsz, + const wchar_t* orig, + const wchar_t* repl); + +string utf16_to_utf8(const wchar_t* utf16); +wstring utf8_to_utf16(const char* utf8); + +} // namespace util + +#endif // CHROME_BROWSER_BROWSER_SWITCHER_BHO_MINI_BHO_UTIL_H_
diff --git a/chrome/browser/browser_switcher/bho/mini_bho_util_unittest.cc b/chrome/browser/browser_switcher/bho/mini_bho_util_unittest.cc new file mode 100644 index 0000000..10c5592 --- /dev/null +++ b/chrome/browser/browser_switcher/bho/mini_bho_util_unittest.cc
@@ -0,0 +1,187 @@ +// 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 "chrome/browser/browser_switcher/bho/mini_bho_util.h" + +#include <string.h> + +#include "base/files/file.h" +#include "base/files/file_util.h" +#include "base/files/scoped_temp_dir.h" +#include "base/strings/string16.h" +#include "base/strings/utf_string_conversions.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace { + +// Default buffer size used for most tests. +const size_t BUFSZ = 10; + +template <typename T> +void FillWithBogus(T* buffer, size_t size = BUFSZ) { + memset(buffer, 0xAA, size * sizeof(*buffer)); +} + +template <typename T> +std::basic_string<T> GetBytes(T* buffer, size_t size = BUFSZ) { + return std::basic_string<T>(buffer, size); +} + +} // namespace + +TEST(MiniBhoUtil, Logging) { + base::ScopedTempDir temp_dir; + ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); + base::FilePath log_path = temp_dir.GetPath().AppendASCII("log.txt"); + + util::SetLogFilePathForTesting(log_path.value().c_str()); + util::InitLog(); + + util::puts(DEBUG, "hello world"); + util::printf(ERR, "n = %d\n", 34); + + util::CloseLog(); + + const char expected[] = + "[debug] : hello world\n" + "[*ERROR!*] : n = 34\n"; + + EXPECT_TRUE(base::PathExists(log_path)); + base::File file(log_path, base::File::FLAG_OPEN | base::File::FLAG_READ); + std::unique_ptr<char[]> buffer(new char[file.GetLength() + 1]); + buffer.get()[file.GetLength()] = '\0'; + EXPECT_GT(file.Read(0, buffer.get(), file.GetLength()), -1); + EXPECT_EQ(std::string(expected), std::string(buffer.get())); +} + +TEST(MiniBhoUtil, VectorMove) { + util::vector<double> vec1(10); + util::vector<double> vec2; + ASSERT_NE(nullptr, vec1.data()); + ASSERT_EQ(10u, vec1.capacity()); + ASSERT_EQ(nullptr, vec2.data()); + ASSERT_EQ(0u, vec2.capacity()); + + vec2 = std::move(vec1); + EXPECT_EQ(nullptr, vec1.data()); + EXPECT_EQ(0u, vec1.capacity()); + EXPECT_NE(nullptr, vec2.data()); + EXPECT_EQ(10u, vec2.capacity()); + + util::vector<double> vec3(std::move(vec2)); + EXPECT_EQ(nullptr, vec2.data()); + EXPECT_EQ(0u, vec2.capacity()); + EXPECT_NE(nullptr, vec3.data()); + EXPECT_EQ(10u, vec3.capacity()); +} + +TEST(MiniBhoUtil, memmove) { + char data[BUFSZ] = { + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + }; + char buffer[BUFSZ]; + + // Copy backwards. + ::memcpy(buffer, data, BUFSZ); + util::memmove(buffer + 5, buffer, 5); + char expected[BUFSZ] = { + '0', '1', '2', '3', '4', '0', '1', '2', '3', '4', + }; + EXPECT_EQ(GetBytes(expected), GetBytes(buffer)); + + // Copy forwards. + ::memcpy(buffer, data, BUFSZ); + util::memmove(buffer, buffer + 5, 5); + char expected2[BUFSZ] = { + '5', '6', '7', '8', '9', '5', '6', '7', '8', '9', + }; + EXPECT_EQ(GetBytes(expected2), GetBytes(buffer)); +} + +TEST(MiniBhoUtil, strtok) { + char str[] = "many,punctuation;separated:values"; + const char delim[] = ",;:"; + + EXPECT_EQ("many", std::string(util::strtok(str, delim))); + EXPECT_EQ("punctuation", std::string(util::strtok(nullptr, delim))); + EXPECT_EQ("separated", std::string(util::strtok(nullptr, delim))); + EXPECT_EQ("values", std::string(util::strtok(nullptr, delim))); + EXPECT_EQ(nullptr, util::strtok(nullptr, delim)); + + char str2[] = "no punctuation"; + EXPECT_EQ("no punctuation", std::string(util::strtok(str2, delim))); + EXPECT_EQ(nullptr, util::strtok(nullptr, delim)); + + char str3[] = ""; + EXPECT_EQ("", std::string(util::strtok(str3, delim))); + EXPECT_EQ(nullptr, util::strtok(nullptr, delim)); +} + +TEST(MiniBhoUtil, wcs_replace_s) { + // No match = no replacement. + wchar_t buffer[BUFSZ]; + FillWithBogus(buffer); + ::wcscpy(buffer, L"hello"); + EXPECT_FALSE(util::wcs_replace_s(buffer, BUFSZ, L"x", L"y")); + EXPECT_EQ(std::wstring(L"hello"), std::wstring(buffer)); + wchar_t expected[] = { + 'h', 'e', 'l', 'l', 'o', '\0', 0xAAAA, 0xAAAA, 0xAAAA, 0xAAAA, + }; + EXPECT_EQ(GetBytes(expected), GetBytes(buffer)); + + // Replace in string, same length. + FillWithBogus(buffer); + ::wcscpy(buffer, L"hello"); + EXPECT_TRUE(util::wcs_replace_s(buffer, BUFSZ, L"ll", L"yy")); + EXPECT_EQ(L"heyyo", std::wstring(buffer)); + wchar_t expected2[] = { + 'h', 'e', 'y', 'y', 'o', '\0', 0xAAAA, 0xAAAA, 0xAAAA, 0xAAAA, + }; + EXPECT_EQ(GetBytes(expected2), GetBytes(buffer)); + + // Replace in string, different length. + FillWithBogus(buffer); + ::wcscpy(buffer, L"hello"); + EXPECT_TRUE(util::wcs_replace_s(buffer, BUFSZ, L"e", L"ayy")); + EXPECT_EQ(L"hayyllo", std::wstring(buffer)); + wchar_t expected3[] = { + 'h', 'a', 'y', 'y', 'l', 'l', 'o', '\0', 0xAAAA, 0xAAAA, + }; + EXPECT_EQ(GetBytes(expected3), GetBytes(buffer)); + + FillWithBogus(buffer); + ::wcscpy(buffer, L"hello"); + EXPECT_TRUE(util::wcs_replace_s(buffer, BUFSZ, L"ell", L"ai")); + EXPECT_EQ(L"haio", std::wstring(buffer)); + wchar_t expected4[] = { + 'h', 'a', 'i', 'o', '\0', '\0', 0xAAAA, 0xAAAA, 0xAAAA, 0xAAAA, + }; + EXPECT_EQ(GetBytes(expected4), GetBytes(buffer)); + + // Would cause a buffer overflow. + FillWithBogus(buffer); + ::wcscpy(buffer, L"hello"); + EXPECT_TRUE(util::wcs_replace_s(buffer, 7, L"ell", L"i there friend")); + EXPECT_EQ(L"hi the", std::wstring(buffer)); + wchar_t expected5[] = { + 'h', 'i', ' ', 't', 'h', 'e', '\0', 0xAAAA, 0xAAAA, 0xAAAA, + }; + EXPECT_EQ(GetBytes(expected5), GetBytes(buffer)); +} + +TEST(MiniBhoUtil, utf_conversions) { + base::string16 expected_utf16 = STRING16_LITERAL("홍길동"); + std::string expected_utf8 = base::UTF16ToUTF8(expected_utf16); + + util::string utf8 = util::utf16_to_utf8(expected_utf16.c_str()); + util::wstring utf16 = util::utf8_to_utf16(expected_utf8.c_str()); + + EXPECT_EQ(expected_utf8, std::string(utf8.data())); + EXPECT_EQ(expected_utf16, std::wstring(utf16.data())); +} + +int main(int argc, char** argv) { + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +}
diff --git a/chrome/browser/chrome_notification_types.h b/chrome/browser/chrome_notification_types.h index b5993b6..d6f87fb 100644 --- a/chrome/browser/chrome_notification_types.h +++ b/chrome/browser/chrome_notification_types.h
@@ -160,14 +160,6 @@ // The details are a Profile object. NOTIFICATION_LOGIN_USER_PROFILE_PREPARED, - // Sent when the chromium session of a particular user is started. - // If this is a new user on the machine this will not be sent until a profile - // picture has been selected, unlike NOTIFICATION_LOGIN_USER_CHANGED - // (obsolete) which was sent immediately after the user has logged in. This - // will be sent again if the browser crashes and restarts. The details are a - // chromeos::User object. - NOTIFICATION_SESSION_STARTED, - // Sent when a network error message is displayed on the WebUI login screen. // First paint event of this fires NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE. NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN,
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn index 4d02301b..23d97fb 100644 --- a/chrome/browser/chromeos/BUILD.gn +++ b/chrome/browser/chromeos/BUILD.gn
@@ -1508,6 +1508,8 @@ "login/users/user_manager_interface.h", "login/version_info_updater.cc", "login/version_info_updater.h", + "login/version_updater/version_updater.cc", + "login/version_updater/version_updater.h", "login/wizard_controller.cc", "login/wizard_controller.h", "mobile/mobile_activator.cc", @@ -2326,6 +2328,8 @@ "login/test/test_condition_waiter.h", "login/test/test_predicate_waiter.cc", "login/test/test_predicate_waiter.h", + "login/version_updater/mock_version_updater_delegate.cc", + "login/version_updater/mock_version_updater_delegate.h", "printing/printing_stubs.cc", "printing/printing_stubs.h", "scoped_set_running_on_chromeos_for_testing.cc", @@ -2618,6 +2622,7 @@ "login/users/affiliation_unittest.cc", "login/users/multi_profile_user_controller_unittest.cc", "login/users/user_manager_unittest.cc", + "login/version_updater/version_updater_unittest.cc", "mobile/mobile_activator_unittest.cc", "net/client_cert_store_chromeos_unittest.cc", "net/network_portal_detector_impl_unittest.cc",
diff --git a/chrome/browser/chromeos/accessibility/accessibility_manager.cc b/chrome/browser/chromeos/accessibility/accessibility_manager.cc index 19fc56c6..ecebe48 100644 --- a/chrome/browser/chromeos/accessibility/accessibility_manager.cc +++ b/chrome/browser/chromeos/accessibility/accessibility_manager.cc
@@ -1165,22 +1165,13 @@ SetProfile(profile); } -void AccessibilityManager::ActiveUserChanged( - const user_manager::User* active_user) { +void AccessibilityManager::ActiveUserChanged(user_manager::User* active_user) { if (!active_user) return; - if (active_user->is_profile_created()) { - SetProfileByUser(active_user); - } else { - // |active_user| is unfortunately const. - user_manager::User* user = - user_manager::UserManager::Get()->GetActiveUser(); - DCHECK_EQ(user, active_user); - user->AddProfileCreatedObserver( - base::BindOnce(&AccessibilityManager::SetProfileByUser, - weak_ptr_factory_.GetWeakPtr(), user)); - } + active_user->AddProfileCreatedObserver( + base::BindOnce(&AccessibilityManager::SetProfileByUser, + weak_ptr_factory_.GetWeakPtr(), active_user)); } base::TimeDelta AccessibilityManager::PlayShutdownSound() {
diff --git a/chrome/browser/chromeos/accessibility/accessibility_manager.h b/chrome/browser/chromeos/accessibility/accessibility_manager.h index 0917fdb..8e772e1 100644 --- a/chrome/browser/chromeos/accessibility/accessibility_manager.h +++ b/chrome/browser/chromeos/accessibility/accessibility_manager.h
@@ -222,7 +222,7 @@ bool IsBrailleDisplayConnected() const; // user_manager::UserManager::UserSessionStateObserver overrides: - void ActiveUserChanged(const user_manager::User* active_user) override; + void ActiveUserChanged(user_manager::User* active_user) override; // Initiates play of shutdown sound and returns it's duration. base::TimeDelta PlayShutdownSound();
diff --git a/chrome/browser/chromeos/accessibility/magnification_manager.cc b/chrome/browser/chromeos/accessibility/magnification_manager.cc index 0d16bf9..c5b32b2 100644 --- a/chrome/browser/chromeos/accessibility/magnification_manager.cc +++ b/chrome/browser/chromeos/accessibility/magnification_manager.cc
@@ -101,18 +101,18 @@ MagnificationManager::MagnificationManager() { registrar_.Add(this, chrome::NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE, content::NotificationService::AllSources()); - registrar_.Add(this, chrome::NOTIFICATION_SESSION_STARTED, - content::NotificationService::AllSources()); registrar_.Add(this, chrome::NOTIFICATION_PROFILE_DESTROYED, content::NotificationService::AllSources()); // TODO(warx): observe focus changed in page notification when either // fullscreen magnifier or docked magnifier is enabled. registrar_.Add(this, content::NOTIFICATION_FOCUS_CHANGED_IN_PAGE, content::NotificationService::AllSources()); + user_manager::UserManager::Get()->AddSessionStateObserver(this); } MagnificationManager::~MagnificationManager() { CHECK(this == g_magnification_manager); + user_manager::UserManager::Get()->RemoveSessionStateObserver(this); } void MagnificationManager::Observe( @@ -127,15 +127,6 @@ SetProfile(profile); break; } - case chrome::NOTIFICATION_SESSION_STARTED: - // Update |profile_| when entering a session. - SetProfile(ProfileManager::GetActiveUserProfile()); - - // Add a session state observer to be able to monitor session changes. - if (!session_state_observer_.get()) - session_state_observer_.reset( - new user_manager::ScopedUserSessionStateObserver(this)); - break; case chrome::NOTIFICATION_PROFILE_DESTROYED: { // Update |profile_| when exiting a session or shutting down. Profile* profile = content::Source<Profile>(source).ptr(); @@ -150,10 +141,17 @@ } } -void MagnificationManager::ActiveUserChanged( - const user_manager::User* active_user) { - if (active_user && active_user->is_profile_created()) - SetProfile(ProfileManager::GetActiveUserProfile()); +void MagnificationManager::ActiveUserChanged(user_manager::User* active_user) { + if (!active_user) + return; + + active_user->AddProfileCreatedObserver( + base::BindOnce(&MagnificationManager::SetProfileByUser, + weak_ptr_factory_.GetWeakPtr(), active_user)); +} + +void MagnificationManager::SetProfileByUser(const user_manager::User* user) { + SetProfile(ProfileHelper::Get()->GetProfileByUser(user)); } void MagnificationManager::SetProfile(Profile* profile) {
diff --git a/chrome/browser/chromeos/accessibility/magnification_manager.h b/chrome/browser/chromeos/accessibility/magnification_manager.h index 2f8b8ae..4aec427 100644 --- a/chrome/browser/chromeos/accessibility/magnification_manager.h +++ b/chrome/browser/chromeos/accessibility/magnification_manager.h
@@ -6,6 +6,7 @@ #define CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_MAGNIFICATION_MANAGER_H_ #include "base/macros.h" +#include "base/memory/weak_ptr.h" #include "components/user_manager/user_manager.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" @@ -70,8 +71,9 @@ const content::NotificationDetails& details) override; // user_manager::UserManager::UserSessionStateObserver overrides: - void ActiveUserChanged(const user_manager::User* active_user) override; + void ActiveUserChanged(user_manager::User* active_user) override; + void SetProfileByUser(const user_manager::User* user); void SetProfile(Profile* profile); void SetMagnifierEnabledInternal(bool enabled); @@ -91,8 +93,7 @@ content::NotificationRegistrar registrar_; std::unique_ptr<PrefChangeRegistrar> pref_change_registrar_; - std::unique_ptr<user_manager::ScopedUserSessionStateObserver> - session_state_observer_; + base::WeakPtrFactory<MagnificationManager> weak_ptr_factory_{this}; DISALLOW_COPY_AND_ASSIGN(MagnificationManager); };
diff --git a/chrome/browser/chromeos/arc/voice_interaction/voice_interaction_controller_client.cc b/chrome/browser/chromeos/arc/voice_interaction/voice_interaction_controller_client.cc index b0d0b0a..affaab8 100644 --- a/chrome/browser/chromeos/arc/voice_interaction/voice_interaction_controller_client.cc +++ b/chrome/browser/chromeos/arc/voice_interaction/voice_interaction_controller_client.cc
@@ -10,18 +10,15 @@ #include "ash/public/cpp/ash_pref_names.h" #include "ash/public/cpp/assistant/assistant_state.h" #include "base/bind.h" -#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chromeos/arc/arc_util.h" #include "chrome/browser/chromeos/assistant/assistant_util.h" +#include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" #include "chromeos/constants/chromeos_features.h" -#include "components/arc/arc_prefs.h" #include "components/arc/arc_util.h" #include "components/language/core/browser/pref_names.h" #include "components/prefs/pref_service.h" -#include "content/public/browser/notification_service.h" -#include "content/public/browser/notification_source.h" #include "content/public/common/service_manager_connection.h" #include "services/service_manager/public/cpp/connector.h" @@ -37,17 +34,10 @@ VoiceInteractionControllerClient::VoiceInteractionControllerClient() { DCHECK(!g_voice_interaction_controller_client_instance); - - notification_registrar_.Add(this, - chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED, - content::NotificationService::AllSources()); - notification_registrar_.Add(this, chrome::NOTIFICATION_SESSION_STARTED, - content::NotificationService::AllSources()); - notification_registrar_.Add(this, chrome::NOTIFICATION_PROFILE_DESTROYED, - content::NotificationService::AllSources()); + g_voice_interaction_controller_client_instance = this; arc::ArcSessionManager::Get()->AddObserver(this); - g_voice_interaction_controller_client_instance = this; + user_manager::UserManager::Get()->AddSessionStateObserver(this); voice_interaction_state_ = ash::mojom::VoiceInteractionState::NOT_READY; } @@ -55,6 +45,8 @@ VoiceInteractionControllerClient::~VoiceInteractionControllerClient() { DCHECK_EQ(g_voice_interaction_controller_client_instance, this); g_voice_interaction_controller_client_instance = nullptr; + + user_manager::UserManager::Get()->RemoveSessionStateObserver(this); arc::ArcSessionManager::Get()->RemoveObserver(this); } @@ -84,20 +76,6 @@ ash::AssistantState::Get()->NotifyLockedFullScreenStateChanged(enabled); } -void VoiceInteractionControllerClient::NotifySettingsEnabled() { - DCHECK(profile_); - PrefService* prefs = profile_->GetPrefs(); - bool enabled = prefs->GetBoolean(prefs::kVoiceInteractionEnabled); - ash::AssistantState::Get()->NotifySettingsEnabled(enabled); -} - -void VoiceInteractionControllerClient::NotifyHotwordEnabled() { - DCHECK(profile_); - PrefService* prefs = profile_->GetPrefs(); - bool enabled = prefs->GetBoolean(prefs::kVoiceInteractionHotwordEnabled); - ash::AssistantState::Get()->NotifyHotwordEnabled(enabled); -} - void VoiceInteractionControllerClient::NotifyFeatureAllowed() { DCHECK(profile_); ash::mojom::AssistantAllowedState state = @@ -117,16 +95,26 @@ } void VoiceInteractionControllerClient::ActiveUserChanged( - const user_manager::User* active_user) { - if (active_user && active_user->is_profile_created()) - SetProfile(ProfileManager::GetActiveUserProfile()); + user_manager::User* active_user) { + if (!active_user) + return; + + active_user->AddProfileCreatedObserver( + base::BindOnce(&VoiceInteractionControllerClient::SetProfileByUser, + weak_ptr_factory_.GetWeakPtr(), active_user)); +} + +void VoiceInteractionControllerClient::OnArcPlayStoreEnabledChanged( + bool enabled) { + ash::AssistantState::Get()->NotifyArcPlayStoreEnabledChanged(enabled); +} + +void VoiceInteractionControllerClient::SetProfileByUser( + const user_manager::User* user) { + SetProfile(chromeos::ProfileHelper::Get()->GetProfileByUser(user)); } void VoiceInteractionControllerClient::SetProfile(Profile* profile) { - // Do nothing if this is called for the current profile. This can happen. For - // example, ChromeSessionManager fires both - // NOTIFICATION_LOGIN_USER_PROFILE_PREPARED and NOTIFICATION_SESSION_STARTED, - // and we are observing both events. if (profile_ == profile) return; @@ -145,51 +133,9 @@ base::BindRepeating( &VoiceInteractionControllerClient::NotifyLocaleChanged, base::Unretained(this))); - pref_change_registrar_->Add( - prefs::kVoiceInteractionEnabled, - base::BindRepeating( - &VoiceInteractionControllerClient::NotifySettingsEnabled, - base::Unretained(this))); - pref_change_registrar_->Add( - prefs::kVoiceInteractionHotwordEnabled, - base::BindRepeating( - &VoiceInteractionControllerClient::NotifyHotwordEnabled, - base::Unretained(this))); - NotifySettingsEnabled(); NotifyLocaleChanged(); - NotifyHotwordEnabled(); OnArcPlayStoreEnabledChanged(IsArcPlayStoreEnabledForProfile(profile_)); } -void VoiceInteractionControllerClient::Observe( - int type, - const content::NotificationSource& source, - const content::NotificationDetails& details) { - switch (type) { - case chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED: - // Update |profile_| when login user profile is prepared. - // NOTIFICATION_SESSION_STARTED is not fired from UserSessionManager, but - // profile may be changed by UserSessionManager in OOBE flow. - SetProfile(ProfileManager::GetActiveUserProfile()); - break; - case chrome::NOTIFICATION_SESSION_STARTED: - // Update |profile_| when entering a session. - SetProfile(ProfileManager::GetActiveUserProfile()); - - // Add a session state observer to be able to monitor session changes. - if (!session_state_observer_.get()) { - session_state_observer_ = - std::make_unique<user_manager::ScopedUserSessionStateObserver>( - this); - } - break; - } -} - -void VoiceInteractionControllerClient::OnArcPlayStoreEnabledChanged( - bool enabled) { - ash::AssistantState::Get()->NotifyArcPlayStoreEnabledChanged(enabled); -} - } // namespace arc
diff --git a/chrome/browser/chromeos/arc/voice_interaction/voice_interaction_controller_client.h b/chrome/browser/chromeos/arc/voice_interaction/voice_interaction_controller_client.h index 4cac867..12937b6 100644 --- a/chrome/browser/chromeos/arc/voice_interaction/voice_interaction_controller_client.h +++ b/chrome/browser/chromeos/arc/voice_interaction/voice_interaction_controller_client.h
@@ -8,11 +8,10 @@ #include <memory> #include "ash/public/mojom/voice_interaction_controller.mojom.h" +#include "base/memory/weak_ptr.h" #include "chrome/browser/chromeos/arc/arc_session_manager.h" #include "components/prefs/pref_change_registrar.h" #include "components/user_manager/user_manager.h" -#include "content/public/browser/notification_observer.h" -#include "content/public/browser/notification_registrar.h" namespace arc { @@ -21,8 +20,7 @@ // states and notifies Ash side. It can also be used to notify some specific // state changes that does not have an observer interface. class VoiceInteractionControllerClient - : public content::NotificationObserver, - public user_manager::UserManager::UserSessionStateObserver, + : public user_manager::UserManager::UserSessionStateObserver, public ArcSessionManager::Observer { public: class Observer { @@ -51,28 +49,19 @@ friend class VoiceInteractionControllerClientTest; // Notify the controller about state changes. - void NotifySettingsEnabled(); - void NotifyHotwordEnabled(); void NotifyFeatureAllowed(); void NotifyLocaleChanged(); // user_manager::UserManager::UserSessionStateObserver overrides: - void ActiveUserChanged(const user_manager::User* active_user) override; - - // content::NotificationObserver: - void Observe(int type, - const content::NotificationSource& source, - const content::NotificationDetails& details) override; + void ActiveUserChanged(user_manager::User* active_user) override; // Override ArcSessionManager::Observer void OnArcPlayStoreEnabledChanged(bool enabled) override; + void SetProfileByUser(const user_manager::User* user); void SetProfile(Profile* profile); - content::NotificationRegistrar notification_registrar_; std::unique_ptr<PrefChangeRegistrar> pref_change_registrar_; - std::unique_ptr<user_manager::ScopedUserSessionStateObserver> - session_state_observer_; Profile* profile_ = nullptr; @@ -81,6 +70,9 @@ base::ObserverList<Observer>::Unchecked observers_; + base::WeakPtrFactory<VoiceInteractionControllerClient> weak_ptr_factory_{ + this}; + DISALLOW_COPY_AND_ASSIGN(VoiceInteractionControllerClient); };
diff --git a/chrome/browser/chromeos/arc/voice_interaction/voice_interaction_controller_client_unittest.cc b/chrome/browser/chromeos/arc/voice_interaction/voice_interaction_controller_client_unittest.cc index 5c347bb..fafd85d 100644 --- a/chrome/browser/chromeos/arc/voice_interaction/voice_interaction_controller_client_unittest.cc +++ b/chrome/browser/chromeos/arc/voice_interaction/voice_interaction_controller_client_unittest.cc
@@ -11,7 +11,6 @@ #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h" #include "chrome/test/base/chrome_ash_test_base.h" #include "chrome/test/base/testing_profile.h" -#include "components/arc/arc_prefs.h" #include "components/arc/arc_util.h" #include "components/arc/test/fake_arc_session.h" #include "components/language/core/browser/pref_names.h" @@ -87,16 +86,6 @@ TEST_F(VoiceInteractionControllerClientTest, PrefChangeSendsNotification) { PrefService* prefs = profile()->GetPrefs(); - ASSERT_EQ(false, prefs->GetBoolean(prefs::kVoiceInteractionEnabled)); - prefs->SetBoolean(prefs::kVoiceInteractionEnabled, true); - ASSERT_EQ(true, prefs->GetBoolean(prefs::kVoiceInteractionEnabled)); - EXPECT_EQ(true, ash::AssistantState::Get()->settings_enabled()); - - ASSERT_EQ(false, prefs->GetBoolean(prefs::kVoiceInteractionHotwordEnabled)); - prefs->SetBoolean(prefs::kVoiceInteractionHotwordEnabled, true); - ASSERT_EQ(true, prefs->GetBoolean(prefs::kVoiceInteractionHotwordEnabled)); - EXPECT_EQ(true, ash::AssistantState::Get()->hotword_enabled()); - ASSERT_EQ("", prefs->GetString(language::prefs::kApplicationLocale)); prefs->SetString(language::prefs::kApplicationLocale, "en-CA"); ASSERT_EQ("en-CA", prefs->GetString(language::prefs::kApplicationLocale));
diff --git a/chrome/browser/chromeos/certificate_provider/certificate_provider_service.cc b/chrome/browser/chromeos/certificate_provider/certificate_provider_service.cc index 99f7155..476a69f 100644 --- a/chrome/browser/chromeos/certificate_provider/certificate_provider_service.cc +++ b/chrome/browser/chromeos/certificate_provider/certificate_provider_service.cc
@@ -370,7 +370,8 @@ if (!sign_requests_.RemoveRequest(extension_id, sign_request_id, &certificate, &callback)) { LOG(ERROR) << "request id unknown."; - // Maybe multiple replies to the same request. + // The request was aborted before, or the extension replied multiple times + // to the same request. return; } @@ -463,6 +464,30 @@ return true; } +void CertificateProviderService::AbortSignatureRequestsForAuthenticatingUser( + const AccountId& authenticating_user_account_id) { + using ExtensionNameRequestIdPair = + certificate_provider::SignRequests::ExtensionNameRequestIdPair; + + const std::vector<ExtensionNameRequestIdPair> sign_requests_to_abort = + sign_requests_.FindRequestsForAuthenticatingUser( + authenticating_user_account_id); + + for (const ExtensionNameRequestIdPair& sign_request : + sign_requests_to_abort) { + const std::string& extension_id = sign_request.first; + const int sign_request_id = sign_request.second; + pin_dialog_manager_.AbortSignRequest(extension_id, sign_request_id); + + scoped_refptr<net::X509Certificate> certificate; + net::SSLPrivateKey::SignCallback sign_callback; + if (sign_requests_.RemoveRequest(extension_id, sign_request_id, + &certificate, &sign_callback)) { + std::move(sign_callback).Run(net::ERR_FAILED, std::vector<uint8_t>()); + } + } +} + void CertificateProviderService::GetCertificatesFromExtensions( base::OnceCallback<void(net::ClientCertIdentityList)> callback) { DCHECK(thread_checker_.CalledOnValidThread()); @@ -531,8 +556,9 @@ net::SSLPrivateKey::SignCallback callback) { DCHECK(thread_checker_.CalledOnValidThread()); - const int sign_request_id = - sign_requests_.AddRequest(extension_id, certificate, std::move(callback)); + const int sign_request_id = sign_requests_.AddRequest( + extension_id, certificate, authenticating_user_account_id, + std::move(callback)); pin_dialog_manager_.AddSignRequestId(extension_id, sign_request_id, authenticating_user_account_id); if (!delegate_->DispatchSignRequestToExtension(
diff --git a/chrome/browser/chromeos/certificate_provider/certificate_provider_service.h b/chrome/browser/chromeos/certificate_provider/certificate_provider_service.h index b02fdd74..9d43b2f 100644 --- a/chrome/browser/chromeos/certificate_provider/certificate_provider_service.h +++ b/chrome/browser/chromeos/certificate_provider/certificate_provider_service.h
@@ -189,6 +189,11 @@ const std::string& subject_public_key_info, std::vector<uint16_t>* supported_algorithms); + // Aborts all signature requests and related PIN dialogs that are associated + // with the authentication of the given user. + void AbortSignatureRequestsForAuthenticatingUser( + const AccountId& authenticating_user_account_id); + PinDialogManager* pin_dialog_manager() { return &pin_dialog_manager_; } private:
diff --git a/chrome/browser/chromeos/certificate_provider/pin_dialog_manager.cc b/chrome/browser/chromeos/certificate_provider/pin_dialog_manager.cc index 429b56a..788f2ad2 100644 --- a/chrome/browser/chromeos/certificate_provider/pin_dialog_manager.cc +++ b/chrome/browser/chromeos/certificate_provider/pin_dialog_manager.cc
@@ -28,6 +28,18 @@ authenticating_user_account_id))); } +void PinDialogManager::AbortSignRequest(const std::string& extension_id, + int sign_request_id) { + if (active_dialog_state_ && + active_dialog_state_->extension_id == extension_id && + active_dialog_state_->sign_request_id == sign_request_id) { + CloseActiveDialog(); + } + + ExtensionNameRequestIdPair key(extension_id, sign_request_id); + sign_requests_.erase(key); +} + PinDialogManager::RequestPinResult PinDialogManager::RequestPin( const std::string& extension_id, const std::string& extension_name,
diff --git a/chrome/browser/chromeos/certificate_provider/pin_dialog_manager.h b/chrome/browser/chromeos/certificate_provider/pin_dialog_manager.h index 9b99f8ad..67069c3a 100644 --- a/chrome/browser/chromeos/certificate_provider/pin_dialog_manager.h +++ b/chrome/browser/chromeos/certificate_provider/pin_dialog_manager.h
@@ -55,6 +55,10 @@ int sign_request_id, const base::Optional<AccountId>& authenticating_user_account_id); + // Removes the specified sign request, aborting both the current and the + // future PIN dialogs related to it. + void AbortSignRequest(const std::string& extension_id, int sign_request_id); + // Creates and displays a new PIN dialog, or reuses the old dialog with just // updating the parameters if active one exists. // |extension_id| - the ID of the extension requesting the dialog.
diff --git a/chrome/browser/chromeos/certificate_provider/sign_requests.cc b/chrome/browser/chromeos/certificate_provider/sign_requests.cc index fcf3fed..f088ec8 100644 --- a/chrome/browser/chromeos/certificate_provider/sign_requests.cc +++ b/chrome/browser/chromeos/certificate_provider/sign_requests.cc
@@ -4,15 +4,16 @@ #include "chrome/browser/chromeos/certificate_provider/sign_requests.h" -#include <utility> - namespace chromeos { namespace certificate_provider { SignRequests::Request::Request( const scoped_refptr<net::X509Certificate>& certificate, + const base::Optional<AccountId>& authenticating_user_account_id, net::SSLPrivateKey::SignCallback callback) - : certificate(certificate), callback(std::move(callback)) {} + : certificate(certificate), + authenticating_user_account_id(authenticating_user_account_id), + callback(std::move(callback)) {} SignRequests::Request::Request(Request&& other) = default; @@ -33,14 +34,35 @@ int SignRequests::AddRequest( const std::string& extension_id, const scoped_refptr<net::X509Certificate>& certificate, + const base::Optional<AccountId>& authenticating_user_account_id, net::SSLPrivateKey::SignCallback callback) { RequestsState& state = extension_to_requests_[extension_id]; const int request_id = state.next_free_id++; - state.pending_requests.emplace(request_id, - Request(certificate, std::move(callback))); + state.pending_requests.emplace( + request_id, Request(certificate, authenticating_user_account_id, + std::move(callback))); return request_id; } +std::vector<SignRequests::ExtensionNameRequestIdPair> +SignRequests::FindRequestsForAuthenticatingUser( + const AccountId& authenticating_user_account_id) const { + std::vector<ExtensionNameRequestIdPair> found_requests; + for (const auto& extension_entry : extension_to_requests_) { + const std::string& extension_id = extension_entry.first; + const RequestsState& extension_requests = extension_entry.second; + for (const auto& entry : extension_requests.pending_requests) { + const int request_id = entry.first; + const Request& request = entry.second; + if (request.authenticating_user_account_id == + authenticating_user_account_id) { + found_requests.emplace_back(extension_id, request_id); + } + } + } + return found_requests; +} + bool SignRequests::RemoveRequest( const std::string& extension_id, int request_id,
diff --git a/chrome/browser/chromeos/certificate_provider/sign_requests.h b/chrome/browser/chromeos/certificate_provider/sign_requests.h index c01427e..1948e98 100644 --- a/chrome/browser/chromeos/certificate_provider/sign_requests.h +++ b/chrome/browser/chromeos/certificate_provider/sign_requests.h
@@ -7,11 +7,14 @@ #include <map> #include <string> +#include <utility> #include <vector> #include "base/callback.h" #include "base/macros.h" #include "base/memory/ref_counted.h" +#include "base/optional.h" +#include "components/account_id/account_id.h" #include "net/cert/x509_certificate.h" #include "net/ssl/ssl_private_key.h" @@ -20,14 +23,23 @@ class SignRequests { public: + using ExtensionNameRequestIdPair = std::pair<std::string, int>; + SignRequests(); ~SignRequests(); // Returns the id of the new request. The returned request id is specific to // the given extension. - int AddRequest(const std::string& extension_id, - const scoped_refptr<net::X509Certificate>& certificate, - net::SSLPrivateKey::SignCallback callback); + int AddRequest( + const std::string& extension_id, + const scoped_refptr<net::X509Certificate>& certificate, + const base::Optional<AccountId>& authenticating_user_account_id, + net::SSLPrivateKey::SignCallback callback); + + // Returns the list of requests that correspond to the authentication of the + // given user. + std::vector<ExtensionNameRequestIdPair> FindRequestsForAuthenticatingUser( + const AccountId& authenticating_user_account_id) const; // Returns false if no request with the given id for |extension_id| // could be found. Otherwise removes the request and sets |certificate| and @@ -45,12 +57,14 @@ private: struct Request { Request(const scoped_refptr<net::X509Certificate>& certificate, + const base::Optional<AccountId>& authenticating_user_account_id, net::SSLPrivateKey::SignCallback callback); Request(Request&& other); ~Request(); Request& operator=(Request&&); scoped_refptr<net::X509Certificate> certificate; + base::Optional<AccountId> authenticating_user_account_id; net::SSLPrivateKey::SignCallback callback; private:
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc index 1b87b10..8949c13 100644 --- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc +++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
@@ -692,14 +692,6 @@ new NetworkThrottlingObserver(g_browser_process->local_state())); arc_service_launcher_ = std::make_unique<arc::ArcServiceLauncher>(); - arc_voice_interaction_controller_client_ = - std::make_unique<arc::VoiceInteractionControllerClient>(); - -#if BUILDFLAG(ENABLE_CROS_ASSISTANT) - // Assistant has to be initialized before session_controller_client to avoid - // race of SessionChanged event and assistant_client initialization. - assistant_client_ = std::make_unique<AssistantClient>(); -#endif ResourceReporter::GetInstance()->StartMonitoring( task_manager::TaskManagerInterface::GetTaskManager()); @@ -779,9 +771,21 @@ AccessibilityManager::Initialize(); // Initialize magnification manager before ash tray is created. And this - // must be placed after UserManager::SessionStarted(); + // must be placed after UserManager initialization. MagnificationManager::Initialize(); + // Requires UserManager. + arc_voice_interaction_controller_client_ = + std::make_unique<arc::VoiceInteractionControllerClient>(); + +#if BUILDFLAG(ENABLE_CROS_ASSISTANT) + // Assistant has to be initialized before + // ChromeBrowserMainExtraPartsAsh::session_controller_client_ to avoid race of + // SessionChanged event and assistant_client initialization. It must come + // after VoiceInteractionControllerClient. + assistant_client_ = std::make_unique<AssistantClient>(); +#endif + base::PostTaskAndReplyWithResult( FROM_HERE, {base::ThreadPool(), base::MayBlock(), base::TaskPriority::BEST_EFFORT}, @@ -1068,11 +1072,9 @@ auto_screen_brightness_controller_ = std::make_unique<power::auto_screen_brightness::Controller>(); - // Enable Chrome OS USB detection only if a USB feature is turned on. - if (base::FeatureList::IsEnabled(features::kCrostiniUsbSupport)) { - cros_usb_detector_ = std::make_unique<CrosUsbDetector>(); - cros_usb_detector_->ConnectToDeviceManager(); - } + // Enable Chrome OS USB detection. + cros_usb_detector_ = std::make_unique<CrosUsbDetector>(); + cros_usb_detector_->ConnectToDeviceManager(); crostini_unsupported_action_notifier_ = std::make_unique<crostini::CrostiniUnsupportedActionNotifier>();
diff --git a/chrome/browser/chromeos/extensions/autotest_private/autotest_private_api.cc b/chrome/browser/chromeos/extensions/autotest_private/autotest_private_api.cc index 3903e86..5a412f6 100644 --- a/chrome/browser/chromeos/extensions/autotest_private/autotest_private_api.cc +++ b/chrome/browser/chromeos/extensions/autotest_private/autotest_private_api.cc
@@ -75,6 +75,7 @@ #include "chromeos/dbus/dbus_thread_manager.h" #include "chromeos/dbus/session_manager/session_manager_client.h" #include "chromeos/printing/printer_configuration.h" +#include "chromeos/services/assistant/public/cpp/assistant_prefs.h" #include "chromeos/services/machine_learning/public/cpp/service_connection.h" #include "components/arc/arc_prefs.h" #include "components/arc/metrics/arc_metrics_constants.h" @@ -293,8 +294,8 @@ std::string SetWhitelistedPref(Profile* profile, const std::string& pref_name, const base::Value& value) { - if (pref_name == arc::prefs::kVoiceInteractionEnabled || - pref_name == arc::prefs::kVoiceInteractionHotwordEnabled) { + if (pref_name == chromeos::assistant::prefs::kAssistantEnabled || + pref_name == chromeos::assistant::prefs::kAssistantHotwordEnabled) { DCHECK(value.is_bool()); ash::mojom::AssistantAllowedState allowed_state = assistant::IsAssistantAllowedForProfile(profile); @@ -390,6 +391,8 @@ case ash::WindowStateType::kRightSnapped: return api::autotest_private::WindowStateType:: WINDOW_STATE_TYPE_RIGHTSNAPPED; + case ash::WindowStateType::kPip: + return api::autotest_private::WindowStateType::WINDOW_STATE_TYPE_PIP; default: NOTREACHED(); return api::autotest_private::WindowStateType::WINDOW_STATE_TYPE_NONE; @@ -1578,7 +1581,7 @@ Profile* profile = Profile::FromBrowserContext(browser_context()); const std::string& err_msg = - SetWhitelistedPref(profile, arc::prefs::kVoiceInteractionEnabled, + SetWhitelistedPref(profile, chromeos::assistant::prefs::kAssistantEnabled, base::Value(params->enabled)); if (!err_msg.empty()) return RespondNow(Error(err_msg));
diff --git a/chrome/browser/chromeos/login/demo_mode/demo_mode_resources_remover.cc b/chrome/browser/chromeos/login/demo_mode/demo_mode_resources_remover.cc index 63fef9d..4b7d6df1 100644 --- a/chrome/browser/chromeos/login/demo_mode/demo_mode_resources_remover.cc +++ b/chrome/browser/chromeos/login/demo_mode/demo_mode_resources_remover.cc
@@ -145,8 +145,7 @@ AttemptRemoval(RemovalReason::kLowDiskSpace, RemovalCallback()); } -void DemoModeResourcesRemover::ActiveUserChanged( - const user_manager::User* user) { +void DemoModeResourcesRemover::ActiveUserChanged(user_manager::User* user) { // Ignore user activity in guest sessions. if (user->GetType() == user_manager::USER_TYPE_GUEST) return;
diff --git a/chrome/browser/chromeos/login/demo_mode/demo_mode_resources_remover.h b/chrome/browser/chromeos/login/demo_mode/demo_mode_resources_remover.h index 42a8d1c..a43214cd 100644 --- a/chrome/browser/chromeos/login/demo_mode/demo_mode_resources_remover.h +++ b/chrome/browser/chromeos/login/demo_mode/demo_mode_resources_remover.h
@@ -139,7 +139,7 @@ void LowDiskSpace(uint64_t free_disk_space) override; // user_manager::UserManager::UserSessionStateObserver: - void ActiveUserChanged(const user_manager::User* user) override; + void ActiveUserChanged(user_manager::User* user) override; // ui::UserActivityObserver: void OnUserActivity(const ui::Event* event) override;
diff --git a/chrome/browser/chromeos/login/demo_mode/demo_mode_resources_remover_unittest.cc b/chrome/browser/chromeos/login/demo_mode/demo_mode_resources_remover_unittest.cc index d8e8871..291d113d8 100644 --- a/chrome/browser/chromeos/login/demo_mode/demo_mode_resources_remover_unittest.cc +++ b/chrome/browser/chromeos/login/demo_mode/demo_mode_resources_remover_unittest.cc
@@ -118,7 +118,7 @@ void AddAndLogInUser(TestUserType type, DemoModeResourcesRemover* remover) { FakeChromeUserManager* user_manager = static_cast<FakeChromeUserManager*>(user_manager::UserManager::Get()); - const user_manager::User* user = nullptr; + user_manager::User* user = nullptr; switch (type) { case TestUserType::kRegular: user =
diff --git a/chrome/browser/chromeos/login/demo_mode/demo_session.cc b/chrome/browser/chromeos/login/demo_mode/demo_session.cc index 4d09b5d..4721762e 100644 --- a/chrome/browser/chromeos/login/demo_mode/demo_session.cc +++ b/chrome/browser/chromeos/login/demo_mode/demo_session.cc
@@ -412,19 +412,12 @@ return remove_splash_screen_fallback_timer_.get(); } -void DemoSession::ActiveUserChanged(const user_manager::User* user) { +void DemoSession::ActiveUserChanged(user_manager::User* active_user) { const base::RepeatingClosure hide_web_store_icon = base::BindRepeating([]() { ProfileManager::GetActiveUserProfile()->GetPrefs()->SetBoolean( prefs::kHideWebStoreIcon, true); }); - user_manager::User* active_user = - user_manager::UserManager::Get()->GetActiveUser(); - DCHECK_NE(active_user, user); - if (!active_user->is_profile_created()) { - active_user->AddProfileCreatedObserver(hide_web_store_icon); - return; - } - hide_web_store_icon.Run(); + active_user->AddProfileCreatedObserver(hide_web_store_icon); } DemoSession::DemoSession()
diff --git a/chrome/browser/chromeos/login/demo_mode/demo_session.h b/chrome/browser/chromeos/login/demo_mode/demo_session.h index d181f6c..1a2750b5 100644 --- a/chrome/browser/chromeos/login/demo_mode/demo_session.h +++ b/chrome/browser/chromeos/login/demo_mode/demo_session.h
@@ -155,7 +155,7 @@ base::OneShotTimer* GetTimerForTesting(); // user_manager::UserManager::UserSessionStateObserver: - void ActiveUserChanged(const user_manager::User* user) override; + void ActiveUserChanged(user_manager::User* active_user) override; // extensions::AppWindowRegistry::Observer: void OnAppWindowActivated(extensions::AppWindow* app_window) override;
diff --git a/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.cc index 82000d1..82da098 100644 --- a/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.cc
@@ -192,14 +192,7 @@ shut_down_(false), tpm_key_checked_(false) {} -EasyUnlockService::~EasyUnlockService() { - // TODO(crbug.com/969135): Remove this once crbug.com/969135 is resolved. - // This CHECK ensures that EasyUnlockService is shutdown before it's deleted. - // This is added because the stack trace of the crash in question implies - // that a deleted member variable of EasyUnlockService is being touched during - // EasyUnlockService::Shutdown(). - CHECK(shut_down_); -} +EasyUnlockService::~EasyUnlockService() = default; // static void EasyUnlockService::RegisterProfilePrefs(
diff --git a/chrome/browser/chromeos/login/lock/screen_locker.cc b/chrome/browser/chromeos/login/lock/screen_locker.cc index a2592e4..28e73e4 100644 --- a/chrome/browser/chromeos/login/lock/screen_locker.cc +++ b/chrome/browser/chromeos/login/lock/screen_locker.cc
@@ -155,12 +155,10 @@ ScreenLockObserver* g_screen_lock_observer = nullptr; -PinDialogManager* GetLoginScreenPinDialogManager() { +CertificateProviderService* GetLoginScreenCertProviderService() { DCHECK(ProfileHelper::IsSigninProfileInitialized()); - CertificateProviderService* certificate_provider_service = - CertificateProviderServiceFactory::GetForBrowserContext( - ProfileHelper::GetSigninProfile()); - return certificate_provider_service->pin_dialog_manager(); + return CertificateProviderServiceFactory::GetForBrowserContext( + ProfileHelper::GetSigninProfile()); } } // namespace @@ -196,7 +194,7 @@ fingerprint_observer_binding_.Bind(mojo::MakeRequest(&observer)); fp_service_->AddFingerprintObserver(std::move(observer)); - GetLoginScreenPinDialogManager()->AddPinDialogHost( + GetLoginScreenCertProviderService()->pin_dialog_manager()->AddPinDialogHost( &security_token_pin_dialog_host_ash_impl_); } @@ -253,8 +251,13 @@ if (auth_status_consumer_) auth_status_consumer_->OnAuthFailure(error); - if (on_auth_complete_) - std::move(on_auth_complete_).Run(false); + if (pending_auth_state_) { + GetLoginScreenCertProviderService() + ->AbortSignatureRequestsForAuthenticatingUser( + pending_auth_state_->account_id); + std::move(pending_auth_state_->callback).Run(false); + pending_auth_state_.reset(); + } } void ScreenLocker::OnAuthSuccess(const UserContext& user_context) { @@ -302,8 +305,10 @@ NOTREACHED() << "Logged in user not found."; } - if (on_auth_complete_) - std::move(on_auth_complete_).Run(true); + if (pending_auth_state_) { + std::move(pending_auth_state_->callback).Run(true); + pending_auth_state_.reset(); + } if (auth_status_consumer_) auth_status_consumer_->OnAuthSuccess(user_context); @@ -359,8 +364,9 @@ return; } - DCHECK(!on_auth_complete_); - on_auth_complete_ = std::move(callback); + DCHECK(!pending_auth_state_); + pending_auth_state_ = std::make_unique<AuthState>(user_context.GetAccountId(), + std::move(callback)); unlock_attempt_type_ = AUTH_PASSWORD; authentication_start_time_ = base::Time::Now(); @@ -410,8 +416,9 @@ return; } - DCHECK(!on_auth_complete_); - on_auth_complete_ = std::move(callback); + DCHECK(!pending_auth_state_); + pending_auth_state_ = + std::make_unique<AuthState>(account_id, std::move(callback)); unlock_attempt_type_ = AUTH_CHALLENGE_RESPONSE; challenge_response_auth_keys_loader_.LoadAvailableKeys( @@ -425,8 +432,10 @@ std::vector<ChallengeResponseKey> challenge_response_keys) { if (challenge_response_keys.empty()) { // TODO(crbug.com/826417): Indicate the error in the UI. - if (on_auth_complete_) - std::move(on_auth_complete_).Run(false /* auth_success */); + if (pending_auth_state_) { + std::move(pending_auth_state_->callback).Run(/*auth_success=*/false); + pending_auth_state_.reset(); + } return; } @@ -682,12 +691,19 @@ //////////////////////////////////////////////////////////////////////////////// // ScreenLocker, private: +ScreenLocker::AuthState::AuthState(AccountId account_id, + base::OnceCallback<void(bool)> callback) + : account_id(account_id), callback(std::move(callback)) {} + +ScreenLocker::AuthState::~AuthState() = default; + ScreenLocker::~ScreenLocker() { VLOG(1) << "Destroying ScreenLocker " << this; DCHECK(base::MessageLoopCurrentForUI::IsSet()); - GetLoginScreenPinDialogManager()->RemovePinDialogHost( - &security_token_pin_dialog_host_ash_impl_); + GetLoginScreenCertProviderService() + ->pin_dialog_manager() + ->RemovePinDialogHost(&security_token_pin_dialog_host_ash_impl_); if (authenticator_) authenticator_->SetConsumer(nullptr);
diff --git a/chrome/browser/chromeos/login/lock/screen_locker.h b/chrome/browser/chromeos/login/lock/screen_locker.h index 63cc0ed..bbd8ac1 100644 --- a/chrome/browser/chromeos/login/lock/screen_locker.h +++ b/chrome/browser/chromeos/login/lock/screen_locker.h
@@ -130,9 +130,9 @@ // the same login events that ScreenLocker does. void SetLoginStatusConsumer(chromeos::AuthStatusConsumer* consumer); - // Initialize or uninitialize the ScreenLocker class. It listens to - // NOTIFICATION_SESSION_STARTED so that the screen locker accepts lock - // requests only after a user has logged in. + // Initialize or uninitialize the ScreenLocker class. It observes + // SessionManager so that the screen locker accepts lock requests only after a + // user has logged in. static void InitClass(); static void ShutDownClass(); @@ -187,6 +187,17 @@ AUTH_COUNT }; + // State associated with a pending authentication attempt. + struct AuthState { + AuthState(AccountId account_id, base::OnceCallback<void(bool)> callback); + ~AuthState(); + + // Account that is being authenticated. + AccountId account_id; + // Callback that should be executed the authentication result is available. + base::OnceCallback<void(bool)> callback; + }; + ~ScreenLocker() override; void OnFingerprintAuthFailure(const user_manager::User& user); @@ -269,8 +280,8 @@ // Type of the last unlock attempt. UnlockType unlock_attempt_type_ = AUTH_PASSWORD; - // Callback to run, if any, when authentication is done. - AuthenticateCallback on_auth_complete_; + // State associated with a pending authentication attempt. + std::unique_ptr<AuthState> pending_auth_state_; scoped_refptr<input_method::InputMethodManager::State> saved_ime_state_;
diff --git a/chrome/browser/chromeos/login/screens/assistant_optin_flow_screen_browsertest.cc b/chrome/browser/chromeos/login/screens/assistant_optin_flow_screen_browsertest.cc index b15b4408..4fe9328 100644 --- a/chrome/browser/chromeos/login/screens/assistant_optin_flow_screen_browsertest.cc +++ b/chrome/browser/chromeos/login/screens/assistant_optin_flow_screen_browsertest.cc
@@ -34,7 +34,6 @@ #include "chromeos/services/assistant/public/mojom/settings.mojom.h" #include "chromeos/services/assistant/public/proto/settings_ui.pb.h" #include "chromeos/services/assistant/service.h" -#include "components/arc/arc_prefs.h" #include "components/prefs/pref_service.h" #include "mojo/public/cpp/bindings/binding_set.h" #include "net/dns/mock_host_resolver.h" @@ -508,7 +507,7 @@ PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); EXPECT_EQ(assistant::prefs::ConsentStatus::kActivityControlAccepted, prefs->GetInteger(assistant::prefs::kAssistantConsentStatus)); - EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)); EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled)); } @@ -548,7 +547,7 @@ PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); EXPECT_EQ(assistant::prefs::ConsentStatus::kActivityControlAccepted, prefs->GetInteger(assistant::prefs::kAssistantConsentStatus)); - EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)); EXPECT_FALSE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled)); } @@ -588,7 +587,7 @@ PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); EXPECT_EQ(assistant::prefs::ConsentStatus::kActivityControlAccepted, prefs->GetInteger(assistant::prefs::kAssistantConsentStatus)); - EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)); EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled)); } @@ -628,7 +627,7 @@ PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); EXPECT_EQ(assistant::prefs::ConsentStatus::kActivityControlAccepted, prefs->GetInteger(assistant::prefs::kAssistantConsentStatus)); - EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)); EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled)); } @@ -652,7 +651,7 @@ PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); EXPECT_EQ(assistant::prefs::ConsentStatus::kUnknown, prefs->GetInteger(assistant::prefs::kAssistantConsentStatus)); - EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_FALSE(prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)); EXPECT_FALSE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled)); } @@ -693,7 +692,7 @@ PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); EXPECT_EQ(assistant::prefs::ConsentStatus::kActivityControlAccepted, prefs->GetInteger(assistant::prefs::kAssistantConsentStatus)); - EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)); EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled)); } @@ -737,7 +736,7 @@ PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); EXPECT_EQ(assistant::prefs::ConsentStatus::kActivityControlAccepted, prefs->GetInteger(assistant::prefs::kAssistantConsentStatus)); - EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)); EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled)); } @@ -770,7 +769,7 @@ PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); EXPECT_EQ(assistant::prefs::ConsentStatus::kActivityControlAccepted, prefs->GetInteger(assistant::prefs::kAssistantConsentStatus)); - EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)); EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled)); } @@ -802,7 +801,7 @@ PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); EXPECT_EQ(assistant::prefs::ConsentStatus::kActivityControlAccepted, prefs->GetInteger(assistant::prefs::kAssistantConsentStatus)); - EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)); EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled)); } @@ -891,7 +890,7 @@ PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); EXPECT_EQ(assistant::prefs::ConsentStatus::kActivityControlAccepted, prefs->GetInteger(assistant::prefs::kAssistantConsentStatus)); - EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)); EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled)); } @@ -943,7 +942,7 @@ PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); EXPECT_EQ(assistant::prefs::ConsentStatus::kActivityControlAccepted, prefs->GetInteger(assistant::prefs::kAssistantConsentStatus)); - EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_FALSE(prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)); EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled)); } @@ -999,7 +998,7 @@ PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); EXPECT_EQ(assistant::prefs::ConsentStatus::kActivityControlAccepted, prefs->GetInteger(assistant::prefs::kAssistantConsentStatus)); - EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)); EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled)); } @@ -1016,8 +1015,8 @@ ExpectCollectedOptIns({}); PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); - EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionEnabled)); - EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantEnabled)); + EXPECT_FALSE(prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)); EXPECT_FALSE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled)); } @@ -1035,8 +1034,8 @@ ExpectCollectedOptIns({}); PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantDisabledByPolicy)); - EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionEnabled)); - EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_FALSE(prefs->GetBoolean(assistant::prefs::kAssistantEnabled)); + EXPECT_FALSE(prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)); EXPECT_FALSE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled)); }
diff --git a/chrome/browser/chromeos/login/screens/update_screen.cc b/chrome/browser/chromeos/login/screens/update_screen.cc index 7c917442..5609dd51 100644 --- a/chrome/browser/chromeos/login/screens/update_screen.cc +++ b/chrome/browser/chromeos/login/screens/update_screen.cc
@@ -8,29 +8,12 @@ #include "base/bind.h" #include "base/files/file_util.h" -#include "base/location.h" #include "base/logging.h" -#include "base/no_destructor.h" -#include "base/single_thread_task_runner.h" -#include "base/threading/sequenced_task_runner_handle.h" -#include "base/threading/thread_restrictions.h" -#include "base/threading/thread_task_runner_handle.h" -#include "base/time/default_tick_clock.h" #include "chrome/browser/chromeos/login/error_screens_histogram_helper.h" #include "chrome/browser/chromeos/login/screen_manager.h" -#include "chrome/browser/chromeos/login/screens/error_screen.h" #include "chrome/browser/chromeos/login/screens/network_error.h" -#include "chrome/browser/chromeos/login/startup_utils.h" -#include "chrome/browser/chromeos/login/wizard_controller.h" #include "chrome/browser/ui/webui/chromeos/login/update_screen_handler.h" -#include "chrome/grit/chromium_strings.h" -#include "chrome/grit/generated_resources.h" -#include "chromeos/dbus/dbus_thread_manager.h" #include "chromeos/network/network_state.h" -#include "content/public/browser/browser_thread.h" -#include "ui/base/l10n/l10n_util.h" - -using content::BrowserThread; namespace chromeos { @@ -41,49 +24,18 @@ constexpr const char kUserActionRejectUpdateOverCellular[] = "update-reject-cellular"; -#if !defined(OFFICIAL_BUILD) constexpr const char kUserActionCancelUpdateShortcut[] = "cancel-update"; -#endif - -// If reboot didn't happen, ask user to reboot device manually. -const int kWaitForRebootTimeSec = 3; - -// Progress bar stages. Each represents progress bar value -// at the beginning of each stage. -// TODO(nkostylev): Base stage progress values on approximate time. -// TODO(nkostylev): Animate progress during each state. -const int kBeforeUpdateCheckProgress = 7; -const int kBeforeDownloadProgress = 14; -const int kBeforeVerifyingProgress = 74; -const int kBeforeFinalizingProgress = 81; -const int kProgressComplete = 100; - -// Defines what part of update progress does download part takes. -const int kDownloadProgressIncrement = 60; const char kUpdateDeadlineFile[] = "/tmp/update-check-response-deadline"; -// Minimum timestep between two consecutive measurements for the download rates. -const int kMinTimeStepInSeconds = 1; - -// Smooth factor that is used for the average downloading speed -// estimation. -// avg_speed = smooth_factor * cur_speed + (1.0 - smooth_factor) * -// avg_speed. -const double kDownloadSpeedSmoothFactor = 0.1; - -// Minumum allowed value for the average downloading speed. -const double kDownloadAverageSpeedDropBound = 1e-8; - -// An upper bound for possible downloading time left estimations. -const double kMaxTimeLeft = 24 * 60 * 60; - // Delay before showing error message if captive portal is detected. // We wait for this delay to let captive portal to perform redirect and show // its login page before error message appears. -const int kDelayErrorMessageSec = 10; +constexpr const base::TimeDelta kDelayErrorMessage = + base::TimeDelta::FromSeconds(10); -const int kShowDelayMs = 400; +constexpr const base::TimeDelta kShowDelay = + base::TimeDelta::FromMicroseconds(400); } // anonymous namespace @@ -96,12 +48,12 @@ ErrorScreen* error_screen, const ScreenExitCallback& exit_callback) : BaseScreen(UpdateView::kScreenId), - tick_clock_(base::DefaultTickClock::GetInstance()), - reboot_check_delay_(kWaitForRebootTimeSec), view_(view), error_screen_(error_screen), exit_callback_(exit_callback), - histogram_helper_(new ErrorScreensHistogramHelper("Update")) { + histogram_helper_( + std::make_unique<ErrorScreensHistogramHelper>("Update")), + version_updater_(std::make_unique<VersionUpdater>(this)) { if (view_) view_->Bind(this); } @@ -109,9 +61,6 @@ UpdateScreen::~UpdateScreen() { if (view_) view_->Unbind(); - - DBusThreadManager::Get()->GetUpdateEngineClient()->RemoveObserver(this); - network_portal_detector::GetInstance()->RemoveObserver(this); } void UpdateScreen::OnViewDestroyed(UpdateView* view) { @@ -119,253 +68,19 @@ view_ = nullptr; } -void UpdateScreen::StartNetworkCheck() { - // If portal detector is enabled and portal detection before AU is - // allowed, initiate network state check. Otherwise, directly - // proceed to update. - if (!network_portal_detector::GetInstance()->IsEnabled()) { - StartUpdateCheck(); - return; - } - state_ = State::STATE_FIRST_PORTAL_CHECK; - is_first_detection_notification_ = true; - is_first_portal_notification_ = true; - network_portal_detector::GetInstance()->AddAndFireObserver(this); -} - -void UpdateScreen::SetIgnoreIdleStatus(bool ignore_idle_status) { - ignore_idle_status_ = ignore_idle_status; -} - -void UpdateScreen::ExitUpdate(Result result) { - DBusThreadManager::Get()->GetUpdateEngineClient()->RemoveObserver(this); - network_portal_detector::GetInstance()->RemoveObserver(this); - show_timer_.Stop(); - - exit_callback_.Run(result); -} - -void UpdateScreen::UpdateStatusChanged( - const UpdateEngineClient::Status& status) { - if (is_checking_for_update_ && - status.status > UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE && - status.status != UpdateEngineClient::UPDATE_STATUS_ERROR && - status.status != - UpdateEngineClient::UPDATE_STATUS_REPORTING_ERROR_EVENT) { - is_checking_for_update_ = false; - } - if (ignore_idle_status_ && - status.status > UpdateEngineClient::UPDATE_STATUS_IDLE) { - ignore_idle_status_ = false; - } - - switch (status.status) { - case UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE: - // Do nothing in these cases, we don't want to notify the user of the - // check unless there is an update. - break; - case UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE: - MakeSureScreenIsShown(); - if (view_) { - view_->SetProgress(kBeforeDownloadProgress); - view_->SetShowEstimatedTimeLeft(false); - } - if (!HasCriticalUpdate()) { - VLOG(1) << "Noncritical update available: " << status.new_version; - ExitUpdate(Result::UPDATE_NOT_REQUIRED); - } else { - VLOG(1) << "Critical update available: " << status.new_version; - if (view_) { - view_->SetProgressMessage( - l10n_util::GetStringUTF16(IDS_UPDATE_AVAILABLE)); - view_->SetShowCurtain(false); - } - } - break; - case UpdateEngineClient::UPDATE_STATUS_DOWNLOADING: - MakeSureScreenIsShown(); - if (!is_downloading_update_) { - // Because update engine doesn't send UPDATE_STATUS_UPDATE_AVAILABLE - // we need to is update critical on first downloading notification. - is_downloading_update_ = true; - download_start_time_ = download_last_time_ = tick_clock_->NowTicks(); - download_start_progress_ = status.download_progress; - download_last_progress_ = status.download_progress; - is_download_average_speed_computed_ = false; - download_average_speed_ = 0.0; - if (!HasCriticalUpdate()) { - VLOG(1) << "Non-critical update available: " << status.new_version; - ExitUpdate(Result::UPDATE_NOT_REQUIRED); - } else { - VLOG(1) << "Critical update available: " << status.new_version; - if (view_) { - view_->SetProgressMessage( - l10n_util::GetStringUTF16(IDS_INSTALLING_UPDATE)); - view_->SetShowCurtain(false); - } - } - } - UpdateDownloadingStats(status); - break; - case UpdateEngineClient::UPDATE_STATUS_VERIFYING: - MakeSureScreenIsShown(); - if (view_) { - view_->SetProgress(kBeforeVerifyingProgress); - view_->SetProgressMessage( - l10n_util::GetStringUTF16(IDS_UPDATE_VERIFYING)); - } - break; - case UpdateEngineClient::UPDATE_STATUS_FINALIZING: - MakeSureScreenIsShown(); - if (view_) { - view_->SetProgress(kBeforeFinalizingProgress); - view_->SetProgressMessage( - l10n_util::GetStringUTF16(IDS_UPDATE_FINALIZING)); - } - break; - case UpdateEngineClient::UPDATE_STATUS_UPDATED_NEED_REBOOT: - MakeSureScreenIsShown(); - if (view_) { - view_->SetProgress(kProgressComplete); - view_->SetShowEstimatedTimeLeft(false); - } - if (HasCriticalUpdate()) { - if (view_) - view_->SetShowCurtain(false); - VLOG(1) << "Initiate reboot after update"; - DBusThreadManager::Get()->GetUpdateEngineClient()->RebootAfterUpdate(); - reboot_timer_.Start(FROM_HERE, - base::TimeDelta::FromSeconds(reboot_check_delay_), - this, &UpdateScreen::OnWaitForRebootTimeElapsed); - } else { - ExitUpdate(Result::UPDATE_NOT_REQUIRED); - } - break; - case UpdateEngineClient::UPDATE_STATUS_NEED_PERMISSION_TO_UPDATE: - VLOG(1) << "Update requires user permission to proceed."; - state_ = State::STATE_REQUESTING_USER_PERMISSION; - pending_update_version_ = status.new_version; - pending_update_size_ = status.new_size; - - DBusThreadManager::Get()->GetUpdateEngineClient()->RemoveObserver(this); - - MakeSureScreenIsShown(); - if (view_) { - view_->SetRequiresPermissionForCellular(true); - view_->SetShowCurtain(false); - } - break; - case UpdateEngineClient::UPDATE_STATUS_ATTEMPTING_ROLLBACK: - VLOG(1) << "Attempting rollback"; - break; - case UpdateEngineClient::UPDATE_STATUS_IDLE: - // Exit update only if update engine was in non-idle status before. - // Otherwise, it's possible that the update request has not yet been - // started. - if (!ignore_idle_status_) - ExitUpdate(Result::UPDATE_NOT_REQUIRED); - break; - case UpdateEngineClient::UPDATE_STATUS_ERROR: - case UpdateEngineClient::UPDATE_STATUS_REPORTING_ERROR_EVENT: - // Ignore update errors for non-critical updates to prevent blocking the - // user from getting to login screen during OOBE if the pending update is - // not critical. - if (is_checking_for_update_ || !HasCriticalUpdate()) { - ExitUpdate(Result::UPDATE_NOT_REQUIRED); - } else { - ExitUpdate(Result::UPDATE_ERROR); - } - break; - } -} - -void UpdateScreen::OnPortalDetectionCompleted( - const NetworkState* network, - const NetworkPortalDetector::CaptivePortalState& state) { - VLOG(1) << "UpdateScreen::OnPortalDetectionCompleted(): " - << "network=" << (network ? network->path() : "") << ", " - << "state.status=" << state.status << ", " - << "state.response_code=" << state.response_code; - - // Wait for sane detection results. - if (network && - state.status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN) { - return; - } - - // Restart portal detection for the first notification about offline state. - if ((!network || - state.status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_OFFLINE) && - is_first_detection_notification_) { - is_first_detection_notification_ = false; - base::ThreadTaskRunnerHandle::Get()->PostTask( - FROM_HERE, base::BindOnce([]() { - network_portal_detector::GetInstance()->StartPortalDetection( - false /* force */); - })); - return; - } - is_first_detection_notification_ = false; - - NetworkPortalDetector::CaptivePortalStatus status = state.status; - if (state_ == State::STATE_ERROR) { - // In the case of online state hide error message and proceed to - // the update stage. Otherwise, update error message content. - if (status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE) - StartUpdateCheck(); - else - UpdateErrorMessage(network, status); - } else if (state_ == State::STATE_FIRST_PORTAL_CHECK) { - // In the case of online state immediately proceed to the update - // stage. Otherwise, prepare and show error message. - if (status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE) { - StartUpdateCheck(); - } else { - UpdateErrorMessage(network, status); - - // StartUpdateCheck, which gets called when the error clears up, will add - // the update engine observer back. - DBusThreadManager::Get()->GetUpdateEngineClient()->RemoveObserver(this); - - if (status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL) - DelayErrorMessage(); - else - ShowErrorMessage(); - } - } -} - -void UpdateScreen::CancelUpdate() { - VLOG(1) << "Forced update cancel"; - ExitUpdate(Result::UPDATE_NOT_REQUIRED); -} - -base::OneShotTimer* UpdateScreen::GetShowTimerForTesting() { - return &show_timer_; -} - -base::OneShotTimer* UpdateScreen::GetErrorMessageTimerForTesting() { - return &error_message_timer_; -} - -base::OneShotTimer* UpdateScreen::GetRebootTimerForTesting() { - return &reboot_timer_; -} - void UpdateScreen::Show() { - if (view_) { #if !defined(OFFICIAL_BUILD) + if (view_) { view_->SetCancelUpdateShortcutEnabled(true); -#endif - view_->SetProgress(kBeforeUpdateCheckProgress); - view_->SetRequiresPermissionForCellular(false); } +#endif + RefreshView(version_updater_->update_info()); - show_timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(kShowDelayMs), + show_timer_.Start(FROM_HERE, kShowDelay, base::BindOnce(&UpdateScreen::MakeSureScreenIsShown, weak_factory_.GetWeakPtr())); - StartNetworkCheck(); + version_updater_->StartNetworkCheck(); } void UpdateScreen::Hide() { @@ -376,97 +91,174 @@ } void UpdateScreen::OnUserAction(const std::string& action_id) { -#if !defined(OFFICIAL_BUILD) - if (action_id == kUserActionCancelUpdateShortcut) - CancelUpdate(); - else + bool is_official_build = false; +#if defined(OFFICIAL_BUILD) + is_official_build = true; #endif - if (action_id == kUserActionAcceptUpdateOverCellular) { - DBusThreadManager::Get() - ->GetUpdateEngineClient() - ->SetUpdateOverCellularOneTimePermission( - pending_update_version_, pending_update_size_, - base::BindRepeating( - &UpdateScreen::RetryUpdateWithUpdateOverCellularPermissionSet, - weak_factory_.GetWeakPtr())); + + if (!is_official_build && action_id == kUserActionCancelUpdateShortcut) { + // Skip update UI, usually used only in debug builds/tests. + VLOG(1) << "Forced update cancel"; + ExitUpdate(Result::UPDATE_NOT_REQUIRED); + } else if (action_id == kUserActionAcceptUpdateOverCellular) { + version_updater_->SetUpdateOverCellularOneTimePermission(); } else if (action_id == kUserActionRejectUpdateOverCellular) { - // Reset UI context to show curtain again when the user goes back to the - // update screen. - if (view_) { - view_->SetShowCurtain(true); - view_->SetRequiresPermissionForCellular(false); - } + version_updater_->RejectUpdateOverCellular(); ExitUpdate(Result::UPDATE_ERROR); } else { BaseScreen::OnUserAction(action_id); } } -void UpdateScreen::RetryUpdateWithUpdateOverCellularPermissionSet( - bool success) { - if (success) { - if (view_) - view_->SetRequiresPermissionForCellular(false); - StartUpdateCheck(); - } else { - // Reset UI context to show curtain again when the user goes back to the - // update screen. - if (view_) { - view_->SetShowCurtain(true); - view_->SetRequiresPermissionForCellular(false); +base::OneShotTimer* UpdateScreen::GetShowTimerForTesting() { + return &show_timer_; +} + +base::OneShotTimer* UpdateScreen::GetErrorMessageTimerForTesting() { + return &error_message_timer_; +} + +VersionUpdater* UpdateScreen::GetVersionUpdaterForTesting() { + return version_updater_.get(); +} + +void UpdateScreen::ExitUpdate(Result result) { + version_updater_->StartExitUpdate(result); +} + +void UpdateScreen::OnWaitForRebootTimeElapsed() { + LOG(ERROR) << "Unable to reboot - asking user for a manual reboot."; + MakeSureScreenIsShown(); + if (view_) + view_->SetUpdateCompleted(true); +} + +void UpdateScreen::PrepareForUpdateCheck() { + error_message_timer_.Stop(); + error_screen_->HideCaptivePortal(); + + connect_request_subscription_.reset(); + if (version_updater_->update_info().state == + VersionUpdater::State::STATE_ERROR) + HideErrorMessage(); +} + +void UpdateScreen::ShowErrorMessage() { + LOG(WARNING) << "UpdateScreen::ShowErrorMessage()"; + + error_message_timer_.Stop(); + + is_shown_ = false; + show_timer_.Stop(); + + connect_request_subscription_ = + error_screen_->RegisterConnectRequestCallback(base::BindRepeating( + &UpdateScreen::OnConnectRequested, weak_factory_.GetWeakPtr())); + error_screen_->SetUIState(NetworkError::UI_STATE_UPDATE); + error_screen_->SetParentScreen(UpdateView::kScreenId); + error_screen_->SetHideCallback(base::BindRepeating( + &UpdateScreen::OnErrorScreenHidden, weak_factory_.GetWeakPtr())); + error_screen_->Show(); + histogram_helper_->OnErrorShow(error_screen_->GetErrorState()); +} + +void UpdateScreen::UpdateErrorMessage( + const NetworkPortalDetector::CaptivePortalStatus status, + const NetworkError::ErrorState& error_state, + const std::string& network_name) { + error_screen_->SetErrorState(error_state, network_name); + if (status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL) { + if (is_first_portal_notification_) { + is_first_portal_notification_ = false; + error_screen_->FixCaptivePortal(); } - ExitUpdate(Result::UPDATE_ERROR); } } -void UpdateScreen::UpdateDownloadingStats( - const UpdateEngineClient::Status& status) { - base::TimeTicks download_current_time = tick_clock_->NowTicks(); - if (download_current_time >= - download_last_time_ + - base::TimeDelta::FromSeconds(kMinTimeStepInSeconds)) { - // Estimate downloading rate. - double progress_delta = - std::max(status.download_progress - download_last_progress_, 0.0); - double time_delta = - (download_current_time - download_last_time_).InSecondsF(); - double download_rate = status.new_size * progress_delta / time_delta; +void UpdateScreen::DelayErrorMessage() { + if (error_message_timer_.IsRunning()) + return; - download_last_time_ = download_current_time; - download_last_progress_ = status.download_progress; + error_message_timer_.Start(FROM_HERE, kDelayErrorMessage, this, + &UpdateScreen::ShowErrorMessage); +} - // Estimate time left. - double progress_left = std::max(1.0 - status.download_progress, 0.0); - if (!is_download_average_speed_computed_) { - download_average_speed_ = download_rate; - is_download_average_speed_computed_ = true; - } - download_average_speed_ = - kDownloadSpeedSmoothFactor * download_rate + - (1.0 - kDownloadSpeedSmoothFactor) * download_average_speed_; - if (download_average_speed_ < kDownloadAverageSpeedDropBound) { - time_delta = (download_current_time - download_start_time_).InSecondsF(); - download_average_speed_ = - status.new_size * - (status.download_progress - download_start_progress_) / time_delta; - } - double work_left = progress_left * status.new_size; - // time_left is in seconds. - double time_left = work_left / download_average_speed_; - // |time_left| may be large enough or even +infinity. So we must - // |bound possible estimations. - time_left = std::min(time_left, kMaxTimeLeft); - - if (view_) { - view_->SetShowEstimatedTimeLeft(true); - view_->SetEstimatedTimeLeft(static_cast<int>(time_left)); - } +void UpdateScreen::UpdateInfoChanged( + const VersionUpdater::UpdateInfo& update_info) { + const UpdateEngineClient::Status& status = update_info.status; + hide_progress_on_exit_ = false; + bool need_refresh_view = true; + switch (status.status) { + case UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE: + // Do nothing in this case, we don't want to notify the user of the + // check unless there is an update. + case UpdateEngineClient::UPDATE_STATUS_ATTEMPTING_ROLLBACK: + case UpdateEngineClient::UPDATE_STATUS_IDLE: + need_refresh_view = false; + break; + case UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE: + case UpdateEngineClient::UPDATE_STATUS_DOWNLOADING: + MakeSureScreenIsShown(); + if (!is_critical_checked_) { + // Because update engine doesn't send UPDATE_STATUS_UPDATE_AVAILABLE we + // need to check if update is critical on first downloading + // notification. + is_critical_checked_ = true; + if (!HasCriticalUpdate()) { + VLOG(1) << "Non-critical update available: " << status.new_version; + hide_progress_on_exit_ = true; + ExitUpdate(Result::UPDATE_NOT_REQUIRED); + } else { + VLOG(1) << "Critical update available: " << status.new_version; + } + } + break; + case UpdateEngineClient::UPDATE_STATUS_VERIFYING: + case UpdateEngineClient::UPDATE_STATUS_FINALIZING: + case UpdateEngineClient::UPDATE_STATUS_NEED_PERMISSION_TO_UPDATE: + MakeSureScreenIsShown(); + break; + case UpdateEngineClient::UPDATE_STATUS_UPDATED_NEED_REBOOT: + MakeSureScreenIsShown(); + if (HasCriticalUpdate()) { + version_updater_->RebootAfterUpdate(); + } else { + hide_progress_on_exit_ = true; + ExitUpdate(Result::UPDATE_NOT_REQUIRED); + } + break; + case UpdateEngineClient::UPDATE_STATUS_ERROR: + case UpdateEngineClient::UPDATE_STATUS_REPORTING_ERROR_EVENT: + // Ignore update errors for non-critical updates to prevent blocking the + // user from getting to login screen during OOBE if the pending update is + // not critical. + if (update_info.is_checking_for_update || !HasCriticalUpdate()) { + ExitUpdate(Result::UPDATE_NOT_REQUIRED); + } else { + ExitUpdate(Result::UPDATE_ERROR); + } + need_refresh_view = false; + break; } + if (need_refresh_view) + RefreshView(update_info); +} +void UpdateScreen::FinishExitUpdate(Result result) { + show_timer_.Stop(); + exit_callback_.Run(result); +} + +void UpdateScreen::RefreshView(const VersionUpdater::UpdateInfo& update_info) { if (view_) { - int download_progress = - static_cast<int>(status.download_progress * kDownloadProgressIncrement); - view_->SetProgress(kBeforeDownloadProgress + download_progress); + view_->SetProgress(update_info.progress); + view_->SetProgressMessage(update_info.progress_message); + view_->SetEstimatedTimeLeft(update_info.estimated_time_left_in_secs); + view_->SetShowEstimatedTimeLeft(update_info.show_estimated_time_left); + view_->SetShowCurtain(update_info.progress_unavailable || + hide_progress_on_exit_); + view_->SetRequiresPermissionForCellular( + update_info.requires_permission_for_cellular); } } @@ -489,13 +281,6 @@ return true; } -void UpdateScreen::OnWaitForRebootTimeElapsed() { - LOG(ERROR) << "Unable to reboot - asking user for a manual reboot."; - MakeSureScreenIsShown(); - if (view_) - view_->SetUpdateCompleted(true); -} - void UpdateScreen::MakeSureScreenIsShown() { show_timer_.Stop(); @@ -508,104 +293,17 @@ view_->Show(); } -void UpdateScreen::StartUpdateCheck() { - error_message_timer_.Stop(); - error_screen_->HideCaptivePortal(); - - network_portal_detector::GetInstance()->RemoveObserver(this); - connect_request_subscription_.reset(); - if (state_ == State::STATE_ERROR) - HideErrorMessage(); - - pending_update_version_ = std::string(); - pending_update_size_ = 0; - - state_ = State::STATE_UPDATE; - DBusThreadManager::Get()->GetUpdateEngineClient()->AddObserver(this); - VLOG(1) << "Initiate update check"; - DBusThreadManager::Get()->GetUpdateEngineClient()->RequestUpdateCheck( - base::BindRepeating(&UpdateScreen::OnUpdateCheckStarted, - weak_factory_.GetWeakPtr())); -} - -void UpdateScreen::ShowErrorMessage() { - LOG(WARNING) << "UpdateScreen::ShowErrorMessage()"; - - error_message_timer_.Stop(); - - is_shown_ = false; - show_timer_.Stop(); - - state_ = State::STATE_ERROR; - connect_request_subscription_ = - error_screen_->RegisterConnectRequestCallback(base::BindRepeating( - &UpdateScreen::OnConnectRequested, base::Unretained(this))); - error_screen_->SetUIState(NetworkError::UI_STATE_UPDATE); - error_screen_->SetParentScreen(UpdateView::kScreenId); - error_screen_->SetHideCallback(base::BindRepeating( - &UpdateScreen::OnErrorScreenHidden, weak_factory_.GetWeakPtr())); - error_screen_->Show(); - histogram_helper_->OnErrorShow(error_screen_->GetErrorState()); -} - void UpdateScreen::HideErrorMessage() { LOG(WARNING) << "UpdateScreen::HideErrorMessage()"; error_screen_->Hide(); histogram_helper_->OnErrorHide(); } -void UpdateScreen::UpdateErrorMessage( - const NetworkState* network, - const NetworkPortalDetector::CaptivePortalStatus status) { - switch (status) { - case NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE: - NOTREACHED(); - break; - case NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN: - case NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_OFFLINE: - error_screen_->SetErrorState(NetworkError::ERROR_STATE_OFFLINE, - std::string()); - break; - case NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL: - DCHECK(network); - error_screen_->SetErrorState(NetworkError::ERROR_STATE_PORTAL, - network->name()); - if (is_first_portal_notification_) { - is_first_portal_notification_ = false; - error_screen_->FixCaptivePortal(); - } - break; - case NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED: - error_screen_->SetErrorState(NetworkError::ERROR_STATE_PROXY, - std::string()); - break; - default: - NOTREACHED(); - break; - } -} - -void UpdateScreen::DelayErrorMessage() { - if (error_message_timer_.IsRunning()) - return; - - state_ = State::STATE_ERROR; - error_message_timer_.Start( - FROM_HERE, base::TimeDelta::FromSeconds(kDelayErrorMessageSec), this, - &UpdateScreen::ShowErrorMessage); -} - -void UpdateScreen::OnUpdateCheckStarted( - UpdateEngineClient::UpdateCheckResult result) { - VLOG(1) << "Callback from RequestUpdateCheck, result " << result; - if (result != UpdateEngineClient::UPDATE_RESULT_SUCCESS) - ExitUpdate(Result::UPDATE_NOT_REQUIRED); -} - void UpdateScreen::OnConnectRequested() { - if (state_ == State::STATE_ERROR) { + if (version_updater_->update_info().state == + VersionUpdater::State::STATE_ERROR) { LOG(WARNING) << "Hiding error message since AP was reselected"; - StartUpdateCheck(); + version_updater_->StartUpdateCheck(); } }
diff --git a/chrome/browser/chromeos/login/screens/update_screen.h b/chrome/browser/chromeos/login/screens/update_screen.h index 663f7f5..7279b4de 100644 --- a/chrome/browser/chromeos/login/screens/update_screen.h +++ b/chrome/browser/chromeos/login/screens/update_screen.h
@@ -5,17 +5,17 @@ #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_UPDATE_SCREEN_H_ #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_UPDATE_SCREEN_H_ +#include <memory> +#include <string> + #include "base/callback.h" -#include "base/compiler_specific.h" #include "base/gtest_prod_util.h" #include "base/macros.h" #include "base/memory/weak_ptr.h" -#include "base/time/time.h" #include "base/timer/timer.h" #include "chrome/browser/chromeos/login/screens/base_screen.h" #include "chrome/browser/chromeos/login/screens/error_screen.h" -#include "chromeos/dbus/update_engine_client.h" -#include "chromeos/network/portal_detector/network_portal_detector.h" +#include "chrome/browser/chromeos/login/version_updater/version_updater.h" namespace base { class TickClock; @@ -23,9 +23,7 @@ namespace chromeos { -class ErrorScreen; class ErrorScreensHistogramHelper; -class NetworkState; class ScreenManager; class UpdateView; @@ -55,16 +53,11 @@ // has network connectivity - if the current network is not online (e.g. behind // a protal), it will request an ErrorScreen to be shown. Update check will be // delayed until the Internet connectivity is established. -class UpdateScreen : public BaseScreen, - public UpdateEngineClient::Observer, - public NetworkPortalDetector::Observer { +class UpdateScreen : public BaseScreen, public VersionUpdater::Delegate { public: - static UpdateScreen* Get(ScreenManager* manager); + using Result = VersionUpdater::Result; - enum class Result { - UPDATE_NOT_REQUIRED, - UPDATE_ERROR, - }; + static UpdateScreen* Get(ScreenManager* manager); using ScreenExitCallback = base::RepeatingCallback<void(Result result)>; UpdateScreen(UpdateView* view, @@ -76,19 +69,6 @@ // associated View if this class is destroyed before it. void OnViewDestroyed(UpdateView* view); - void SetIgnoreIdleStatus(bool ignore_idle_status); - - // UpdateEngineClient::Observer implementation: - void UpdateStatusChanged(const UpdateEngineClient::Status& status) override; - - // NetworkPortalDetector::Observer implementation: - void OnPortalDetectionCompleted( - const NetworkState* network, - const NetworkPortalDetector::CaptivePortalState& state) override; - - // Skip update UI, usually used only in debug builds/tests. - void CancelUpdate(); - // BaseScreen: void Show() override; void Hide() override; @@ -96,18 +76,26 @@ base::OneShotTimer* GetShowTimerForTesting(); base::OneShotTimer* GetErrorMessageTimerForTesting(); - base::OneShotTimer* GetRebootTimerForTesting(); + VersionUpdater* GetVersionUpdaterForTesting(); void set_ignore_update_deadlines_for_testing(bool ignore_update_deadlines) { ignore_update_deadlines_ = ignore_update_deadlines; } - void set_tick_clock_for_testing(const base::TickClock* tick_clock) { - tick_clock_ = tick_clock; - } + // VersionUpdater::Delegate: + void OnWaitForRebootTimeElapsed() override; + void PrepareForUpdateCheck() override; + void ShowErrorMessage() override; + void UpdateErrorMessage( + const NetworkPortalDetector::CaptivePortalStatus status, + const NetworkError::ErrorState& error_state, + const std::string& network_name) override; + void DelayErrorMessage() override; + void UpdateInfoChanged( + const VersionUpdater::UpdateInfo& update_info) override; + void FinishExitUpdate(VersionUpdater::Result result) override; protected: - // Reports update results. void ExitUpdate(Result result); private: @@ -116,49 +104,16 @@ FRIEND_TEST_ALL_PREFIXES(UpdateScreenTest, TestAPReselection); friend class UpdateScreenUnitTest; - enum class State { - STATE_IDLE = 0, - STATE_FIRST_PORTAL_CHECK, - STATE_REQUESTING_USER_PERMISSION, - STATE_UPDATE, - STATE_ERROR - }; - - // Starts network check. - void StartNetworkCheck(); - - // Callback to UpdateEngineClient::SetUpdateOverCellularOneTimePermission - // called in response to user confirming that the OS update can proceed - // despite being over cellular charges. - // |success|: whether the update engine accepted the user permission. - void RetryUpdateWithUpdateOverCellularPermissionSet(bool success); - - // Updates downloading stats (remaining time and downloading - // progress) on the AU screen. - void UpdateDownloadingStats(const UpdateEngineClient::Status& status); + void RefreshView(const VersionUpdater::UpdateInfo& update_info); // Returns true if there is critical system update that requires installation // and immediate reboot. bool HasCriticalUpdate(); - // Timer notification handlers. - void OnWaitForRebootTimeElapsed(); - // Checks that screen is shown, shows if not. void MakeSureScreenIsShown(); - void StartUpdateCheck(); - void ShowErrorMessage(); void HideErrorMessage(); - void UpdateErrorMessage( - const NetworkState* network, - const NetworkPortalDetector::CaptivePortalStatus status); - - void DelayErrorMessage(); - - // Callback for UpdateEngineClient::RequestUpdateCheck() called fomr - // StartUpdateCheck(). - void OnUpdateCheckStarted(UpdateEngineClient::UpdateCheckResult result); // The user requested an attempt to connect to the network should be made. void OnConnectRequested(); @@ -167,64 +122,33 @@ // screen gets hidden. void OnErrorScreenHidden(); - // Timer for the interval to wait for the reboot. - // If reboot didn't happen - ask user to reboot manually. - base::OneShotTimer reboot_timer_; + UpdateView* view_; + ErrorScreen* error_screen_; + ScreenExitCallback exit_callback_; - // Current state of the update screen. - State state_ = State::STATE_IDLE; - - const base::TickClock* tick_clock_; - - // Time in seconds after which we decide that the device has not rebooted - // automatically. If reboot didn't happen during this interval, ask user to - // reboot device manually. - int reboot_check_delay_ = 0; - - // True if in the process of checking for update. - bool is_checking_for_update_ = true; - // Flag that is used to detect when update download has just started. - bool is_downloading_update_ = false; // If true, update deadlines are ignored. // Note, this is false by default. bool ignore_update_deadlines_ = false; // Whether the update screen is shown. bool is_shown_ = false; - // Ignore fist IDLE status that is sent before update screen initiated check. - bool ignore_idle_status_ = true; - - UpdateView* view_; - ErrorScreen* error_screen_; - ScreenExitCallback exit_callback_; - - // Time of the first notification from the downloading stage. - base::TimeTicks download_start_time_; - double download_start_progress_ = 0; - - // Time of the last notification from the downloading stage. - base::TimeTicks download_last_time_; - double download_last_progress_ = 0; - - bool is_download_average_speed_computed_ = false; - double download_average_speed_ = 0; - - // True if there was no notification from NetworkPortalDetector - // about state for the default network. - bool is_first_detection_notification_ = true; // True if there was no notification about captive portal state for // the default network. bool is_first_portal_notification_ = true; - // Information about a pending update. Set if a user permission is required to - // proceed with the update. The values have to be passed to the update engine - // in SetUpdateOverCellularOneTimePermission method in order to enable update - // over cellular network. - std::string pending_update_version_; - int64_t pending_update_size_ = 0; + // True if already checked that update is critical. + bool is_critical_checked_ = false; + + // True if the update progress should be hidden even if update_info suggests + // the opposite. + bool hide_progress_on_exit_ = false; + // True if it is possible for user to skip update check. + bool cancel_update_shortcut_enabled_ = false; std::unique_ptr<ErrorScreensHistogramHelper> histogram_helper_; + std::unique_ptr<VersionUpdater> version_updater_; + // Showing the update screen view will be delayed for a small amount of time // after UpdateScreen::Show() is called. If the screen determines that an // update is not required before the delay expires, the UpdateScreen will exit
diff --git a/chrome/browser/chromeos/login/screens/update_screen_browsertest.cc b/chrome/browser/chromeos/login/screens/update_screen_browsertest.cc index 1ffc66f..90eb7c9 100644 --- a/chrome/browser/chromeos/login/screens/update_screen_browsertest.cc +++ b/chrome/browser/chromeos/login/screens/update_screen_browsertest.cc
@@ -15,11 +15,11 @@ #include "base/time/time.h" #include "chrome/browser/chromeos/login/login_wizard.h" #include "chrome/browser/chromeos/login/screens/error_screen.h" -#include "chrome/browser/chromeos/login/screens/update_screen.h" #include "chrome/browser/chromeos/login/test/js_checker.h" #include "chrome/browser/chromeos/login/test/network_portal_detector_mixin.h" #include "chrome/browser/chromeos/login/test/oobe_screen_waiter.h" #include "chrome/browser/chromeos/login/ui/login_display_host.h" +#include "chrome/browser/chromeos/login/version_updater/version_updater.h" #include "chrome/browser/ui/webui/chromeos/login/error_screen_handler.h" #include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h" #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" @@ -75,7 +75,8 @@ GetOobeUI()->GetView<UpdateScreenHandler>(), error_screen_, base::BindRepeating(&UpdateScreenTest::HandleScreenExit, base::Unretained(this))); - update_screen_->set_tick_clock_for_testing(&tick_clock_); + version_updater_ = update_screen_->GetVersionUpdaterForTesting(); + version_updater_->set_tick_clock_for_testing(&tick_clock_); MixinBasedInProcessBrowserTest::SetUpOnMainThread(); } @@ -103,6 +104,8 @@ NetworkPortalDetectorMixin network_portal_detector_{&mixin_host_}; std::unique_ptr<UpdateScreen> update_screen_; + // Version updater - owned by |update_screen_|. + VersionUpdater* version_updater_ = nullptr; // Error screen - owned by OobeUI. ErrorScreen* error_screen_ = nullptr; @@ -358,8 +361,8 @@ EXPECT_EQ(1, fake_update_engine_client_->reboot_after_update_call_count()); // Simulate the situation where reboot does not happen in time. - ASSERT_TRUE(update_screen_->GetRebootTimerForTesting()->IsRunning()); - update_screen_->GetRebootTimerForTesting()->FireNow(); + ASSERT_TRUE(version_updater_->GetRebootTimerForTesting()->IsRunning()); + version_updater_->GetRebootTimerForTesting()->FireNow(); test::OobeJS().ExpectHiddenPath({"oobe-update-md", "updating-progress"}); test::OobeJS().ExpectEQ("$('oobe-update-md').$$('#updating-progress').value", @@ -389,7 +392,7 @@ // GetLastStatus() will be called via ExitUpdate() called from // UpdateStatusChanged(). fake_update_engine_client_->set_default_status(status); - update_screen_->UpdateStatusChanged(status); + version_updater_->UpdateStatusChangedForTesting(status); ASSERT_TRUE(last_screen_result_.has_value()); EXPECT_EQ(UpdateScreen::Result::UPDATE_NOT_REQUIRED, @@ -606,7 +609,7 @@ {"oobe-update-md", "checking-for-updates-dialog"}); status.status = UpdateEngineClient::UPDATE_STATUS_UPDATED_NEED_REBOOT; - update_screen_->UpdateStatusChanged(status); + version_updater_->UpdateStatusChangedForTesting(status); // UpdateStatusChanged(status) calls RebootAfterUpdate(). EXPECT_EQ(1, fake_update_engine_client_->reboot_after_update_call_count());
diff --git a/chrome/browser/chromeos/login/session/chrome_session_manager.cc b/chrome/browser/chromeos/login/session/chrome_session_manager.cc index eba67a8..c07ca23 100644 --- a/chrome/browser/chromeos/login/session/chrome_session_manager.cc +++ b/chrome/browser/chromeos/login/session/chrome_session_manager.cc
@@ -287,12 +287,6 @@ user_manager::UserManager* user_manager = user_manager::UserManager::Get(); if (user_manager) user_manager->OnSessionStarted(); - - content::NotificationService::current()->Notify( - chrome::NOTIFICATION_SESSION_STARTED, - content::Source<session_manager::SessionManager>(this), - content::Details<const user_manager::User>( - user_manager->GetActiveUser())); } void ChromeSessionManager::NotifyUserLoggedIn(const AccountId& user_account_id,
diff --git a/chrome/browser/chromeos/login/session/user_session_manager.cc b/chrome/browser/chromeos/login/session/user_session_manager.cc index 2dee469d..d8bbbfd6 100644 --- a/chrome/browser/chromeos/login/session/user_session_manager.cc +++ b/chrome/browser/chromeos/login/session/user_session_manager.cc
@@ -2179,8 +2179,7 @@ InitializeBrowser(profile); } -void UserSessionManager::ActiveUserChanged( - const user_manager::User* active_user) { +void UserSessionManager::ActiveUserChanged(user_manager::User* active_user) { if (!user_manager::UserManager::Get()->IsCurrentUserNew()) SendUserPodsMetrics();
diff --git a/chrome/browser/chromeos/login/session/user_session_manager.h b/chrome/browser/chromeos/login/session/user_session_manager.h index f332f355..20b1bfe 100644 --- a/chrome/browser/chromeos/login/session/user_session_manager.h +++ b/chrome/browser/chromeos/login/session/user_session_manager.h
@@ -278,7 +278,7 @@ void AddSessionStateObserver(chromeos::UserSessionStateObserver* observer); void RemoveSessionStateObserver(chromeos::UserSessionStateObserver* observer); - void ActiveUserChanged(const user_manager::User* active_user) override; + void ActiveUserChanged(user_manager::User* active_user) override; // This method will be called when user have obtained oauth2 tokens. void OnOAuth2TokensFetched(UserContext context);
diff --git a/chrome/browser/chromeos/login/test/oobe_screens_utils.cc b/chrome/browser/chromeos/login/test/oobe_screens_utils.cc index 44368e751..983de3e 100644 --- a/chrome/browser/chromeos/login/test/oobe_screens_utils.cc +++ b/chrome/browser/chromeos/login/test/oobe_screens_utils.cc
@@ -72,7 +72,7 @@ UpdateScreen* screen = UpdateScreen::Get( WizardController::default_controller()->screen_manager()); - screen->UpdateStatusChanged(status); + screen->GetVersionUpdaterForTesting()->UpdateStatusChangedForTesting(status); } void WaitForFingerprintScreen() {
diff --git a/chrome/browser/chromeos/login/ui/login_display_host_mojo.cc b/chrome/browser/chromeos/login/ui/login_display_host_mojo.cc index 243cddc..b38f22a 100644 --- a/chrome/browser/chromeos/login/ui/login_display_host_mojo.cc +++ b/chrome/browser/chromeos/login/ui/login_display_host_mojo.cc
@@ -41,12 +41,10 @@ constexpr char kAccelSendFeedback[] = "send_feedback"; constexpr char kAccelReset[] = "reset"; -PinDialogManager* GetLoginScreenPinDialogManager() { +CertificateProviderService* GetLoginScreenCertProviderService() { DCHECK(ProfileHelper::IsSigninProfileInitialized()); - CertificateProviderService* certificate_provider_service = - CertificateProviderServiceFactory::GetForBrowserContext( - ProfileHelper::GetSigninProfile()); - return certificate_provider_service->pin_dialog_manager(); + return CertificateProviderServiceFactory::GetForBrowserContext( + ProfileHelper::GetSigninProfile()); } } // namespace @@ -69,13 +67,14 @@ // Preload webui-based OOBE for add user, kiosk apps, etc. LoadOobeDialog(); - GetLoginScreenPinDialogManager()->AddPinDialogHost( + GetLoginScreenCertProviderService()->pin_dialog_manager()->AddPinDialogHost( &security_token_pin_dialog_host_ash_impl_); } LoginDisplayHostMojo::~LoginDisplayHostMojo() { - GetLoginScreenPinDialogManager()->RemovePinDialogHost( - &security_token_pin_dialog_host_ash_impl_); + GetLoginScreenCertProviderService() + ->pin_dialog_manager() + ->RemovePinDialogHost(&security_token_pin_dialog_host_ash_impl_); LoginScreenClient::Get()->SetDelegate(nullptr); if (dialog_) { dialog_->GetOobeUI()->signin_screen_handler()->SetDelegate(nullptr); @@ -431,6 +430,9 @@ // called directly. if (pending_auth_state_) { login_display_->UpdatePinKeyboardState(pending_auth_state_->account_id); + GetLoginScreenCertProviderService() + ->AbortSignatureRequestsForAuthenticatingUser( + pending_auth_state_->account_id); std::move(pending_auth_state_->callback).Run(false); pending_auth_state_.reset(); }
diff --git a/chrome/browser/chromeos/login/users/fake_chrome_user_manager.cc b/chrome/browser/chromeos/login/users/fake_chrome_user_manager.cc index acc58d9..da21dac 100644 --- a/chrome/browser/chromeos/login/users/fake_chrome_user_manager.cc +++ b/chrome/browser/chromeos/login/users/fake_chrome_user_manager.cc
@@ -68,25 +68,25 @@ ProfileHelper::SetProfileToUserForTestingEnabled(false); } -const user_manager::User* FakeChromeUserManager::AddUser( +user_manager::User* FakeChromeUserManager::AddUser( const AccountId& account_id) { return AddUserWithAffiliation(account_id, false); } -const user_manager::User* FakeChromeUserManager::AddChildUser( +user_manager::User* FakeChromeUserManager::AddChildUser( const AccountId& account_id) { return AddUserWithAffiliationAndTypeAndProfile( account_id, false, user_manager::USER_TYPE_CHILD, nullptr); } -const user_manager::User* FakeChromeUserManager::AddUserWithAffiliation( +user_manager::User* FakeChromeUserManager::AddUserWithAffiliation( const AccountId& account_id, bool is_affiliated) { return AddUserWithAffiliationAndTypeAndProfile( account_id, is_affiliated, user_manager::USER_TYPE_REGULAR, nullptr); } -const user_manager::User* +user_manager::User* FakeChromeUserManager::AddUserWithAffiliationAndTypeAndProfile( const AccountId& account_id, bool is_affiliated, @@ -149,7 +149,7 @@ return user; } -const user_manager::User* FakeChromeUserManager::AddPublicAccountUser( +user_manager::User* FakeChromeUserManager::AddPublicAccountUser( const AccountId& account_id) { user_manager::User* user = user_manager::User::CreatePublicAccountUser(account_id);
diff --git a/chrome/browser/chromeos/login/users/fake_chrome_user_manager.h b/chrome/browser/chromeos/login/users/fake_chrome_user_manager.h index 02c184270..7a177780 100644 --- a/chrome/browser/chromeos/login/users/fake_chrome_user_manager.h +++ b/chrome/browser/chromeos/login/users/fake_chrome_user_manager.h
@@ -34,7 +34,7 @@ user_manager::User* AddKioskAppUser(const AccountId& account_id); user_manager::User* AddArcKioskAppUser(const AccountId& account_id); user_manager::User* AddSupervisedUser(const AccountId& account_id); - const user_manager::User* AddPublicAccountUser(const AccountId& account_id); + user_manager::User* AddPublicAccountUser(const AccountId& account_id); // Calculates the user name hash and calls UserLoggedIn to login a user. // Sets the user as having its profile created, but does not create a profile. @@ -42,14 +42,14 @@ // creates the profile and updates the user later. void LoginUser(const AccountId& account_id); - const user_manager::User* AddUser(const AccountId& account_id); - const user_manager::User* AddChildUser(const AccountId& account_id); - const user_manager::User* AddUserWithAffiliation(const AccountId& account_id, - bool is_affiliated); + user_manager::User* AddUser(const AccountId& account_id); + user_manager::User* AddChildUser(const AccountId& account_id); + user_manager::User* AddUserWithAffiliation(const AccountId& account_id, + bool is_affiliated); // Creates and adds user with specified |account_id| and |user_type|. Sets // user affiliation. If |profile| is valid, maps it to the created user. - const user_manager::User* AddUserWithAffiliationAndTypeAndProfile( + user_manager::User* AddUserWithAffiliationAndTypeAndProfile( const AccountId& account_id, bool is_affiliated, user_manager::UserType user_type,
diff --git a/chrome/browser/chromeos/login/version_updater/mock_version_updater_delegate.cc b/chrome/browser/chromeos/login/version_updater/mock_version_updater_delegate.cc new file mode 100644 index 0000000..2d240ee0 --- /dev/null +++ b/chrome/browser/chromeos/login/version_updater/mock_version_updater_delegate.cc
@@ -0,0 +1,13 @@ +// 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 "chrome/browser/chromeos/login/version_updater/mock_version_updater_delegate.h" + +namespace chromeos { + +MockVersionUpdaterDelegate::MockVersionUpdaterDelegate() {} + +MockVersionUpdaterDelegate::~MockVersionUpdaterDelegate() {} + +} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/version_updater/mock_version_updater_delegate.h b/chrome/browser/chromeos/login/version_updater/mock_version_updater_delegate.h new file mode 100644 index 0000000..cd0759b --- /dev/null +++ b/chrome/browser/chromeos/login/version_updater/mock_version_updater_delegate.h
@@ -0,0 +1,35 @@ +// 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 CHROME_BROWSER_CHROMEOS_LOGIN_VERSION_UPDATER_MOCK_VERSION_UPDATER_DELEGATE_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_VERSION_UPDATER_MOCK_VERSION_UPDATER_DELEGATE_H_ + +#include <string> + +#include "chrome/browser/chromeos/login/version_updater/version_updater.h" +#include "testing/gmock/include/gmock/gmock.h" + +namespace chromeos { + +class MockVersionUpdaterDelegate : public VersionUpdater::Delegate { + public: + MockVersionUpdaterDelegate(); + virtual ~MockVersionUpdaterDelegate(); + + MOCK_METHOD1(UpdateInfoChanged, + void(const VersionUpdater::UpdateInfo& update_info)); + MOCK_METHOD1(FinishExitUpdate, void(VersionUpdater::Result result)); + MOCK_METHOD0(OnWaitForRebootTimeElapsed, void()); + MOCK_METHOD0(PrepareForUpdateCheck, void()); + MOCK_METHOD3(UpdateErrorMessage, + void(const NetworkPortalDetector::CaptivePortalStatus status, + const NetworkError::ErrorState& error_state, + const std::string& network_name)); + MOCK_METHOD0(ShowErrorMessage, void()); + MOCK_METHOD0(DelayErrorMessage, void()); +}; + +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_VERSION_UPDATER_MOCK_VERSION_UPDATER_DELEGATE_H_
diff --git a/chrome/browser/chromeos/login/version_updater/version_updater.cc b/chrome/browser/chromeos/login/version_updater/version_updater.cc new file mode 100644 index 0000000..082588f9 --- /dev/null +++ b/chrome/browser/chromeos/login/version_updater/version_updater.cc
@@ -0,0 +1,384 @@ +// 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 "chrome/browser/chromeos/login/version_updater/version_updater.h" + +#include <algorithm> +#include <string> + +#include "base/bind.h" +#include "base/time/default_tick_clock.h" +#include "chrome/grit/chromium_strings.h" +#include "chrome/grit/generated_resources.h" +#include "chromeos/dbus/dbus_thread_manager.h" +#include "chromeos/network/network_state.h" +#include "ui/base/l10n/l10n_util.h" + +namespace chromeos { + +namespace { + +// Time in seconds after which we decide that the device has not rebooted +// automatically. If reboot didn't happen during this interval, ask user to +// reboot device manually. +constexpr const base::TimeDelta kWaitForRebootTime = + base::TimeDelta::FromSeconds(3); + +// Progress bar stages. Each represents progress bar value +// at the beginning of each stage. +// TODO(nkostylev): Base stage progress values on approximate time. +// TODO(nkostylev): Animate progress during each state. +const int kBeforeUpdateCheckProgress = 7; +const int kBeforeDownloadProgress = 14; +const int kBeforeVerifyingProgress = 74; +const int kBeforeFinalizingProgress = 81; +const int kProgressComplete = 100; + +// Minimum timestep between two consecutive measurements for the download rates. +constexpr const base::TimeDelta kMinTimeStep = base::TimeDelta::FromSeconds(1); + +// Defines what part of update progress does download part takes. +const int kDownloadProgressIncrement = 60; + +// Smooth factor that is used for the average downloading speed +// estimation. +// avg_speed = smooth_factor * cur_speed + (1.0 - smooth_factor) * +// avg_speed. +const double kDownloadSpeedSmoothFactor = 0.1; + +// Minimum allowed value for the average downloading speed. +const double kDownloadAverageSpeedDropBound = 1e-8; + +// An upper bound for possible downloading time left estimations. +constexpr const base::TimeDelta kMaxTimeLeft = base::TimeDelta::FromDays(1); + +} // anonymous namespace + +VersionUpdater::UpdateInfo::UpdateInfo() {} + +VersionUpdater::VersionUpdater(VersionUpdater::Delegate* delegate) + : delegate_(delegate), tick_clock_(base::DefaultTickClock::GetInstance()) {} + +VersionUpdater::~VersionUpdater() { + DBusThreadManager::Get()->GetUpdateEngineClient()->RemoveObserver(this); + network_portal_detector::GetInstance()->RemoveObserver(this); +} + +void VersionUpdater::StartNetworkCheck() { + // If portal detector is enabled and portal detection before AU is + // allowed, initiate network state check. Otherwise, directly + // proceed to update. + if (!network_portal_detector::GetInstance()->IsEnabled()) { + StartUpdateCheck(); + return; + } + update_info_.state = State::STATE_FIRST_PORTAL_CHECK; + delegate_->UpdateInfoChanged(update_info_); + + is_first_detection_notification_ = true; + network_portal_detector::GetInstance()->AddAndFireObserver(this); +} + +void VersionUpdater::StartUpdateCheck() { + delegate_->PrepareForUpdateCheck(); + RequestUpdateCheck(); +} + +void VersionUpdater::SetUpdateOverCellularOneTimePermission() { + DBusThreadManager::Get() + ->GetUpdateEngineClient() + ->SetUpdateOverCellularOneTimePermission( + update_info_.update_version, update_info_.update_size, + base::BindRepeating( + &VersionUpdater::OnSetUpdateOverCellularOneTimePermission, + weak_ptr_factory_.GetWeakPtr())); +} + +void VersionUpdater::RejectUpdateOverCellular() { + // Reset UI context to show curtain again when the user goes back to the + // screen. + update_info_.progress_unavailable = true; + update_info_.requires_permission_for_cellular = false; + delegate_->UpdateInfoChanged(update_info_); +} + +void VersionUpdater::RebootAfterUpdate() { + VLOG(1) << "Initiate reboot after update"; + DBusThreadManager::Get()->GetUpdateEngineClient()->RebootAfterUpdate(); + reboot_timer_.Start(FROM_HERE, kWaitForRebootTime, this, + &VersionUpdater::OnWaitForRebootTimeElapsed); +} + +void VersionUpdater::StartExitUpdate(Result result) { + DBusThreadManager::Get()->GetUpdateEngineClient()->RemoveObserver(this); + network_portal_detector::GetInstance()->RemoveObserver(this); + delegate_->FinishExitUpdate(result); +} + +base::OneShotTimer* VersionUpdater::GetRebootTimerForTesting() { + return &reboot_timer_; +} + +void VersionUpdater::UpdateStatusChangedForTesting( + const UpdateEngineClient::Status& status) { + UpdateStatusChanged(status); +} + +void VersionUpdater::RequestUpdateCheck() { + update_info_.state = State::STATE_UPDATE; + update_info_.progress = kBeforeUpdateCheckProgress; + update_info_.update_version = std::string(); + update_info_.update_size = 0; + delegate_->UpdateInfoChanged(update_info_); + + network_portal_detector::GetInstance()->RemoveObserver(this); + DBusThreadManager::Get()->GetUpdateEngineClient()->AddObserver(this); + VLOG(1) << "Initiate update check"; + DBusThreadManager::Get()->GetUpdateEngineClient()->RequestUpdateCheck( + base::BindRepeating(&VersionUpdater::OnUpdateCheckStarted, + weak_ptr_factory_.GetWeakPtr())); +} + +void VersionUpdater::UpdateStatusChanged( + const UpdateEngineClient::Status& status) { + update_info_.status = status; + + if (update_info_.is_checking_for_update && + status.status > UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE && + status.status != UpdateEngineClient::UPDATE_STATUS_ERROR && + status.status != + UpdateEngineClient::UPDATE_STATUS_REPORTING_ERROR_EVENT) { + update_info_.is_checking_for_update = false; + } + if (ignore_idle_status_ && + status.status > UpdateEngineClient::UPDATE_STATUS_IDLE) { + ignore_idle_status_ = false; + } + + switch (status.status) { + case UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE: + break; + case UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE: + update_info_.progress = kBeforeDownloadProgress; + update_info_.progress_message = + l10n_util::GetStringUTF16(IDS_UPDATE_AVAILABLE); + update_info_.show_estimated_time_left = false; + update_info_.progress_unavailable = false; + break; + case UpdateEngineClient::UPDATE_STATUS_DOWNLOADING: + if (!is_downloading_update_) { + is_downloading_update_ = true; + + download_start_time_ = download_last_time_ = tick_clock_->NowTicks(); + download_start_progress_ = status.download_progress; + download_last_progress_ = status.download_progress; + is_download_average_speed_computed_ = false; + download_average_speed_ = 0.0; + update_info_.progress_message = + l10n_util::GetStringUTF16(IDS_INSTALLING_UPDATE); + update_info_.progress_unavailable = false; + } + UpdateDownloadingStats(status); + break; + case UpdateEngineClient::UPDATE_STATUS_VERIFYING: + update_info_.progress = kBeforeVerifyingProgress; + update_info_.progress_message = + l10n_util::GetStringUTF16(IDS_UPDATE_VERIFYING); + update_info_.show_estimated_time_left = false; + break; + case UpdateEngineClient::UPDATE_STATUS_FINALIZING: + update_info_.progress = kBeforeFinalizingProgress; + update_info_.progress_message = + l10n_util::GetStringUTF16(IDS_UPDATE_FINALIZING); + update_info_.show_estimated_time_left = false; + break; + case UpdateEngineClient::UPDATE_STATUS_UPDATED_NEED_REBOOT: + update_info_.progress = kProgressComplete; + update_info_.show_estimated_time_left = false; + update_info_.progress_unavailable = false; + break; + case UpdateEngineClient::UPDATE_STATUS_NEED_PERMISSION_TO_UPDATE: + VLOG(1) << "Update requires user permission to proceed."; + update_info_.state = State::STATE_REQUESTING_USER_PERMISSION; + update_info_.update_version = status.new_version; + update_info_.update_size = status.new_size; + update_info_.requires_permission_for_cellular = true; + update_info_.progress_unavailable = false; + + DBusThreadManager::Get()->GetUpdateEngineClient()->RemoveObserver(this); + break; + case UpdateEngineClient::UPDATE_STATUS_ATTEMPTING_ROLLBACK: + VLOG(1) << "Attempting rollback"; + break; + case UpdateEngineClient::UPDATE_STATUS_IDLE: + // Exit update only if update engine was in non-idle status before. + // Otherwise, it's possible that the update request has not yet been + // started. + if (!ignore_idle_status_) + StartExitUpdate(Result::UPDATE_NOT_REQUIRED); + break; + case UpdateEngineClient::UPDATE_STATUS_ERROR: + case UpdateEngineClient::UPDATE_STATUS_REPORTING_ERROR_EVENT: + break; + } + + delegate_->UpdateInfoChanged(update_info_); +} + +void VersionUpdater::UpdateDownloadingStats( + const UpdateEngineClient::Status& status) { + base::TimeTicks download_current_time = tick_clock_->NowTicks(); + if (download_current_time >= download_last_time_ + kMinTimeStep) { + // Estimate downloading rate. + double progress_delta = + std::max(status.download_progress - download_last_progress_, 0.0); + double time_delta = + (download_current_time - download_last_time_).InSecondsF(); + double download_rate = status.new_size * progress_delta / time_delta; + + download_last_time_ = download_current_time; + download_last_progress_ = status.download_progress; + + // Estimate time left. + double progress_left = std::max(1.0 - status.download_progress, 0.0); + if (!is_download_average_speed_computed_) { + download_average_speed_ = download_rate; + is_download_average_speed_computed_ = true; + } + download_average_speed_ = + kDownloadSpeedSmoothFactor * download_rate + + (1.0 - kDownloadSpeedSmoothFactor) * download_average_speed_; + if (download_average_speed_ < kDownloadAverageSpeedDropBound) { + time_delta = (download_current_time - download_start_time_).InSecondsF(); + download_average_speed_ = + status.new_size * + (status.download_progress - download_start_progress_) / time_delta; + } + double work_left = progress_left * status.new_size; + // time_left is in seconds. + double time_left = work_left / download_average_speed_; + // |time_left| may be large enough or even +infinity. So we must + // |bound possible estimations. + time_left = std::min(time_left, kMaxTimeLeft.InSecondsF()); + + update_info_.show_estimated_time_left = true; + update_info_.estimated_time_left_in_secs = static_cast<int>(time_left); + } + + int download_progress = + static_cast<int>(status.download_progress * kDownloadProgressIncrement); + update_info_.progress = kBeforeDownloadProgress + download_progress; +} + +void VersionUpdater::OnPortalDetectionCompleted( + const NetworkState* network, + const NetworkPortalDetector::CaptivePortalState& state) { + VLOG(1) << "VersionUpdater::OnPortalDetectionCompleted(): " + << "network=" << (network ? network->path() : "") << ", " + << "state.status=" << state.status << ", " + << "state.response_code=" << state.response_code; + + // Wait for sane detection results. + if (network && + state.status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN) { + return; + } + + // Restart portal detection for the first notification about offline state. + if ((!network || + state.status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_OFFLINE) && + is_first_detection_notification_) { + is_first_detection_notification_ = false; + base::ThreadTaskRunnerHandle::Get()->PostTask( + FROM_HERE, base::BindOnce([]() { + network_portal_detector::GetInstance()->StartPortalDetection( + false /* force */); + })); + return; + } + is_first_detection_notification_ = false; + + NetworkPortalDetector::CaptivePortalStatus status = state.status; + if (update_info_.state == State::STATE_ERROR) { + // In the case of online state hide error message and proceed to + // the update stage. Otherwise, update error message content. + if (status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE) + StartUpdateCheck(); + else + UpdateErrorMessage(network, status); + } else if (update_info_.state == State::STATE_FIRST_PORTAL_CHECK) { + // In the case of online state immediately proceed to the update + // stage. Otherwise, prepare and show error message. + if (status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE) { + StartUpdateCheck(); + } else { + UpdateErrorMessage(network, status); + + // StartUpdateCheck, which gets called when the error clears up, will add + // the update engine observer back. + DBusThreadManager::Get()->GetUpdateEngineClient()->RemoveObserver(this); + + update_info_.state = State::STATE_ERROR; + delegate_->UpdateInfoChanged(update_info_); + if (status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL) + delegate_->DelayErrorMessage(); + else + delegate_->ShowErrorMessage(); + } + } +} + +void VersionUpdater::OnWaitForRebootTimeElapsed() { + delegate_->OnWaitForRebootTimeElapsed(); +} + +void VersionUpdater::UpdateErrorMessage( + const NetworkState* network, + const NetworkPortalDetector::CaptivePortalStatus status) { + std::string network_name = std::string(); + NetworkError::ErrorState error_state; + switch (status) { + case NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN: + case NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_OFFLINE: + error_state = NetworkError::ERROR_STATE_OFFLINE; + break; + case NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL: + DCHECK(network); + error_state = NetworkError::ERROR_STATE_PORTAL; + network_name = network->name(); + break; + case NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED: + error_state = NetworkError::ERROR_STATE_PROXY; + break; + default: + NOTREACHED(); + return; + } + delegate_->UpdateErrorMessage(status, error_state, network_name); +} + +void VersionUpdater::OnSetUpdateOverCellularOneTimePermission(bool success) { + update_info_.requires_permission_for_cellular = false; + if (!success) { + // Reset UI context to show curtain again when the user goes back to the + // screen. + update_info_.progress_unavailable = true; + } + delegate_->UpdateInfoChanged(update_info_); + + if (success) { + StartUpdateCheck(); + } else { + StartExitUpdate(Result::UPDATE_ERROR); + } +} + +void VersionUpdater::OnUpdateCheckStarted( + UpdateEngineClient::UpdateCheckResult result) { + VLOG(1) << "Callback from RequestUpdateCheck, result " << result; + if (result != UpdateEngineClient::UPDATE_RESULT_SUCCESS) + StartExitUpdate(Result::UPDATE_NOT_REQUIRED); +} + +} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/version_updater/version_updater.h b/chrome/browser/chromeos/login/version_updater/version_updater.h new file mode 100644 index 0000000..8c73f6c --- /dev/null +++ b/chrome/browser/chromeos/login/version_updater/version_updater.h
@@ -0,0 +1,191 @@ +// 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 CHROME_BROWSER_CHROMEOS_LOGIN_VERSION_UPDATER_VERSION_UPDATER_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_VERSION_UPDATER_VERSION_UPDATER_H_ + +#include <string> + +#include "base/macros.h" +#include "base/memory/weak_ptr.h" +#include "base/time/time.h" +#include "base/timer/timer.h" +#include "chrome/browser/chromeos/login/screens/network_error.h" +#include "chromeos/dbus/update_engine_client.h" +#include "chromeos/network/portal_detector/network_portal_detector.h" + +namespace base { +class DefaultTickClock; +} + +namespace chromeos { + +// Tries to update system, interacting with UpdateEnglineClient and +// NetworkPortalDetector. Uses callbacks - methods of |delegate_|, which may +// interact with user, change UI etc. +class VersionUpdater : public UpdateEngineClient::Observer, + public NetworkPortalDetector::Observer { + public: + enum class Result { + UPDATE_NOT_REQUIRED, + UPDATE_ERROR, + }; + + enum class State { + STATE_IDLE = 0, + STATE_FIRST_PORTAL_CHECK, + STATE_REQUESTING_USER_PERMISSION, + STATE_UPDATE, + STATE_ERROR + }; + + // Stores information about current downloading process, update progress and + // state. + struct UpdateInfo { + UpdateInfo(); + + UpdateEngineClient::Status status = UpdateEngineClient::Status(); + + // Estimated time left, in seconds. + int estimated_time_left_in_secs = 0; + bool show_estimated_time_left = false; + + // True if VersionUpdater in such a state that progress is not available or + // applicable (e.g. checking for updates) + bool progress_unavailable = true; + base::string16 progress_message = base::string16(); + // Percent of update progress, between 0 and 100. + int progress = 0; + + bool requires_permission_for_cellular = false; + + // Information about a pending update. Set if a user permission is required + // to proceed with the update. The values have to be passed to the update + // engine in SetUpdateOverCellularOneTimePermission method in order to + // enable update over cellular network. + int64_t update_size = 0; + std::string update_version = std::string(); + + // True if in the process of checking for update. + bool is_checking_for_update = true; + + // Current state. + State state = State::STATE_IDLE; + }; + + // Interface for callbacks that are called when corresponding events occur + // during update process. + class Delegate { + public: + // Called when update info changes + virtual void UpdateInfoChanged( + const VersionUpdater::UpdateInfo& update_info) = 0; + // Reports update results. + virtual void FinishExitUpdate(VersionUpdater::Result result) = 0; + // Timer notification handler. + virtual void OnWaitForRebootTimeElapsed() = 0; + // Called before update check starts. + virtual void PrepareForUpdateCheck() = 0; + virtual void UpdateErrorMessage( + const NetworkPortalDetector::CaptivePortalStatus status, + const NetworkError::ErrorState& error_state, + const std::string& network_name) = 0; + virtual void ShowErrorMessage() = 0; + virtual void DelayErrorMessage() = 0; + }; + + explicit VersionUpdater(VersionUpdater::Delegate* delegate); + ~VersionUpdater() override; + + // Starts network check. If success, starts update check. + void StartNetworkCheck(); + void StartUpdateCheck(); + + void SetUpdateOverCellularOneTimePermission(); + void RejectUpdateOverCellular(); + void RebootAfterUpdate(); + void StartExitUpdate(Result result); + + const UpdateInfo& update_info() { return update_info_; } + + void set_tick_clock_for_testing(const base::TickClock* tick_clock) { + tick_clock_ = tick_clock; + } + + base::OneShotTimer* GetRebootTimerForTesting(); + void UpdateStatusChangedForTesting(const UpdateEngineClient::Status& status); + + private: + void RequestUpdateCheck(); + + // UpdateEngineClient::Observer implementation: + void UpdateStatusChanged(const UpdateEngineClient::Status& status) override; + + // Updates downloading stats (remaining time and downloading + // progress), which are stored in update_info_. + void UpdateDownloadingStats(const UpdateEngineClient::Status& status); + + // NetworkPortalDetector::Observer implementation: + void OnPortalDetectionCompleted( + const NetworkState* network, + const NetworkPortalDetector::CaptivePortalState& state) override; + + void OnWaitForRebootTimeElapsed(); + + void UpdateErrorMessage( + const NetworkState* network, + const NetworkPortalDetector::CaptivePortalStatus status); + + // Callback to UpdateEngineClient::SetUpdateOverCellularOneTimePermission + // called in response to user confirming that the OS update can proceed + // despite being over cellular charges. + // |success|: whether the update engine accepted the user permission. + void OnSetUpdateOverCellularOneTimePermission(bool success); + + // Callback for UpdateEngineClient::RequestUpdateCheck() called from + // StartUpdateCheck(). + void OnUpdateCheckStarted(UpdateEngineClient::UpdateCheckResult result); + + // Pointer to delegate that owns this VersionUpdater instance. + Delegate* delegate_; + + // Time of the first notification from the downloading stage. + base::TimeTicks download_start_time_; + double download_start_progress_ = 0; + + // Time of the last notification from the downloading stage. + base::TimeTicks download_last_time_; + double download_last_progress_ = 0; + + bool is_download_average_speed_computed_ = false; + double download_average_speed_ = 0; + + // Flag that is used to detect when update download has just started. + bool is_downloading_update_ = false; + // Ignore fist IDLE status that is sent before VersionUpdater initiated check. + bool ignore_idle_status_ = true; + + // Timer for the interval to wait for the reboot. + // If reboot didn't happen - ask user to reboot manually. + base::OneShotTimer reboot_timer_; + + // True if there was no notification from NetworkPortalDetector + // about state for the default network. + bool is_first_detection_notification_ = true; + + // Stores information about current downloading process, update progress and + // state. It is sent to Delegate on each UpdateInfoChanged call, and also can + // be obtained with corresponding getter. + UpdateInfo update_info_; + + const base::TickClock* tick_clock_; + + base::WeakPtrFactory<VersionUpdater> weak_ptr_factory_{this}; + + DISALLOW_COPY_AND_ASSIGN(VersionUpdater); +}; + +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_VERSION_UPDATER_VERSION_UPDATER_H_
diff --git a/chrome/browser/chromeos/login/version_updater/version_updater_unittest.cc b/chrome/browser/chromeos/login/version_updater/version_updater_unittest.cc new file mode 100644 index 0000000..8c8b850 --- /dev/null +++ b/chrome/browser/chromeos/login/version_updater/version_updater_unittest.cc
@@ -0,0 +1,281 @@ +// 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 "chrome/browser/chromeos/login/version_updater/version_updater.h" + +#include <memory> + +#include "base/command_line.h" +#include "base/optional.h" +#include "base/test/scoped_mock_time_message_loop_task_runner.h" +#include "chrome/browser/chromeos/login/startup_utils.h" +#include "chrome/browser/chromeos/login/version_updater/mock_version_updater_delegate.h" +#include "chrome/browser/chromeos/net/network_portal_detector_test_impl.h" +#include "chrome/browser/chromeos/settings/cros_settings.h" +#include "chrome/browser/chromeos/settings/device_settings_service.h" +#include "chrome/test/base/scoped_testing_local_state.h" +#include "chrome/test/base/testing_browser_process.h" +#include "chromeos/constants/chromeos_switches.h" +#include "chromeos/dbus/dbus_thread_manager.h" +#include "chromeos/dbus/fake_update_engine_client.h" +#include "chromeos/dbus/update_engine_client.h" +#include "chromeos/network/network_handler.h" +#include "chromeos/network/portal_detector/mock_network_portal_detector.h" +#include "chromeos/network/portal_detector/network_portal_detector.h" +#include "content/public/test/browser_task_environment.h" +#include "testing/gtest/include/gtest/gtest.h" + +using testing::_; +using testing::AnyNumber; +using testing::Return; + +namespace chromeos { + +namespace { +constexpr const char kNetworkGuid[] = "test_network"; +} // anonymous namespace + +class VersionUpdaterUnitTest : public testing::Test { + public: + VersionUpdaterUnitTest() : local_state_(TestingBrowserProcess::GetGlobal()) {} + + void SetUpdateEngineStatus(UpdateEngineClient::UpdateStatusOperation status) { + UpdateEngineClient::Status update_engine_status; + update_engine_status.status = status; + fake_update_engine_client_->NotifyObserversThatStatusChanged( + update_engine_status); + } + + void SetStatusWithChecks(UpdateEngineClient::UpdateStatusOperation status) { + testing::MockFunction<void(int check_point_name)> check; + { + testing::InSequence s; + + EXPECT_CALL(*mock_delegate_, UpdateInfoChanged(_)); + EXPECT_CALL(check, Call(checks_count_)); + } + + SetUpdateEngineStatus(status); + check.Call(checks_count_); + ++checks_count_; + } + + void SetUpMockNetworkPortalDetector() { + network_portal_detector::SetNetworkPortalDetector( + mock_network_portal_detector_.get()); + } + + void SetUpFakeNetworkPortalDetector() { + fake_network_portal_detector_->SetDefaultNetworkForTesting(kNetworkGuid); + network_portal_detector::SetNetworkPortalDetector( + fake_network_portal_detector_.get()); + } + + // testing::Test: + void SetUp() override { + // Initialize objects needed by VersionUpdater. + fake_update_engine_client_ = new FakeUpdateEngineClient(); + DBusThreadManager::GetSetterForTesting()->SetUpdateEngineClient( + std::unique_ptr<UpdateEngineClient>(fake_update_engine_client_)); + + NetworkHandler::Initialize(); + + // |mock_network_portal_detector_->IsEnabled()| will always return false. + mock_network_portal_detector_ = + std::make_unique<MockNetworkPortalDetector>(); + EXPECT_CALL(*mock_network_portal_detector_, IsEnabled()) + .Times(AnyNumber()) + .WillRepeatedly(Return(false)); + + // |fake_network_portal_detector_->IsEnabled()| will always return true. + fake_network_portal_detector_ = + std::make_unique<NetworkPortalDetectorTestImpl>(); + + mock_delegate_ = std::make_unique<MockVersionUpdaterDelegate>(); + version_updater_ = std::make_unique<VersionUpdater>(mock_delegate_.get()); + + checks_count_ = 0; + } + + void TearDown() override { + TestingBrowserProcess::GetGlobal()->SetShuttingDown(true); + // We need to stop observing |NetworkPortalDetector| before call + // |DBusThreadManager::Shutdown()|, so destroy |version_updater_| now. + version_updater_.reset(); + mock_delegate_.reset(); + + network_portal_detector::InitializeForTesting(nullptr); + NetworkHandler::Shutdown(); + + // It will delete |fake_update_engine_client_|. + DBusThreadManager::Shutdown(); + } + + protected: + std::unique_ptr<VersionUpdater> version_updater_; + + // Accessory objects needed by VersionUpdater. + std::unique_ptr<MockVersionUpdaterDelegate> mock_delegate_; + std::unique_ptr<MockNetworkPortalDetector> mock_network_portal_detector_; + std::unique_ptr<NetworkPortalDetectorTestImpl> fake_network_portal_detector_; + FakeUpdateEngineClient* fake_update_engine_client_; + + private: + // Test versions of core browser infrastructure. + content::BrowserTaskEnvironment task_environment_; + ScopedTestingLocalState local_state_; + + int checks_count_ = 0; + + DISALLOW_COPY_AND_ASSIGN(VersionUpdaterUnitTest); +}; + +TEST_F(VersionUpdaterUnitTest, HandlesNoUpdate) { + SetUpMockNetworkPortalDetector(); + + EXPECT_CALL(*mock_delegate_, PrepareForUpdateCheck()).Times(1); + version_updater_->StartNetworkCheck(); + // Verify that the DUT checks for an update. + EXPECT_EQ(fake_update_engine_client_->request_update_check_call_count(), 1); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE); + + // No updates are available. + EXPECT_CALL(*mock_delegate_, + FinishExitUpdate(VersionUpdater::Result::UPDATE_NOT_REQUIRED)) + .Times(1); + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_IDLE); +} + +TEST_F(VersionUpdaterUnitTest, HandlesAvailableUpdate) { + SetUpMockNetworkPortalDetector(); + + EXPECT_CALL(*mock_delegate_, PrepareForUpdateCheck()).Times(1); + version_updater_->StartNetworkCheck(); + // Verify that the DUT checks for an update. + EXPECT_EQ(fake_update_engine_client_->request_update_check_call_count(), 1); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_IDLE); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_DOWNLOADING); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_VERIFYING); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_FINALIZING); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_UPDATED_NEED_REBOOT); + + EXPECT_EQ(fake_update_engine_client_->reboot_after_update_call_count(), 0); + version_updater_->RebootAfterUpdate(); + EXPECT_EQ(fake_update_engine_client_->reboot_after_update_call_count(), 1); +} + +TEST_F(VersionUpdaterUnitTest, HandlesCancelUpdateOnUpdateAvailable) { + SetUpMockNetworkPortalDetector(); + + EXPECT_CALL(*mock_delegate_, PrepareForUpdateCheck()).Times(1); + version_updater_->StartNetworkCheck(); + + // Verify that the DUT checks for an update. + EXPECT_EQ(fake_update_engine_client_->request_update_check_call_count(), 1); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_IDLE); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE); + + EXPECT_CALL(*mock_delegate_, + FinishExitUpdate(VersionUpdater::Result::UPDATE_NOT_REQUIRED)) + .Times(1); + version_updater_->StartExitUpdate( + VersionUpdater::Result::UPDATE_NOT_REQUIRED); +} + +TEST_F(VersionUpdaterUnitTest, HandlesCancelUpdateOnDownloading) { + SetUpMockNetworkPortalDetector(); + + EXPECT_CALL(*mock_delegate_, PrepareForUpdateCheck()).Times(1); + version_updater_->StartNetworkCheck(); + + // Verify that the DUT checks for an update. + EXPECT_EQ(fake_update_engine_client_->request_update_check_call_count(), 1); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_IDLE); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_DOWNLOADING); + + EXPECT_CALL(*mock_delegate_, + FinishExitUpdate(VersionUpdater::Result::UPDATE_NOT_REQUIRED)) + .Times(1); + version_updater_->StartExitUpdate( + VersionUpdater::Result::UPDATE_NOT_REQUIRED); +} + +TEST_F(VersionUpdaterUnitTest, HandleUpdateError) { + SetUpMockNetworkPortalDetector(); + + EXPECT_CALL(*mock_delegate_, PrepareForUpdateCheck()).Times(1); + version_updater_->StartNetworkCheck(); + + // Verify that the DUT checks for an update. + EXPECT_EQ(fake_update_engine_client_->request_update_check_call_count(), 1); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_IDLE); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE); + + SetStatusWithChecks(UpdateEngineClient::UPDATE_STATUS_REPORTING_ERROR_EVENT); + + EXPECT_CALL(*mock_delegate_, + FinishExitUpdate(VersionUpdater::Result::UPDATE_ERROR)) + .Times(1); + version_updater_->StartExitUpdate(VersionUpdater::Result::UPDATE_ERROR); +} + +TEST_F(VersionUpdaterUnitTest, HandlesPortalOnline) { + SetUpFakeNetworkPortalDetector(); + + version_updater_->StartNetworkCheck(); + + NetworkPortalDetector::CaptivePortalState state; + state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE; + + EXPECT_CALL(*mock_delegate_, PrepareForUpdateCheck()).Times(1); + fake_network_portal_detector_->SetDetectionResultsForTesting(kNetworkGuid, + state); + fake_network_portal_detector_->NotifyObserversForTesting(); +} + +TEST_F(VersionUpdaterUnitTest, HandlesPortalError) { + SetUpFakeNetworkPortalDetector(); + + version_updater_->StartNetworkCheck(); + + NetworkPortalDetector::CaptivePortalState state; + state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL; + + // Name of the network is empty because of implementation + // SetDefaultNetworkForTesting (and it's not easy to fix it). + EXPECT_CALL( + *mock_delegate_, + UpdateErrorMessage(state.status, NetworkError::ERROR_STATE_PORTAL, "")) + .Times(1); + EXPECT_CALL(*mock_delegate_, DelayErrorMessage()).Times(1); + fake_network_portal_detector_->SetDetectionResultsForTesting(kNetworkGuid, + state); + fake_network_portal_detector_->NotifyObserversForTesting(); +} + +} // namespace chromeos
diff --git a/chrome/browser/chromeos/note_taking_controller_client.cc b/chrome/browser/chromeos/note_taking_controller_client.cc index 8acb90c..b5872945 100644 --- a/chrome/browser/chromeos/note_taking_controller_client.cc +++ b/chrome/browser/chromeos/note_taking_controller_client.cc
@@ -14,13 +14,14 @@ NoteTakingControllerClient::NoteTakingControllerClient(NoteTakingHelper* helper) : helper_(helper) { - registrar_.Add(this, chrome::NOTIFICATION_SESSION_STARTED, - content::NotificationService::AllSources()); registrar_.Add(this, chrome::NOTIFICATION_PROFILE_DESTROYED, content::NotificationService::AllSources()); + user_manager::UserManager::Get()->AddSessionStateObserver(this); } -NoteTakingControllerClient::~NoteTakingControllerClient() = default; +NoteTakingControllerClient::~NoteTakingControllerClient() { + user_manager::UserManager::Get()->RemoveSessionStateObserver(this); +} bool NoteTakingControllerClient::CanCreateNote() { return profile_ && helper_->IsAppAvailable(profile_); @@ -31,37 +32,29 @@ } void NoteTakingControllerClient::ActiveUserChanged( - const user_manager::User* active_user) { - SetProfile(ProfileHelper::Get()->GetProfileByUser(active_user)); + user_manager::User* active_user) { + if (!active_user) + return; + + active_user->AddProfileCreatedObserver( + base::BindOnce(&NoteTakingControllerClient::SetProfileByUser, + weak_ptr_factory_.GetWeakPtr(), active_user)); } void NoteTakingControllerClient::Observe( int type, const content::NotificationSource& source, const content::NotificationDetails& details) { - switch (type) { - case chrome::NOTIFICATION_SESSION_STARTED: - // Update |profile_| when entering a session. - SetProfile(ProfileManager::GetActiveUserProfile()); - - // Add a session state observer to be able to monitor session changes. - if (!session_state_observer_.get()) { - session_state_observer_.reset( - new user_manager::ScopedUserSessionStateObserver(this)); - } - break; - case chrome::NOTIFICATION_PROFILE_DESTROYED: { - // Update |profile_| when exiting a session or shutting down. - Profile* profile = content::Source<Profile>(source).ptr(); - if (profile_ == profile) - SetProfile(nullptr); - break; - } - } + DCHECK_EQ(type, chrome::NOTIFICATION_PROFILE_DESTROYED); + // Update |profile_| when exiting a session or shutting down. + Profile* profile = content::Source<Profile>(source).ptr(); + if (profile_ == profile) + profile_ = nullptr; } -void NoteTakingControllerClient::SetProfile(Profile* profile) { - profile_ = profile; +void NoteTakingControllerClient::SetProfileByUser( + const user_manager::User* user) { + profile_ = ProfileHelper::Get()->GetProfileByUser(user); } } // namespace chromeos
diff --git a/chrome/browser/chromeos/note_taking_controller_client.h b/chrome/browser/chromeos/note_taking_controller_client.h index 937c6ef..a80e87b 100644 --- a/chrome/browser/chromeos/note_taking_controller_client.h +++ b/chrome/browser/chromeos/note_taking_controller_client.h
@@ -7,6 +7,7 @@ #include "ash/public/cpp/note_taking_client.h" #include "base/macros.h" +#include "base/memory/weak_ptr.h" #include "chrome/browser/chromeos/note_taking_helper.h" #include "components/user_manager/user_manager.h" #include "content/public/browser/notification_observer.h" @@ -29,17 +30,17 @@ void CreateNote() override; // user_manager::UserManager::UserSessionStateObserver: - void ActiveUserChanged(const user_manager::User* active_user) override; + void ActiveUserChanged(user_manager::User* active_user) override; // content::NotificationObserver: void Observe(int type, const content::NotificationSource& source, const content::NotificationDetails& details) override; - void SetProfileForTesting(Profile* profile) { SetProfile(profile); } + void SetProfileForTesting(Profile* profile) { profile_ = profile; } private: - void SetProfile(Profile* profile); + void SetProfileByUser(const user_manager::User* user); // Unowned pointer to the note taking helper. NoteTakingHelper* helper_; @@ -48,8 +49,7 @@ Profile* profile_ = nullptr; content::NotificationRegistrar registrar_; - std::unique_ptr<user_manager::ScopedUserSessionStateObserver> - session_state_observer_; + base::WeakPtrFactory<NoteTakingControllerClient> weak_ptr_factory_{this}; DISALLOW_COPY_AND_ASSIGN(NoteTakingControllerClient); };
diff --git a/chrome/browser/chromeos/preferences.cc b/chrome/browser/chromeos/preferences.cc index b76fa31..49849e6 100644 --- a/chrome/browser/chromeos/preferences.cc +++ b/chrome/browser/chromeos/preferences.cc
@@ -1128,7 +1128,7 @@ rate.repeat_interval_in_ms); } -void Preferences::ActiveUserChanged(const user_manager::User* active_user) { +void Preferences::ActiveUserChanged(user_manager::User* active_user) { if (active_user != user_) return; ApplyPreferences(REASON_ACTIVE_USER_CHANGED, "");
diff --git a/chrome/browser/chromeos/preferences.h b/chrome/browser/chromeos/preferences.h index f9056e1..54c3acf 100644 --- a/chrome/browser/chromeos/preferences.h +++ b/chrome/browser/chromeos/preferences.h
@@ -105,7 +105,7 @@ void OnIsSyncingChanged() override; // Overriden form user_manager::UserManager::UserSessionStateObserver. - void ActiveUserChanged(const user_manager::User* active_user) override; + void ActiveUserChanged(user_manager::User* active_user) override; sync_preferences::PrefServiceSyncable* prefs_;
diff --git a/chrome/browser/chromeos/system/system_clock.cc b/chrome/browser/chromeos/system/system_clock.cc index 638115a4..c9cd100 100644 --- a/chrome/browser/chromeos/system/system_clock.cc +++ b/chrome/browser/chromeos/system/system_clock.cc
@@ -46,39 +46,23 @@ } // anonymous namespace -SystemClock::SystemClock() - : user_pod_was_focused_(false), - last_focused_pod_hour_clock_type_(base::k12HourClock), - user_profile_(NULL), - device_settings_observer_(CrosSettings::Get()->AddSettingsObserver( - kSystemUse24HourClock, - base::Bind(&SystemClock::OnSystemPrefChanged, - base::Unretained(this)))) { +SystemClock::SystemClock() { + device_settings_observer_ = CrosSettings::Get()->AddSettingsObserver( + kSystemUse24HourClock, base::Bind(&SystemClock::OnSystemPrefChanged, + weak_ptr_factory_.GetWeakPtr())); + if (LoginState::IsInitialized()) LoginState::Get()->AddObserver(this); - // Register notifications on construction so that events such as - // PROFILE_CREATED do not get missed if they happen before Initialize(). - registrar_.reset(new content::NotificationRegistrar); - if (!LoginState::IsInitialized() || - LoginState::Get()->GetLoggedInUserType() == - LoginState::LOGGED_IN_USER_NONE) { - registrar_->Add(this, chrome::NOTIFICATION_SESSION_STARTED, - content::NotificationService::AllSources()); - } - registrar_->Add(this, chrome::NOTIFICATION_PROFILE_CREATED, - content::NotificationService::AllSources()); - registrar_->Add(this, chrome::NOTIFICATION_PROFILE_DESTROYED, - content::NotificationService::AllSources()); - registrar_->Add(this, chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED, - content::NotificationService::AllSources()); + + registrar_.Add(this, chrome::NOTIFICATION_PROFILE_DESTROYED, + content::NotificationService::AllSources()); user_manager::UserManager::Get()->AddSessionStateObserver(this); } SystemClock::~SystemClock() { - registrar_.reset(); - device_settings_observer_.reset(); if (LoginState::IsInitialized()) LoginState::Get()->RemoveObserver(this); + if (user_manager::UserManager::IsInitialized()) user_manager::UserManager::Get()->RemoveSessionStateObserver(this); } @@ -96,36 +80,20 @@ void SystemClock::Observe(int type, const content::NotificationSource& source, const content::NotificationDetails& details) { - switch (type) { - case chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED: { - UpdateClockType(); - break; - } - case chrome::NOTIFICATION_PROFILE_CREATED: { - OnActiveProfileChanged(content::Source<Profile>(source).ptr()); - registrar_->Remove(this, chrome::NOTIFICATION_PROFILE_CREATED, - content::NotificationService::AllSources()); - break; - } - case chrome::NOTIFICATION_PROFILE_DESTROYED: { - if (OnProfileDestroyed(content::Source<Profile>(source).ptr())) { - registrar_->Remove(this, chrome::NOTIFICATION_PROFILE_DESTROYED, - content::NotificationService::AllSources()); - } - break; - } - case chrome::NOTIFICATION_SESSION_STARTED: { - OnActiveProfileChanged(ProfileManager::GetActiveUserProfile()); - break; - } - default: - NOTREACHED(); + DCHECK_EQ(type, chrome::NOTIFICATION_PROFILE_DESTROYED); + if (OnProfileDestroyed(content::Source<Profile>(source).ptr())) { + registrar_.Remove(this, chrome::NOTIFICATION_PROFILE_DESTROYED, + content::NotificationService::AllSources()); } } -void SystemClock::ActiveUserChanged(const user_manager::User* active_user) { - if (active_user && active_user->is_profile_created()) - UpdateClockType(); +void SystemClock::ActiveUserChanged(user_manager::User* active_user) { + if (!active_user) + return; + + active_user->AddProfileCreatedObserver( + base::BindOnce(&SystemClock::SetProfileByUser, + weak_ptr_factory_.GetWeakPtr(), active_user)); } void SystemClock::AddObserver(SystemClockObserver* observer) { @@ -136,7 +104,11 @@ observer_list_.RemoveObserver(observer); } -void SystemClock::OnActiveProfileChanged(Profile* profile) { +void SystemClock::SetProfileByUser(const user_manager::User* user) { + SetProfile(ProfileHelper::Get()->GetProfileByUser(user)); +} + +void SystemClock::SetProfile(Profile* profile) { user_profile_ = profile; PrefService* prefs = profile->GetPrefs(); user_pref_registrar_.reset(new PrefChangeRegistrar);
diff --git a/chrome/browser/chromeos/system/system_clock.h b/chrome/browser/chromeos/system/system_clock.h index 6bf3b8fc..635941a2 100644 --- a/chrome/browser/chromeos/system/system_clock.h +++ b/chrome/browser/chromeos/system/system_clock.h
@@ -10,6 +10,7 @@ #include "base/callback_list.h" #include "base/i18n/time_formatting.h" #include "base/macros.h" +#include "base/memory/weak_ptr.h" #include "chromeos/login/login_state/login_state.h" #include "components/user_manager/user_manager.h" #include "content/public/browser/notification_observer.h" @@ -51,14 +52,15 @@ const content::NotificationDetails& details) override; // user_manager::UserManager::UserSessionStateObserver overrides - void ActiveUserChanged(const user_manager::User* active_user) override; + void ActiveUserChanged(user_manager::User* active_user) override; private: // Should be the same as CrosSettings::ObserverSubscription. typedef base::CallbackList<void(void)>::Subscription CrosSettingsObserverSubscription; - void OnActiveProfileChanged(Profile* profile); + void SetProfileByUser(const user_manager::User* user); + void SetProfile(Profile* profile); bool OnProfileDestroyed(Profile* profile); // LoginState::Observer overrides. @@ -68,17 +70,19 @@ void UpdateClockType(); - bool user_pod_was_focused_; - base::HourClockType last_focused_pod_hour_clock_type_; + bool user_pod_was_focused_ = false; + base::HourClockType last_focused_pod_hour_clock_type_ = base::k12HourClock; - Profile* user_profile_; - std::unique_ptr<content::NotificationRegistrar> registrar_; + Profile* user_profile_ = nullptr; + content::NotificationRegistrar registrar_; std::unique_ptr<PrefChangeRegistrar> user_pref_registrar_; base::ObserverList<SystemClockObserver>::Unchecked observer_list_; std::unique_ptr<CrosSettingsObserverSubscription> device_settings_observer_; + base::WeakPtrFactory<SystemClock> weak_ptr_factory_{this}; + DISALLOW_COPY_AND_ASSIGN(SystemClock); };
diff --git a/chrome/browser/chromeos/usb/cros_usb_detector_unittest.cc b/chrome/browser/chromeos/usb/cros_usb_detector_unittest.cc index c14309c2..541552c 100644 --- a/chrome/browser/chromeos/usb/cros_usb_detector_unittest.cc +++ b/chrome/browser/chromeos/usb/cros_usb_detector_unittest.cc
@@ -135,9 +135,7 @@ BrowserWithTestWindowTest::SetUp(); crostini_test_helper_.reset(new crostini::CrostiniTestHelper(profile())); scoped_feature_list_.InitWithFeatures( - {chromeos::features::kCrostiniUsbSupport, - chromeos::features::kCrostiniUsbAllowUnsupported}, - {}); + {chromeos::features::kCrostiniUsbAllowUnsupported}, {}); TestingBrowserProcess::GetGlobal()->SetSystemNotificationHelper( std::make_unique<SystemNotificationHelper>());
diff --git a/chrome/browser/devtools/devtools_sanity_browsertest.cc b/chrome/browser/devtools/devtools_sanity_browsertest.cc index 0e69993..9024246 100644 --- a/chrome/browser/devtools/devtools_sanity_browsertest.cc +++ b/chrome/browser/devtools/devtools_sanity_browsertest.cc
@@ -758,7 +758,7 @@ // Tests that BeforeUnload event gets called on devtools that are opened // on another devtools. -#if defined(OS_CHROMEOS) +#if defined(OS_CHROMEOS) || defined(OS_LINUX) // TODO(https://crbug.com/1000654): Re-enable this test. #define MAYBE_TestDevToolsOnDevTools DISABLED_TestDevToolsOnDevTools #else
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc index 217ad1f..f0278c6 100644 --- a/chrome/browser/download/chrome_download_manager_delegate.cc +++ b/chrome/browser/download/chrome_download_manager_delegate.cc
@@ -1368,6 +1368,9 @@ } } + if (danger_type == download::DOWNLOAD_DANGER_TYPE_BLOCKED_PASSWORD_PROTECTED) + return true; + switch (download_restriction) { case (DownloadPrefs::DownloadRestriction::NONE): return false; @@ -1394,6 +1397,7 @@ LOG(ERROR) << "Invalid download restruction value: " << static_cast<int>(download_restriction); } + return false; }
diff --git a/chrome/browser/download/download_manager_utils.cc b/chrome/browser/download/download_manager_utils.cc index 32240c9..986b086b 100644 --- a/chrome/browser/download/download_manager_utils.cc +++ b/chrome/browser/download/download_manager_utils.cc
@@ -12,7 +12,6 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/transition_manager/full_browser_transition_manager.h" #include "components/download/public/common/download_features.h" -#include "components/download/public/common/download_url_loader_factory_getter_impl.h" #include "components/download/public/common/in_progress_download_manager.h" #include "components/download/public/common/simple_download_manager_coordinator.h" #include "content/public/browser/browser_context.h" @@ -99,9 +98,7 @@ key->IsOffTheRecord()); scoped_refptr<network::SharedURLLoaderFactory> factory = SystemNetworkContextManager::GetInstance()->GetSharedURLLoaderFactory(); - in_progress_manager->set_url_loader_factory_getter( - base::MakeRefCounted<download::DownloadURLLoaderFactoryGetterImpl>( - factory->Clone())); + in_progress_manager->set_url_loader_factory(std::move(factory)); map[key] = std::move(in_progress_manager); } return map[key].get();
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc index bb1d3a9..40e2998 100644 --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -451,13 +451,13 @@ settings_api::PrefType::PREF_TYPE_NUMBER; (*s_whitelist)[chromeos::assistant::prefs::kAssistantDisabledByPolicy] = settings_api::PrefType::PREF_TYPE_BOOLEAN; - (*s_whitelist)[arc::prefs::kVoiceInteractionEnabled] = + (*s_whitelist)[chromeos::assistant::prefs::kAssistantEnabled] = settings_api::PrefType::PREF_TYPE_BOOLEAN; (*s_whitelist)[chromeos::assistant::prefs::kAssistantContextEnabled] = settings_api::PrefType::PREF_TYPE_BOOLEAN; (*s_whitelist)[chromeos::assistant::prefs::kAssistantHotwordAlwaysOn] = settings_api::PrefType::PREF_TYPE_BOOLEAN; - (*s_whitelist)[arc::prefs::kVoiceInteractionHotwordEnabled] = + (*s_whitelist)[chromeos::assistant::prefs::kAssistantHotwordEnabled] = settings_api::PrefType::PREF_TYPE_BOOLEAN; (*s_whitelist)[chromeos::assistant::prefs::kAssistantLaunchWithMicOpen] = settings_api::PrefType::PREF_TYPE_BOOLEAN;
diff --git a/chrome/browser/first_run/first_run_browsertest.cc b/chrome/browser/first_run/first_run_browsertest.cc index 682ff8e1..0c667fba 100644 --- a/chrome/browser/first_run/first_run_browsertest.cc +++ b/chrome/browser/first_run/first_run_browsertest.cc
@@ -9,20 +9,25 @@ #include "base/files/file_path.h" #include "base/macros.h" #include "base/memory/ref_counted.h" +#include "base/numerics/safe_conversions.h" +#include "base/path_service.h" #include "base/run_loop.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "base/test/metrics/histogram_tester.h" +#include "base/threading/thread_restrictions.h" #include "build/build_config.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/extensions/component_loader.h" #include "chrome/browser/first_run/first_run.h" #include "chrome/browser/first_run/first_run_internal.h" #include "chrome/browser/importer/importer_list.h" +#include "chrome/browser/metrics/chrome_metrics_service_accessor.h" #include "chrome/browser/prefs/chrome_pref_service_factory.h" #include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" +#include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/pref_names.h" #include "chrome/common/url_constants.h" @@ -278,13 +283,13 @@ kSettingsEnforcementGroupEnforceAlwaysWithExtensionsAndDSE)); #define COMPRESSED_SEED_TEST_VALUE \ - "H4sICMNRYFcAA3NlZWRfYmluAOPSMEwxsjQxM0lLMk4xt0hLMzQ1NUs1TTI1NUw2MzExT05KNj" \ - "dJNU1LMRDay8glH+rrqBual5mWX5SbWVKpG1KUmZija2igG5BalJyaVyLRMGfSUlYLRif2lNS0" \ - "xNKcEi9uLhhTgNGLh4sjvSi/" \ - "tCDewBCFZ4TCM0bhmaDwTFF4Zig8cxSeBQrPUoARAEVeJPrqAAAA" + "H4sIAAAAAAAA/+LSME4xsTAySjYzSDQ1S01KSk1KMUg1SjI1Tk4yMjI2NDMzTzEySjRPMxA6xs" \ + "glH+rrqBual5mWX5SbWVKpG1KUmZija2igG5BalJyaV2LB6MXDxZFelF9aEG9gKIDMM0LhGaPw" \ + "TFB4pig8MxSeOQrPAoVnKcDoxc3FnpKalliaUyLAGCSiwaDBqMGkwazBosGqwZbR8LppA38CIy" \ + "AAAP//KpzsDPMAAAA=" #define SEED_SIGNATURE_TEST_VALUE \ - "MEQCIDD1IVxjzWYncun+9IGzqYjZvqxxujQEayJULTlbTGA/AiAr0oVmEgVUQZBYq5VLOSvy96" \ - "JkMYgzTkHPwbv7K/CmgA==" + "MEUCIQCo4D8Ad0pMlFoLT4mMrv7/ZK7PqyEmJlW5jciua6mluAIgQQKcj352r/sjq8b98W+jRk" \ + "dwyDZn3ocgV01juWKx3u0=" constexpr char kCompressedSeedTestValue[] = COMPRESSED_SEED_TEST_VALUE; constexpr char kSignatureValue[] = SEED_SIGNATURE_TEST_VALUE; @@ -297,26 +302,69 @@ "\"\n" "}\n"; +#undef COMPRESSED_SEED_TEST_VALUE +#undef SEED_SIGNATURE_TEST_VALUE + +// Note: This test is parametrized on metrics consent state, since that affects +// field trial randomization. class FirstRunMasterPrefsVariationsSeedTest - : public FirstRunMasterPrefsBrowserTestT<kWithVariationsPrefs> { + : public FirstRunMasterPrefsBrowserTestT<kWithVariationsPrefs>, + public testing::WithParamInterface<bool> { public: - FirstRunMasterPrefsVariationsSeedTest() { + FirstRunMasterPrefsVariationsSeedTest() : metrics_consent_(GetParam()) { base::CommandLine::ForCurrentProcess()->AppendSwitch( variations::switches::kDisableFieldTrialTestingConfig); } ~FirstRunMasterPrefsVariationsSeedTest() override = default; + void SetUp() override { + // Make metrics reporting work same as in Chrome branded builds, for test + // consistency between Chromium and Chrome builds. + ChromeMetricsServiceAccessor::SetForceIsMetricsReportingEnabledPrefLookup( + true); + // Based on GetParam(), either enable or disable metrics reporting. + ChromeMetricsServiceAccessor::SetMetricsAndCrashReportingForTesting( + &metrics_consent_); + FirstRunMasterPrefsBrowserTestT::SetUp(); + } + + // Writes the trial group to the temporary file. + void WriteTrialGroupToTestFile(const std::string& trial_group) { + base::ScopedAllowBlockingForTesting allow_blocking; + int bytes_to_write = base::checked_cast<int>(trial_group.length()); + int bytes_written = + base::WriteFile(GetTestFilePath(), trial_group.c_str(), bytes_to_write); + EXPECT_EQ(bytes_to_write, bytes_written); + } + + // Reads the trial group from the temporary file. + std::string ReadTrialGroupFromTestFile() { + base::ScopedAllowBlockingForTesting allow_blocking; + char data[256]; + int bytes_read = base::ReadFile(GetTestFilePath(), data, sizeof(data)); + EXPECT_NE(-1, bytes_read); + return std::string(data, bytes_read); + } + protected: base::HistogramTester histogram_tester_; private: + const bool metrics_consent_; + + // Returns a file path for persisting a field trial's state. The path is + // under the user data dir, so should only persist between pairs of PRE_Foo + // and Foo tests. + base::FilePath GetTestFilePath() { + base::FilePath user_data_dir; + EXPECT_TRUE(base::PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)); + return user_data_dir.AppendASCII("FirstRunMasterPrefsVariationsSeedTest"); + } + DISALLOW_COPY_AND_ASSIGN(FirstRunMasterPrefsVariationsSeedTest); }; -#undef COMPRESSED_SEED_TEST_VALUE -#undef SEED_SIGNATURE_TEST_VALUE - -IN_PROC_BROWSER_TEST_F(FirstRunMasterPrefsVariationsSeedTest, Test) { +IN_PROC_BROWSER_TEST_P(FirstRunMasterPrefsVariationsSeedTest, Test) { // Tests variation migration from master_preferences to local_state. EXPECT_EQ(kCompressedSeedTestValue, g_browser_process->local_state()->GetString( @@ -332,6 +380,47 @@ variations::VerifySignatureResult::VALID_SIGNATURE, 1); } +// The following tests are only enabled on Windows, since it is the only +// platform where master prefs is used to deliver first run variations. The +// tests do not pass on other platforms due to the provisional client id logic +// in metrics_state_manager.cc. See the comment there for details. + +#if defined(OS_WIN) + +// The trial and groups encoded in the above seed. +constexpr char kTrialName[] = "UMA-Uniformity-Trial-10-Percent"; +const char* kTrialGroups[] = {"default", "group_01", "group_02", "group_03", + "group_04", "group_05", "group_06", "group_07", + "group_08", "group_09"}; + +IN_PROC_BROWSER_TEST_P(FirstRunMasterPrefsVariationsSeedTest, PRE_SecondRun) { + // Check that the trial from the seed exists and is in one of the expected + // states. Persist the state so that we can verify its randomization persists + // in FirstRunMasterPrefsVariationsSeedTest.SecondRun. + const std::string group_name = base::FieldTrialList::FindFullName(kTrialName); + ASSERT_TRUE(base::Contains(kTrialGroups, group_name)) << group_name; + // Ensure trial is active (not disabled). + ASSERT_TRUE(base::FieldTrialList::IsTrialActive(kTrialName)); + WriteTrialGroupToTestFile(group_name); +} + +IN_PROC_BROWSER_TEST_P(FirstRunMasterPrefsVariationsSeedTest, SecondRun) { + // This test runs after PRE_SecondRun and verifies that the trial state on + // the second run matches what was seen in the PRE_ test. + const std::string group_name = base::FieldTrialList::FindFullName(kTrialName); + ASSERT_TRUE(base::Contains(kTrialGroups, group_name)) << group_name; + // Ensure trial is active (not disabled). + ASSERT_TRUE(base::FieldTrialList::IsTrialActive(kTrialName)); + // Read the trial group name that was saved by PRE_ForceTrials from the + // corresponding test file. + EXPECT_EQ(group_name, ReadTrialGroupFromTestFile()); +} +#endif // defined(OS_WIN) + +INSTANTIATE_TEST_SUITE_P(FirstRunMasterPrefsVariationsSeedTests, + FirstRunMasterPrefsVariationsSeedTest, + testing::Bool()); + #endif // !defined(OS_CHROMEOS) } // namespace first_run
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json index f32935c4..4cb07cd9 100644 --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json
@@ -3270,6 +3270,11 @@ "expiry_milestone": -1 }, { + "name": "use-fake-device-for-media-stream", + "owners": [ "mcasas", "chromeos-gfx@google.com" ], + "expiry_milestone": 81 + }, + { "name": "use_messages_google_com_domain", "owners": [ "azeemarshad", "khorimoto" ], "expiry_milestone": 76
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc index d2139893..2f9cad66 100644 --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -3189,12 +3189,7 @@ const char kCrostiniUsbAllowUnsupportedName[] = "Crostini Usb Allow Unsupported"; const char kCrostiniUsbAllowUnsupportedDescription[] = - "Allow mounting unsupported Usb devices in Crostini. At your own risk. " - "To enable, Crostini Usb Support must also be enabled."; - -const char kCrostiniUsbSupportName[] = "Crostini Usb Support"; -const char kCrostiniUsbSupportDescription[] = - "Enable mounting Usb devices in Crostini."; + "Allow mounting unsupported Usb devices in Crostini. At your own risk. "; const char kCrostiniWebUIInstallerName[] = "Crostini WebUI Installer"; const char kCrostiniWebUIInstallerDescription[] = @@ -3550,6 +3545,12 @@ "If enabled, the user can calibrate the touch screen displays in " "chrome://settings/display."; +const char kUseFakeDeviceForMediaStreamName[] = "Use fake video capture device"; +const char kUseFakeDeviceForMediaStreamDescription[] = + "Forces Chrome to use a fake video capture device (a rolling pacman with a " + "timestamp) instead of the system audio/video devices, for debugging " + "purposes."; + const char kUiDevToolsName[] = "Enable native UI inspection"; const char kUiDevToolsDescription[] = "Enables inspection of native UI elements. For local inspection use "
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h index 4014944..d085669 100644 --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -1904,9 +1904,6 @@ extern const char kCrostiniUsbAllowUnsupportedName[]; extern const char kCrostiniUsbAllowUnsupportedDescription[]; -extern const char kCrostiniUsbSupportName[]; -extern const char kCrostiniUsbSupportDescription[]; - extern const char kCrostiniWebUIInstallerName[]; extern const char kCrostiniWebUIInstallerDescription[]; @@ -2138,6 +2135,9 @@ extern const char kUsbguardName[]; extern const char kUsbguardDescription[]; +extern const char kUseFakeDeviceForMediaStreamName[]; +extern const char kUseFakeDeviceForMediaStreamDescription[]; + extern const char kUseMonitorColorSpaceName[]; extern const char kUseMonitorColorSpaceDescription[];
diff --git a/chrome/browser/lookalikes/safety_tips/reputation_web_contents_observer.cc b/chrome/browser/lookalikes/safety_tips/reputation_web_contents_observer.cc index 95d4621..6edc668 100644 --- a/chrome/browser/lookalikes/safety_tips/reputation_web_contents_observer.cc +++ b/chrome/browser/lookalikes/safety_tips/reputation_web_contents_observer.cc
@@ -4,6 +4,7 @@ #include "chrome/browser/lookalikes/safety_tips/reputation_web_contents_observer.h" +#include "base/metrics/histogram_macros.h" #include "build/build_config.h" #include "chrome/browser/profiles/profile.h" #include "chrome/common/chrome_features.h" @@ -76,6 +77,9 @@ security_state::SafetyTipStatus safety_tip_status, bool user_ignored, const GURL& url) { + UMA_HISTOGRAM_ENUMERATION("Security.SafetyTips.SafetyTipShown", + safety_tip_status); + if (safety_tip_status == security_state::SafetyTipStatus::kNone) { MaybeCallReputationCheckCallback(); return; @@ -84,9 +88,12 @@ // TODO(crbug/987754): Record metrics here. if (user_ignored) { + UMA_HISTOGRAM_ENUMERATION("Security.SafetyTips.SafetyTipIgnoredPageLoad", + safety_tip_status); MaybeCallReputationCheckCallback(); return; } + // Set this field independent of whether the feature to show the UI is // enabled/disabled. Metrics code uses this field and we want to record // metrics regardless of the feature being enabled/disabled.
diff --git a/chrome/browser/media/webrtc/webrtc_apprtc_browsertest.cc b/chrome/browser/media/webrtc/webrtc_apprtc_browsertest.cc index b0fa8a8..e46f618 100644 --- a/chrome/browser/media/webrtc/webrtc_apprtc_browsertest.cc +++ b/chrome/browser/media/webrtc/webrtc_apprtc_browsertest.cc
@@ -69,10 +69,9 @@ protected: bool LaunchApprtcInstanceOnLocalhost(const std::string& port) { - base::FilePath appengine_dev_appserver = - GetSourceDir().Append(FILE_PATH_LITERAL( - "third_party/webrtc/rtc_tools/testing/webrtc_apprtc_browsertest/" - "apprtc/temp/google-cloud-sdk/bin/dev_appserver.py")); + base::FilePath appengine_dev_appserver = GetSourceDir().Append( + FILE_PATH_LITERAL("third_party/webrtc/rtc_tools/testing/browsertest/" + "apprtc/temp/google-cloud-sdk/bin/dev_appserver.py")); if (!base::PathExists(appengine_dev_appserver)) { LOG(ERROR) << "Missing appengine sdk at " << appengine_dev_appserver.value() << ".\n" << @@ -82,7 +81,7 @@ base::FilePath apprtc_dir = GetSourceDir().Append( FILE_PATH_LITERAL("third_party/webrtc/rtc_tools/testing/" - "webrtc_apprtc_browsertest/apprtc/out/app_engine")); + "browsertest/apprtc/out/app_engine")); if (!base::PathExists(apprtc_dir)) { LOG(ERROR) << "Missing AppRTC AppEngine app at " << apprtc_dir.value() << ".\n" << test::kAdviseOnGclientSolution; @@ -115,13 +114,13 @@ // The go workspace should be created, and collidermain built, at the // runhooks stage when webrtc.DEPS/build_apprtc_collider.py runs. #if defined(OS_WIN) - base::FilePath collider_server = GetSourceDir().Append(FILE_PATH_LITERAL( - "third_party/webrtc/rtc_tools/testing/" - "webrtc_apprtc_browsertest/collider/collidermain.exe")); + base::FilePath collider_server = GetSourceDir().Append( + FILE_PATH_LITERAL("third_party/webrtc/rtc_tools/testing/" + "browsertest/collider/collidermain.exe")); #else base::FilePath collider_server = GetSourceDir().Append( FILE_PATH_LITERAL("third_party/webrtc/rtc_tools/testing/" - "webrtc_apprtc_browsertest/collider/collidermain")); + "browsertest/collider/collidermain")); #endif if (!base::PathExists(collider_server)) { LOG(ERROR) << "Missing Collider server binary at " <<
diff --git a/chrome/browser/metrics/assistant_service_metrics_provider.cc b/chrome/browser/metrics/assistant_service_metrics_provider.cc index 758c241..d4f65ea 100644 --- a/chrome/browser/metrics/assistant_service_metrics_provider.cc +++ b/chrome/browser/metrics/assistant_service_metrics_provider.cc
@@ -7,7 +7,7 @@ #include "base/metrics/histogram_macros.h" #include "chrome/browser/chromeos/assistant/assistant_util.h" #include "chrome/browser/profiles/profile_manager.h" -#include "components/arc/arc_prefs.h" +#include "chromeos/services/assistant/public/cpp/assistant_prefs.h" #include "components/prefs/pref_service.h" AssistantServiceMetricsProvider::AssistantServiceMetricsProvider() = default; @@ -24,5 +24,5 @@ UMA_HISTOGRAM_BOOLEAN( "Assistant.ServiceEnabledUserCount", ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean( - arc::prefs::kVoiceInteractionEnabled)); + chromeos::assistant::prefs::kAssistantEnabled)); }
diff --git a/chrome/browser/metrics/chrome_metrics_service_accessor.h b/chrome/browser/metrics/chrome_metrics_service_accessor.h index a65aa2ae..6ed483c2 100644 --- a/chrome/browser/metrics/chrome_metrics_service_accessor.h +++ b/chrome/browser/metrics/chrome_metrics_service_accessor.h
@@ -40,6 +40,10 @@ class FileManagerPrivateIsUMAEnabledFunction; } +namespace first_run { +class FirstRunMasterPrefsVariationsSeedTest; +} + namespace metrics { class UkmConsentParamBrowserTest; } @@ -112,6 +116,7 @@ friend class NavigationMetricsRecorder; // Testing related friends. + friend class first_run::FirstRunMasterPrefsVariationsSeedTest; friend class ForceFieldTrialsBrowserTest; friend class MetricsReportingStateTest; friend class metrics::UkmConsentParamBrowserTest;
diff --git a/chrome/browser/metrics/ukm_browsertest.cc b/chrome/browser/metrics/ukm_browsertest.cc index a24ed29..7ebec22e 100644 --- a/chrome/browser/metrics/ukm_browsertest.cc +++ b/chrome/browser/metrics/ukm_browsertest.cc
@@ -540,8 +540,13 @@ // Keep in sync with UkmTest.testMetricConsent in // chrome/android/javatests/src/org/chromium/chrome/browser/sync/ // UkmTest.java. - -IN_PROC_BROWSER_TEST_P(UkmBrowserTest, MetricsConsentCheck) { +#if defined(OS_CHROMEOS) +// TODO(https://crbug.com/996823): Re-enable this test. +#define MAYBE_MetricsConsentCheck DISABLED_MetricsConsentCheck +#else +#define MAYBE_MetricsConsentCheck MetricsConsentCheck +#endif +IN_PROC_BROWSER_TEST_P(UkmBrowserTest, MAYBE_MetricsConsentCheck) { MetricsConsentOverride metrics_consent(true); Profile* profile = ProfileManager::GetActiveUserProfile();
diff --git a/chrome/browser/native_file_system/chrome_native_file_system_permission_context.cc b/chrome/browser/native_file_system/chrome_native_file_system_permission_context.cc index 5b3bbad..ba0d2a8e 100644 --- a/chrome/browser/native_file_system/chrome_native_file_system_permission_context.cc +++ b/chrome/browser/native_file_system/chrome_native_file_system_permission_context.cc
@@ -13,16 +13,20 @@ #include "base/path_service.h" #include "base/task/post_task.h" #include "build/build_config.h" +#include "chrome/browser/browser_process.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" #include "chrome/browser/native_file_system/native_file_system_permission_context_factory.h" #include "chrome/browser/native_file_system/native_file_system_permission_request_manager.h" #include "chrome/browser/profiles/profile.h" +#include "chrome/browser/safe_browsing/download_protection/download_protection_service.h" +#include "chrome/browser/sessions/session_tab_helper.h" #include "chrome/browser/ui/browser_dialogs.h" #include "chrome/common/chrome_paths.h" #include "components/content_settings/core/browser/host_content_settings_map.h" #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/render_frame_host.h" +#include "content/public/browser/render_process_host.h" #include "content/public/browser/web_contents.h" namespace { @@ -326,6 +330,74 @@ PermissionStatus status_ = PermissionStatus::GRANTED; }; +void DoSafeBrowsingCheckOnUIThread( + int process_id, + int frame_id, + std::unique_ptr<content::NativeFileSystemWriteItem> item, + safe_browsing::CheckDownloadCallback callback) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); + + safe_browsing::SafeBrowsingService* sb_service = + g_browser_process->safe_browsing_service(); + + if (!sb_service || !sb_service->download_protection_service() || + !sb_service->download_protection_service()->enabled()) { + std::move(callback).Run(safe_browsing::DownloadCheckResult::UNKNOWN); + return; + } + + if (!item->browser_context) { + content::RenderProcessHost* rph = + content::RenderProcessHost::FromID(process_id); + if (!rph) { + std::move(callback).Run(safe_browsing::DownloadCheckResult::UNKNOWN); + return; + } + item->browser_context = rph->GetBrowserContext(); + } + + if (!item->web_contents) { + content::RenderFrameHost* rfh = + content::RenderFrameHost::FromID(process_id, frame_id); + if (rfh) + item->web_contents = content::WebContents::FromRenderFrameHost(rfh); + } + + sb_service->download_protection_service()->CheckNativeFileSystemWrite( + std::move(item), std::move(callback)); +} + +ChromeNativeFileSystemPermissionContext::SafeBrowsingResult +InterpretSafeBrowsingResult(safe_browsing::DownloadCheckResult result) { + using Result = safe_browsing::DownloadCheckResult; + switch (result) { + // Only allow downloads that are marked as SAFE or UNKNOWN by SafeBrowsing. + // All other types are going to be blocked. UNKNOWN could be the result of a + // failed safe browsing ping. + case Result::UNKNOWN: + case Result::SAFE: + case Result::WHITELISTED_BY_POLICY: + return ChromeNativeFileSystemPermissionContext::SafeBrowsingResult:: + kAllow; + + case Result::DANGEROUS: + case Result::UNCOMMON: + case Result::DANGEROUS_HOST: + case Result::POTENTIALLY_UNWANTED: + case Result::BLOCKED_PASSWORD_PROTECTED: + return ChromeNativeFileSystemPermissionContext::SafeBrowsingResult:: + kBlock; + + // This shouldn't be returned for Native File System write checks. + case Result::ASYNC_SCANNING: + NOTREACHED(); + return ChromeNativeFileSystemPermissionContext::SafeBrowsingResult:: + kAllow; + } + NOTREACHED(); + return ChromeNativeFileSystemPermissionContext::SafeBrowsingResult::kBlock; +} + } // namespace ChromeNativeFileSystemPermissionContext::Grants::Grants() = default; @@ -599,6 +671,28 @@ std::move(callback))); } +void ChromeNativeFileSystemPermissionContext::PerformSafeBrowsingChecks( + std::unique_ptr<content::NativeFileSystemWriteItem> item, + int process_id, + int frame_id, + base::OnceCallback<void(SafeBrowsingResult)> callback) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + base::PostTask( + FROM_HERE, {content::BrowserThread::UI}, + base::BindOnce( + &DoSafeBrowsingCheckOnUIThread, process_id, frame_id, std::move(item), + base::BindOnce( + [](scoped_refptr<base::TaskRunner> task_runner, + base::OnceCallback<void(SafeBrowsingResult result)> callback, + safe_browsing::DownloadCheckResult result) { + task_runner->PostTask( + FROM_HERE, + base::BindOnce(std::move(callback), + InterpretSafeBrowsingResult(result))); + }, + base::SequencedTaskRunnerHandle::Get(), std::move(callback)))); +} + ChromeNativeFileSystemPermissionContext::Grants ChromeNativeFileSystemPermissionContext::GetPermissionGrants( const url::Origin& origin,
diff --git a/chrome/browser/native_file_system/chrome_native_file_system_permission_context.h b/chrome/browser/native_file_system/chrome_native_file_system_permission_context.h index 91dc8a46..ad74f77 100644 --- a/chrome/browser/native_file_system/chrome_native_file_system_permission_context.h +++ b/chrome/browser/native_file_system/chrome_native_file_system_permission_context.h
@@ -154,6 +154,12 @@ int frame_id, base::OnceCallback<void(PermissionStatus)> callback) override; + void PerformSafeBrowsingChecks( + std::unique_ptr<content::NativeFileSystemWriteItem> item, + int process_id, + int frame_id, + base::OnceCallback<void(SafeBrowsingResult)> callback) override; + struct Grants { Grants(); ~Grants();
diff --git a/chrome/browser/navigation_predictor/navigation_predictor.cc b/chrome/browser/navigation_predictor/navigation_predictor.cc index beb646421..435f75e 100644 --- a/chrome/browser/navigation_predictor/navigation_predictor.cc +++ b/chrome/browser/navigation_predictor/navigation_predictor.cc
@@ -27,7 +27,7 @@ #include "content/public/browser/site_instance.h" #include "content/public/browser/web_contents.h" #include "mojo/public/cpp/bindings/message.h" -#include "mojo/public/cpp/bindings/strong_binding.h" +#include "mojo/public/cpp/bindings/self_owned_receiver.h" #include "net/base/features.h" #include "services/metrics/public/cpp/metrics_utils.h" #include "services/metrics/public/cpp/ukm_builders.h" @@ -251,7 +251,7 @@ } void NavigationPredictor::Create( - blink::mojom::AnchorElementMetricsHostRequest request, + mojo::PendingReceiver<blink::mojom::AnchorElementMetricsHost> receiver, content::RenderFrameHost* render_frame_host) { DCHECK(base::FeatureList::IsEnabled(blink::features::kNavigationPredictor)); @@ -259,9 +259,9 @@ if (render_frame_host->GetParent()) return; - mojo::MakeStrongBinding( + mojo::MakeSelfOwnedReceiver( std::make_unique<NavigationPredictor>(render_frame_host), - std::move(request)); + std::move(receiver)); } bool NavigationPredictor::IsValidMetricFromRenderer(
diff --git a/chrome/browser/navigation_predictor/navigation_predictor.h b/chrome/browser/navigation_predictor/navigation_predictor.h index f41e67b..a3e928e 100644 --- a/chrome/browser/navigation_predictor/navigation_predictor.h +++ b/chrome/browser/navigation_predictor/navigation_predictor.h
@@ -16,7 +16,7 @@ #include "base/timer/timer.h" #include "content/public/browser/visibility.h" #include "content/public/browser/web_contents_observer.h" -#include "mojo/public/cpp/bindings/interface_request.h" +#include "mojo/public/cpp/bindings/pending_receiver.h" #include "services/metrics/public/cpp/ukm_recorder.h" #include "services/metrics/public/cpp/ukm_source_id.h" #include "third_party/blink/public/mojom/loader/navigation_predictor.mojom.h" @@ -48,7 +48,7 @@ ~NavigationPredictor() override; // Create and bind NavigationPredictor. - static void Create(mojo::InterfaceRequest<AnchorElementMetricsHost> request, + static void Create(mojo::PendingReceiver<AnchorElementMetricsHost> receiver, content::RenderFrameHost* render_frame_host); // Enum describing the possible set of actions that navigation predictor may
diff --git a/chrome/browser/navigation_predictor/navigation_predictor_unittest.cc b/chrome/browser/navigation_predictor/navigation_predictor_unittest.cc index 4c25edd..0f2698f5 100644 --- a/chrome/browser/navigation_predictor/navigation_predictor_unittest.cc +++ b/chrome/browser/navigation_predictor/navigation_predictor_unittest.cc
@@ -14,7 +14,9 @@ #include "chrome/test/base/chrome_render_view_host_test_harness.h" #include "components/ukm/test_ukm_recorder.h" #include "content/public/browser/web_contents.h" -#include "mojo/public/cpp/bindings/interface_request.h" +#include "mojo/public/cpp/bindings/pending_receiver.h" +#include "mojo/public/cpp/bindings/receiver.h" +#include "mojo/public/cpp/bindings/remote.h" #include "mojo/public/cpp/bindings/strong_binding.h" #include "services/metrics/public/cpp/ukm_builders.h" #include "testing/gmock/include/gmock/gmock.h" @@ -28,11 +30,11 @@ class TestNavigationPredictor : public NavigationPredictor { public: TestNavigationPredictor( - mojo::InterfaceRequest<AnchorElementMetricsHost> request, + mojo::PendingReceiver<AnchorElementMetricsHost> receiver, content::RenderFrameHost* render_frame_host, bool init_feature_list) - : NavigationPredictor(render_frame_host), binding_(this) { - binding_.Bind(std::move(request)); + : NavigationPredictor(render_frame_host), + receiver_(this, std::move(receiver)) { if (init_feature_list) { const std::vector<base::Feature> features = { blink::features::kNavigationPredictor}; @@ -74,7 +76,7 @@ base::test::ScopedFeatureList feature_list_; // Used to bind Mojo interface - mojo::Binding<AnchorElementMetricsHost> binding_; + mojo::Receiver<AnchorElementMetricsHost> receiver_; int calls_to_prefetch_ = 0; }; @@ -82,10 +84,10 @@ class TestNavigationPredictorBasedOnScroll : public TestNavigationPredictor { public: TestNavigationPredictorBasedOnScroll( - mojo::InterfaceRequest<AnchorElementMetricsHost> request, + mojo::PendingReceiver<AnchorElementMetricsHost> receiver, content::RenderFrameHost* render_frame_host, bool init_feature_list) - : TestNavigationPredictor(std::move(request), + : TestNavigationPredictor(std::move(receiver), render_frame_host, init_feature_list) {} @@ -145,7 +147,7 @@ void SetUp() override { ChromeRenderViewHostTestHarness::SetUp(); predictor_service_helper_ = std::make_unique<TestNavigationPredictor>( - mojo::MakeRequest(&predictor_service_), main_rfh(), + predictor_service_.BindNewPipeAndPassReceiver(), main_rfh(), !field_trial_initiated_); } @@ -176,7 +178,7 @@ blink::features::kNavigationPredictor, params); } - blink::mojom::AnchorElementMetricsHostPtr predictor_service_; + mojo::Remote<blink::mojom::AnchorElementMetricsHost> predictor_service_; std::unique_ptr<TestNavigationPredictor> predictor_service_helper_; private: @@ -529,7 +531,7 @@ void SetUp() override { ChromeRenderViewHostTestHarness::SetUp(); predictor_service_helper_ = std::make_unique<TestNavigationPredictor>( - mojo::MakeRequest(&predictor_service_), main_rfh(), false); + predictor_service_.BindNewPipeAndPassReceiver(), main_rfh(), false); } struct TestMetrics { @@ -747,7 +749,7 @@ ChromeRenderViewHostTestHarness::SetUp(); predictor_service_helper_ = std::make_unique<TestNavigationPredictorBasedOnScroll>( - mojo::MakeRequest(&predictor_service_), main_rfh(), false); + predictor_service_.BindNewPipeAndPassReceiver(), main_rfh(), false); } blink::mojom::AnchorElementMetricsPtr CreateMetricsPtrWithRatioDistance( @@ -844,7 +846,7 @@ void SetUp() override { ChromeRenderViewHostTestHarness::SetUp(); predictor_service_helper_ = std::make_unique<TestNavigationPredictor>( - mojo::MakeRequest(&predictor_service_), main_rfh(), false); + predictor_service_.BindNewPipeAndPassReceiver(), main_rfh(), false); } }; @@ -942,7 +944,7 @@ void SetUp() override { ChromeRenderViewHostTestHarness::SetUp(); predictor_service_helper_ = std::make_unique<TestNavigationPredictor>( - mojo::MakeRequest(&predictor_service_), main_rfh(), false); + predictor_service_.BindNewPipeAndPassReceiver(), main_rfh(), false); } };
diff --git a/chrome/browser/payments/payment_handler_exploit_browsertest.cc b/chrome/browser/payments/payment_handler_exploit_browsertest.cc new file mode 100644 index 0000000..2c06922 --- /dev/null +++ b/chrome/browser/payments/payment_handler_exploit_browsertest.cc
@@ -0,0 +1,152 @@ +// 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 "base/macros.h" +#include "build/build_config.h" +#include "chrome/test/base/chrome_test_utils.h" +#include "content/public/browser/render_process_host.h" +#include "content/public/browser/web_contents.h" +#include "content/public/test/browser_test_utils.h" +#include "content/public/test/content_browser_test_utils.h" +#include "content/public/test/service_worker_host_interceptor.h" +#include "net/dns/mock_host_resolver.h" +#include "net/test/embedded_test_server/embedded_test_server.h" +#include "testing/gtest/include/gtest/gtest.h" +#include "url/gurl.h" +#include "url/origin.h" + +#if defined(OS_ANDROID) +#include "chrome/test/base/android/android_browser_test.h" +#else +#include "chrome/browser/payments/chrome_payment_request_delegate.h" +#include "chrome/browser/payments/payment_request_factory.h" +#include "chrome/test/base/in_process_browser_test.h" +#include "components/payments/content/payment_request_web_contents_manager.h" +#endif + +namespace payments { +namespace { + +class PaymentHandlerExploitTest : public PlatformBrowserTest, + public content::ServiceWorkerHostInterceptor { + public: + PaymentHandlerExploitTest() + : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {} + + ~PaymentHandlerExploitTest() override {} + + content::WebContents* GetActiveWebContents() { + return chrome_test_utils::GetActiveWebContents(this); + } + + void set_payment_handler_window_url(const GURL& url) { + payment_handler_window_url_ = url; + } + + GURL GetTestServerUrl(const std::string& relative_path) { + return https_server_.GetURL(relative_path); + } + + private: +#if !defined(OS_ANDROID) + // A delegate for PaymentRequest that mimics the browser window always being + // active, which is a requirement for launching PaymentRequest, but is false + // in MacOS browser tests. + class TestDelegate : public ChromePaymentRequestDelegate { + public: + explicit TestDelegate(content::WebContents* web_contents) + : ChromePaymentRequestDelegate(web_contents) {} + ~TestDelegate() override {} + + // ChromePaymentRequestDelegate: + bool IsBrowserWindowActive() const override { return true; } + + private: + DISALLOW_COPY_AND_ASSIGN(TestDelegate); + }; + + void CreatePaymentRequestForTest( + payments::mojom::PaymentRequestRequest request, + content::RenderFrameHost* render_frame_host) { + auto* web_contents = + content::WebContents::FromRenderFrameHost(render_frame_host); + PaymentRequestWebContentsManager::GetOrCreateForWebContents(web_contents) + ->CreatePaymentRequest(render_frame_host, web_contents, + std::make_unique<TestDelegate>(web_contents), + std::move(request), + /*observer_for_testing=*/nullptr); + } +#endif // !OS_ANDROID + + // PlatformBrowserTest: + void SetUpOnMainThread() override { + https_server_.ServeFilesFromSourceDirectory( + "components/test/data/payments"); + ASSERT_TRUE(https_server_.Start()); + ASSERT_TRUE(content::NavigateToURL( + GetActiveWebContents(), GetTestServerUrl("/payment_handler.html"))); + +#if !defined(OS_ANDROID) + // Use TestDelegate that helps with MacOS browser test environment: + payments::SetPaymentRequestFactoryForTesting(base::BindRepeating( + &PaymentHandlerExploitTest::CreatePaymentRequestForTest, + base::Unretained(this))); +#endif // !OS_ANDROID + + PlatformBrowserTest::SetUpOnMainThread(); + } + + // content::ServiceWorkerHostInterceptor: + bool WillOpenPaymentHandlerWindow(GURL* url) override { + *url = payment_handler_window_url_; + return true; + } + + GURL payment_handler_window_url_; + net::EmbeddedTestServer https_server_; + + DISALLOW_COPY_AND_ASSIGN(PaymentHandlerExploitTest); +}; + +// Unable to launch a payment handler window on Android through browser test. +// https://crbug.com/998737 +#if defined(OS_ANDROID) +#define MAYBE_SmokeTest DISABLED_SmokeTest +#else +#define MAYBE_SmokeTest SmokeTest +#endif +IN_PROC_BROWSER_TEST_F(PaymentHandlerExploitTest, MAYBE_SmokeTest) { + std::string expected = "success"; + EXPECT_EQ(expected, content::EvalJs(GetActiveWebContents(), "install()")); + EXPECT_EQ(expected, content::EvalJs(GetActiveWebContents(), "launch()")); +} + +IN_PROC_BROWSER_TEST_F(PaymentHandlerExploitTest, + RendererCannotOpenCrossOriginWindow) { + std::string expected = "success"; + EXPECT_EQ(expected, content::EvalJs(GetActiveWebContents(), "install()")); + + GURL service_worker_scope = GetTestServerUrl("/"); + int service_worker_process_id = -1; + EXPECT_EQ(blink::ServiceWorkerStatusCode::kOk, + InterceptServiceWorkerHostWithScope( + GetActiveWebContents()->GetBrowserContext(), + service_worker_scope, &service_worker_process_id)); + + content::RenderProcessHostWatcher crash_observer( + content::RenderProcessHost::FromID(service_worker_process_id), + content::RenderProcessHostWatcher::WATCH_FOR_PROCESS_EXIT); + + GURL cross_origin_url("https://127.0.0.1:80"); + EXPECT_FALSE(url::IsSameOriginWith(cross_origin_url, service_worker_scope)); + set_payment_handler_window_url(cross_origin_url); + + EXPECT_TRUE(content::ExecJs(GetActiveWebContents(), "launch()")); + + crash_observer.Wait(); + EXPECT_FALSE(crash_observer.did_exit_normally()); +} + +} // namespace +} // namespace payments
diff --git a/chrome/browser/performance_manager/decorators/freeze_origin_trial_policy_aggregator.cc b/chrome/browser/performance_manager/decorators/freeze_origin_trial_policy_aggregator.cc new file mode 100644 index 0000000..713023b --- /dev/null +++ b/chrome/browser/performance_manager/decorators/freeze_origin_trial_policy_aggregator.cc
@@ -0,0 +1,156 @@ +// 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 "chrome/browser/performance_manager/decorators/freeze_origin_trial_policy_aggregator.h" + +#include <stdint.h> + +#include "chrome/browser/performance_manager/graph/node_attached_data_impl.h" +#include "chrome/browser/performance_manager/graph/page_node_impl.h" +#include "services/resource_coordinator/public/mojom/coordination_unit.mojom.h" + +namespace performance_manager { + +using resource_coordinator::mojom::InterventionPolicy; + +// Provides FreezeOriginTrialPolicyAggregator machinery access to some internals +// of a PageNodeImpl. +class FreezeOriginTrialPolicyAggregatorAccess { + public: + using StorageType = decltype(PageNodeImpl::freeze_origin_trial_policy_data_); + + static StorageType* GetInternalStorage(PageNodeImpl* page_node) { + return &page_node->freeze_origin_trial_policy_data_; + } + + static void SetOriginTrialFreezePolicy(PageNodeImpl* page_node, + InterventionPolicy policy) { + page_node->SetOriginTrialFreezePolicy(policy); + } +}; + +class FreezeOriginTrialPolicyAggregator::Data + : public NodeAttachedDataImpl<Data> { + public: + using StorageType = FreezeOriginTrialPolicyAggregatorAccess::StorageType; + struct Traits : public NodeAttachedDataInternalOnNodeType<PageNodeImpl> {}; + + explicit Data(const PageNodeImpl* page_node) {} + ~Data() override = default; + + static StorageType* GetInternalStorage(PageNodeImpl* page_node) { + return FreezeOriginTrialPolicyAggregatorAccess::GetInternalStorage( + page_node); + } + + void IncrementFrameCountForPolicy(InterventionPolicy policy) { + ++num_current_frames_for_policy[static_cast<size_t>(policy)]; + } + + void DecrementFrameCountForPolicy(InterventionPolicy policy) { + DCHECK_GT(num_current_frames_for_policy[static_cast<size_t>(policy)], 0U); + --num_current_frames_for_policy[static_cast<size_t>(policy)]; + } + + // Updates the page's origin trial freeze policy from current data. + void UpdateOriginTrialFreezePolicy(PageNodeImpl* page_node) { + FreezeOriginTrialPolicyAggregatorAccess::SetOriginTrialFreezePolicy( + page_node, ComputeOriginTrialFreezePolicy()); + } + + private: + // Computes the page's origin trial freeze policy from current data. + InterventionPolicy ComputeOriginTrialFreezePolicy() const { + if (GetNumCurrentFramesForPolicy(InterventionPolicy::kUnknown)) + return InterventionPolicy::kUnknown; + + if (GetNumCurrentFramesForPolicy(InterventionPolicy::kOptOut)) + return InterventionPolicy::kOptOut; + + if (GetNumCurrentFramesForPolicy(InterventionPolicy::kOptIn)) + return InterventionPolicy::kOptIn; + + // A page with no frame can be frozen. This will have no effect. + return InterventionPolicy::kDefault; + } + + // Returns the number of current frames with |policy| on the page that owns + // this Data. + uint32_t GetNumCurrentFramesForPolicy(InterventionPolicy policy) const { + return num_current_frames_for_policy[static_cast<size_t>(policy)]; + } + + // The number of current frames of this page that has set each freeze origin + // trial policy. + uint32_t num_current_frames_for_policy[static_cast<size_t>( + InterventionPolicy::kMaxValue) + + 1] = {}; + + DISALLOW_COPY_AND_ASSIGN(Data); +}; + +FreezeOriginTrialPolicyAggregator::FreezeOriginTrialPolicyAggregator() = + default; +FreezeOriginTrialPolicyAggregator::~FreezeOriginTrialPolicyAggregator() = + default; + +void FreezeOriginTrialPolicyAggregator::OnFrameNodeAdded( + const FrameNode* frame_node) { + DCHECK(!frame_node->IsCurrent()); +} + +void FreezeOriginTrialPolicyAggregator::OnBeforeFrameNodeRemoved( + const FrameNode* frame_node) { + if (frame_node->IsCurrent()) { + auto* page_node = PageNodeImpl::FromNode(frame_node->GetPageNode()); + Data* data = Data::Get(page_node); + // Data should have been created when the frame became current. + DCHECK(data); + data->DecrementFrameCountForPolicy( + frame_node->GetOriginTrialFreezePolicy()); + data->UpdateOriginTrialFreezePolicy(page_node); + } +} + +void FreezeOriginTrialPolicyAggregator::OnIsCurrentChanged( + const FrameNode* frame_node) { + auto* page_node = PageNodeImpl::FromNode(frame_node->GetPageNode()); + Data* data = Data::GetOrCreate(page_node); + if (frame_node->IsCurrent()) { + data->IncrementFrameCountForPolicy( + frame_node->GetOriginTrialFreezePolicy()); + } else { + data->DecrementFrameCountForPolicy( + frame_node->GetOriginTrialFreezePolicy()); + } + data->UpdateOriginTrialFreezePolicy(page_node); +} + +void FreezeOriginTrialPolicyAggregator::OnOriginTrialFreezePolicyChanged( + const FrameNode* frame_node, + InterventionPolicy previous_value) { + if (frame_node->IsCurrent()) { + auto* page_node = PageNodeImpl::FromNode(frame_node->GetPageNode()); + Data* data = Data::Get(page_node); + // Data should have been created when the frame became current. + DCHECK(data); + data->DecrementFrameCountForPolicy(previous_value); + data->IncrementFrameCountForPolicy( + frame_node->GetOriginTrialFreezePolicy()); + data->UpdateOriginTrialFreezePolicy(page_node); + } +} + +void FreezeOriginTrialPolicyAggregator::OnPassedToGraph(Graph* graph) { + // This observer presumes that it's been added before any nodes exist in the + // graph. + DCHECK(GraphImpl::FromGraph(graph)->nodes().empty()); + graph->AddFrameNodeObserver(this); +} + +void FreezeOriginTrialPolicyAggregator::OnTakenFromGraph(Graph* graph) { + graph->RemoveFrameNodeObserver(this); +} + +} // namespace performance_manager
diff --git a/chrome/browser/performance_manager/decorators/freeze_origin_trial_policy_aggregator.h b/chrome/browser/performance_manager/decorators/freeze_origin_trial_policy_aggregator.h new file mode 100644 index 0000000..f6998f32 --- /dev/null +++ b/chrome/browser/performance_manager/decorators/freeze_origin_trial_policy_aggregator.h
@@ -0,0 +1,41 @@ +// 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 CHROME_BROWSER_PERFORMANCE_MANAGER_DECORATORS_FREEZE_ORIGIN_TRIAL_POLICY_AGGREGATOR_H_ +#define CHROME_BROWSER_PERFORMANCE_MANAGER_DECORATORS_FREEZE_ORIGIN_TRIAL_POLICY_AGGREGATOR_H_ + +#include "chrome/browser/performance_manager/public/graph/frame_node.h" +#include "chrome/browser/performance_manager/public/graph/graph.h" + +namespace performance_manager { + +// Computes the freeze origin trial policy of a page by aggregating the freeze +// origin trial policies of its current frames. +class FreezeOriginTrialPolicyAggregator : public FrameNode::ObserverDefaultImpl, + public GraphOwnedDefaultImpl { + public: + FreezeOriginTrialPolicyAggregator(); + ~FreezeOriginTrialPolicyAggregator() override; + + private: + class Data; + + // FrameNodeObserver implementation: + void OnFrameNodeAdded(const FrameNode* frame_node) override; + void OnBeforeFrameNodeRemoved(const FrameNode* frame_node) override; + void OnIsCurrentChanged(const FrameNode* frame_node) override; + void OnOriginTrialFreezePolicyChanged( + const FrameNode* frame_node, + InterventionPolicy previous_value) override; + + // GraphOwned implementation: + void OnPassedToGraph(Graph* graph) override; + void OnTakenFromGraph(Graph* graph) override; + + DISALLOW_COPY_AND_ASSIGN(FreezeOriginTrialPolicyAggregator); +}; + +} // namespace performance_manager + +#endif // CHROME_BROWSER_PERFORMANCE_MANAGER_DECORATORS_FREEZE_ORIGIN_TRIAL_POLICY_AGGREGATOR_H_
diff --git a/chrome/browser/performance_manager/decorators/freeze_origin_trial_policy_aggregator_unittest.cc b/chrome/browser/performance_manager/decorators/freeze_origin_trial_policy_aggregator_unittest.cc new file mode 100644 index 0000000..2c6e9383 --- /dev/null +++ b/chrome/browser/performance_manager/decorators/freeze_origin_trial_policy_aggregator_unittest.cc
@@ -0,0 +1,205 @@ +// 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 "chrome/browser/performance_manager/decorators/freeze_origin_trial_policy_aggregator.h" + +#include "chrome/browser/performance_manager/graph/frame_node_impl.h" +#include "chrome/browser/performance_manager/graph/graph_impl_operations.h" +#include "chrome/browser/performance_manager/graph/graph_test_harness.h" +#include "chrome/browser/performance_manager/graph/process_node_impl.h" +#include "chrome/browser/performance_manager/public/graph/page_node.h" +#include "services/resource_coordinator/public/mojom/coordination_unit.mojom.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace performance_manager { + +using resource_coordinator::mojom::InterventionPolicy; + +namespace { + +class FreezeOriginTrialPolicyAggregatorTest : public GraphTestHarness { + public: + void SetUp() override { + GraphTestHarness::SetUp(); + graph()->PassToGraph(std::make_unique<FreezeOriginTrialPolicyAggregator>()); + } +}; + +void ExpectInitialPolicyWorks(GraphImpl* mock_graph, + InterventionPolicy f0_policy, + InterventionPolicy f1_policy, + InterventionPolicy f0_policy_aggregated, + InterventionPolicy f0f1_policy_aggregated) { + TestNodeWrapper<ProcessNodeImpl> process = + TestNodeWrapper<ProcessNodeImpl>::Create(mock_graph); + TestNodeWrapper<PageNodeImpl> page = + TestNodeWrapper<PageNodeImpl>::Create(mock_graph); + + // Check the initial values before any frames are added. + EXPECT_EQ(InterventionPolicy::kDefault, page->origin_trial_freeze_policy()); + + // Create an initial frame. Expect the page policy to be + // |f0_policy_aggregated| when it is made current. + TestNodeWrapper<FrameNodeImpl> f0 = TestNodeWrapper<FrameNodeImpl>::Create( + mock_graph, process.get(), page.get()); + f0->SetOriginTrialFreezePolicy(f0_policy); + EXPECT_EQ(InterventionPolicy::kDefault, page->origin_trial_freeze_policy()); + f0->SetIsCurrent(true); + EXPECT_EQ(f0_policy_aggregated, page->origin_trial_freeze_policy()); + + // Create a second frame and expect the page policy to be + // |f0f1_policy_aggregated| when it is made current. + TestNodeWrapper<FrameNodeImpl> f1 = TestNodeWrapper<FrameNodeImpl>::Create( + mock_graph, process.get(), page.get(), f0.get(), 1); + f1->SetOriginTrialFreezePolicy(f1_policy); + f1->SetIsCurrent(true); + EXPECT_EQ(f0f1_policy_aggregated, page->origin_trial_freeze_policy()); + + // Make the second frame non-current. Expect the page policy to go back to + // |f0_policy_aggregated|. + f1->SetIsCurrent(false); + EXPECT_EQ(f0_policy_aggregated, page->origin_trial_freeze_policy()); + f1->SetIsCurrent(true); + EXPECT_EQ(f0f1_policy_aggregated, page->origin_trial_freeze_policy()); + + // Remove the second frame. Expect the page policy to go back to + // |f0_policy_aggregated|. + f1.reset(); + EXPECT_EQ(f0_policy_aggregated, page->origin_trial_freeze_policy()); +} + +} // namespace + +// Tests all possible combinations of policies for 2 frames. In this test, the +// policy of a frame is set before it becomes current. +TEST_F(FreezeOriginTrialPolicyAggregatorTest, InitialPolicy) { + auto* mock_graph = graph(); + + // Unknown x [Unknown, Default, OptIn, OptOut] + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kUnknown /* f0_policy */, + InterventionPolicy::kUnknown /* f1_policy */, + InterventionPolicy::kUnknown /* f0_policy_aggregated */, + InterventionPolicy::kUnknown /* f0f1_policy_aggregated */); + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kUnknown /* f0_policy */, + InterventionPolicy::kDefault /* f1_policy */, + InterventionPolicy::kUnknown /* f0_policy_aggregated */, + InterventionPolicy::kUnknown /* f0f1_policy_aggregated */); + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kUnknown /* f0_policy */, + InterventionPolicy::kOptIn /* f1_policy */, + InterventionPolicy::kUnknown /* f0_policy_aggregated */, + InterventionPolicy::kUnknown /* f0f1_policy_aggregated */); + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kUnknown /* f0_policy */, + InterventionPolicy::kOptOut /* f1_policy */, + InterventionPolicy::kUnknown /* f0_policy_aggregated */, + InterventionPolicy::kUnknown /* f0f1_policy_aggregated */); + + // Default x [Unknown, Default, OptIn, OptOut] + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kDefault /* f0_policy */, + InterventionPolicy::kUnknown /* f1_policy */, + InterventionPolicy::kDefault /* f0_policy_aggregated */, + InterventionPolicy::kUnknown /* f0f1_policy_aggregated */); + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kDefault /* f0_policy */, + InterventionPolicy::kDefault /* f1_policy */, + InterventionPolicy::kDefault /* f0_policy_aggregated */, + InterventionPolicy::kDefault /* f0f1_policy_aggregated */); + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kDefault /* f0_policy */, + InterventionPolicy::kOptIn /* f1_policy */, + InterventionPolicy::kDefault /* f0_policy_aggregated */, + InterventionPolicy::kOptIn /* f0f1_policy_aggregated */); + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kDefault /* f0_policy */, + InterventionPolicy::kOptOut /* f1_policy */, + InterventionPolicy::kDefault /* f0_policy_aggregated */, + InterventionPolicy::kOptOut /* f0f1_policy_aggregated */); + + // OptIn x [Unknown, Default, OptIn, OptOut] + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kOptIn /* f0_policy */, + InterventionPolicy::kUnknown /* f1_policy */, + InterventionPolicy::kOptIn /* f0_policy_aggregated */, + InterventionPolicy::kUnknown /* f0f1_policy_aggregated */); + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kOptIn /* f0_policy */, + InterventionPolicy::kDefault /* f1_policy */, + InterventionPolicy::kOptIn /* f0_policy_aggregated */, + InterventionPolicy::kOptIn /* f0f1_policy_aggregated */); + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kOptIn /* f0_policy */, + InterventionPolicy::kOptIn /* f1_policy */, + InterventionPolicy::kOptIn /* f0_policy_aggregated */, + InterventionPolicy::kOptIn /* f0f1_policy_aggregated */); + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kOptIn /* f0_policy */, + InterventionPolicy::kOptOut /* f1_policy */, + InterventionPolicy::kOptIn /* f0_policy_aggregated */, + InterventionPolicy::kOptOut /* f0f1_policy_aggregated */); + + // OptOut x [Unknown, Default, OptIn, OptOut] + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kOptOut /* f0_policy */, + InterventionPolicy::kUnknown /* f1_policy */, + InterventionPolicy::kOptOut /* f0_policy_aggregated */, + InterventionPolicy::kUnknown /* f0f1_policy_aggregated */); + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kOptOut /* f0_policy */, + InterventionPolicy::kDefault /* f1_policy */, + InterventionPolicy::kOptOut /* f0_policy_aggregated */, + InterventionPolicy::kOptOut /* f0f1_policy_aggregated */); + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kOptOut /* f0_policy */, + InterventionPolicy::kOptIn /* f1_policy */, + InterventionPolicy::kOptOut /* f0_policy_aggregated */, + InterventionPolicy::kOptOut /* f0f1_policy_aggregated */); + + ExpectInitialPolicyWorks( + mock_graph, InterventionPolicy::kOptOut /* f0_policy */, + InterventionPolicy::kOptOut /* f1_policy */, + InterventionPolicy::kOptOut /* f0_policy_aggregated */, + InterventionPolicy::kOptOut /* f0f1_policy_aggregated */); +} + +// Test changing the policy of a frame after it becomes current. +TEST_F(FreezeOriginTrialPolicyAggregatorTest, PolicyChanges) { + TestNodeWrapper<ProcessNodeImpl> process = + TestNodeWrapper<ProcessNodeImpl>::Create(graph()); + TestNodeWrapper<PageNodeImpl> page = + TestNodeWrapper<PageNodeImpl>::Create(graph()); + TestNodeWrapper<FrameNodeImpl> frame = TestNodeWrapper<FrameNodeImpl>::Create( + graph(), process.get(), page.get()); + frame->SetIsCurrent(true); + + EXPECT_EQ(InterventionPolicy::kUnknown, page->origin_trial_freeze_policy()); + frame->SetOriginTrialFreezePolicy(InterventionPolicy::kOptIn); + EXPECT_EQ(InterventionPolicy::kOptIn, page->origin_trial_freeze_policy()); + frame->SetOriginTrialFreezePolicy(InterventionPolicy::kOptOut); + EXPECT_EQ(InterventionPolicy::kOptOut, page->origin_trial_freeze_policy()); + frame->SetOriginTrialFreezePolicy(InterventionPolicy::kDefault); + EXPECT_EQ(InterventionPolicy::kDefault, page->origin_trial_freeze_policy()); + frame->SetOriginTrialFreezePolicy(InterventionPolicy::kUnknown); + EXPECT_EQ(InterventionPolicy::kUnknown, page->origin_trial_freeze_policy()); +} + +} // namespace performance_manager
diff --git a/chrome/browser/performance_manager/graph/frame_node_impl.cc b/chrome/browser/performance_manager/graph/frame_node_impl.cc index 4563b1b..1d684db 100644 --- a/chrome/browser/performance_manager/graph/frame_node_impl.cc +++ b/chrome/browser/performance_manager/graph/frame_node_impl.cc
@@ -75,30 +75,7 @@ void FrameNodeImpl::SetOriginTrialFreezePolicy( resource_coordinator::mojom::InterventionPolicy policy) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - constexpr auto intervention = resource_coordinator::mojom:: - PolicyControlledIntervention::kPageLifecycleTransitions; - size_t i = static_cast<size_t>(intervention); - DCHECK_LT(i, base::size(intervention_policy_)); - - // This can only be called to set a policy, but not to revert a policy to the - // unset state. - DCHECK_NE(resource_coordinator::mojom::InterventionPolicy::kUnknown, policy); - - // We expect intervention policies to be initially set in order, and rely on - // that as a synchronization primitive. Ensure this is the case. - DCHECK(i == 0 || - intervention_policy_[i - 1] != - resource_coordinator::mojom::InterventionPolicy::kUnknown); - - if (policy == intervention_policy_[i]) - return; - // Only notify of actual changes. - resource_coordinator::mojom::InterventionPolicy old_policy = - intervention_policy_[i]; - intervention_policy_[i] = policy; - page_node_->OnFrameInterventionPolicyChanged(this, intervention, old_policy, - policy); + document_.origin_trial_freeze_policy.SetAndMaybeNotify(this, policy); } void FrameNodeImpl::SetIsAdFrame() { @@ -117,31 +94,6 @@ return !parent_frame_node_; } -bool FrameNodeImpl::AreAllInterventionPoliciesSet() const { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - // The convention is that policies are first set en masse, in order. So if - // the last policy is set then they are all considered to be set. Check this - // in DEBUG builds. -#if DCHECK_IS_ON() - bool seen_unset_policy = false; - for (size_t i = 0; i < base::size(intervention_policy_); ++i) { - if (!seen_unset_policy) { - seen_unset_policy = - intervention_policy_[i] != - resource_coordinator::mojom::InterventionPolicy::kUnknown; - } else { - // Once a first unset policy is seen, all subsequent policies must be - // unset. - DCHECK_NE(resource_coordinator::mojom::InterventionPolicy::kUnknown, - intervention_policy_[i]); - } - } -#endif - - return intervention_policy_[base::size(intervention_policy_) - 1] != - resource_coordinator::mojom::InterventionPolicy::kUnknown; -} - FrameNodeImpl* FrameNodeImpl::parent_frame_node() const { return parent_frame_node_; } @@ -181,6 +133,12 @@ return lifecycle_state_.value(); } +resource_coordinator::mojom::InterventionPolicy +FrameNodeImpl::origin_trial_freeze_policy() const { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + return document_.origin_trial_freeze_policy.value(); +} + bool FrameNodeImpl::has_nonempty_beforeunload() const { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); return document_.has_nonempty_beforeunload; @@ -296,12 +254,6 @@ priority_and_reason_.SetAndMaybeNotify(this, priority_and_reason); } -void FrameNodeImpl::SetAllInterventionPoliciesForTesting( - resource_coordinator::mojom::InterventionPolicy policy) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - SetOriginTrialFreezePolicy(policy); -} - const FrameNode* FrameNodeImpl::GetParentFrameNode() const { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); return parent_frame_node(); @@ -352,6 +304,12 @@ return lifecycle_state(); } +FrameNodeImpl::InterventionPolicy FrameNodeImpl::GetOriginTrialFreezePolicy() + const { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + return origin_trial_freeze_policy(); +} + bool FrameNodeImpl::HasNonemptyBeforeUnload() const { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); return has_nonempty_beforeunload(); @@ -419,10 +377,6 @@ void FrameNodeImpl::JoinGraph() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - for (size_t i = 0; i < base::size(intervention_policy_); ++i) - intervention_policy_[i] = - resource_coordinator::mojom::InterventionPolicy::kUnknown; - // Wire this up to the other nodes in the graph. if (parent_frame_node_) parent_frame_node_->AddChildFrame(this); @@ -482,6 +436,8 @@ has_nonempty_beforeunload = false; // Network is busy on navigation. network_almost_idle.SetAndMaybeNotify(frame_node, false); + origin_trial_freeze_policy.SetAndMaybeNotify( + frame_node, resource_coordinator::mojom::InterventionPolicy::kUnknown); } } // namespace performance_manager
diff --git a/chrome/browser/performance_manager/graph/frame_node_impl.h b/chrome/browser/performance_manager/graph/frame_node_impl.h index 29ae96f..4ca87b8 100644 --- a/chrome/browser/performance_manager/graph/frame_node_impl.h +++ b/chrome/browser/performance_manager/graph/frame_node_impl.h
@@ -77,7 +77,6 @@ // Partial FrameNode implementation: bool IsMainFrame() const override; - bool AreAllInterventionPoliciesSet() const override; // Getters for const properties. These can be called from any thread. FrameNodeImpl* parent_frame_node() const; @@ -91,6 +90,7 @@ // Getters for non-const properties. These are not thread safe. const base::flat_set<FrameNodeImpl*>& child_frame_nodes() const; LifecycleState lifecycle_state() const; + InterventionPolicy origin_trial_freeze_policy() const; bool has_nonempty_beforeunload() const; const GURL& url() const; bool is_current() const; @@ -112,11 +112,6 @@ // Invoked to set the frame priority, and the reason behind it. void SetPriorityAndReason(const PriorityAndReason& priority_and_reason); - // Sets the same policy for all intervention types in this frame. Causes - // Page::OnFrameInterventionPolicyChanged to be invoked. - void SetAllInterventionPoliciesForTesting( - resource_coordinator::mojom::InterventionPolicy policy); - private: friend class PageNodeImpl; friend class ProcessNodeImpl; @@ -132,6 +127,7 @@ int32_t GetSiteInstanceId() const override; const base::flat_set<const FrameNode*> GetChildFrameNodes() const override; LifecycleState GetLifecycleState() const override; + InterventionPolicy GetOriginTrialFreezePolicy() const override; bool HasNonemptyBeforeUnload() const override; const GURL& GetURL() const override; bool IsCurrent() const override; @@ -159,6 +155,13 @@ bool, &FrameNodeObserver::OnNetworkAlmostIdleChanged> network_almost_idle{false}; + + // Opt-in or opt-out of freezing via origin trial. + ObservedProperty::NotifiesOnlyOnChangesWithPreviousValue< + resource_coordinator::mojom::InterventionPolicy, + &FrameNodeObserver::OnOriginTrialFreezePolicyChanged> + origin_trial_freeze_policy{ + resource_coordinator::mojom::InterventionPolicy::kUnknown}; }; // Invoked by subframes on joining/leaving the graph. @@ -211,17 +214,6 @@ NotifiesOnlyOnChanges<bool, &FrameNodeObserver::OnIsCurrentChanged> is_current_{false}; - // Intervention policy for this frame. These are communicated from the - // renderer process and are controlled by origin trials. - // - // TODO(https://crbug.com/999594): Move this to a decorator, since the only - // consumer is the freeze policy. - resource_coordinator::mojom::InterventionPolicy - intervention_policy_[static_cast<size_t>( - resource_coordinator::mojom:: - PolicyControlledIntervention::kMaxValue) + - 1]; - // Properties associated with a Document, which are reset when a // different-document navigation is committed in the frame. //
diff --git a/chrome/browser/performance_manager/graph/frame_node_impl_unittest.cc b/chrome/browser/performance_manager/graph/frame_node_impl_unittest.cc index 3b3a441..1e0fbf9 100644 --- a/chrome/browser/performance_manager/graph/frame_node_impl_unittest.cc +++ b/chrome/browser/performance_manager/graph/frame_node_impl_unittest.cc
@@ -127,6 +127,9 @@ MOCK_METHOD1(OnIsCurrentChanged, void(const FrameNode*)); MOCK_METHOD1(OnNetworkAlmostIdleChanged, void(const FrameNode*)); MOCK_METHOD1(OnFrameLifecycleStateChanged, void(const FrameNode*)); + MOCK_METHOD2(OnOriginTrialFreezePolicyChanged, + void(const FrameNode*, + resource_coordinator::mojom::InterventionPolicy)); MOCK_METHOD1(OnURLChanged, void(const FrameNode*)); MOCK_METHOD1(OnIsAdFrameChanged, void(const FrameNode*)); MOCK_METHOD1(OnNonPersistentNotificationCreated, void(const FrameNode*));
diff --git a/chrome/browser/performance_manager/graph/mock_graphs.cc b/chrome/browser/performance_manager/graph/mock_graphs.cc index 01b877a..b739f4f4 100644 --- a/chrome/browser/performance_manager/graph/mock_graphs.cc +++ b/chrome/browser/performance_manager/graph/mock_graphs.cc
@@ -33,8 +33,6 @@ frame(TestNodeWrapper<FrameNodeImpl>::Create(graph, process.get(), page.get())) { - frame->SetAllInterventionPoliciesForTesting( - resource_coordinator::mojom::InterventionPolicy::kDefault); process->SetProcessWithPid(1, base::Process::Current(), base::Time::Now()); } @@ -52,10 +50,7 @@ process.get(), other_page.get(), nullptr, - 1)) { - other_frame->SetAllInterventionPoliciesForTesting( - resource_coordinator::mojom::InterventionPolicy::kDefault); -} + 1)) {} MockMultiplePagesInSingleProcessGraph:: ~MockMultiplePagesInSingleProcessGraph() { @@ -74,8 +69,6 @@ 2)) { other_process->SetProcessWithPid(2, base::Process::Current(), base::Time::Now()); - child_frame->SetAllInterventionPoliciesForTesting( - resource_coordinator::mojom::InterventionPolicy::kDefault); } MockSinglePageWithMultipleProcessesGraph:: @@ -92,8 +85,6 @@ 3)) { other_process->SetProcessWithPid(2, base::Process::Current(), base::Time::Now()); - child_frame->SetAllInterventionPoliciesForTesting( - resource_coordinator::mojom::InterventionPolicy::kDefault); } MockMultiplePagesWithMultipleProcessesGraph::
diff --git a/chrome/browser/performance_manager/graph/page_node_impl.cc b/chrome/browser/performance_manager/graph/page_node_impl.cc index f4690d9..1a7a6eaa 100644 --- a/chrome/browser/performance_manager/graph/page_node_impl.cc +++ b/chrome/browser/performance_manager/graph/page_node_impl.cc
@@ -17,20 +17,6 @@ namespace performance_manager { -namespace { - -constexpr size_t kMaxInterventionIndex = static_cast<size_t>( - resource_coordinator::mojom::PolicyControlledIntervention::kMaxValue); - -size_t ToIndex( - resource_coordinator::mojom::PolicyControlledIntervention intervention) { - const size_t kIndex = static_cast<size_t>(intervention); - DCHECK(kIndex <= kMaxInterventionIndex); - return kIndex; -} - -} // namespace - PageNodeImpl::PageNodeImpl(GraphImpl* graph, const WebContentsProxy& contents_proxy, const std::string& browser_context_id, @@ -62,8 +48,6 @@ ++frame_node_count_; if (frame_node->parent_frame_node() == nullptr) main_frame_nodes_.insert(frame_node); - - MaybeInvalidateInterventionPolicies(frame_node, true /* adding_frame */); } void PageNodeImpl::RemoveFrame(FrameNodeImpl* frame_node) { @@ -77,8 +61,6 @@ size_t removed = main_frame_nodes_.erase(frame_node); DCHECK_EQ(1u, removed); } - - MaybeInvalidateInterventionPolicies(frame_node, false /* adding_frame */); } void PageNodeImpl::SetIsLoading(bool is_loading) { @@ -196,6 +178,12 @@ return lifecycle_state_.value(); } +PageNodeImpl::InterventionPolicy PageNodeImpl::origin_trial_freeze_policy() + const { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + return origin_trial_freeze_policy_.value(); +} + const base::flat_set<FrameNodeImpl*>& PageNodeImpl::main_frame_nodes() const { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); return main_frame_nodes_; @@ -260,57 +248,8 @@ has_nonempty_beforeunload_ = has_nonempty_beforeunload; } -void PageNodeImpl::OnFrameInterventionPolicyChanged( - FrameNodeImpl* frame, - resource_coordinator::mojom::PolicyControlledIntervention intervention, - resource_coordinator::mojom::InterventionPolicy old_policy, - resource_coordinator::mojom::InterventionPolicy new_policy) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - const size_t kIndex = ToIndex(intervention); - - // Invalidate the local policy aggregation for this intervention. It will be - // recomputed on the next query to GetInterventionPolicy. - intervention_policy_[kIndex] = - resource_coordinator::mojom::InterventionPolicy::kUnknown; - - // The first time a frame transitions away from kUnknown for the last policy, - // then that frame is considered to have checked in. Frames always provide - // initial policy values in order, ensuring this works. - if (old_policy == resource_coordinator::mojom::InterventionPolicy::kUnknown && - new_policy != resource_coordinator::mojom::InterventionPolicy::kUnknown && - intervention == resource_coordinator::mojom:: - PolicyControlledIntervention::kMaxValue) { - ++intervention_policy_frames_reported_; - DCHECK_LE(intervention_policy_frames_reported_, frame_node_count_); - } -} - -resource_coordinator::mojom::InterventionPolicy -PageNodeImpl::GetInterventionPolicy( - resource_coordinator::mojom::PolicyControlledIntervention intervention) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - // If there are no frames, or they've not all reported, then return kUnknown. - if (frame_node_count_ == 0u || - intervention_policy_frames_reported_ != frame_node_count_) { - return resource_coordinator::mojom::InterventionPolicy::kUnknown; - } - - // Recompute the policy if it is currently invalid. - const size_t kIndex = ToIndex(intervention); - DCHECK_LE(kIndex, kMaxInterventionIndex); - if (intervention_policy_[kIndex] == - resource_coordinator::mojom::InterventionPolicy::kUnknown) { - RecomputeInterventionPolicy(intervention); - DCHECK_NE(resource_coordinator::mojom::InterventionPolicy::kUnknown, - intervention_policy_[kIndex]); - } - - return intervention_policy_[kIndex]; -} - void PageNodeImpl::JoinGraph() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - InvalidateAllInterventionPolicies(); NodeBase::JoinGraph(); } @@ -363,6 +302,12 @@ return lifecycle_state(); } +PageNodeImpl::InterventionPolicy PageNodeImpl::GetOriginTrialFreezePolicy() + const { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + return origin_trial_freeze_policy(); +} + int64_t PageNodeImpl::GetNavigationID() const { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); return navigation_id(); @@ -403,77 +348,9 @@ lifecycle_state_.SetAndMaybeNotify(this, lifecycle_state); } -void PageNodeImpl::InvalidateAllInterventionPolicies() { +void PageNodeImpl::SetOriginTrialFreezePolicy(InterventionPolicy policy) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - for (size_t i = 0; i <= kMaxInterventionIndex; ++i) - intervention_policy_[i] = - resource_coordinator::mojom::InterventionPolicy::kUnknown; -} - -// TODO(chrisha): Move this all out to a decorator. -void PageNodeImpl::MaybeInvalidateInterventionPolicies( - FrameNodeImpl* frame_node, - bool adding_frame) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - // Ensure that the frame was already added or removed as expected. - DCHECK(!adding_frame || GraphImplOperations::HasFrame(this, frame_node)); - - // Determine whether or not the frames had all reported prior to this change. - const size_t prior_frame_count = frame_node_count_ + (adding_frame ? -1 : 1); - const bool frames_all_reported_prior = - prior_frame_count > 0 && - intervention_policy_frames_reported_ == prior_frame_count; - - // If the previous state was considered fully reported, then aggregation may - // have occurred. Adding or removing a frame (even one that is fully reported) - // needs to invalidate that aggregation. Invalidation could happen on every - // single frame addition and removal, but only doing this when the previous - // state was fully reported reduces unnecessary invalidations. - if (frames_all_reported_prior) - InvalidateAllInterventionPolicies(); - - // Update the reporting frame count. - const bool frame_reported = frame_node->AreAllInterventionPoliciesSet(); - if (frame_reported) - intervention_policy_frames_reported_ += adding_frame ? 1 : -1; - - DCHECK_LE(intervention_policy_frames_reported_, frame_node_count_); -} - -void PageNodeImpl::RecomputeInterventionPolicy( - resource_coordinator::mojom::PolicyControlledIntervention intervention) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - const size_t kIndex = ToIndex(intervention); - - // This should never be called with an empty frame tree. - DCHECK_NE(0u, frame_node_count_); - - resource_coordinator::mojom::InterventionPolicy policy = - resource_coordinator::mojom::InterventionPolicy::kDefault; - GraphImplOperations::VisitFrameTreePreOrder( - this, [&policy, &kIndex](FrameNodeImpl* frame) -> bool { - // No frame should have an unknown policy, as aggregation should only be - // invoked after all frames have checked in. - DCHECK_NE(resource_coordinator::mojom::InterventionPolicy::kUnknown, - frame->intervention_policy_[kIndex]); - - // If any frame opts out then the whole frame tree opts out, even if - // other frames have opted in. - if (frame->intervention_policy_[kIndex] == - resource_coordinator::mojom::InterventionPolicy::kOptOut) { - policy = resource_coordinator::mojom::InterventionPolicy::kOptOut; - return false; - } - - // If any frame opts in and none opt out, then the whole tree opts in. - if (frame->intervention_policy_[kIndex] == - resource_coordinator::mojom::InterventionPolicy::kOptIn) { - policy = resource_coordinator::mojom::InterventionPolicy::kOptIn; - } - return true; - }); - - intervention_policy_[kIndex] = policy; + origin_trial_freeze_policy_.SetAndMaybeNotify(this, policy); } } // namespace performance_manager
diff --git a/chrome/browser/performance_manager/graph/page_node_impl.h b/chrome/browser/performance_manager/graph/page_node_impl.h index 9e500231..45655ae 100644 --- a/chrome/browser/performance_manager/graph/page_node_impl.h +++ b/chrome/browser/performance_manager/graph/page_node_impl.h
@@ -22,10 +22,9 @@ class FrameNodeImpl; -class PageNodeImpl : public PublicNodeImpl<PageNodeImpl, PageNode>, - public TypedNodeBase<PageNodeImpl, - PageNode, - PageNodeObserver> { +class PageNodeImpl + : public PublicNodeImpl<PageNodeImpl, PageNode>, + public TypedNodeBase<PageNodeImpl, PageNode, PageNodeObserver> { public: static constexpr NodeTypeEnum Type() { return NodeTypeEnum::kPage; } @@ -41,9 +40,9 @@ // dereferenced on the UI thread. const WebContentsProxy& contents_proxy() const; - void SetIsLoading(bool is_loading); void SetIsVisible(bool is_visible); void SetIsAudible(bool is_audible); + void SetIsLoading(bool is_loading); void SetUkmSourceId(ukm::SourceId ukm_source_id); void OnFaviconUpdated(); void OnTitleUpdated(); @@ -79,6 +78,7 @@ bool is_loading() const; ukm::SourceId ukm_source_id() const; LifecycleState lifecycle_state() const; + InterventionPolicy origin_trial_freeze_policy() const; const base::flat_set<FrameNodeImpl*>& main_frame_nodes() const; base::TimeTicks usage_estimate_time() const; base::TimeDelta cumulative_cpu_usage_estimate() const; @@ -94,34 +94,6 @@ uint64_t private_footprint_kb_estimate); void set_has_nonempty_beforeunload(bool has_nonempty_beforeunload); - // Invoked when a frame belonging to this page changes intervention policy - // values. - // TODO(chrisha): Move this out to a decorator. - void OnFrameInterventionPolicyChanged( - FrameNodeImpl* frame, - resource_coordinator::mojom::PolicyControlledIntervention intervention, - resource_coordinator::mojom::InterventionPolicy old_policy, - resource_coordinator::mojom::InterventionPolicy new_policy); - - // Gets the current policy for the specified |intervention|, recomputing it - // from individual frame policies if necessary. Returns kUnknown until there - // are 1 or more frames, and they have all computed their local policy - // settings. - resource_coordinator::mojom::InterventionPolicy GetInterventionPolicy( - resource_coordinator::mojom::PolicyControlledIntervention intervention); - - // Similar to GetInterventionPolicy, but doesn't trigger recomputes. - resource_coordinator::mojom::InterventionPolicy - GetRawInterventionPolicyForTesting( - resource_coordinator::mojom::PolicyControlledIntervention intervention) - const { - return intervention_policy_[static_cast<size_t>(intervention)]; - } - - size_t GetInterventionPolicyFramesReportedForTesting() const { - return intervention_policy_frames_reported_; - } - void SetLifecycleStateForTesting(LifecycleState lifecycle_state) { SetLifecycleState(lifecycle_state); } @@ -132,6 +104,7 @@ private: friend class FrameNodeImpl; + friend class FreezeOriginTrialPolicyAggregatorAccess; friend class FrozenFrameAggregatorAccess; friend class PageAlmostIdleAccess; @@ -144,6 +117,7 @@ bool IsLoading() const override; ukm::SourceId GetUkmSourceID() const override; LifecycleState GetLifecycleState() const override; + InterventionPolicy GetOriginTrialFreezePolicy() const override; int64_t GetNavigationID() const override; base::TimeDelta GetTimeSinceLastNavigation() const override; const FrameNode* GetMainFrameNode() const override; @@ -158,22 +132,7 @@ void SetPageAlmostIdle(bool page_almost_idle); void SetLifecycleState(LifecycleState lifecycle_state); - - // Invalidates all currently aggregated intervention policies. - void InvalidateAllInterventionPolicies(); - - // Invoked when adding or removing a frame. This will update - // |intervention_policy_frames_reported_| if necessary and potentially - // invalidate the aggregated intervention policies. This should be called - // after the frame has already been added or removed from - // |frame_nodes_|. - void MaybeInvalidateInterventionPolicies(FrameNodeImpl* frame_node, - bool adding_frame); - - // Recomputes intervention policy aggregation. This is invoked on demand when - // a policy is queried. - void RecomputeInterventionPolicy( - resource_coordinator::mojom::PolicyControlledIntervention intervention); + void SetOriginTrialFreezePolicy(InterventionPolicy policy); // The WebContentsProxy associated with this page. const WebContentsProxy contents_proxy_; @@ -220,49 +179,28 @@ // zero if the page has never committed a navigation. int64_t navigation_id_ = 0; - // The aggregate intervention policy states for this page. These are - // aggregated from the corresponding per-frame values. If an individual value - // is kUnknown then a frame in the frame tree has changed values and - // a new aggregation is required. - resource_coordinator::mojom::InterventionPolicy - intervention_policy_[static_cast<size_t>( - resource_coordinator::mojom:: - PolicyControlledIntervention::kMaxValue) + - 1]; - - // The number of child frames that have checked in with initial intervention - // policy values. If this doesn't match the number of known child frames, then - // aggregation isn't possible. Child frames check in with all properties once - // immediately after document parsing, and the *last* value being set - // is used as a signal that the frame has reported. - size_t intervention_policy_frames_reported_ = 0; - // The unique ID of the browser context that this page belongs to. const std::string browser_context_id_; // Page almost idle state. This is the output that is driven by the // PageAlmostIdleDecorator. - ObservedProperty::NotifiesOnlyOnChanges< - bool, - &PageNodeObserver::OnPageAlmostIdleChanged> - page_almost_idle_{false}; + ObservedProperty:: + NotifiesOnlyOnChanges<bool, &PageNodeObserver::OnPageAlmostIdleChanged> + page_almost_idle_{false}; // Whether or not the page is visible. Driven by browser instrumentation. // Initialized on construction. - ObservedProperty::NotifiesOnlyOnChanges< - bool, - &PageNodeObserver::OnIsVisibleChanged> + ObservedProperty::NotifiesOnlyOnChanges<bool, + &PageNodeObserver::OnIsVisibleChanged> is_visible_{false}; // Whether or not the page is audible. Driven by browser instrumentation. // Initialized on construction. - ObservedProperty::NotifiesOnlyOnChanges< - bool, - &PageNodeObserver::OnIsAudibleChanged> + ObservedProperty::NotifiesOnlyOnChanges<bool, + &PageNodeObserver::OnIsAudibleChanged> is_audible_{false}; // The loading state. This is driven by instrumentation in the browser // process. - ObservedProperty::NotifiesOnlyOnChanges< - bool, - &PageNodeObserver::OnIsLoadingChanged> + ObservedProperty::NotifiesOnlyOnChanges<bool, + &PageNodeObserver::OnIsLoadingChanged> is_loading_{false}; // The UKM source ID associated with the URL of the main frame of this page. ObservedProperty::NotifiesOnlyOnChanges< @@ -275,6 +213,12 @@ LifecycleState, &PageNodeObserver::OnPageLifecycleStateChanged> lifecycle_state_{LifecycleState::kRunning}; + // The origin trial freeze policy of this page. This is aggregated from the + // origin trial freeze policy of each current frame in the frame tree. + ObservedProperty::NotifiesOnlyOnChanges< + InterventionPolicy, + &PageNodeObserver::OnPageOriginTrialFreezePolicyChanged> + origin_trial_freeze_policy_{InterventionPolicy::kDefault}; // Storage for PageAlmostIdle user data. std::unique_ptr<NodeAttachedData> page_almost_idle_data_; @@ -282,6 +226,10 @@ // Inline storage for FrozenFrameAggregator user data. InternalNodeAttachedDataStorage<sizeof(uintptr_t) + 8> frozen_frame_data_; + // Inline storage for FreezeOriginTrialPolicyAggregatorAccess user data. + InternalNodeAttachedDataStorage<sizeof(uintptr_t) + 16> + freeze_origin_trial_policy_data_; + DISALLOW_COPY_AND_ASSIGN(PageNodeImpl); };
diff --git a/chrome/browser/performance_manager/graph/page_node_impl_browsertest.cc b/chrome/browser/performance_manager/graph/page_node_impl_browsertest.cc index 60c0df3..1a8727a 100644 --- a/chrome/browser/performance_manager/graph/page_node_impl_browsertest.cc +++ b/chrome/browser/performance_manager/graph/page_node_impl_browsertest.cc
@@ -9,6 +9,7 @@ #include "base/strings/string_util.h" #include "base/test/bind_test_util.h" #include "base/threading/thread_restrictions.h" +#include "chrome/browser/performance_manager/decorators/freeze_origin_trial_policy_aggregator.h" #include "chrome/browser/performance_manager/graph/page_node_impl.h" #include "chrome/browser/performance_manager/performance_manager.h" #include "chrome/common/chrome_switches.h" @@ -162,21 +163,18 @@ ASSERT_TRUE(perf_manager); base::RunLoop run_loop; perf_manager->CallOnGraph( - FROM_HERE, - base::BindOnce( - [](base::OnceClosure quit_closure, - const resource_coordinator::mojom::InterventionPolicy - expected_policy, - performance_manager::GraphImpl* graph) { - auto page_nodes = graph->GetAllPageNodeImpls(); - EXPECT_EQ(1U, page_nodes.size()); - auto policy = page_nodes[0]->GetInterventionPolicy( - resource_coordinator::mojom::PolicyControlledIntervention:: - kPageLifecycleTransitions); - EXPECT_EQ(expected_policy, policy); - std::move(quit_closure).Run(); - }, - run_loop.QuitClosure(), expected_policy)); + FROM_HERE, base::BindOnce( + [](base::OnceClosure quit_closure, + const resource_coordinator::mojom::InterventionPolicy + expected_policy, + performance_manager::GraphImpl* graph) { + auto page_nodes = graph->GetAllPageNodeImpls(); + EXPECT_EQ(1U, page_nodes.size()); + EXPECT_EQ(expected_policy, + page_nodes[0]->origin_trial_freeze_policy()); + std::move(quit_closure).Run(); + }, + run_loop.QuitClosure(), expected_policy)); run_loop.Run(); }
diff --git a/chrome/browser/performance_manager/graph/page_node_impl_unittest.cc b/chrome/browser/performance_manager/graph/page_node_impl_unittest.cc index db003187..1ec268e 100644 --- a/chrome/browser/performance_manager/graph/page_node_impl_unittest.cc +++ b/chrome/browser/performance_manager/graph/page_node_impl_unittest.cc
@@ -196,229 +196,6 @@ namespace { -const size_t kInterventionCount = - static_cast<size_t>( - resource_coordinator::mojom::PolicyControlledIntervention::kMaxValue) + - 1; - -void ExpectRawInterventionPolicy( - resource_coordinator::mojom::InterventionPolicy policy, - const PageNodeImpl* page_node) { - for (size_t i = 0; i < kInterventionCount; ++i) { - EXPECT_EQ( - policy, - page_node->GetRawInterventionPolicyForTesting( - static_cast< - resource_coordinator::mojom::PolicyControlledIntervention>(i))); - } -} - -void ExpectInterventionPolicy( - resource_coordinator::mojom::InterventionPolicy policy, - PageNodeImpl* page_node) { - for (size_t i = 0; i < kInterventionCount; ++i) { - EXPECT_EQ( - policy, - page_node->GetInterventionPolicy( - static_cast< - resource_coordinator::mojom::PolicyControlledIntervention>(i))); - } -} - -void ExpectInitialInterventionPolicyAggregationWorks( - GraphImpl* mock_graph, - resource_coordinator::mojom::InterventionPolicy f0_policy, - resource_coordinator::mojom::InterventionPolicy f1_policy, - resource_coordinator::mojom::InterventionPolicy f0_policy_aggregated, - resource_coordinator::mojom::InterventionPolicy f0f1_policy_aggregated) { - TestNodeWrapper<ProcessNodeImpl> process = - TestNodeWrapper<ProcessNodeImpl>::Create(mock_graph); - TestNodeWrapper<PageNodeImpl> page = - TestNodeWrapper<PageNodeImpl>::Create(mock_graph); - - // Check the initial values before any frames are added. - EXPECT_EQ(0u, page->GetInterventionPolicyFramesReportedForTesting()); - ExpectRawInterventionPolicy( - resource_coordinator::mojom::InterventionPolicy::kUnknown, page.get()); - ExpectInterventionPolicy( - resource_coordinator::mojom::InterventionPolicy::kUnknown, page.get()); - - // Create an initial frame. - TestNodeWrapper<FrameNodeImpl> f0 = TestNodeWrapper<FrameNodeImpl>::Create( - mock_graph, process.get(), page.get()); - // Add a frame and expect the values to be invalidated. Reaggregate and - // ensure the appropriate value results. - f0->SetAllInterventionPoliciesForTesting(f0_policy); - EXPECT_EQ(1u, page->GetInterventionPolicyFramesReportedForTesting()); - ExpectRawInterventionPolicy( - resource_coordinator::mojom::InterventionPolicy::kUnknown, page.get()); - ExpectInterventionPolicy(f0_policy_aggregated, page.get()); - - TestNodeWrapper<FrameNodeImpl> f1 = TestNodeWrapper<FrameNodeImpl>::Create( - mock_graph, process.get(), page.get(), f0.get(), 1); - // Do it again. This time the raw values should be the same as the - // aggregated values above. - f1->SetAllInterventionPoliciesForTesting(f1_policy); - EXPECT_EQ(2u, page->GetInterventionPolicyFramesReportedForTesting()); - ExpectRawInterventionPolicy( - resource_coordinator::mojom::InterventionPolicy::kUnknown, page.get()); - ExpectInterventionPolicy(f0f1_policy_aggregated, page.get()); - - // Remove a frame and expect the values to be invalidated again. - f1.reset(); - EXPECT_EQ(1u, page->GetInterventionPolicyFramesReportedForTesting()); - ExpectRawInterventionPolicy( - resource_coordinator::mojom::InterventionPolicy::kUnknown, page.get()); - ExpectInterventionPolicy(f0_policy_aggregated, page.get()); -} - -} // namespace - -TEST_F(PageNodeImplTest, InitialInterventionPolicy) { - auto* mock_graph = graph(); - - // Tests all possible transitions where the frame node has its policy values - // set before being attached to the page node. This affectively tests the - // aggregation logic in isolation. - - // Default x [Default, OptIn, OptOut] - - ExpectInitialInterventionPolicyAggregationWorks( - mock_graph, - resource_coordinator::mojom::InterventionPolicy::kDefault /* f0_policy */, - resource_coordinator::mojom::InterventionPolicy::kDefault /* f1_policy */, - resource_coordinator::mojom::InterventionPolicy:: - kDefault /* f0_policy_aggregated */, - resource_coordinator::mojom::InterventionPolicy:: - kDefault /* f0f1_policy_aggregated */); - - ExpectInitialInterventionPolicyAggregationWorks( - mock_graph, - resource_coordinator::mojom::InterventionPolicy::kDefault /* f0_policy */, - resource_coordinator::mojom::InterventionPolicy::kOptIn /* f1_policy */, - resource_coordinator::mojom::InterventionPolicy:: - kDefault /* f0_policy_aggregated */, - resource_coordinator::mojom::InterventionPolicy:: - kOptIn /* f0f1_policy_aggregated */); - - ExpectInitialInterventionPolicyAggregationWorks( - mock_graph, - resource_coordinator::mojom::InterventionPolicy::kDefault /* f0_policy */, - resource_coordinator::mojom::InterventionPolicy::kOptOut /* f1_policy */, - resource_coordinator::mojom::InterventionPolicy:: - kDefault /* f0_policy_aggregated */, - resource_coordinator::mojom::InterventionPolicy:: - kOptOut /* f0f1_policy_aggregated */); - - // OptIn x [Default, OptIn, OptOut] - - ExpectInitialInterventionPolicyAggregationWorks( - mock_graph, - resource_coordinator::mojom::InterventionPolicy::kOptIn /* f0_policy */, - resource_coordinator::mojom::InterventionPolicy::kDefault /* f1_policy */, - resource_coordinator::mojom::InterventionPolicy:: - kOptIn /* f0_policy_aggregated */, - resource_coordinator::mojom::InterventionPolicy:: - kOptIn /* f0f1_policy_aggregated */); - - ExpectInitialInterventionPolicyAggregationWorks( - mock_graph, - resource_coordinator::mojom::InterventionPolicy::kOptIn /* f0_policy */, - resource_coordinator::mojom::InterventionPolicy::kOptIn /* f1_policy */, - resource_coordinator::mojom::InterventionPolicy:: - kOptIn /* f0_policy_aggregated */, - resource_coordinator::mojom::InterventionPolicy:: - kOptIn /* f0f1_policy_aggregated */); - - ExpectInitialInterventionPolicyAggregationWorks( - mock_graph, - resource_coordinator::mojom::InterventionPolicy::kOptIn /* f0_policy */, - resource_coordinator::mojom::InterventionPolicy::kOptOut /* f1_policy */, - resource_coordinator::mojom::InterventionPolicy:: - kOptIn /* f0_policy_aggregated */, - resource_coordinator::mojom::InterventionPolicy:: - kOptOut /* f0f1_policy_aggregated */); - - // OptOut x [Default, OptIn, OptOut] - - ExpectInitialInterventionPolicyAggregationWorks( - mock_graph, - resource_coordinator::mojom::InterventionPolicy::kOptOut /* f0_policy */, - resource_coordinator::mojom::InterventionPolicy::kDefault /* f1_policy */, - resource_coordinator::mojom::InterventionPolicy:: - kOptOut /* f0_policy_aggregated */, - resource_coordinator::mojom::InterventionPolicy:: - kOptOut /* f0f1_policy_aggregated */); - - ExpectInitialInterventionPolicyAggregationWorks( - mock_graph, - resource_coordinator::mojom::InterventionPolicy::kOptOut /* f0_policy */, - resource_coordinator::mojom::InterventionPolicy::kOptIn /* f1_policy */, - resource_coordinator::mojom::InterventionPolicy:: - kOptOut /* f0_policy_aggregated */, - resource_coordinator::mojom::InterventionPolicy:: - kOptOut /* f0f1_policy_aggregated */); - - ExpectInitialInterventionPolicyAggregationWorks( - mock_graph, - resource_coordinator::mojom::InterventionPolicy::kOptOut /* f0_policy */, - resource_coordinator::mojom::InterventionPolicy::kOptOut /* f1_policy */, - resource_coordinator::mojom::InterventionPolicy:: - kOptOut /* f0_policy_aggregated */, - resource_coordinator::mojom::InterventionPolicy:: - kOptOut /* f0f1_policy_aggregated */); -} - -TEST_F(PageNodeImplTest, IncrementalInterventionPolicy) { - auto* mock_graph = graph(); - - TestNodeWrapper<ProcessNodeImpl> process = - TestNodeWrapper<ProcessNodeImpl>::Create(mock_graph); - TestNodeWrapper<PageNodeImpl> page = - TestNodeWrapper<PageNodeImpl>::Create(mock_graph); - - // Create two frames and immediately attach them to the page. - TestNodeWrapper<FrameNodeImpl> f0 = TestNodeWrapper<FrameNodeImpl>::Create( - mock_graph, process.get(), page.get()); - TestNodeWrapper<FrameNodeImpl> f1 = TestNodeWrapper<FrameNodeImpl>::Create( - mock_graph, process.get(), page.get(), f0.get(), 1); - EXPECT_EQ(0u, page->GetInterventionPolicyFramesReportedForTesting()); - EXPECT_EQ(0u, page->GetInterventionPolicyFramesReportedForTesting()); - EXPECT_EQ(0u, page->GetInterventionPolicyFramesReportedForTesting()); - - // Set the policies on the first frame. This should be observed by the page - // node, but aggregation should still not be possible. - f0->SetAllInterventionPoliciesForTesting( - resource_coordinator::mojom::InterventionPolicy::kDefault); - EXPECT_EQ(1u, page->GetInterventionPolicyFramesReportedForTesting()); - ExpectRawInterventionPolicy( - resource_coordinator::mojom::InterventionPolicy::kUnknown, page.get()); - ExpectInterventionPolicy( - resource_coordinator::mojom::InterventionPolicy::kUnknown, page.get()); - - // Now set the policy on the second frame. This should be observed and an - // aggregated page policy value should now be available. - f1->SetAllInterventionPoliciesForTesting( - resource_coordinator::mojom::InterventionPolicy::kDefault); - EXPECT_EQ(2u, page->GetInterventionPolicyFramesReportedForTesting()); - ExpectRawInterventionPolicy( - resource_coordinator::mojom::InterventionPolicy::kUnknown, page.get()); - ExpectInterventionPolicy( - resource_coordinator::mojom::InterventionPolicy::kDefault, page.get()); - - // Change the policy value on a frame and expect a new aggregation to be - // required. - f1->SetAllInterventionPoliciesForTesting( - resource_coordinator::mojom::InterventionPolicy::kOptIn); - EXPECT_EQ(2u, page->GetInterventionPolicyFramesReportedForTesting()); - ExpectRawInterventionPolicy( - resource_coordinator::mojom::InterventionPolicy::kUnknown, page.get()); - ExpectInterventionPolicy( - resource_coordinator::mojom::InterventionPolicy::kOptIn, page.get()); -} - -namespace { - class LenientMockObserver : public PageNodeImpl::Observer { public: LenientMockObserver() {} @@ -431,6 +208,7 @@ MOCK_METHOD1(OnIsLoadingChanged, void(const PageNode*)); MOCK_METHOD1(OnUkmSourceIdChanged, void(const PageNode*)); MOCK_METHOD1(OnPageLifecycleStateChanged, void(const PageNode*)); + MOCK_METHOD1(OnPageOriginTrialFreezePolicyChanged, void(const PageNode*)); MOCK_METHOD1(OnPageAlmostIdleChanged, void(const PageNode*)); MOCK_METHOD1(OnMainFrameNavigationCommitted, void(const PageNode*)); MOCK_METHOD1(OnTitleUpdated, void(const PageNode*));
diff --git a/chrome/browser/performance_manager/performance_manager.cc b/chrome/browser/performance_manager/performance_manager.cc index b6ea745d..81145d8 100644 --- a/chrome/browser/performance_manager/performance_manager.cc +++ b/chrome/browser/performance_manager/performance_manager.cc
@@ -16,6 +16,7 @@ #include "base/task/post_task.h" #include "base/task/task_traits.h" #include "build/build_config.h" +#include "chrome/browser/performance_manager/decorators/freeze_origin_trial_policy_aggregator.h" #include "chrome/browser/performance_manager/decorators/frozen_frame_aggregator.h" #include "chrome/browser/performance_manager/decorators/page_almost_idle_decorator.h" #include "chrome/browser/performance_manager/decorators/process_metrics_decorator.h" @@ -326,6 +327,7 @@ std::unique_ptr<service_manager::Connector> connector) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + graph_.PassToGraph(std::make_unique<FreezeOriginTrialPolicyAggregator>()); graph_.PassToGraph(std::make_unique<FrozenFrameAggregator>()); graph_.PassToGraph(std::make_unique<PageAlmostIdleDecorator>()); graph_.PassToGraph(std::make_unique<IsolationContextMetrics>());
diff --git a/chrome/browser/performance_manager/public/graph/frame_node.h b/chrome/browser/performance_manager/public/graph/frame_node.h index 9b08b15..3cfdf8e 100644 --- a/chrome/browser/performance_manager/public/graph/frame_node.h +++ b/chrome/browser/performance_manager/public/graph/frame_node.h
@@ -9,6 +9,7 @@ #include "base/macros.h" #include "chrome/browser/performance_manager/public/frame_priority/frame_priority.h" #include "chrome/browser/performance_manager/public/graph/node.h" +#include "services/resource_coordinator/public/mojom/coordination_unit.mojom.h" #include "services/resource_coordinator/public/mojom/lifecycle.mojom.h" class GURL; @@ -52,6 +53,7 @@ class FrameNode : public Node { public: using LifecycleState = resource_coordinator::mojom::LifecycleState; + using InterventionPolicy = resource_coordinator::mojom::InterventionPolicy; using Observer = FrameNodeObserver; using PriorityAndReason = frame_priority::PriorityAndReason; @@ -103,6 +105,10 @@ // FrameNodeObserver::OnFrameLifecycleStateChanged. virtual LifecycleState GetLifecycleState() const = 0; + // Returns the freeze policy set via origin trial. kDefault when no freeze + // policy is set via origin trial. + virtual InterventionPolicy GetOriginTrialFreezePolicy() const = 0; + // Returns true if this frame had a non-empty before-unload handler at the // time of its last transition to the frozen lifecycle state. This is only // meaningful while the object is frozen. @@ -125,9 +131,6 @@ // true. virtual bool IsAdFrame() const = 0; - // Returns true if all intervention policies have been set for this frame. - virtual bool AreAllInterventionPoliciesSet() const = 0; - // Returns the child workers of this frame. These are either dedicated workers // or shared workers created by this frame, or a service worker that handles // this frame's network requests. @@ -146,6 +149,8 @@ // implement the entire interface. class FrameNodeObserver { public: + using InterventionPolicy = resource_coordinator::mojom::InterventionPolicy; + FrameNodeObserver(); virtual ~FrameNodeObserver(); @@ -168,6 +173,11 @@ // Invoked when the LifecycleState property changes. virtual void OnFrameLifecycleStateChanged(const FrameNode* frame_node) = 0; + // Invoked when the OriginTrialFreezePolicy changes. + virtual void OnOriginTrialFreezePolicyChanged( + const FrameNode* frame_node, + InterventionPolicy previous_value) = 0; + // Invoked when the URL property changes. virtual void OnURLChanged(const FrameNode* frame_node) = 0; @@ -201,6 +211,9 @@ void OnIsCurrentChanged(const FrameNode* frame_node) override {} void OnNetworkAlmostIdleChanged(const FrameNode* frame_node) override {} void OnFrameLifecycleStateChanged(const FrameNode* frame_node) override {} + void OnOriginTrialFreezePolicyChanged( + const FrameNode* frame_node, + InterventionPolicy previous_value) override {} void OnURLChanged(const FrameNode* frame_node) override {} void OnIsAdFrameChanged(const FrameNode* frame_node) override {} void OnNonPersistentNotificationCreated(
diff --git a/chrome/browser/performance_manager/public/graph/page_node.h b/chrome/browser/performance_manager/public/graph/page_node.h index 59da117b..7b82daf 100644 --- a/chrome/browser/performance_manager/public/graph/page_node.h +++ b/chrome/browser/performance_manager/public/graph/page_node.h
@@ -12,7 +12,8 @@ #include "chrome/browser/performance_manager/public/graph/node.h" #include "chrome/browser/performance_manager/public/web_contents_proxy.h" #include "services/metrics/public/cpp/ukm_source_id.h" -#include "services/resource_coordinator/public/mojom/lifecycle.mojom-shared.h" +#include "services/resource_coordinator/public/mojom/coordination_unit.mojom.h" +#include "services/resource_coordinator/public/mojom/lifecycle.mojom.h" class GURL; @@ -26,6 +27,7 @@ // Extensions. class PageNode : public Node { public: + using InterventionPolicy = resource_coordinator::mojom::InterventionPolicy; using LifecycleState = resource_coordinator::mojom::LifecycleState; using Observer = PageNodeObserver; class ObserverDefaultImpl; @@ -66,6 +68,9 @@ // PageNodeObserver::OnPageLifecycleStateChanged. virtual LifecycleState GetLifecycleState() const = 0; + // Returns the freeze policy set via origin trial. + virtual InterventionPolicy GetOriginTrialFreezePolicy() const = 0; + // Returns the navigation ID associated with the last committed navigation // event for the main frame of this page. // See PageNodeObserver::OnMainFrameNavigationCommitted. @@ -116,22 +121,26 @@ // Notifications of property changes. - // Invoked when the |is_visible| property changes. + // Invoked when the IsVisible property changes. virtual void OnIsVisibleChanged(const PageNode* page_node) = 0; - // Invoked when the |is_audible| property changes. + // Invoked when the IsAudible property changes. virtual void OnIsAudibleChanged(const PageNode* page_node) = 0; - // Invoked when the |is_loading| property changes. + // Invoked when the IsLoading property changes. virtual void OnIsLoadingChanged(const PageNode* page_node) = 0; - // Invoked when the |ukm_source_id| property changes. + // Invoked when the UkmSourceId property changes. virtual void OnUkmSourceIdChanged(const PageNode* page_node) = 0; - // Invoked when the |lifecycle_state| property changes. + // Invoked when the PageLifecycleState property changes. virtual void OnPageLifecycleStateChanged(const PageNode* page_node) = 0; - // Invoked when the |page_almost_idle| property changes. + // Invoked when the OriginTrialFreezePolicy property changes. + virtual void OnPageOriginTrialFreezePolicyChanged( + const PageNode* page_node) = 0; + + // Invoked when the PageAlmostIdle property changes. virtual void OnPageAlmostIdleChanged(const PageNode* page_node) = 0; // This is fired when a main frame navigation commits. It indicates that the @@ -172,6 +181,8 @@ void OnIsLoadingChanged(const PageNode* page_node) override {} void OnUkmSourceIdChanged(const PageNode* page_node) override {} void OnPageLifecycleStateChanged(const PageNode* page_node) override {} + void OnPageOriginTrialFreezePolicyChanged( + const PageNode* page_node) override {} void OnPageAlmostIdleChanged(const PageNode* page_node) override {} void OnMainFrameNavigationCommitted(const PageNode* page_node) override {} void OnTitleUpdated(const PageNode* page_node) override {}
diff --git a/chrome/browser/performance_manager/webui_graph_dump_impl.h b/chrome/browser/performance_manager/webui_graph_dump_impl.h index 1f2d5f4..88a0d0c 100644 --- a/chrome/browser/performance_manager/webui_graph_dump_impl.h +++ b/chrome/browser/performance_manager/webui_graph_dump_impl.h
@@ -57,6 +57,10 @@ void OnNetworkAlmostIdleChanged(const FrameNode* frame_node) override {} // Ignored. void OnFrameLifecycleStateChanged(const FrameNode* frame_node) override {} + // Ignored. + void OnOriginTrialFreezePolicyChanged( + const FrameNode* frame_node, + InterventionPolicy previous_value) override {} void OnURLChanged(const FrameNode* frame_node) override; // Ignored. void OnIsAdFrameChanged(const FrameNode* frame_node) override {} @@ -75,6 +79,9 @@ // Ignored. void OnPageLifecycleStateChanged(const PageNode* page_node) override {} // Ignored. + void OnPageOriginTrialFreezePolicyChanged( + const PageNode* page_node) override {} + // Ignored. void OnPageAlmostIdleChanged(const PageNode* page_node) override {} void OnMainFrameNavigationCommitted(const PageNode* page_node) override; void OnTitleUpdated(const PageNode* page_node) override {} // Ignored.
diff --git a/chrome/browser/performance_monitor/wmi_refresher.cc b/chrome/browser/performance_monitor/wmi_refresher.cc index b0055505..48f73e6e9 100644 --- a/chrome/browser/performance_monitor/wmi_refresher.cc +++ b/chrome/browser/performance_monitor/wmi_refresher.cc
@@ -10,10 +10,7 @@ #include <limits> #include <vector> -#include "base/metrics/histogram_functions.h" -#include "base/metrics/histogram_macros.h" #include "base/threading/scoped_blocking_call.h" -#include "base/timer/elapsed_timer.h" #include "base/win/com_init_util.h" namespace performance_monitor { @@ -50,8 +47,6 @@ } // namespace -// There is an enum of the same name in tools/metrics/histograms/enums.xml. -// Be sure to add new values there also. enum class WMIRefresher::InitStatus { kInitStatusOk, kLocalWMIConnectionError, @@ -61,8 +56,6 @@ kMaxValue = kRefresherAddEnumError }; -// There is an enum of the same name in tools/metrics/histograms/enums.xml. -// Be sure to add new values there also. enum class WMIRefresher::RefreshStatus { kRefreshOk, kRefreshFailed, @@ -86,9 +79,6 @@ WMIRefresher::InitStatus result = WMIRefresher::InitStatus::kInitStatusOk; InitializeDiskIdleTimeConfigImpl(&result); - UMA_HISTOGRAM_ENUMERATION( - "Memory.Experimental.WMIRefresher.InitDiskIdleTimeConfigStatus", result); - initialized_called_ = true; return result == InitStatus::kInitStatusOk; @@ -101,24 +91,17 @@ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, base::BlockingType::MAY_BLOCK); - base::ElapsedTimer elapsed_timer; - // This assumes that CoInitialize(Ex) has already been called on this thread. AssertComApartmentType(base::win::ComApartmentType::MTA); - base::ElapsedTimer elapsed_timer_create_connection; if (!base::win::CreateLocalWmiConnection(true /* set_blanket */, &wmi_services_)) { LOG(ERROR) << "Unable to create the local WMI connection"; *res = InitStatus::kLocalWMIConnectionError; return; } - base::UmaHistogramTimes( - "Memory.Experimental.WMIRefresher.Init.CreateLocalWmiConnectionDuration", - elapsed_timer_create_connection.Elapsed()); HRESULT hr = S_OK; - base::ElapsedTimer elapsed_timer_cocreate_instance; // Creates the WMI refresher interface. if (FAILED(hr = ::CoCreateInstance(CLSID_WbemRefresher, nullptr, CLSCTX_INPROC_SERVER, @@ -127,9 +110,6 @@ *res = InitStatus::kRefresherCreationError; return; } - base::UmaHistogramTimes( - "Memory.Experimental.WMIRefresher.Init.CoCreateInstanceDuration", - elapsed_timer_cocreate_instance.Elapsed()); // Get the interface to configure the refresher. ComPtr<IWbemConfigureRefresher> wmi_refresher_config; @@ -141,7 +121,6 @@ } long wmi_refresher_enum_id = 0; - base::ElapsedTimer elapsed_timer_add_enum; // Add the enumerator for the disk performance data. hr = wmi_refresher_config->AddEnum( wmi_services_.Get(), L"Win32_PerfRawData_PerfDisk_PhysicalDisk", 0, @@ -152,17 +131,9 @@ *res = InitStatus::kRefresherAddEnumError; return; } - // This call can takes several seconds to complete. - base::UmaHistogramLongTimes( - "Memory.Experimental.WMIRefresher.Init.AddEnumDuration2", - elapsed_timer_add_enum.Elapsed()); *res = InitStatus::kInitStatusOk; - base::UmaHistogramLongTimes( - "Memory.Experimental.WMIRefresher.InitializeDiskIdleTimeConfigDuration2", - elapsed_timer.Elapsed()); - refresh_ready_ = true; } @@ -171,9 +142,6 @@ DCHECK(initialized_called_); RefreshStatus result = WMIRefresher::RefreshStatus::kRefreshOk; auto idle_time = RefreshAndGetDiskIdleTimeInPercentImpl(&result); - - UMA_HISTOGRAM_ENUMERATION( - "Memory.Experimental.WMIRefresher.RefreshDiskIdleTimeStatus", result); return idle_time; } @@ -184,10 +152,6 @@ DCHECK(refresh_ready_); AssertComApartmentType(base::win::ComApartmentType::MTA); - // Don't use the SCOPED_UMA_HISTOGRAM_TIMER to ensure that we only report this - // on success. - base::ElapsedTimer elapsed_timer; - HRESULT hr = wmi_refresher_->Refresh(WBEM_FLAG_REFRESH_AUTO_RECONNECT); if (FAILED(hr)) { LOG(ERROR) << "Error while trying to use the WMI refresher."; @@ -292,9 +256,6 @@ latest_percent_idle_time_val_ = new_idle_time; latest_percent_idle_time_base_val_ = new_percent_idle_time_base; - UMA_HISTOGRAM_TIMES( - "Memory.Experimental.WMIRefresher.RefreshDiskIdleTimeDuration", - elapsed_timer.Elapsed()); *res = RefreshStatus::kRefreshOk; return idle_time; }
diff --git a/chrome/browser/permissions/grouped_permission_infobar_delegate_android.cc b/chrome/browser/permissions/grouped_permission_infobar_delegate_android.cc index aa542f8..f7d44939 100644 --- a/chrome/browser/permissions/grouped_permission_infobar_delegate_android.cc +++ b/chrome/browser/permissions/grouped_permission_infobar_delegate_android.cc
@@ -7,6 +7,7 @@ #include "base/memory/ptr_util.h" #include "chrome/browser/android/android_theme_resources.h" #include "chrome/browser/infobars/infobar_service.h" +#include "chrome/browser/permissions/permission_features.h" #include "chrome/browser/permissions/permission_prompt_android.h" #include "chrome/browser/permissions/permission_request.h" #include "chrome/browser/permissions/permission_util.h" @@ -23,9 +24,10 @@ infobars::InfoBar* GroupedPermissionInfoBarDelegate::Create( const base::WeakPtr<PermissionPromptAndroid>& permission_prompt, InfoBarService* infobar_service) { - return infobar_service->AddInfoBar( - std::make_unique<GroupedPermissionInfoBar>(base::WrapUnique( - new GroupedPermissionInfoBarDelegate(permission_prompt)))); + // WrapUnique needs to be used because the constructor is private. + return infobar_service->AddInfoBar(std::make_unique<GroupedPermissionInfoBar>( + base::WrapUnique(new GroupedPermissionInfoBarDelegate(permission_prompt, + infobar_service)))); } size_t GroupedPermissionInfoBarDelegate::PermissionCount() const { @@ -37,12 +39,28 @@ return permission_prompt_->GetContentSettingType(position); } +base::string16 GroupedPermissionInfoBarDelegate::GetCompactMessageText() const { + return l10n_util::GetStringUTF16( + IDS_NOTIFICATION_QUIET_PERMISSION_MINI_INFOBAR_MESSAGE); +} + +base::string16 GroupedPermissionInfoBarDelegate::GetCompactLinkText() const { + return l10n_util::GetStringUTF16( + IDS_NOTIFICATION_QUIET_PERMISSION_MINI_INFOBAR_DETAILS_LINK); +} + +base::string16 GroupedPermissionInfoBarDelegate::GetDescriptionText() const { + return l10n_util::GetStringUTF16( + IDS_NOTIFICATION_QUIET_PERMISSION_PROMPT_MESSAGE); +} + int GroupedPermissionInfoBarDelegate::GetIconId() const { return permission_prompt_->GetIconId(); } base::string16 GroupedPermissionInfoBarDelegate::GetMessageText() const { - return permission_prompt_->GetMessageText(); + return l10n_util::GetStringUTF16( + IDS_NOTIFICATION_QUIET_PERMISSION_INFOBAR_TITLE); } bool GroupedPermissionInfoBarDelegate::Accept() { @@ -52,9 +70,8 @@ } bool GroupedPermissionInfoBarDelegate::Cancel() { - if (permission_prompt_) - permission_prompt_->Deny(); - return true; + // The infobar needs to be kept open after the "Manage" button is clicked. + return false; } void GroupedPermissionInfoBarDelegate::InfoBarDismissed() { @@ -62,10 +79,30 @@ permission_prompt_->Closing(); } +bool GroupedPermissionInfoBarDelegate::LinkClicked( + WindowOpenDisposition disposition) { + return false; +} + +// static +bool GroupedPermissionInfoBarDelegate::ShouldShowMiniInfobar( + ContentSettingsType type) { + return QuietNotificationsPromptConfig::UIFlavorToUse() == + QuietNotificationsPromptConfig::UIFlavor::MINI_INFOBAR && + type == CONTENT_SETTINGS_TYPE_NOTIFICATIONS; +} + GroupedPermissionInfoBarDelegate::GroupedPermissionInfoBarDelegate( - const base::WeakPtr<PermissionPromptAndroid>& permission_prompt) - : permission_prompt_(permission_prompt) { - DCHECK(permission_prompt); + const base::WeakPtr<PermissionPromptAndroid>& permission_prompt, + InfoBarService* infobar_service) + : permission_prompt_(permission_prompt), infobar_service_(infobar_service) { + DCHECK(permission_prompt_); + DCHECK(infobar_service_); + + // Infobars are only used for NOTIFICATIONS right now, therefore strings can + // be hardcoded for that type. + DCHECK_EQ(permission_prompt_->GetContentSettingType(0u), + CONTENT_SETTINGS_TYPE_NOTIFICATIONS); } infobars::InfoBarDelegate::InfoBarIdentifier @@ -79,8 +116,10 @@ base::string16 GroupedPermissionInfoBarDelegate::GetButtonLabel( InfoBarButton button) const { - return l10n_util::GetStringUTF16((button == BUTTON_OK) ? IDS_PERMISSION_ALLOW - : IDS_PERMISSION_DENY); + return l10n_util::GetStringUTF16( + (button == BUTTON_OK) + ? IDS_NOTIFICATIONS_QUIET_PERMISSION_BUBBLE_ALLOW_BUTTON + : IDS_NOTIFICATION_BUTTON_MANAGE); } bool GroupedPermissionInfoBarDelegate::EqualsDelegate(
diff --git a/chrome/browser/permissions/grouped_permission_infobar_delegate_android.h b/chrome/browser/permissions/grouped_permission_infobar_delegate_android.h index 9b8a553..546fbed40 100644 --- a/chrome/browser/permissions/grouped_permission_infobar_delegate_android.h +++ b/chrome/browser/permissions/grouped_permission_infobar_delegate_android.h
@@ -14,10 +14,10 @@ class InfoBarService; class PermissionPromptAndroid; -// An InfoBar that displays a group of permission requests, each of which can be -// allowed or blocked independently. -// TODO(timloh): This is incorrectly named as we've removed grouped permissions, -// rename it to PermissionInfoBarDelegate once crbug.com/606138 is done. +// An InfoBar that displays a permission request. +// +// TODO(crbug.com/986737): This class is only used for displaying notification +// permission requests and has nothing to do with grouped permissions anymore. class GroupedPermissionInfoBarDelegate : public ConfirmInfoBarDelegate { public: // Public so we can have std::unique_ptr<GroupedPermissionInfoBarDelegate>. @@ -31,6 +31,15 @@ ContentSettingsType GetContentSettingType(size_t position) const; + // Returns the string to show in the infobar in its compact state. + base::string16 GetCompactMessageText() const; + + // Returns the title of the link to show in the infobar in its compact state. + base::string16 GetCompactLinkText() const; + + // Returns the secondary string to show in the infobar in the expanded state. + base::string16 GetDescriptionText() const; + // InfoBarDelegate: int GetIconId() const override; @@ -39,10 +48,15 @@ bool Accept() override; bool Cancel() override; void InfoBarDismissed() override; + bool LinkClicked(WindowOpenDisposition disposition) override; + + // Returns true if we should show the permission request as a mini-infobar. + static bool ShouldShowMiniInfobar(ContentSettingsType type); private: GroupedPermissionInfoBarDelegate( - const base::WeakPtr<PermissionPromptAndroid>& permission_prompt); + const base::WeakPtr<PermissionPromptAndroid>& permission_prompt, + InfoBarService* infobar_service); // ConfirmInfoBarDelegate: InfoBarIdentifier GetIdentifier() const override; @@ -53,6 +67,7 @@ bool EqualsDelegate(infobars::InfoBarDelegate* delegate) const override; base::WeakPtr<PermissionPromptAndroid> permission_prompt_; + InfoBarService* infobar_service_; DISALLOW_COPY_AND_ASSIGN(GroupedPermissionInfoBarDelegate); };
diff --git a/chrome/browser/permissions/permission_features.cc b/chrome/browser/permissions/permission_features.cc index 170d4da..d88715a 100644 --- a/chrome/browser/permissions/permission_features.cc +++ b/chrome/browser/permissions/permission_features.cc
@@ -11,6 +11,8 @@ #if defined(OS_ANDROID) +// Keep in sync with "PermissionFieldTrial.java" + const char kQuietNotificationPromptsUIFlavourParameterName[] = "ui_flavour"; const char kQuietNotificationPromptsHeadsUpNotification[] = "heads_up_notification";
diff --git a/chrome/browser/permissions/permission_prompt_android.cc b/chrome/browser/permissions/permission_prompt_android.cc index dd4bdeb3..2fe5ef5 100644 --- a/chrome/browser/permissions/permission_prompt_android.cc +++ b/chrome/browser/permissions/permission_prompt_android.cc
@@ -26,6 +26,16 @@ weak_factory_(this) { DCHECK(web_contents); + InfoBarService* infobar_service = + InfoBarService::FromWebContents(web_contents_); + if (infobar_service && + GroupedPermissionInfoBarDelegate::ShouldShowMiniInfobar( + GetContentSettingType(0u /* position */))) { + GroupedPermissionInfoBarDelegate::Create(weak_factory_.GetWeakPtr(), + infobar_service); + return; + } + if (PermissionRequestNotificationAndroid::ShouldShowAsNotification( GetContentSettingType(0u /* position */))) { permission_request_notification_ = @@ -72,7 +82,7 @@ ContentSettingsType PermissionPromptAndroid::GetContentSettingType( size_t position) const { const std::vector<PermissionRequest*>& requests = delegate_->Requests(); - DCHECK_LT(position, requests.size()); + CHECK_LT(position, requests.size()); return requests[position]->GetContentSettingsType(); }
diff --git a/chrome/browser/permissions/permission_request_notification_android.cc b/chrome/browser/permissions/permission_request_notification_android.cc index c142ee9f..439d58f 100644 --- a/chrome/browser/permissions/permission_request_notification_android.cc +++ b/chrome/browser/permissions/permission_request_notification_android.cc
@@ -120,6 +120,7 @@ permission_request->GetOrigin(), message_center::NotifierId(permission_request->GetOrigin()), data, nullptr); + notification_->set_silent(true); permission_request_notification_handler_->AddNotificationDelegate( notification_->id(), this);
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc index a19f05b..c28a2c19 100644 --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -762,7 +762,7 @@ chromeos::assistant::prefs::kAssistantContextEnabled, base::Value::Type::BOOLEAN }, { key::kVoiceInteractionHotwordEnabled, - arc::prefs::kVoiceInteractionHotwordEnabled, + chromeos::assistant::prefs::kAssistantHotwordEnabled, base::Value::Type::BOOLEAN }, { key::kDevicePowerPeakShiftEnabled, ash::prefs::kPowerPeakShiftEnabled,
diff --git a/chrome/browser/policy/policy_browsertest.cc b/chrome/browser/policy/policy_browsertest.cc index eba99da..1b855c7 100644 --- a/chrome/browser/policy/policy_browsertest.cc +++ b/chrome/browser/policy/policy_browsertest.cc
@@ -4331,11 +4331,13 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, AssistantHotwordEnabled) { PrefService* prefs = browser()->profile()->GetPrefs(); + EXPECT_FALSE(prefs->IsManagedPreference( + chromeos::assistant::prefs::kAssistantHotwordEnabled)); EXPECT_FALSE( - prefs->IsManagedPreference(arc::prefs::kVoiceInteractionHotwordEnabled)); - EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); - prefs->SetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled, true); - EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + prefs->GetBoolean(chromeos::assistant::prefs::kAssistantHotwordEnabled)); + prefs->SetBoolean(chromeos::assistant::prefs::kAssistantHotwordEnabled, true); + EXPECT_TRUE( + prefs->GetBoolean(chromeos::assistant::prefs::kAssistantHotwordEnabled)); // Verifies that the Assistant hotword can be forced to always disabled. PolicyMap policies; @@ -4343,22 +4345,27 @@ POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, std::make_unique<base::Value>(false), nullptr); UpdateProviderPolicy(policies); - EXPECT_TRUE( - prefs->IsManagedPreference(arc::prefs::kVoiceInteractionHotwordEnabled)); - EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); - prefs->SetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled, true); - EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + EXPECT_TRUE(prefs->IsManagedPreference( + chromeos::assistant::prefs::kAssistantHotwordEnabled)); + EXPECT_FALSE( + prefs->GetBoolean(chromeos::assistant::prefs::kAssistantHotwordEnabled)); + prefs->SetBoolean(chromeos::assistant::prefs::kAssistantHotwordEnabled, true); + EXPECT_FALSE( + prefs->GetBoolean(chromeos::assistant::prefs::kAssistantHotwordEnabled)); // Verifies that the Assistant hotword can be forced to always enabled. policies.Set(key::kVoiceInteractionHotwordEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, std::make_unique<base::Value>(true), nullptr); UpdateProviderPolicy(policies); + EXPECT_TRUE(prefs->IsManagedPreference( + chromeos::assistant::prefs::kAssistantHotwordEnabled)); EXPECT_TRUE( - prefs->IsManagedPreference(arc::prefs::kVoiceInteractionHotwordEnabled)); - EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); - prefs->SetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled, false); - EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)); + prefs->GetBoolean(chromeos::assistant::prefs::kAssistantHotwordEnabled)); + prefs->SetBoolean(chromeos::assistant::prefs::kAssistantHotwordEnabled, + false); + EXPECT_TRUE( + prefs->GetBoolean(chromeos::assistant::prefs::kAssistantHotwordEnabled)); } #endif // defined(OS_CHROMEOS)
diff --git a/chrome/browser/popup_operations_interactive_uitest.cc b/chrome/browser/popup_operations_interactive_uitest.cc new file mode 100644 index 0000000..8b58b0d3 --- /dev/null +++ b/chrome/browser/popup_operations_interactive_uitest.cc
@@ -0,0 +1,138 @@ +// 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 "base/files/file_path.h" +#include "base/macros.h" +#include "base/run_loop.h" +#include "base/strings/utf_string_conversions.h" +#include "build/build_config.h" +#include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/browser_window.h" +#include "chrome/browser/ui/tabs/tab_strip_model.h" +#include "chrome/test/base/in_process_browser_test.h" +#include "chrome/test/base/interactive_test_utils.h" +#include "chrome/test/base/ui_test_utils.h" +#include "content/public/browser/render_frame_host.h" +#include "content/public/browser/web_contents.h" +#include "content/public/test/browser_test_utils.h" +#include "ui/base/test/ui_controls.h" + +namespace { + +const int kSelectHeight = 16; +const int kSelectWidth = 44; +const int kSelectOffsetX = 100; + +class PopupOperationsTest : public InProcessBrowserTest { + public: + PopupOperationsTest() {} + + // InProcessBrowserTest: + void SetUpOnMainThread() override { + ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); + } + + content::WebContents* GetActiveWebContents() { + return browser()->tab_strip_model()->GetActiveWebContents(); + } + + // Wait for the active web contents title to match |title|. + void WaitForTitle(const std::string& title) { + const base::string16 expected_title(base::ASCIIToUTF16(title)); + content::TitleWatcher title_watcher(GetActiveWebContents(), expected_title); + ASSERT_EQ(expected_title, title_watcher.WaitAndGetTitle()); + } + + void NavigateAndWaitForLoad() { + ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); + + // Navigate to the test page and wait for onload to be called. + const GURL url = ui_test_utils::GetTestUrl( + base::FilePath(), + base::FilePath(FILE_PATH_LITERAL("select_popup.html"))); + ui_test_utils::NavigateToURL(browser(), url); + WaitForTitle("onload"); + } + + DISALLOW_COPY_AND_ASSIGN(PopupOperationsTest); +}; + +IN_PROC_BROWSER_TEST_F(PopupOperationsTest, Load) { + NavigateAndWaitForLoad(); +} + +#if defined(OS_MACOSX) || defined(OS_CHROMEOS) +// OS_MACOSX: Missing automation provider support: http://crbug.com/1000752. +#define MAYBE_OpenPopup DISABLED_OpenPopup +#else +#define MAYBE_OpenPopup OpenPopup +#endif + +// Clicking on a select element should open its popup. +IN_PROC_BROWSER_TEST_F(PopupOperationsTest, MAYBE_OpenPopup) { + NavigateAndWaitForLoad(); + + // Click on the third select to open its popup. + gfx::Rect bounds = GetActiveWebContents()->GetContainerBounds(); + ui_controls::SendMouseMove(bounds.x() + kSelectWidth / 2 + kSelectOffsetX * 2, + bounds.y() + kSelectHeight / 2); + ui_controls::SendMouseClick(ui_controls::LEFT); + WaitForTitle("onclick3"); +} + +#if defined(OS_MACOSX) || defined(OS_CHROMEOS) +// OS_MACOSX: Missing automation provider support: http://crbug.com/1000752. +#define MAYBE_ChangeValue DISABLED_ChangeValue +#else +#define MAYBE_ChangeValue ChangeValue +#endif + +// Clicking on a select element should open its popup and move focus to the +// new popup. +IN_PROC_BROWSER_TEST_F(PopupOperationsTest, MAYBE_ChangeValue) { + NavigateAndWaitForLoad(); + + // Open the first popup and change the value by pressing UP and Enter. + gfx::Rect bounds = GetActiveWebContents()->GetContainerBounds(); + ui_controls::SendMouseMove(bounds.x() + kSelectWidth / 2, + bounds.y() + kSelectHeight / 2); + ui_controls::SendMouseClick(ui_controls::LEFT); + ASSERT_TRUE(ui_test_utils::SendKeyPressSync(browser(), ui::VKEY_UP, false, + false, false, false)); + ASSERT_TRUE(ui_test_utils::SendKeyPressSync(browser(), ui::VKEY_RETURN, false, + false, false, false)); + WaitForTitle("onchange1"); +} + +#if defined(OS_MACOSX) || defined(OS_CHROMEOS) +// OS_MACOSX: Missing automation provider support: http://crbug.com/1000752. +#define MAYBE_OpenClosePopup DISABLED_OpenClosePopup +#else +#define MAYBE_OpenClosePopup OpenClosePopup +#endif + +// Clicking on a select element while another select element has its +// popup already open, should open the popup of the clicked select element and +// move the focus to the new popup. +IN_PROC_BROWSER_TEST_F(PopupOperationsTest, MAYBE_OpenClosePopup) { + NavigateAndWaitForLoad(); + + // Open the first popup, click on the second select to open its popup and + // change its value. + gfx::Rect bounds = GetActiveWebContents()->GetContainerBounds(); + ui_controls::SendMouseMove(bounds.x() + kSelectWidth / 2, + bounds.y() + kSelectHeight / 2); + ui_controls::SendMouseClick(ui_controls::LEFT); + + ui_controls::SendMouseMove(bounds.x() + kSelectWidth / 2 + kSelectOffsetX, + bounds.y() + kSelectHeight / 2); + ui_controls::SendMouseClick(ui_controls::LEFT); + ASSERT_TRUE(ui_test_utils::SendKeyPressSync(browser(), ui::VKEY_UP, false, + false, false, false)); + ASSERT_TRUE(ui_test_utils::SendKeyPressSync(browser(), ui::VKEY_RETURN, false, + false, false, false)); + WaitForTitle("onchange2"); +} + +} // namespace
diff --git a/chrome/browser/resources/bookmarks/folder_node.html b/chrome/browser/resources/bookmarks/folder_node.html index bfb8b4d..4c57f2a 100644 --- a/chrome/browser/resources/bookmarks/folder_node.html +++ b/chrome/browser/resources/bookmarks/folder_node.html
@@ -24,7 +24,7 @@ height: 40px; min-width: fit-content; overflow: hidden; - padding-inline-start: calc(var(--node-depth, 0) * 10px); + padding-inline-start: calc(var(--node-depth, 0) * 15px); } #arrow {
diff --git a/chrome/browser/resources/chromeos/add_supervision/add_supervision.js b/chrome/browser/resources/chromeos/add_supervision/add_supervision.js index 9c6e3ec..3edff02 100644 --- a/chrome/browser/resources/chromeos/add_supervision/add_supervision.js +++ b/chrome/browser/resources/chromeos/add_supervision/add_supervision.js
@@ -33,7 +33,6 @@ requestUrl.host.endsWith('.' + allowedHost)); } -let server = null; const addSupervisionHandler = addSupervision.mojom.AddSupervisionHandler.getRemote(); @@ -42,7 +41,7 @@ /** Attempts to close the dialog */ closeDialog_: function() { - server.requestClose(); + this.server.requestClose(); }, /** @override */ @@ -95,7 +94,8 @@ webview.src = url.toString(); // Set up the server. - server = new AddSupervisionAPIServer(webview, url, eventOriginFilter); + this.server = + new AddSupervisionAPIServer(webview, url, eventOriginFilter); }); }, });
diff --git a/chrome/browser/resources/chromeos/chromevox/tools/publish_webstore_extension.py b/chrome/browser/resources/chromeos/chromevox/tools/publish_webstore_extension.py index cace598..36bc13ba 100755 --- a/chrome/browser/resources/chromeos/chromevox/tools/publish_webstore_extension.py +++ b/chrome/browser/resources/chromeos/chromevox/tools/publish_webstore_extension.py
@@ -55,8 +55,8 @@ def GetVersion(): '''Returns the chrome version string.''' filename = os.path.join(_CHROME_SOURCE_DIR, 'chrome', 'VERSION') - values = version.fetch_values([filename]) - return version.subst_template('@MAJOR@.@MINOR@.@BUILD@.@PATCH@', values) + values = version.FetchValues([filename]) + return version.SubstTemplate('@MAJOR@.@MINOR@.@BUILD@.@PATCH@', values) def MakeChromeVoxManifest():
diff --git a/chrome/browser/resources/chromeos/switch_access/menu_manager.js b/chrome/browser/resources/chromeos/switch_access/menu_manager.js index 943a97e..44dd645 100644 --- a/chrome/browser/resources/chromeos/switch_access/menu_manager.js +++ b/chrome/browser/resources/chromeos/switch_access/menu_manager.js
@@ -69,6 +69,14 @@ this.selectionExists_ = false; /** + * Callback for reloading the menu when the text selection has changed. + * Bind creates a new function, so this function is saved as a field to + * add and remove the selection event listener properly. + * @private {function(chrome.automation.AutomationEvent): undefined} + */ + this.onSelectionChanged_ = this.reloadMenuForSelectionChange_.bind(this); + + /** * Keeps track of when the clipboard is empty. * @private {boolean} */ @@ -142,10 +150,11 @@ this.closeCurrentMenu_(); this.inMenu_ = false; - if (window.switchAccess.improvedTextInputEnabled()) { + if (window.switchAccess.improvedTextInputEnabled() && + this.menuOriginNode_) { this.menuOriginNode_.removeEventListener( chrome.automation.EventType.TEXT_SELECTION_CHANGED, - this.onSelectionChanged_.bind(this), false /** Don't use capture. */); + this.onSelectionChanged_, false /** Don't use capture. */); } this.menuOriginNode_ = null; @@ -220,14 +229,22 @@ if (!shouldReloadMenu && window.switchAccess.improvedTextInputEnabled()) { this.menuOriginNode_.addEventListener( chrome.automation.EventType.TEXT_SELECTION_CHANGED, - this.onSelectionChanged_.bind(this), false /** Don't use capture. */); + this.onSelectionChanged_, false /** Don't use capture. */); } if (shouldReloadMenu && actionNode) { - // Highlight the same action that was highlighted before the menu was - // reloaded. - this.node_ = actionNode; - this.updateFocusRing_(); + let buttonId = actionNode.htmlAttributes.id; + if (actions.includes(buttonId)) { + // Highlight the same action that was highlighted before the menu was + // reloaded. + this.node_ = actionNode; + this.updateFocusRing_(); + } else { + while (!actions.includes(buttonId) && buttonId != 'back') { + this.moveForward(); + buttonId = this.node_.htmlAttributes.id; + } + } } return true; } @@ -488,7 +505,6 @@ * @returns {boolean} whether or not there's a selection */ nodeHasSelection_() { - let previousSelectionState = this.selectionExists_; if (this.menuOriginNode_) { if (this.menuOriginNode_.textSelStart !== this.menuOriginNode_.textSelEnd) { @@ -505,12 +521,18 @@ * reload the menu if so. * @private */ - onSelectionChanged_() { + reloadMenuForSelectionChange_() { let newSelectionState = this.nodeHasSelection_(); if (this.selectionExists_ != newSelectionState) { this.selectionExists_ = newSelectionState; - if (this.menuOriginNode_) { - this.openMenu_(this.menuOriginNode_, SAConstants.MenuId.MAIN); + if (this.menuOriginNode_ && + !this.navigationManager_.currentlySelecting()) { + let currentMenuId = this.menuPanel_.currentMenuId(); + if (currentMenuId) { + this.openMenu_(this.menuOriginNode_, currentMenuId); + } else { + this.openMenu_(this.menuOriginNode_, SAConstants.MenuId.MAIN); + } } } } @@ -555,7 +577,7 @@ node.state[StateType.FOCUSED]) { actions.push(SAConstants.MenuAction.MOVE_CURSOR); actions.push(SAConstants.MenuAction.SELECT_START); - if (this.navigationManager_.selectionStarted()) { + if (this.navigationManager_.currentlySelecting()) { actions.push(SAConstants.MenuAction.SELECT_END); } if (this.selectionExists_) { @@ -682,7 +704,9 @@ } break; case SAConstants.MenuAction.SELECT_END: - this.navigationManager_.saveSelectEnd(); + this.navigationManager_.endSelection(); + if (this.menuOriginNode_) + this.openMenu_(this.menuOriginNode_, SAConstants.MenuId.MAIN); break; default: if (window.switchAccess.improvedTextInputEnabled()) {
diff --git a/chrome/browser/resources/chromeos/switch_access/navigation_manager.js b/chrome/browser/resources/chromeos/switch_access/navigation_manager.js index 5517c4b..663d9c3 100644 --- a/chrome/browser/resources/chromeos/switch_access/navigation_manager.js +++ b/chrome/browser/resources/chromeos/switch_access/navigation_manager.js
@@ -334,17 +334,17 @@ * Sets the selectionEnd variable based on the selection of the current node. * @public */ - saveSelectEnd() { - this.textNavigationManager_.saveSelectEnd(); + endSelection() { + this.textNavigationManager_.resetCurrentlySelecting(); } /** - * Returns whether or not the first selection index has been set. + * Returns whether or not a selection is being made. * @return {boolean} * @public */ - selectionStarted() { - return this.textNavigationManager_.isSelectionStarted(); + currentlySelecting() { + return this.textNavigationManager_.currentlySelecting(); } /**
diff --git a/chrome/browser/resources/chromeos/switch_access/text_navigation_manager.js b/chrome/browser/resources/chromeos/switch_access/text_navigation_manager.js index 3e78d9a9..9388f846 100644 --- a/chrome/browser/resources/chromeos/switch_access/text_navigation_manager.js +++ b/chrome/browser/resources/chromeos/switch_access/text_navigation_manager.js
@@ -26,6 +26,12 @@ /** @private {chrome.automation.AutomationNode} */ this.selectionEndObject_; + + /** @private {boolean} */ + this.currentlySelecting_ = false; + + /** @private {function(chrome.automation.AutomationEvent): undefined} */ + this.selectionListener_ = this.onNavChange_.bind(this); } /** @@ -34,6 +40,8 @@ * @public */ jumpToBeginning() { + if (this.currentlySelecting_) + this.setupDynamicSelection_(false /* resetCursor */); this.navigationManager_.simulateKeyPress( SAConstants.KeyCode.HOME, {ctrl: true}); } @@ -44,6 +52,8 @@ * @public */ jumpToEnd() { + if (this.currentlySelecting_) + this.setupDynamicSelection_(false /* resetCursor */); this.navigationManager_.simulateKeyPress( SAConstants.KeyCode.END, {ctrl: true}); } @@ -55,11 +65,26 @@ * @public */ moveBackwardOneChar() { + if (this.currentlySelecting_) + this.setupDynamicSelection_(true /* resetCursor */); this.navigationManager_.simulateKeyPress( SAConstants.KeyCode.LEFT_ARROW, {}); } /** + * Moves the text caret one character forward (does nothing + * if there are no more characters following the current + * location of the caret). + * @public + */ + moveForwardOneChar() { + if (this.currentlySelecting_) + this.setupDynamicSelection_(true /* resetCursor */); + this.navigationManager_.simulateKeyPress( + SAConstants.KeyCode.RIGHT_ARROW, {}); + } + + /** * Moves the text caret one word backwards (does nothing * if already at the beginning of the field). If the * text caret is in the middle of a word, moves the caret @@ -67,22 +92,13 @@ * @public */ moveBackwardOneWord() { + if (this.currentlySelecting_) + this.setupDynamicSelection_(false /* resetCursor */); this.navigationManager_.simulateKeyPress( SAConstants.KeyCode.LEFT_ARROW, {ctrl: true}); } /** - * Moves the text caret one character forward (does nothing - * if there are no more characters following the current - * location of the caret). - * @public - */ - moveForwardOneChar() { - this.navigationManager_.simulateKeyPress( - SAConstants.KeyCode.RIGHT_ARROW, {}); - } - - /** * Moves the text caret one word forward (does nothing if * already at the end of the field). If the text caret is * in the middle of a word, moves the caret to the end of @@ -90,6 +106,8 @@ * @public */ moveForwardOneWord() { + if (this.currentlySelecting_) + this.setupDynamicSelection_(false /* resetCursor */); this.navigationManager_.simulateKeyPress( SAConstants.KeyCode.RIGHT_ARROW, {ctrl: true}); } @@ -101,6 +119,8 @@ * @public */ moveUpOneLine() { + if (this.currentlySelecting_) + this.setupDynamicSelection_(false /* resetCursor */); this.navigationManager_.simulateKeyPress(SAConstants.KeyCode.UP_ARROW, {}); } @@ -111,14 +131,40 @@ * @public */ moveDownOneLine() { + if (this.currentlySelecting_) + this.setupDynamicSelection_(false /* resetCursor */); this.navigationManager_.simulateKeyPress( SAConstants.KeyCode.DOWN_ARROW, {}); } + /** + * TODO(crbug.com/999400): Work on text selection dynamic highlight and + * text selection implementation below + */ /** - * TODO(rosalindag): Work on text selection functionality below. + * Sets up the cursor position and selection listener for dynamic selection. + * If the needToResetCursor boolean is true, the function will move the cursor + * to the end point of the selection before adding the event listener. If not, + * it will simply add the listener. + * @param {boolean} needToResetCursor + * @private */ + setupDynamicSelection_(needToResetCursor) { + if (needToResetCursor) { + if (this.currentlySelecting() && + this.selectionEndIndex_ != NO_SELECT_INDEX) { + // Move the cursor to the end of the existing selection. + chrome.automation.setDocumentSelection({ + anchorObject: this.selectionEndObject_, + anchorOffset: this.selectionEndIndex_, + focusObject: this.selectionEndObject_, + focusOffset: this.selectionEndIndex_ + }); + } + } + this.manageNavigationListener_(true /** Add the listener */); + } /** * Sets the selection using the selectionStart and selectionEnd @@ -183,8 +229,10 @@ * @return {boolean} * @public */ - isSelectionStarted() { - return this.selectionStartIndex_ !== NO_SELECT_INDEX; + currentlySelecting() { + return ( + this.selectionStartIndex_ !== NO_SELECT_INDEX && + this.currentlySelecting_); } /** @@ -211,18 +259,61 @@ /** * Sets the selectionStart variable based on the selection of the current - * node. + * node. Also sets the currently selecting boolean to true. * @public */ saveSelectStart() { chrome.automation.getFocus((focusedNode) => { this.selectionStartObject_ = focusedNode; this.selectionStartIndex_ = this.getSelectionIndexFromNode_( - this.selectionStartObject_, true /*We are getting the start index.*/); + this.selectionStartObject_, + true /* We are getting the start index.*/); + this.currentlySelecting_ = true; }); } /** + * Function to handle changes in the cursor position during selection. + * This function will remove the selection listener and set the end of the + * selection based on the new position. + * @private + */ + onNavChange_() { + this.manageNavigationListener_(false); + if (this.currentlySelecting) + this.saveSelectEnd(); + } + + /** + * Adds or removes the selection listener based on a boolean parameter. + * @param {boolean} addListener + * @private + */ + manageNavigationListener_(addListener) { + if (addListener) { + this.selectionStartObject_.addEventListener( + chrome.automation.EventType.TEXT_SELECTION_CHANGED, + this.selectionListener_, false /** Don't use capture.*/); + } else { + this.selectionStartObject_.removeEventListener( + chrome.automation.EventType.TEXT_SELECTION_CHANGED, + this.selectionListener_, false /** Don't use capture.*/); + } + } + + /** + * Reset the currentlySelecting variable to false, reset the selection + * indices, and remove the listener on navigation. + * @public + */ + resetCurrentlySelecting() { + this.currentlySelecting_ = false; + this.manageNavigationListener_(false /** Removing listener */); + this.selectionStartIndex_ = NO_SELECT_INDEX; + this.selectionEndIndex_ = NO_SELECT_INDEX; + } + + /** * Sets the selectionEnd variable based on the selection of the current node. * @public */
diff --git a/chrome/browser/resources/history/history_item.js b/chrome/browser/resources/history/history_item.js index c67bac902..5d48e92 100644 --- a/chrome/browser/resources/history/history_item.js +++ b/chrome/browser/resources/history/history_item.js
@@ -235,7 +235,7 @@ } const ageInDays = Math.ceil( - (new Date() - new Date(this.item.dateRelativeDay)) / 1000 /* s/ms */ / + (new Date() - new Date(this.item.time)) / 1000 /* s/ms */ / 60 /* m/s */ / 60 /* h/m */ / 24 /* d/h */); browserService.recordHistogram(
diff --git a/chrome/browser/resources/local_ntp/local_ntp.css b/chrome/browser/resources/local_ntp/local_ntp.css index 1fc3a7f..6255342 100644 --- a/chrome/browser/resources/local_ntp/local_ntp.css +++ b/chrome/browser/resources/local_ntp/local_ntp.css
@@ -71,7 +71,7 @@ min-height: 100%; } -body.inited { +html.inited body { display: block; }
diff --git a/chrome/browser/resources/local_ntp/local_ntp.js b/chrome/browser/resources/local_ntp/local_ntp.js index 0101cad..47f8731 100644 --- a/chrome/browser/resources/local_ntp/local_ntp.js +++ b/chrome/browser/resources/local_ntp/local_ntp.js
@@ -758,7 +758,7 @@ utils.setPlatformClass(document.body); utils.disableOutlineOnMouseClick($(customize.IDS.EDIT_BG)); - document.body.classList.add(CLASSES.INITED); + document.documentElement.classList.add(CLASSES.INITED); } /**
diff --git a/chrome/browser/resources/print_preview/polymer3/demo.js b/chrome/browser/resources/print_preview/polymer3/demo.js index 551898d7..185d98b 100644 --- a/chrome/browser/resources/print_preview/polymer3/demo.js +++ b/chrome/browser/resources/print_preview/polymer3/demo.js
@@ -4,11 +4,13 @@ import 'chrome://resources/cr_elements/cr_button/cr_button.m.js'; import 'chrome://resources/cr_elements/cr_checkbox/cr_checkbox.m.js'; +import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.m.js'; import 'chrome://resources/cr_elements/cr_drawer/cr_drawer.m.js'; import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.m.js'; import 'chrome://resources/cr_elements/cr_input/cr_input.m.js'; import 'chrome://resources/cr_elements/cr_radio_button/cr_radio_button.m.js'; import 'chrome://resources/cr_elements/cr_radio_group/cr_radio_group.m.js'; +import 'chrome://resources/cr_elements/cr_tabs/cr_tabs.m.js'; import 'chrome://resources/cr_elements/cr_toast/cr_toast.m.js'; import 'chrome://resources/cr_elements/cr_toggle/cr_toggle.m.js'; import 'chrome://resources/cr_elements/icons.m.js'; @@ -67,6 +69,26 @@ <div class="drawer-content">Content of drawer</div> </cr-drawer> </div> + + <div> + <cr-tabs selected="{{selectedSubpage_}}" tab-names="[[tabNames_]]"> + </cr-tabs> + <div> + <template is="dom-if" if="[[isTabASelected_(selectedSubpage_)]]"> + <span>This is Tab A</span> + </template> + <template is="dom-if" if="[[isTabBSelected_(selectedSubpage_)]]"> + <span>This is Tab B</span> + </template> + </div> + </div> + + <div> + <cr-button on-click="showDialog_">Click to open dialog</cr-button> + <cr-dialog id="dialog"> + <div slot="title">I am a dialog</div> + </cr-dialog> + </div> `; } @@ -77,6 +99,18 @@ /** @private */ checkboxChecked_: Boolean, + + /** @private */ + selectedSubpage_: { + type: Number, + value: 0, + }, + + /** @private {Array<string>} */ + tabNames_: { + type: Array, + value: () => (['A', 'B']), + }, }; } @@ -89,6 +123,27 @@ showDrawer_() { this.shadowRoot.querySelector('cr-drawer').openDrawer(); } + + /** @private */ + showDialog_() { + this.shadowRoot.querySelector('cr-dialog').showModal(); + } + + /** + * @return {boolean} + * @private + */ + isTabASelected_() { + return this.selectedSubpage_ === 0; + } + + /** + * @return {boolean} + * @private + */ + isTabBSelected_() { + return this.selectedSubpage_ === 1; + } } // class HelloPolymer3 customElements.define('hello-polymer3', HelloPolymer3Element);
diff --git a/chrome/browser/resources/settings/crostini_page/crostini_subpage.html b/chrome/browser/resources/settings/crostini_page/crostini_subpage.html index 125be381..c77f616 100644 --- a/chrome/browser/resources/settings/crostini_page/crostini_subpage.html +++ b/chrome/browser/resources/settings/crostini_page/crostini_subpage.html
@@ -17,14 +17,12 @@ label="$i18n{crostiniSharedPaths}" on-click="onSharedPathsClick_"> </cr-link-row> - <template is="dom-if" if="[[enableCrostiniUsbDeviceSupport_]]"> - <cr-link-row - class="hr" - label="$i18n{crostiniSharedUsbDevicesLabel}" - id="crostini-shared-usb-devices" - on-click="onSharedUsbDevicesClick_"> - </cr-link-row> - </template> + <cr-link-row + class="hr" + label="$i18n{crostiniSharedUsbDevicesLabel}" + id="crostini-shared-usb-devices" + on-click="onSharedUsbDevicesClick_"> + </cr-link-row> <template is="dom-if" if="[[showCrostiniExportImport_]]"> <cr-link-row class="hr"
diff --git a/chrome/browser/resources/settings/crostini_page/crostini_subpage.js b/chrome/browser/resources/settings/crostini_page/crostini_subpage.js index 736b8a8..66d8ca13f 100644 --- a/chrome/browser/resources/settings/crostini_page/crostini_subpage.js +++ b/chrome/browser/resources/settings/crostini_page/crostini_subpage.js
@@ -20,17 +20,6 @@ }, /** - * Whether CrostiniUsbSupport flag is enabled. - * @private {boolean} - */ - enableCrostiniUsbDeviceSupport_: { - type: Boolean, - value: function() { - return loadTimeData.getBoolean('enableCrostiniUsbDeviceSupport'); - }, - }, - - /** * Whether export / import UI should be displayed. * @private {boolean} */
diff --git a/chrome/browser/resources/settings/people_page/users_page.html b/chrome/browser/resources/settings/people_page/users_page.html index e1981901..3b94c83 100644 --- a/chrome/browser/resources/settings/people_page/users_page.html +++ b/chrome/browser/resources/settings/people_page/users_page.html
@@ -55,19 +55,19 @@ disabled="[[isEditingDisabled_(isOwner_, isWhitelistManaged_)]]" inverted> </settings-toggle-button> - <div class="list-frame"> - <settings-user-list prefs="[[prefs]]" - disabled="[[isEditingUsersDisabled_(isOwner_, isWhitelistManaged_, - prefs.cros.accounts.allowGuest.value, isChild_)]]"> - </settings-user-list> - <div id="add-user-button" class="list-item" - hidden="[[isEditingUsersDisabled_(isOwner_, isWhitelistManaged_, - prefs.cros.accounts.allowGuest.value, isChild_)]]"> - <a is="action-link" class="list-button" on-click="openAddUserDialog_"> - $i18n{addUsers} - </a> + <template is="dom-if" + if="[[isEditingUsersEnabled_(isOwner_, isWhitelistManaged_, + prefs.cros.accounts.allowGuest.value, isChild_)]]"> + <div class="list-frame" > + <settings-user-list prefs="[[prefs]]"> + </settings-user-list> + <div id="add-user-button" class="list-item"> + <a is="action-link" class="list-button" on-click="openAddUserDialog_"> + $i18n{addUsers} + </a> + </div> </div> - </div> + </template> <settings-users-add-user-dialog id="addUserDialog" on-close="onAddUserDialogClose_"> </settings-users-add-user-dialog>
diff --git a/chrome/browser/resources/settings/people_page/users_page.js b/chrome/browser/resources/settings/people_page/users_page.js index fe86cde..4a3ff20 100644 --- a/chrome/browser/resources/settings/people_page/users_page.js +++ b/chrome/browser/resources/settings/people_page/users_page.js
@@ -83,9 +83,9 @@ * @private * @return {boolean} */ - isEditingUsersDisabled_: function( + isEditingUsersEnabled_: function( isOwner, isWhitelistManaged, allowGuest, isChild) { - return !isOwner || isWhitelistManaged || allowGuest || isChild; + return isOwner && !isWhitelistManaged && !allowGuest && !isChild; }, /** @return {boolean} */
diff --git a/chrome/browser/resources/settings/printing_page/cups_printers.html b/chrome/browser/resources/settings/printing_page/cups_printers.html index 346cb019..2e514ea 100644 --- a/chrome/browser/resources/settings/printing_page/cups_printers.html +++ b/chrome/browser/resources/settings/printing_page/cups_printers.html
@@ -162,7 +162,7 @@ </cr-icon-button> </div> </div> - <template is="dom-if" if="[[canAddPrinter]]"> + <template is="dom-if" if="[[canAddPrinter]]" restamp> <settings-cups-nearby-printers search-term="[[searchTerm]]" active-printer="{{activePrinter}}"> </settings-cups-nearby-printers>
diff --git a/chrome/browser/safe_browsing/chrome_password_protection_service.cc b/chrome/browser/safe_browsing/chrome_password_protection_service.cc index 680404e..e795dac 100644 --- a/chrome/browser/safe_browsing/chrome_password_protection_service.cc +++ b/chrome/browser/safe_browsing/chrome_password_protection_service.cc
@@ -832,8 +832,19 @@ WebUIInfoSingleton::GetInstance()->AddToSecurityEvents( gaia_password_reuse_event); - SecurityEventRecorderFactory::GetForProfile(profile_) - ->RecordGaiaPasswordReuse(gaia_password_reuse_event); + + auto* identity_manager = IdentityManagerFactory::GetForProfileIfExists( + profile_->GetOriginalProfile()); + if (identity_manager) { + CoreAccountInfo unconsented_primary_account_info = + identity_manager->GetUnconsentedPrimaryAccountInfo(); + // SecurityEventRecorder only supports unconsented primary accounts. + if (gaia::AreEmailsSame(unconsented_primary_account_info.email, + username_for_last_shown_warning())) { + SecurityEventRecorderFactory::GetForProfile(profile_) + ->RecordGaiaPasswordReuse(gaia_password_reuse_event); + } + } } else { syncer::UserEventService* user_event_service = browser_sync::UserEventServiceFactory::GetForProfile(profile_);
diff --git a/chrome/browser/safe_browsing/chrome_password_protection_service_unittest.cc b/chrome/browser/safe_browsing/chrome_password_protection_service_unittest.cc index 2a9507f..1b045e1 100644 --- a/chrome/browser/safe_browsing/chrome_password_protection_service_unittest.cc +++ b/chrome/browser/safe_browsing/chrome_password_protection_service_unittest.cc
@@ -656,21 +656,22 @@ // TODO(crbug/914410): Renable once we know the SecurityEventRecorder won't // crash Chrome. -// TEST_F(ChromePasswordProtectionServiceTest, -// VerifyPasswordReuseDetectedSecurityEventRecorded) { -// EXPECT_CALL(*security_event_recorder_, RecordGaiaPasswordReuse(_)) -// .WillOnce(WithArg<0>([&](const auto& message) { -// EXPECT_EQ(PasswordReuseLookup::REQUEST_SUCCESS, -// message.reuse_lookup().lookup_result()); -// EXPECT_EQ(PasswordReuseLookup::SAFE, -// message.reuse_lookup().verdict()); EXPECT_EQ("verdict_token", -// message.reuse_lookup().verdict_token()); -// })); -// service_->MaybeLogPasswordReuseLookupResultWithVerdict( -// web_contents(), PasswordType::OTHER_GAIA_PASSWORD, -// PasswordReuseLookup::REQUEST_SUCCESS, PasswordReuseLookup::SAFE, -// "verdict_token"); -// } +TEST_F(ChromePasswordProtectionServiceTest, + VerifyPasswordReuseDetectedSecurityEventRecorded) { + identity_test_env()->SetPrimaryAccount(kTestEmail); + service_->set_username_for_last_shown_warning(kTestEmail); + EXPECT_CALL(*security_event_recorder_, RecordGaiaPasswordReuse(_)) + .WillOnce(WithArg<0>([&](const auto& message) { + EXPECT_EQ(PasswordReuseLookup::REQUEST_SUCCESS, + message.reuse_lookup().lookup_result()); + EXPECT_EQ(PasswordReuseLookup::SAFE, message.reuse_lookup().verdict()); + EXPECT_EQ("verdict_token", message.reuse_lookup().verdict_token()); + })); + service_->MaybeLogPasswordReuseLookupResultWithVerdict( + web_contents(), PasswordType::OTHER_GAIA_PASSWORD, + PasswordReuseLookup::REQUEST_SUCCESS, PasswordReuseLookup::SAFE, + "verdict_token"); +} // Check that the PaswordCapturedEvent timer is set for 1 min if password // hash is saved and no timer pref is set yet.
diff --git a/chrome/browser/safe_browsing/download_protection/binary_fcm_service.cc b/chrome/browser/safe_browsing/download_protection/binary_fcm_service.cc index b943fc6..8a247350 100644 --- a/chrome/browser/safe_browsing/download_protection/binary_fcm_service.cc +++ b/chrome/browser/safe_browsing/download_protection/binary_fcm_service.cc
@@ -6,6 +6,7 @@ #include <memory> +#include "base/base64.h" #include "base/logging.h" #include "chrome/browser/gcm/gcm_profile_service_factory.h" #include "chrome/browser/gcm/instance_id/instance_id_profile_service_factory.h" @@ -109,12 +110,15 @@ void BinaryFCMService::OnMessage(const std::string& app_id, const gcm::IncomingMessage& message) { - auto serialized_proto = message.data.find(kBinaryFCMServiceMessageKey); - if (serialized_proto == message.data.end()) + auto serialized_proto_iterator = + message.data.find(kBinaryFCMServiceMessageKey); + if (serialized_proto_iterator == message.data.end()) return; + std::string serialized_proto; + base::Base64Decode(serialized_proto_iterator->second, &serialized_proto); DeepScanningClientResponse response; - if (!response.ParseFromString(serialized_proto->second)) + if (!response.ParseFromString(serialized_proto)) return; auto callback_it = message_token_map_.find(response.token());
diff --git a/chrome/browser/safe_browsing/download_protection/binary_fcm_service_unittest.cc b/chrome/browser/safe_browsing/download_protection/binary_fcm_service_unittest.cc index 36877036..6e2abffc 100644 --- a/chrome/browser/safe_browsing/download_protection/binary_fcm_service_unittest.cc +++ b/chrome/browser/safe_browsing/download_protection/binary_fcm_service_unittest.cc
@@ -4,6 +4,7 @@ #include "chrome/browser/safe_browsing/download_protection/binary_fcm_service.h" +#include "base/base64.h" #include "base/run_loop.h" #include "chrome/browser/gcm/gcm_profile_service_factory.h" #include "chrome/test/base/testing_profile.h" @@ -85,6 +86,7 @@ // Test that a message with token1 is routed only to the first callback. message.set_token("token1"); ASSERT_TRUE(message.SerializeToString(&serialized_message)); + base::Base64Encode(serialized_message, &serialized_message); incoming_message.data["proto"] = serialized_message; binary_fcm_service_->OnMessage("app_id", incoming_message); EXPECT_EQ(response1.token(), "token1"); @@ -93,6 +95,7 @@ // Test that a message with token2 is routed only to the second callback. message.set_token("token2"); ASSERT_TRUE(message.SerializeToString(&serialized_message)); + base::Base64Encode(serialized_message, &serialized_message); incoming_message.data["proto"] = serialized_message; binary_fcm_service_->OnMessage("app_id", incoming_message); EXPECT_EQ(response1.token(), "token1");
diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc index 37065e0..8baacf0 100644 --- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc +++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc
@@ -6,6 +6,7 @@ #include <memory> +#include "base/base64.h" #include "base/bind.h" #include "base/rand_util.h" #include "base/task/post_task.h" @@ -142,6 +143,7 @@ std::string metadata; request->deep_scanning_request().SerializeToString(&metadata); + base::Base64Encode(metadata, &metadata); auto upload_request = MultipartUploadRequest::Create( url_loader_factory_, GURL(kSbBinaryUploadUrl), metadata, file_contents,
diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc b/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc index cc8319c..636f7e0b 100644 --- a/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc +++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
@@ -8,6 +8,7 @@ #include <memory> #include "base/bind.h" +#include "base/feature_list.h" #include "base/metrics/histogram_functions.h" #include "base/metrics/histogram_macros.h" #include "chrome/browser/browser_process.h" @@ -87,8 +88,7 @@ item->GetURL(), item->GetTargetFilePath(), item->GetFullPath(), - item->GetTabUrl(), - item->GetTabReferrerUrl(), + {item->GetTabUrl(), item->GetTabReferrerUrl()}, content::DownloadItemUtils::GetBrowserContext(item), std::move(callback), service, @@ -278,6 +278,9 @@ } bool CheckClientDownloadRequest::ShouldUploadForDlpScan() { + if (!base::FeatureList::IsEnabled(kDeepScanningOfDownloads)) + return false; + int check_content_compliance = g_browser_process->local_state()->GetInteger( prefs::kCheckContentCompliance); if (check_content_compliance != @@ -304,6 +307,9 @@ bool CheckClientDownloadRequest::ShouldUploadForMalwareScan( DownloadCheckResultReason reason) { + if (!base::FeatureList::IsEnabled(kDeepScanningOfDownloads)) + return false; + // If we know the file is malicious, we don't need to upload it. if (reason != DownloadCheckResultReason::REASON_DOWNLOAD_SAFE && reason != DownloadCheckResultReason::REASON_DOWNLOAD_UNCOMMON &&
diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request_base.cc b/chrome/browser/safe_browsing/download_protection/check_client_download_request_base.cc index 649f457..dc1529411 100644 --- a/chrome/browser/safe_browsing/download_protection/check_client_download_request_base.cc +++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request_base.cc
@@ -19,6 +19,7 @@ #include "chrome/browser/safe_browsing/download_protection/ppapi_download_request.h" #include "chrome/common/safe_browsing/file_type_policies.h" #include "components/prefs/pref_service.h" +#include "components/safe_browsing/common/safe_browsing_prefs.h" #include "components/safe_browsing/common/utils.h" #include "components/safe_browsing/web_ui/safe_browsing_ui.h" #include "content/public/browser/browser_context.h" @@ -122,8 +123,7 @@ GURL source_url, base::FilePath target_file_path, base::FilePath full_path, - GURL tab_url, - GURL tab_referrer_url, + TabUrls tab_urls, content::BrowserContext* browser_context, CheckDownloadCallback callback, DownloadProtectionService* service, @@ -132,8 +132,8 @@ : source_url_(std::move(source_url)), target_file_path_(std::move(target_file_path)), full_path_(std::move(full_path)), - tab_url_(std::move(tab_url)), - tab_referrer_url_(std::move(tab_referrer_url)), + tab_url_(std::move(tab_urls.url)), + tab_referrer_url_(std::move(tab_urls.referrer)), callback_(std::move(callback)), service_(service), binary_feature_extractor_(std::move(binary_feature_extractor)), @@ -154,9 +154,15 @@ profile && AdvancedProtectionStatusManagerFactory::GetForProfile(profile) ->RequestsAdvancedProtectionVerdicts(); + + int password_protected_allowed_policy = + g_browser_process->local_state()->GetInteger( + prefs::kAllowPasswordProtectedFiles); password_protected_allowed_ = - !profile || - profile->GetPrefs()->GetBoolean(prefs::kPasswordProtectedAllowed); + (password_protected_allowed_policy == + AllowPasswordProtectedFilesValues::ALLOW_DOWNLOADS || + password_protected_allowed_policy == + AllowPasswordProtectedFilesValues::ALLOW_UPLOADS_AND_DOWNLOADS); } }
diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request_base.h b/chrome/browser/safe_browsing/download_protection/check_client_download_request_base.h index 2abc42c..1fdd1a9 100644 --- a/chrome/browser/safe_browsing/download_protection/check_client_download_request_base.h +++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request_base.h
@@ -41,12 +41,17 @@ class CheckClientDownloadRequestBase { public: + // URL and referrer of the window the download was started from. + struct TabUrls { + GURL url; + GURL referrer; + }; + CheckClientDownloadRequestBase( GURL source_url, base::FilePath target_file_path, base::FilePath full_path, - GURL tab_url, - GURL tab_referrer_url, + TabUrls tab_urls, content::BrowserContext* browser_context, CheckDownloadCallback callback, DownloadProtectionService* service,
diff --git a/chrome/browser/safe_browsing/download_protection/check_native_file_system_write_request.cc b/chrome/browser/safe_browsing/download_protection/check_native_file_system_write_request.cc index 40833c8..95d8bef 100644 --- a/chrome/browser/safe_browsing/download_protection/check_native_file_system_write_request.cc +++ b/chrome/browser/safe_browsing/download_protection/check_native_file_system_write_request.cc
@@ -22,6 +22,7 @@ #include "components/safe_browsing/proto/csd.pb.h" #include "content/public/browser/browser_context.h" #include "content/public/browser/download_item_utils.h" +#include "content/public/browser/navigation_entry.h" namespace safe_browsing { @@ -38,13 +39,24 @@ "native-file-system-write"); } +CheckClientDownloadRequestBase::TabUrls TabUrlsFromWebContents( + content::WebContents* web_contents) { + CheckClientDownloadRequestBase::TabUrls result; + if (web_contents) { + content::NavigationEntry* entry = + web_contents->GetController().GetVisibleEntry(); + if (entry) { + result.url = entry->GetURL(); + result.referrer = entry->GetReferrer().url; + } + } + return result; +} + } // namespace -NativeFileSystemWriteItem::NativeFileSystemWriteItem() = default; -NativeFileSystemWriteItem::~NativeFileSystemWriteItem() = default; - CheckNativeFileSystemWriteRequest::CheckNativeFileSystemWriteRequest( - std::unique_ptr<NativeFileSystemWriteItem> item, + std::unique_ptr<content::NativeFileSystemWriteItem> item, CheckDownloadCallback callback, DownloadProtectionService* service, scoped_refptr<SafeBrowsingDatabaseManager> database_manager, @@ -52,8 +64,7 @@ : CheckClientDownloadRequestBase(GetDownloadUrl(item->frame_url), item->target_file_path, item->full_path, - item->tab_url, - GURL(), + TabUrlsFromWebContents(item->web_contents), item->browser_context, std::move(callback), service,
diff --git a/chrome/browser/safe_browsing/download_protection/check_native_file_system_write_request.h b/chrome/browser/safe_browsing/download_protection/check_native_file_system_write_request.h index 3b031a8..7f02521 100644 --- a/chrome/browser/safe_browsing/download_protection/check_native_file_system_write_request.h +++ b/chrome/browser/safe_browsing/download_protection/check_native_file_system_write_request.h
@@ -17,36 +17,16 @@ #include "chrome/browser/safe_browsing/download_protection/check_client_download_request_base.h" #include "components/download/public/common/download_item.h" #include "content/public/browser/browser_thread.h" +#include "content/public/browser/native_file_system_write_item.h" #include "url/gurl.h" namespace safe_browsing { -// TODO(https://crbug.com/995963): Move this struct to //content/public since -// ultimately it will be code in //content that provides all this data. -struct NativeFileSystemWriteItem { - NativeFileSystemWriteItem(); - ~NativeFileSystemWriteItem(); - NativeFileSystemWriteItem(const NativeFileSystemWriteItem&) = delete; - NativeFileSystemWriteItem& operator=(const NativeFileSystemWriteItem&) = - delete; - - base::FilePath target_file_path; - base::FilePath full_path; - std::string sha256_hash; - int64_t size = 0; - - GURL tab_url; - GURL frame_url; - bool has_user_gesture = false; - content::WebContents* web_contents = nullptr; - content::BrowserContext* browser_context = nullptr; -}; - class CheckNativeFileSystemWriteRequest : public CheckClientDownloadRequestBase { public: CheckNativeFileSystemWriteRequest( - std::unique_ptr<NativeFileSystemWriteItem> item, + std::unique_ptr<content::NativeFileSystemWriteItem> item, CheckDownloadCallback callback, DownloadProtectionService* service, scoped_refptr<SafeBrowsingDatabaseManager> database_manager, @@ -72,7 +52,7 @@ void NotifyRequestFinished(DownloadCheckResult result, DownloadCheckResultReason reason) override; - const std::unique_ptr<NativeFileSystemWriteItem> item_; + const std::unique_ptr<content::NativeFileSystemWriteItem> item_; std::unique_ptr<ReferrerChainData> referrer_chain_data_; base::WeakPtrFactory<CheckNativeFileSystemWriteRequest> weakptr_factory_{
diff --git a/chrome/browser/safe_browsing/download_protection/download_protection_service.cc b/chrome/browser/safe_browsing/download_protection/download_protection_service.cc index 4b5047d..7f7a1e04 100644 --- a/chrome/browser/safe_browsing/download_protection/download_protection_service.cc +++ b/chrome/browser/safe_browsing/download_protection/download_protection_service.cc
@@ -245,7 +245,7 @@ } void DownloadProtectionService::CheckNativeFileSystemWrite( - std::unique_ptr<NativeFileSystemWriteItem> item, + std::unique_ptr<content::NativeFileSystemWriteItem> item, CheckDownloadCallback callback) { if (MatchesEnterpriseWhitelist( Profile::FromBrowserContext(item->browser_context), @@ -448,7 +448,7 @@ std::unique_ptr<ReferrerChainData> DownloadProtectionService::IdentifyReferrerChain( - const NativeFileSystemWriteItem& item) { + const content::NativeFileSystemWriteItem& item) { // If navigation_observer_manager_ is null, return immediately. This could // happen in tests. if (!navigation_observer_manager_) @@ -462,9 +462,12 @@ "SafeBrowsing.ReferrerHasInvalidTabID.NativeFileSystemWriteAttribution", !tab_id.is_valid()); + GURL tab_url = + item.web_contents ? item.web_contents->GetVisibleURL() : GURL(); + SafeBrowsingNavigationObserverManager::AttributionResult result = navigation_observer_manager_->IdentifyReferrerChainByHostingPage( - item.frame_url, item.tab_url, tab_id, item.has_user_gesture, + item.frame_url, tab_url, tab_id, item.has_user_gesture, kDownloadAttributionUserGestureLimit, referrer_chain.get()); UMA_HISTOGRAM_ENUMERATION(
diff --git a/chrome/browser/safe_browsing/download_protection/download_protection_service.h b/chrome/browser/safe_browsing/download_protection/download_protection_service.h index 156ac6e..5c26099 100644 --- a/chrome/browser/safe_browsing/download_protection/download_protection_service.h +++ b/chrome/browser/safe_browsing/download_protection/download_protection_service.h
@@ -35,6 +35,7 @@ namespace content { class PageNavigator; +struct NativeFileSystemWriteItem; } // namespace content namespace download { @@ -56,8 +57,6 @@ class CheckNativeFileSystemWriteRequest; class PPAPIDownloadRequest; -struct NativeFileSystemWriteItem; - // This class provides an asynchronous API to check whether a particular // client download is malicious or not. class DownloadProtectionService { @@ -111,7 +110,7 @@ // will also be invoked on the UI thread. This method must be called once the // write is finished and data has been written to disk. virtual void CheckNativeFileSystemWrite( - std::unique_ptr<NativeFileSystemWriteItem> item, + std::unique_ptr<content::NativeFileSystemWriteItem> item, CheckDownloadCallback callback); // Display more information to the user regarding the download specified by @@ -239,7 +238,7 @@ // Identify referrer chain info of a native file system write. This function // also records UMA stats of download attribution result. std::unique_ptr<ReferrerChainData> IdentifyReferrerChain( - const NativeFileSystemWriteItem& item); + const content::NativeFileSystemWriteItem& item); // Identify referrer chain of the PPAPI download based on the frame URL where // the download is initiated. Then add referrer chain info to
diff --git a/chrome/browser/safe_browsing/download_protection/download_protection_service_unittest.cc b/chrome/browser/safe_browsing/download_protection/download_protection_service_unittest.cc index d3db3c8ee..d273c7434 100644 --- a/chrome/browser/safe_browsing/download_protection/download_protection_service_unittest.cc +++ b/chrome/browser/safe_browsing/download_protection/download_protection_service_unittest.cc
@@ -88,6 +88,7 @@ using base::RunLoop; using content::BrowserThread; +using content::NativeFileSystemWriteItem; using ::testing::_; using ::testing::Assign; using ::testing::ContainerEq; @@ -488,7 +489,6 @@ result->full_path = in->full_path; result->sha256_hash = in->sha256_hash; result->size = in->size; - result->tab_url = in->tab_url; result->frame_url = in->frame_url; result->has_user_gesture = in->has_user_gesture; result->web_contents = in->web_contents; @@ -502,8 +502,10 @@ update.Get()->AppendString(domain); } - void SetPasswordProtectedAllowedPref(bool value) { - profile()->GetPrefs()->SetBoolean(prefs::kPasswordProtectedAllowed, value); + void SetPasswordProtectedAllowedPref( + AllowPasswordProtectedFilesValues value) { + g_browser_process->local_state()->SetInteger( + prefs::kAllowPasswordProtectedFiles, value); } // Helper function to simulate a user gesture, then a link click. @@ -2819,7 +2821,8 @@ content::DownloadItemUtils::AttachInfo(&item, profile(), nullptr); { - SetPasswordProtectedAllowedPref(false); + SetPasswordProtectedAllowedPref( + AllowPasswordProtectedFilesValues::ALLOW_NONE); RunLoop run_loop; download_service_->CheckClientDownload( @@ -2831,7 +2834,8 @@ } { - SetPasswordProtectedAllowedPref(true); + SetPasswordProtectedAllowedPref( + AllowPasswordProtectedFilesValues::ALLOW_DOWNLOADS); PrepareResponse(ClientDownloadResponse::SAFE, net::HTTP_OK, net::OK); RunLoop run_loop; @@ -2930,6 +2934,7 @@ /*tmp_path=*/FILE_PATH_LITERAL("a.txt.crswap"), /*final_path=*/FILE_PATH_LITERAL("a.txt")); item->browser_context = profile()->GetOffTheRecordProfile(); + RunLoop run_loop; download_service_->CheckNativeFileSystemWrite( std::move(item), @@ -3076,7 +3081,15 @@ /*tmp_path=*/FILE_PATH_LITERAL("a.exe.crswap"), /*final_path=*/FILE_PATH_LITERAL("a.exe")); item->frame_url = GURL("http://www.google.com/"); - item->tab_url = GURL("http://tab.com/final"); + + GURL tab_url("http://tab.com/final"); + GURL tab_referrer("http://tab.com/referrer"); + + auto navigation = content::NavigationSimulator::CreateBrowserInitiated( + tab_url, web_contents()); + navigation->SetReferrer(blink::mojom::Referrer::New( + tab_referrer, network::mojom::ReferrerPolicy::kDefault)); + navigation->Commit(); EXPECT_CALL(*sb_service_->mock_database_manager(), MatchDownloadWhitelistUrl(_)) @@ -3126,7 +3139,7 @@ "blob:http://www.google.com/native-file-system-write", referrer_.spec())); EXPECT_TRUE(RequestContainsResource(request, ClientDownloadRequest::TAB_URL, - item->tab_url.spec(), "")); + tab_url.spec(), tab_referrer.spec())); EXPECT_TRUE(request.has_signature()); ASSERT_EQ(1, request.signature().certificate_chain_size()); const ClientDownloadRequest_CertificateChain& chain = @@ -3162,10 +3175,10 @@ history::RedirectList redirects; redirects.push_back(GURL("http://tab.com/ref1")); redirects.push_back(GURL("http://tab.com/ref2")); - redirects.push_back(item->tab_url); + redirects.push_back(tab_url); HistoryServiceFactory::GetForProfile(profile(), ServiceAccessType::EXPLICIT_ACCESS) - ->AddPage(item->tab_url, base::Time::Now(), + ->AddPage(tab_url, base::Time::Now(), reinterpret_cast<history::ContextID>(1), 0, GURL(), redirects, ui::PAGE_TRANSITION_TYPED, history::SOURCE_BROWSED, false); @@ -3199,7 +3212,7 @@ ClientDownloadRequest::TAB_REDIRECT, "http://tab.com/ref2", "")); EXPECT_TRUE(RequestContainsResource(request, ClientDownloadRequest::TAB_URL, - item->tab_url.spec(), "")); + tab_url.spec(), tab_referrer.spec())); EXPECT_TRUE(request.has_signature()); ASSERT_EQ(1, request.signature().certificate_chain_size()); const ClientDownloadRequest_CertificateChain& chain =
diff --git a/chrome/browser/search/local_ntp_source.cc b/chrome/browser/search/local_ntp_source.cc index a4fd1350..3d7b685 100644 --- a/chrome/browser/search/local_ntp_source.cc +++ b/chrome/browser/search/local_ntp_source.cc
@@ -307,10 +307,13 @@ ThemeService::GetThemeProviderForProfile(profile) .GetColor(ThemeProperties::COLOR_NTP_BACKGROUND); - return base::StringPrintf("body { background-color: #%02X%02X%02X; }", - SkColorGetR(background_color), - SkColorGetG(background_color), - SkColorGetB(background_color)); + // Required to prevent the default background color from flashing before the + // page is initialized (the body, which contains theme color, is hidden until + // initialization finishes). Removed after initialization. + return base::StringPrintf( + "html:not(.inited) { background-color: #%02X%02X%02X; }", + SkColorGetR(background_color), SkColorGetG(background_color), + SkColorGetB(background_color)); } std::string ReadBackgroundImageData(const base::FilePath& profile_path) {
diff --git a/chrome/browser/sharing/click_to_call/click_to_call_ui_controller.cc b/chrome/browser/sharing/click_to_call/click_to_call_ui_controller.cc index 37dc8e20..7b28389 100644 --- a/chrome/browser/sharing/click_to_call/click_to_call_ui_controller.cc +++ b/chrome/browser/sharing/click_to_call/click_to_call_ui_controller.cc
@@ -157,4 +157,9 @@ IDS_BROWSER_SHARING_CLICK_TO_CALL_DIALOG_TITLE_NO_DEVICES); } +void ClickToCallUiController::OnHelpTextClicked(SharingDialogType dialog_type) { + LogClickToCallHelpTextClicked(dialog_type); + SharingUiController::OnHelpTextClicked(dialog_type); +} + WEB_CONTENTS_USER_DATA_KEY_IMPL(ClickToCallUiController)
diff --git a/chrome/browser/sharing/click_to_call/click_to_call_ui_controller.h b/chrome/browser/sharing/click_to_call/click_to_call_ui_controller.h index 8efe59c..5086ee3 100644 --- a/chrome/browser/sharing/click_to_call/click_to_call_ui_controller.h +++ b/chrome/browser/sharing/click_to_call/click_to_call_ui_controller.h
@@ -50,6 +50,7 @@ base::string16 GetTextForTooltipAndAccessibleName() const override; SharingFeatureName GetFeatureMetricsPrefix() const override; base::string16 GetEducationWindowTitleText() const override; + void OnHelpTextClicked(SharingDialogType dialog_type) override; protected: explicit ClickToCallUiController(content::WebContents* web_contents);
diff --git a/chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop.cc b/chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop.cc index 1072d7b..33ad0962 100644 --- a/chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop.cc +++ b/chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop.cc
@@ -9,7 +9,6 @@ #include "chrome/browser/notifications/notification_display_service.h" #include "chrome/grit/generated_resources.h" #include "components/sync_device_info/device_info.h" -#include "components/vector_icons/vector_icons.h" #include "ui/base/l10n/l10n_util.h" #include "ui/gfx/image/image.h" #include "ui/message_center/public/cpp/notification.h" @@ -40,8 +39,7 @@ base::UTF8ToUTF16(device_name)), l10n_util::GetStringUTF16( IDS_CONTENT_CONTEXT_SHARING_SHARED_CLIPBOARD_NOTIFICATION_DESCRIPTION), - gfx::Image(gfx::CreateVectorIcon(vector_icons::kDevicesIcon, 64, - gfx::kChromeIconGrey)), + /* icon= */ gfx::Image(), /* display_source= */ base::string16(), /* origin_url= */ GURL(), message_center::NotifierId(), message_center::RichNotificationData(),
diff --git a/chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop_unittest.cc b/chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop_unittest.cc index be3a24c..7850885 100644 --- a/chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop_unittest.cc +++ b/chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop_unittest.cc
@@ -132,5 +132,4 @@ EXPECT_EQ(message_center::NOTIFICATION_TYPE_SIMPLE, notification.type()); EXPECT_EQ("Text shared from " + std::string(kClientName), base::UTF16ToUTF8(notification.title())); - EXPECT_FALSE(notification.icon().IsEmpty()); }
diff --git a/chrome/browser/sharing/sharing_metrics.cc b/chrome/browser/sharing/sharing_metrics.cc index 2093559..efb2617 100644 --- a/chrome/browser/sharing/sharing_metrics.cc +++ b/chrome/browser/sharing/sharing_metrics.cc
@@ -149,6 +149,10 @@ type); } +void LogClickToCallHelpTextClicked(SharingDialogType type) { + base::UmaHistogramEnumeration("Sharing.ClickToCallHelpTextClicked", type); +} + void LogSendSharingMessageResult(SharingSendMessageResult result) { base::UmaHistogramEnumeration("Sharing.SendMessageResult", result); }
diff --git a/chrome/browser/sharing/sharing_metrics.h b/chrome/browser/sharing/sharing_metrics.h index 88dbed7..04cc508 100644 --- a/chrome/browser/sharing/sharing_metrics.h +++ b/chrome/browser/sharing/sharing_metrics.h
@@ -130,6 +130,10 @@ // Logs to UMA the |type| of dialog shown for sharing feature. void LogSharingDialogShown(SharingFeatureName feature, SharingDialogType type); +// Logs the dialog type when a user clicks on the help text in the Click to Call +// dialog. +void LogClickToCallHelpTextClicked(SharingDialogType type); + // Logs to UMA result of sending a SharingMessage. This should not be called for // sending ack messages. void LogSendSharingMessageResult(SharingSendMessageResult result);
diff --git a/chrome/browser/sharing/sharing_ui_controller.cc b/chrome/browser/sharing/sharing_ui_controller.cc index c465bf0..88a47ff 100644 --- a/chrome/browser/sharing/sharing_ui_controller.cc +++ b/chrome/browser/sharing/sharing_ui_controller.cc
@@ -209,7 +209,7 @@ return send_result_ != SharingSendMessageResult::kSuccessful; } -void SharingUiController::OnHelpTextClicked() { +void SharingUiController::OnHelpTextClicked(SharingDialogType dialog_type) { ShowSingletonTab(chrome::FindBrowserWithWebContents(web_contents()), GURL(chrome::kSyncLearnMoreURL)); }
diff --git a/chrome/browser/sharing/sharing_ui_controller.h b/chrome/browser/sharing/sharing_ui_controller.h index dcbf5ed8..b5497ffb 100644 --- a/chrome/browser/sharing/sharing_ui_controller.h +++ b/chrome/browser/sharing/sharing_ui_controller.h
@@ -15,6 +15,7 @@ #include "base/strings/utf_string_conversions.h" #include "chrome/browser/sharing/proto/sharing_message.pb.h" #include "chrome/browser/sharing/sharing_constants.h" +#include "chrome/browser/sharing/sharing_metrics.h" #include "chrome/browser/sharing/sharing_service.h" #include "chrome/browser/ui/page_action/page_action_icon_container.h" #include "components/sync_device_info/device_info.h" @@ -108,7 +109,7 @@ void MaybeShowErrorDialog(); // Called by the SharingDialogView when the help text got clicked. - void OnHelpTextClicked(); + virtual void OnHelpTextClicked(SharingDialogType dialog_type); protected: virtual SharingDialog* DoShowDialog(BrowserWindow* window) = 0;
diff --git a/chrome/browser/ssl/ssl_browsertest.cc b/chrome/browser/ssl/ssl_browsertest.cc index 9bf0120..5e4d0be 100644 --- a/chrome/browser/ssl/ssl_browsertest.cc +++ b/chrome/browser/ssl/ssl_browsertest.cc
@@ -1983,6 +1983,47 @@ CertError::NONE, security_state::SECURE, AuthState::NONE); } +// Visit an HTTPS page that has a certificate issued by a certificate authority +// that is trusted in a root store that Chrome does not consider consistently +// secure. In the case where the certificate was issued after the Certificate +// Transparency requirement date of April 2018 the connection would normally be +// blocked, as the server will not be providing CT details, and the Chrome CT +// Policy should be being enforced; however, because a policy configuration +// exists that disables CT enforcement for that Legacy cert, the connection +// should succeed. For more detail, see /net/docs/certificate-transparency.md +IN_PROC_BROWSER_TEST_F(CertificateTransparencySSLUITest, + LegacyEnforcedAfterApril2018UnlessPoliciesSet) { + ASSERT_TRUE(https_server()->Start()); + + net::CertVerifyResult verify_result; + verify_result.verified_cert = + net::ImportCertFromFile(net::GetTestCertsDirectory(), "may_2018.pem"); + ASSERT_TRUE(verify_result.verified_cert); + verify_result.is_issued_by_known_root = true; + + // We'll use a SPKI hash corresponding to the Federal Common Policy CA as + // captured at https://fpki.idmanagement.gov/announcements/mspkichanges/ + const net::SHA256HashValue legacy_spki_hash = { + 0x8e, 0x8b, 0x56, 0xf5, 0x91, 0x8a, 0x25, 0xbd, 0x85, 0xdc, 0xe7, + 0x66, 0x63, 0xfd, 0x94, 0xcc, 0x23, 0x69, 0x0f, 0x10, 0xea, 0x95, + 0x86, 0x61, 0x31, 0x71, 0xc6, 0xf8, 0x37, 0x88, 0x90, 0xd5}; + verify_result.public_key_hashes.push_back(net::HashValue(legacy_spki_hash)); + + mock_cert_verifier()->AddResultForCert(https_server()->GetCertificate().get(), + verify_result, net::OK); + + ASSERT_NO_FATAL_FAILURE(ConfigureStringListPolicy( + browser()->profile()->GetPrefs(), + policy::key::kCertificateTransparencyEnforcementDisabledForLegacyCas, + certificate_transparency::prefs::kCTExcludedLegacySPKIs, + {verify_result.public_key_hashes.back().ToString()})); + + ui_test_utils::NavigateToURL(browser(), + https_server()->GetURL("/ssl/google.html")); + CheckSecurityState(browser()->tab_strip_model()->GetActiveWebContents(), + CertError::NONE, security_state::SECURE, AuthState::NONE); +} + // Visit a HTTP page which request WSS connection to a server providing invalid // certificate. Close the page while WSS connection waits for SSLManager's // response from UI thread.
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn index c80c684..6cc5a44 100644 --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn
@@ -688,8 +688,6 @@ "android/infobars/near_oom_infobar.h", "android/infobars/near_oom_reduction_infobar.cc", "android/infobars/near_oom_reduction_infobar.h", - "android/infobars/permission_infobar.cc", - "android/infobars/permission_infobar.h", "android/infobars/previews_lite_page_infobar.cc", "android/infobars/previews_lite_page_infobar.h", "android/infobars/reader_mode_infobar.cc",
diff --git a/chrome/browser/ui/android/infobars/grouped_permission_infobar.cc b/chrome/browser/ui/android/infobars/grouped_permission_infobar.cc index 0698a88..65a9d44 100644 --- a/chrome/browser/ui/android/infobars/grouped_permission_infobar.cc +++ b/chrome/browser/ui/android/infobars/grouped_permission_infobar.cc
@@ -4,27 +4,70 @@ #include "chrome/browser/ui/android/infobars/grouped_permission_infobar.h" +#include <vector> + #include "base/android/jni_android.h" #include "base/android/jni_array.h" #include "base/android/jni_string.h" +#include "base/android/scoped_java_ref.h" +#include "chrome/android/chrome_jni_headers/PermissionInfoBar_jni.h" #include "chrome/browser/android/resource_mapper.h" #include "chrome/browser/android/tab_android.h" #include "chrome/browser/permissions/grouped_permission_infobar_delegate_android.h" -#include "chrome/browser/ui/android/infobars/permission_infobar.h" + +namespace { + +using base::android::JavaRef; +using base::android::ScopedJavaLocalRef; + +ScopedJavaLocalRef<jobject> CreateRenderInfoBarHelper( + JNIEnv* env, + int enumerated_icon_id, + const JavaRef<jobject>& tab, + const base::string16& compact_message_text, + const base::string16& compact_link_text, + const base::string16& message_text, + const base::string16& description_text, + const base::string16& ok_button_text, + const base::string16& cancel_button_text, + const std::vector<int>& content_settings) { + ScopedJavaLocalRef<jstring> compact_message_text_java = + base::android::ConvertUTF16ToJavaString(env, compact_message_text); + ScopedJavaLocalRef<jstring> compact_link_text_java = + base::android::ConvertUTF16ToJavaString(env, compact_link_text); + ScopedJavaLocalRef<jstring> message_text_java = + base::android::ConvertUTF16ToJavaString(env, message_text); + ScopedJavaLocalRef<jstring> description_text_java = + base::android::ConvertUTF16ToJavaString(env, description_text); + ScopedJavaLocalRef<jstring> ok_button_text_java = + base::android::ConvertUTF16ToJavaString(env, ok_button_text); + ScopedJavaLocalRef<jstring> cancel_button_text_java = + base::android::ConvertUTF16ToJavaString(env, cancel_button_text); + + ScopedJavaLocalRef<jintArray> content_settings_types = + base::android::ToJavaIntArray(env, content_settings); + return Java_PermissionInfoBar_create( + env, tab, content_settings_types, enumerated_icon_id, + compact_message_text_java, compact_link_text_java, message_text_java, + description_text_java, ok_button_text_java, cancel_button_text_java); +} + +} // namespace GroupedPermissionInfoBar::GroupedPermissionInfoBar( std::unique_ptr<GroupedPermissionInfoBarDelegate> delegate) : ConfirmInfoBar(std::move(delegate)) {} -GroupedPermissionInfoBar::~GroupedPermissionInfoBar() { -} +GroupedPermissionInfoBar::~GroupedPermissionInfoBar() {} base::android::ScopedJavaLocalRef<jobject> GroupedPermissionInfoBar::CreateRenderInfoBar(JNIEnv* env) { GroupedPermissionInfoBarDelegate* delegate = GetDelegate(); + base::string16 compact_message_text = delegate->GetCompactMessageText(); + base::string16 compact_link_text = delegate->GetCompactLinkText(); base::string16 message_text = delegate->GetMessageText(); - base::string16 link_text = delegate->GetLinkText(); + base::string16 description_text = delegate->GetDescriptionText(); base::string16 ok_button_text = GetTextFor(ConfirmInfoBarDelegate::BUTTON_OK); base::string16 cancel_button_text = GetTextFor(ConfirmInfoBarDelegate::BUTTON_CANCEL); @@ -37,9 +80,10 @@ content_settings_types.push_back(delegate->GetContentSettingType(i)); } - return PermissionInfoBar::CreateRenderInfoBarHelper( - env, permission_icon, GetTab()->GetJavaObject(), nullptr, message_text, - link_text, ok_button_text, cancel_button_text, content_settings_types); + return CreateRenderInfoBarHelper( + env, permission_icon, GetTab()->GetJavaObject(), compact_message_text, + compact_link_text, message_text, description_text, ok_button_text, + cancel_button_text, content_settings_types); } GroupedPermissionInfoBarDelegate* GroupedPermissionInfoBar::GetDelegate() {
diff --git a/chrome/browser/ui/android/infobars/grouped_permission_infobar.h b/chrome/browser/ui/android/infobars/grouped_permission_infobar.h index d815bcf..2b8c1b001 100644 --- a/chrome/browser/ui/android/infobars/grouped_permission_infobar.h +++ b/chrome/browser/ui/android/infobars/grouped_permission_infobar.h
@@ -5,15 +5,12 @@ #ifndef CHROME_BROWSER_UI_ANDROID_INFOBARS_GROUPED_PERMISSION_INFOBAR_H_ #define CHROME_BROWSER_UI_ANDROID_INFOBARS_GROUPED_PERMISSION_INFOBAR_H_ -#include <jni.h> - -#include "base/android/scoped_java_ref.h" #include "chrome/browser/ui/android/infobars/confirm_infobar.h" class GroupedPermissionInfoBarDelegate; -// TODO(timloh): This is incorrectly named as we've removed grouped permissions, -// rename it to PermissionInfoBar once crbug.com/606138 is done. +// TODO(andypaicu): rename this to PermissionInfoBar, grouped permissions are +// not a thing anymore. class GroupedPermissionInfoBar : public ConfirmInfoBar { public: explicit GroupedPermissionInfoBar(
diff --git a/chrome/browser/ui/android/infobars/permission_infobar.cc b/chrome/browser/ui/android/infobars/permission_infobar.cc deleted file mode 100644 index f8dd799..0000000 --- a/chrome/browser/ui/android/infobars/permission_infobar.cc +++ /dev/null
@@ -1,48 +0,0 @@ -// Copyright 2016 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/ui/android/infobars/permission_infobar.h" - -#include <memory> -#include <utility> -#include <vector> - -#include "base/android/jni_array.h" -#include "base/android/jni_string.h" -#include "chrome/android/chrome_jni_headers/PermissionInfoBar_jni.h" -#include "chrome/browser/android/tab_android.h" -#include "chrome/browser/ui/android/infobars/confirm_infobar.h" -#include "components/content_settings/core/common/content_settings_types.h" -#include "ui/gfx/android/java_bitmap.h" -#include "ui/gfx/image/image.h" - -using base::android::JavaRef; -using base::android::ScopedJavaLocalRef; - -ScopedJavaLocalRef<jobject> PermissionInfoBar::CreateRenderInfoBarHelper( - JNIEnv* env, - int enumerated_icon_id, - const JavaRef<jobject>& tab, - const ScopedJavaLocalRef<jobject>& icon_bitmap, - const base::string16& message_text, - const base::string16& link_text, - const base::string16& ok_button_text, - const base::string16& cancel_button_text, - std::vector<int>& content_settings) { - ScopedJavaLocalRef<jstring> message_text_java = - base::android::ConvertUTF16ToJavaString(env, message_text); - ScopedJavaLocalRef<jstring> link_text_java = - base::android::ConvertUTF16ToJavaString(env, link_text); - ScopedJavaLocalRef<jstring> ok_button_text_java = - base::android::ConvertUTF16ToJavaString(env, ok_button_text); - ScopedJavaLocalRef<jstring> cancel_button_text_java = - base::android::ConvertUTF16ToJavaString(env, cancel_button_text); - - ScopedJavaLocalRef<jintArray> content_settings_types = - base::android::ToJavaIntArray(env, content_settings); - return Java_PermissionInfoBar_create( - env, tab, enumerated_icon_id, icon_bitmap, message_text_java, - link_text_java, ok_button_text_java, cancel_button_text_java, - content_settings_types); -}
diff --git a/chrome/browser/ui/android/infobars/permission_infobar.h b/chrome/browser/ui/android/infobars/permission_infobar.h deleted file mode 100644 index 3837b05..0000000 --- a/chrome/browser/ui/android/infobars/permission_infobar.h +++ /dev/null
@@ -1,32 +0,0 @@ -// Copyright 2016 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_UI_ANDROID_INFOBARS_PERMISSION_INFOBAR_H_ -#define CHROME_BROWSER_UI_ANDROID_INFOBARS_PERMISSION_INFOBAR_H_ - -#include <vector> - -#include "base/android/scoped_java_ref.h" -#include "base/macros.h" - -// TODO(timloh): Rename GroupedPermissionInfoBar to PermissionInfoBar and move -// these functions into it. -class PermissionInfoBar { - public: - static base::android::ScopedJavaLocalRef<jobject> CreateRenderInfoBarHelper( - JNIEnv* env, - int enumerated_icon_id, - const base::android::JavaRef<jobject>& tab, - const base::android::ScopedJavaLocalRef<jobject>& icon_bitmap, - const base::string16& message_text, - const base::string16& link_text, - const base::string16& ok_button_text, - const base::string16& cancel_button_text, - std::vector<int>& content_settings); - - private: - DISALLOW_COPY_AND_ASSIGN(PermissionInfoBar); -}; - -#endif // CHROME_BROWSER_UI_ANDROID_INFOBARS_PERMISSION_INFOBAR_H_
diff --git a/chrome/browser/ui/app_list/app_list_client_impl.cc b/chrome/browser/ui/app_list/app_list_client_impl.cc index 3e3654c8..6f68e6b 100644 --- a/chrome/browser/ui/app_list/app_list_client_impl.cc +++ b/chrome/browser/ui/app_list/app_list_client_impl.cc
@@ -295,8 +295,7 @@ result->OnVisibilityChanged(visibility); } -void AppListClientImpl::ActiveUserChanged( - const user_manager::User* active_user) { +void AppListClientImpl::ActiveUserChanged(user_manager::User* active_user) { if (!active_user->is_profile_created()) return;
diff --git a/chrome/browser/ui/app_list/app_list_client_impl.h b/chrome/browser/ui/app_list/app_list_client_impl.h index 5eddefc..6dd1ecf 100644 --- a/chrome/browser/ui/app_list/app_list_client_impl.h +++ b/chrome/browser/ui/app_list/app_list_client_impl.h
@@ -93,7 +93,7 @@ int position_index) override; // user_manager::UserManager::UserSessionStateObserver: - void ActiveUserChanged(const user_manager::User* active_user) override; + void ActiveUserChanged(user_manager::User* active_user) override; // AppListControllerDelegate overrides: void DismissView() override;
diff --git a/chrome/browser/ui/ash/assistant/assistant_setup.cc b/chrome/browser/ui/ash/assistant/assistant_setup.cc index cceb5777..7f1b828 100644 --- a/chrome/browser/ui/ash/assistant/assistant_setup.cc +++ b/chrome/browser/ui/ash/assistant/assistant_setup.cc
@@ -18,7 +18,6 @@ #include "chrome/common/webui_url_constants.h" #include "chromeos/services/assistant/public/cpp/assistant_prefs.h" #include "chromeos/services/assistant/public/proto/settings_ui.pb.h" -#include "components/arc/arc_prefs.h" #include "components/prefs/pref_service.h" using chromeos::assistant::ConsentFlowUi; @@ -82,7 +81,7 @@ PrefService* prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); prefs->SetBoolean(chromeos::assistant::prefs::kAssistantDisabledByPolicy, true); - prefs->SetBoolean(arc::prefs::kVoiceInteractionEnabled, false); + prefs->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, false); return; } } else {
diff --git a/chrome/browser/ui/ash/network/mobile_data_notifications.cc b/chrome/browser/ui/ash/network/mobile_data_notifications.cc index b49813c..30f795b 100644 --- a/chrome/browser/ui/ash/network/mobile_data_notifications.cc +++ b/chrome/browser/ui/ash/network/mobile_data_notifications.cc
@@ -88,7 +88,7 @@ } void MobileDataNotifications::ActiveUserChanged( - const user_manager::User* active_user) { + user_manager::User* active_user) { ShowOptionalMobileDataNotification(); }
diff --git a/chrome/browser/ui/ash/network/mobile_data_notifications.h b/chrome/browser/ui/ash/network/mobile_data_notifications.h index 15527e1..182c113 100644 --- a/chrome/browser/ui/ash/network/mobile_data_notifications.h +++ b/chrome/browser/ui/ash/network/mobile_data_notifications.h
@@ -48,7 +48,7 @@ const std::string& error_name) override; // UserSessionStateObserver: - void ActiveUserChanged(const user_manager::User* active_user) override; + void ActiveUserChanged(user_manager::User* active_user) override; // SessionManagerObserver: void OnSessionStateChanged() override;
diff --git a/chrome/browser/ui/ash/session_controller_client_impl.cc b/chrome/browser/ui/ash/session_controller_client_impl.cc index 2a5843e..b2102e2 100644 --- a/chrome/browser/ui/ash/session_controller_client_impl.cc +++ b/chrome/browser/ui/ash/session_controller_client_impl.cc
@@ -345,7 +345,7 @@ return (users_logged_in + users_available_to_add) > 1; } -void SessionControllerClientImpl::ActiveUserChanged(const User* active_user) { +void SessionControllerClientImpl::ActiveUserChanged(User* active_user) { SendSessionInfoIfChanged(); // UserAddedToSession is not called for the primary user session so its meta
diff --git a/chrome/browser/ui/ash/session_controller_client_impl.h b/chrome/browser/ui/ash/session_controller_client_impl.h index c9c3ee7..aa8bcd15 100644 --- a/chrome/browser/ui/ash/session_controller_client_impl.h +++ b/chrome/browser/ui/ash/session_controller_client_impl.h
@@ -87,7 +87,7 @@ static bool IsMultiProfileAvailable(); // user_manager::UserManager::UserSessionStateObserver: - void ActiveUserChanged(const user_manager::User* active_user) override; + void ActiveUserChanged(user_manager::User* active_user) override; void UserAddedToSession(const user_manager::User* added_user) override; // user_manager::UserManager::Observer
diff --git a/chrome/browser/ui/cocoa/apps/app_shim_menu_controller_mac.mm b/chrome/browser/ui/cocoa/apps/app_shim_menu_controller_mac.mm index 6f605aedc..1db6ec9d 100644 --- a/chrome/browser/ui/cocoa/apps/app_shim_menu_controller_mac.mm +++ b/chrome/browser/ui/cocoa/apps/app_shim_menu_controller_mac.mm
@@ -415,7 +415,9 @@ id window = [notification object]; // Ignore is_browser: if a window becomes main that does not belong to an // extension or browser, treat it the same as switching to a browser. - if (const Extension* extension = GetExtensionForNSWindow(window)) + const Extension* extension = GetExtensionForNSWindow(window); + // Do not install the App menu for bookmark apps (which includes PWAs). + if (extension && !extension->from_bookmark()) [self appBecameMain:extension]; else [self chromeBecameMain];
diff --git a/chrome/browser/ui/views/native_file_system/native_file_system_browsertest.cc b/chrome/browser/ui/views/native_file_system/native_file_system_browsertest.cc index 9ef8af5..eb66b16 100644 --- a/chrome/browser/ui/views/native_file_system/native_file_system_browsertest.cc +++ b/chrome/browser/ui/views/native_file_system/native_file_system_browsertest.cc
@@ -4,9 +4,12 @@ #include "base/files/file_util.h" #include "base/files/scoped_temp_dir.h" +#include "base/test/bind_test_util.h" #include "base/test/scoped_feature_list.h" +#include "chrome/browser/browser_process.h" #include "chrome/browser/native_file_system/native_file_system_permission_request_manager.h" #include "chrome/browser/permissions/permission_util.h" +#include "chrome/browser/safe_browsing/download_protection/download_protection_service.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/frame/toolbar_button_provider.h" @@ -18,6 +21,8 @@ #include "ui/shell_dialogs/select_file_dialog_factory.h" #include "ui/shell_dialogs/select_file_policy.h" +using safe_browsing::ClientDownloadRequest; + namespace { // Fake ui::SelectFileDialog that selects one or more pre-determined files. @@ -112,7 +117,7 @@ return icon_view && icon_view->GetVisible(); } - private: + protected: base::test::ScopedFeatureList scoped_feature_list_; base::ScopedTempDir temp_dir_; }; @@ -211,4 +216,69 @@ } } +IN_PROC_BROWSER_TEST_F(NativeFileSystemBrowserTest, SafeBrowsing) { + const base::FilePath test_file = temp_dir_.GetPath().AppendASCII("test.exe"); + + std::vector<uint8_t> raw_expected_hash; + ASSERT_TRUE(base::HexStringToBytes( + "BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD", + &raw_expected_hash)); + std::string expected_hash(raw_expected_hash.begin(), raw_expected_hash.end()); + std::string expected_url = + "blob:" + embedded_test_server()->base_url().spec() + + "native-file-system-write"; + GURL frame_url = embedded_test_server()->GetURL("/title1.html"); + + ui::SelectFileDialog::SetFactory( + new FakeSelectFileDialogFactory({test_file})); + ui_test_utils::NavigateToURL(browser(), frame_url); + content::WebContents* web_contents = + browser()->tab_strip_model()->GetActiveWebContents(); + + bool invoked_safe_browsing = false; + + safe_browsing::SafeBrowsingService* sb_service = + g_browser_process->safe_browsing_service(); + safe_browsing::NativeFileSystemWriteRequestSubscription subscription = + sb_service->download_protection_service() + ->RegisterNativeFileSystemWriteRequestCallback( + base::BindLambdaForTesting( + [&](const ClientDownloadRequest* request) { + invoked_safe_browsing = true; + + EXPECT_EQ(request->url(), expected_url); + EXPECT_EQ(request->digests().sha256(), expected_hash); + EXPECT_EQ(request->length(), 3); + EXPECT_EQ(request->file_basename(), "test.exe"); + EXPECT_EQ(request->download_type(), + ClientDownloadRequest::WIN_EXECUTABLE); + + ASSERT_GE(request->resources_size(), 2); + + EXPECT_EQ(request->resources(0).type(), + ClientDownloadRequest::DOWNLOAD_URL); + EXPECT_EQ(request->resources(0).url(), expected_url); + EXPECT_EQ(request->resources(0).referrer(), frame_url); + + // TODO(mek): Change test so that frame url and tab url are + // not the same. + EXPECT_EQ(request->resources(1).type(), + ClientDownloadRequest::TAB_URL); + EXPECT_EQ(request->resources(1).url(), frame_url); + EXPECT_EQ(request->resources(1).referrer(), ""); + })); + + EXPECT_EQ(test_file.BaseName().AsUTF8Unsafe(), + content::EvalJs(web_contents, + "(async () => {" + " let e = await self.chooseFileSystemEntries(" + " {type: 'saveFile'});" + " const w = await e.createWriter();" + " await w.write(0, 'abc');" + " await w.close();" + " return e.name; })()")); + + EXPECT_TRUE(invoked_safe_browsing); +} + // TODO(mek): Add more end-to-end test including other bits of UI.
diff --git a/chrome/browser/ui/views/page_info/safety_tip_page_info_bubble_view_browsertest.cc b/chrome/browser/ui/views/page_info/safety_tip_page_info_bubble_view_browsertest.cc index e0ceb69d..ccc6e04 100644 --- a/chrome/browser/ui/views/page_info/safety_tip_page_info_bubble_view_browsertest.cc +++ b/chrome/browser/ui/views/page_info/safety_tip_page_info_bubble_view_browsertest.cc
@@ -8,6 +8,7 @@ #include <vector> #include "base/bind.h" +#include "base/test/metrics/histogram_tester.h" #include "chrome/browser/engagement/site_engagement_score.h" #include "chrome/browser/engagement/site_engagement_service.h" #include "chrome/browser/history/history_service_factory.h" @@ -27,6 +28,7 @@ #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" #include "components/safe_browsing/db/v4_protocol_manager_util.h" +#include "components/security_state/core/security_state.h" #include "components/strings/grit/components_strings.h" #include "content/public/browser/web_contents.h" #include "content/public/common/referrer.h" @@ -402,3 +404,45 @@ NavigateToURL(browser(), kNavigatedUrl, WindowOpenDisposition::CURRENT_TAB); EXPECT_EQ(IsUIShowing(), ui_status() == UIStatus::kEnabledWithEditDistance); } + +// Tests that the SafetyTipShown histogram triggers correctly. +IN_PROC_BROWSER_TEST_P(SafetyTipPageInfoBubbleViewBrowserTest, + SafetyTipShownHistogram) { + const char kHistogramName[] = "Security.SafetyTips.SafetyTipShown"; + base::HistogramTester histograms; + + auto kNavigatedUrl = GetURL("site1.com"); + SetEngagementScore(browser(), kNavigatedUrl, kLowEngagement); + NavigateToURL(browser(), kNavigatedUrl, WindowOpenDisposition::CURRENT_TAB); + histograms.ExpectBucketCount(kHistogramName, + security_state::SafetyTipStatus::kNone, 1); + + auto kBadRepUrl = GetURL("site2.com"); + TriggerWarning(browser(), kBadRepUrl, WindowOpenDisposition::CURRENT_TAB); + CloseWarningLeaveSite(browser()); + histograms.ExpectBucketCount( + kHistogramName, security_state::SafetyTipStatus::kBadReputation, 1); + + const GURL kLookalikeUrl = GetURL("googlé.sk"); + SetEngagementScore(browser(), kLookalikeUrl, kLowEngagement); + NavigateToURL(browser(), kLookalikeUrl, WindowOpenDisposition::CURRENT_TAB); + histograms.ExpectBucketCount(kHistogramName, + security_state::SafetyTipStatus::kLookalike, 1); + histograms.ExpectTotalCount(kHistogramName, 3); +} + +// Tests that the SafetyTipIgnoredPageLoad histogram triggers correctly. +IN_PROC_BROWSER_TEST_P(SafetyTipPageInfoBubbleViewBrowserTest, + SafetyTipIgnoredPageLoadHistogram) { + if (ui_status() == UIStatus::kDisabled) { + return; + } + base::HistogramTester histograms; + auto kNavigatedUrl = GetURL("site1.com"); + TriggerWarning(browser(), kNavigatedUrl, WindowOpenDisposition::CURRENT_TAB); + CloseWarningIgnore(); + NavigateToURL(browser(), kNavigatedUrl, WindowOpenDisposition::CURRENT_TAB); + histograms.ExpectBucketCount("Security.SafetyTips.SafetyTipIgnoredPageLoad", + security_state::SafetyTipStatus::kBadReputation, + 1); +}
diff --git a/chrome/browser/ui/views/sharing/sharing_dialog_view.cc b/chrome/browser/ui/views/sharing/sharing_dialog_view.cc index 9463ba3..05753b8 100644 --- a/chrome/browser/ui/views/sharing/sharing_dialog_view.cc +++ b/chrome/browser/ui/views/sharing/sharing_dialog_view.cc
@@ -123,7 +123,7 @@ void SharingDialogView::StyledLabelLinkClicked(views::StyledLabel* label, const gfx::Range& range, int event_flags) { - controller_->OnHelpTextClicked(); + controller_->OnHelpTextClicked(GetDialogType()); } SharingDialogType SharingDialogView::GetDialogType() const {
diff --git a/chrome/browser/ui/views/sharing/sharing_dialog_view_unittest.cc b/chrome/browser/ui/views/sharing/sharing_dialog_view_unittest.cc index 7458d49..5d5f5cc 100644 --- a/chrome/browser/ui/views/sharing/sharing_dialog_view_unittest.cc +++ b/chrome/browser/ui/views/sharing/sharing_dialog_view_unittest.cc
@@ -12,6 +12,7 @@ #include "base/strings/utf_string_conversions.h" #include "base/test/simple_test_clock.h" #include "chrome/browser/sharing/click_to_call/click_to_call_ui_controller.h" +#include "chrome/browser/sharing/sharing_metrics.h" #include "chrome/browser/ui/views/hover_button.h" #include "chrome/test/base/testing_profile.h" #include "chrome/test/views/chrome_views_test_base.h" @@ -35,6 +36,7 @@ MOCK_METHOD1(OnDeviceChosen, void(const syncer::DeviceInfo& device)); MOCK_METHOD1(OnAppChosen, void(const App& app)); + MOCK_METHOD1(OnHelpTextClicked, void(SharingDialogType dialog_type)); }; class SharingDialogViewMock : public SharingDialogView { @@ -79,9 +81,6 @@ controller_ = std::make_unique<ClickToCallUiControllerMock>(web_contents_.get()); - - controller_->set_devices_for_testing(SetUpDevices(3)); - controller_->set_apps_for_testing(SetUpApps()); } void TearDown() override { @@ -89,7 +88,7 @@ ChromeViewsTestBase::TearDown(); } - std::vector<std::unique_ptr<syncer::DeviceInfo>> SetUpDevices(int count) { + std::vector<std::unique_ptr<syncer::DeviceInfo>> CreateDevices(int count) { std::vector<std::unique_ptr<syncer::DeviceInfo>> devices; for (int i = 0; i < count; i++) { devices.emplace_back(std::make_unique<syncer::DeviceInfo>( @@ -102,15 +101,28 @@ return devices; } - std::vector<ClickToCallUiController::App> SetUpApps() { + std::vector<ClickToCallUiController::App> CreateApps(int count) { std::vector<ClickToCallUiController::App> apps; - apps.emplace_back(&vector_icons::kOpenInNewIcon, gfx::Image(), - base::UTF8ToUTF16("app_1"), std::string()); - apps.emplace_back(&vector_icons::kOpenInNewIcon, gfx::Image(), - base::UTF8ToUTF16("app_2"), std::string()); + for (int i = 0; i < count; i++) { + apps.emplace_back( + &vector_icons::kOpenInNewIcon, gfx::Image(), + base::UTF8ToUTF16(base::StrCat({"app", base::NumberToString(i)})), + base::StrCat({"app_id_", base::NumberToString(i)})); + } return apps; } + std::unique_ptr<SharingDialogView> CreateDialogView(int devices, int apps) { + controller_->set_devices_for_testing(CreateDevices(devices)); + controller_->set_apps_for_testing(CreateApps(apps)); + + auto dialog = std::make_unique<SharingDialogViewMock>( + anchor_widget_->GetContentsView(), /*web_contents=*/nullptr, + controller_.get()); + dialog->Init(); + return dialog; + } + std::unique_ptr<TestingProfile> profile_; std::unique_ptr<content::WebContents> web_contents_; std::unique_ptr<views::Widget> anchor_widget_; @@ -118,12 +130,9 @@ }; TEST_F(SharingDialogViewTest, PopulateDialogView) { - std::unique_ptr<SharingDialogView> bubble_view_ = - std::make_unique<SharingDialogViewMock>(anchor_widget_->GetContentsView(), - nullptr, controller_.get()); + auto dialog = CreateDialogView(/*devices=*/3, /*apps=*/2); - bubble_view_->Init(); - EXPECT_EQ(5UL, bubble_view_->dialog_buttons_.size()); + EXPECT_EQ(5UL, dialog->dialog_buttons_.size()); } TEST_F(SharingDialogViewTest, DevicePressed) { @@ -134,34 +143,47 @@ /* send_tab_to_self_receiving_enabled= */ false); EXPECT_CALL(*controller_.get(), OnDeviceChosen(DeviceEquals(&device_info))); - std::unique_ptr<SharingDialogView> bubble_view_ = - std::make_unique<SharingDialogViewMock>(anchor_widget_->GetContentsView(), - nullptr, controller_.get()); - - bubble_view_->Init(); + auto dialog = CreateDialogView(/*devices=*/3, /*apps=*/2); const ui::MouseEvent event(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(), ui::EventTimeForNow(), 0, 0); - // Choose second device: device1(tag=0), device2(tag=1) - bubble_view_->ButtonPressed(bubble_view_->dialog_buttons_[1], event); + // Choose second device: device0(tag=0), device1(tag=1) + dialog->ButtonPressed(dialog->dialog_buttons_[1], event); } TEST_F(SharingDialogViewTest, AppPressed) { ClickToCallUiController::App app(&vector_icons::kOpenInNewIcon, gfx::Image(), - base::UTF8ToUTF16("app_1"), std::string()); + base::UTF8ToUTF16("app0"), std::string()); EXPECT_CALL(*controller_.get(), OnAppChosen(AppEquals(&app))); - std::unique_ptr<SharingDialogView> bubble_view_ = - std::make_unique<SharingDialogViewMock>(anchor_widget_->GetContentsView(), - nullptr, controller_.get()); - - bubble_view_->Init(); + auto dialog = CreateDialogView(/*devices=*/3, /*apps=*/2); const ui::MouseEvent event(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(), ui::EventTimeForNow(), 0, 0); - // Choose first app: device1(tag=0), device2(tag=1), device3(tag=2), - // app1(tag=3) - bubble_view_->ButtonPressed(bubble_view_->dialog_buttons_[3], event); + // Choose first app: device0(tag=0), device1(tag=1), device2(tag=2), + // app0(tag=3) + dialog->ButtonPressed(dialog->dialog_buttons_[3], event); +} + +TEST_F(SharingDialogViewTest, HelpTextClickedEmpty) { + EXPECT_CALL(*controller_.get(), + OnHelpTextClicked(SharingDialogType::kEducationalDialog)); + + auto dialog = CreateDialogView(/*devices=*/0, /*apps=*/0); + + dialog->StyledLabelLinkClicked(/*label=*/nullptr, /*range=*/{}, + /*event_flags=*/0); +} + +TEST_F(SharingDialogViewTest, HelpTextClickedOnlyApps) { + EXPECT_CALL( + *controller_.get(), + OnHelpTextClicked(SharingDialogType::kDialogWithoutDevicesWithApp)); + + auto dialog = CreateDialogView(/*devices=*/0, /*apps=*/1); + + dialog->StyledLabelLinkClicked(/*label=*/nullptr, /*range=*/{}, + /*event_flags=*/0); }
diff --git a/chrome/browser/ui/views/tab_sharing/tab_sharing_ui_views.cc b/chrome/browser/ui/views/tab_sharing/tab_sharing_ui_views.cc index 64c27eb8..3fdaaf0 100644 --- a/chrome/browser/ui/views/tab_sharing/tab_sharing_ui_views.cc +++ b/chrome/browser/ui/views/tab_sharing/tab_sharing_ui_views.cc
@@ -31,7 +31,6 @@ namespace { -#if !defined(OS_MACOSX) const int kContentsBorderThickness = 10; const float kContentsBorderOpacity = 0.24; const SkColor kContentsBorderColor = gfx::kGoogleBlue500; @@ -70,7 +69,6 @@ browser_view->set_contents_border_widget(widget); } -#endif void SetContentsBorderVisible(content::WebContents* contents, bool visible) { if (!contents) @@ -113,10 +111,7 @@ media_id.web_contents_id.main_render_frame_id)); shared_tab_name_ = GetTabName(shared_tab_); profile_ = ProfileManager::GetLastUsedProfileAllowedByPolicy(); -#if !defined(OS_MACOSX) - // TODO(https://crbug.com/991896) fix contents border on Mac. InitContentsBorderWidget(shared_tab_); -#endif } TabSharingUIViews::~TabSharingUIViews() {
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc index 8ecf5ba..6143b58 100644 --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -947,5 +947,10 @@ #endif // BUILDFLAG(ENABLE_EXTENSIONS) #endif // !defined(OS_ANDROID) +#if defined(OS_CHROMEOS) + if (page_url.host_piece() == chrome::kChromeUIOSSettingsHost) + return settings_utils::GetFaviconResourceBytes(scale_factor); +#endif // defined(OS_CHROMEOS) + return nullptr; }
diff --git a/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_handler.cc b/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_handler.cc index 86560f2..cc6a078 100644 --- a/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_handler.cc +++ b/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_handler.cc
@@ -30,10 +30,10 @@ AddSupervisionHandler::AddSupervisionHandler( add_supervision::mojom::AddSupervisionHandlerRequest request, content::WebUI* web_ui, + signin::IdentityManager* identity_manager, Delegate* delegate) : web_ui_(web_ui), - identity_manager_( - IdentityManagerFactory::GetForProfile(Profile::FromWebUI(web_ui))), + identity_manager_(identity_manager), binding_(this, std::move(request)), delegate_(delegate) {}
diff --git a/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_handler.h b/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_handler.h index 63db8d6..f6faafb 100644 --- a/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_handler.h +++ b/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_handler.h
@@ -41,6 +41,7 @@ AddSupervisionHandler( add_supervision::mojom::AddSupervisionHandlerRequest request, content::WebUI* web_ui, + signin::IdentityManager* identity_manager, Delegate* delegate); ~AddSupervisionHandler() override;
diff --git a/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_ui.cc b/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_ui.cc index 68a3d60..d521ab89 100644 --- a/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_ui.cc +++ b/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_ui.cc
@@ -13,6 +13,7 @@ #include "chrome/browser/browser_process.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" +#include "chrome/browser/signin/identity_manager_factory.h" #include "chrome/browser/supervised_user/supervised_user_service.h" #include "chrome/browser/supervised_user/supervised_user_service_factory.h" #include "chrome/browser/ui/views/chrome_web_dialog_view.h" @@ -58,22 +59,6 @@ const char kAddSupervisionFlowType[] = "1"; const char kAddSupervisionSwitch[] = "add-supervision-url"; -// Returns the URL of the Add Supervision flow from the command-line switch, -// or the default value if it's not defined. -GURL GetAddSupervisionURL() { - std::string url; - base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); - if (command_line->HasSwitch(kAddSupervisionSwitch)) { - url = command_line->GetSwitchValueASCII(kAddSupervisionSwitch); - } else { - url = kAddSupervisionDefaultURL; - } - const GURL result(url); - DCHECK(result.is_valid()) << "Invalid URL \"" << url << "\" for switch \"" - << kAddSupervisionSwitch << "\""; - return result; -} - } // namespace // AddSupervisionDialog implementations. @@ -146,6 +131,9 @@ // AddSupervisionUI implementations. +// static +signin::IdentityManager* AddSupervisionUI::test_identity_manager_ = nullptr; + AddSupervisionUI::AddSupervisionUI(content::WebUI* web_ui) : ui::MojoWebUIController(web_ui) { // Register the Mojo API handler. @@ -153,17 +141,46 @@ &AddSupervisionUI::BindAddSupervisionHandler, base::Unretained(this))); // Set up the basic page framework. - SetupResources(); + SetUpResources(); } -void AddSupervisionUI::SetupResources() { +AddSupervisionUI::~AddSupervisionUI() = default; + +bool AddSupervisionUI::CloseDialog() { + bool showing_confirm_dialog = MaybeShowConfirmSignoutDialog(); + if (!showing_confirm_dialog) { + // We aren't showing the confirm dialog, so close the AddSupervisionDialog. + AddSupervisionDialog::Close(); + } + return !showing_confirm_dialog; +} + +// static +void AddSupervisionUI::SetUpForTest(signin::IdentityManager* identity_manager) { + test_identity_manager_ = identity_manager; +} + +void AddSupervisionUI::BindAddSupervisionHandler( + add_supervision::mojom::AddSupervisionHandlerRequest request) { + signin::IdentityManager* identity_manager = + test_identity_manager_ + ? test_identity_manager_ + : IdentityManagerFactory::GetForProfile(Profile::FromWebUI(web_ui())); + + mojo_api_handler_ = std::make_unique<AddSupervisionHandler>( + std::move(request), web_ui(), identity_manager, this); +} + +void AddSupervisionUI::SetUpResources() { Profile* profile = Profile::FromWebUI(web_ui()); std::unique_ptr<content::WebUIDataSource> source( content::WebUIDataSource::Create(chrome::kChromeUIAddSupervisionHost)); // Initialize supervision URL from the command-line arguments (if provided). supervision_url_ = GetAddSupervisionURL(); - DCHECK(supervision_url_.DomainIs("google.com")); + if (!allow_non_google_url_for_tests_) { + DCHECK(supervision_url_.DomainIs("google.com")); + } // Forward data to the WebUI. source->AddResourcePath("post_message_api.js", @@ -203,21 +220,24 @@ content::WebUIDataSource::Add(profile, source.release()); } -AddSupervisionUI::~AddSupervisionUI() = default; - -bool AddSupervisionUI::CloseDialog() { - bool showing_confirm_dialog = MaybeShowConfirmSignoutDialog(); - if (!showing_confirm_dialog) { - // We aren't showing the confirm dialog, so close the AddSupervisionDialog. - AddSupervisionDialog::Close(); +// Returns the URL of the Add Supervision flow from the command-line switch, +// or the default value if it's not defined. +GURL AddSupervisionUI::GetAddSupervisionURL() { + std::string url; + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (command_line->HasSwitch(kAddSupervisionSwitch)) { + url = command_line->GetSwitchValueASCII(kAddSupervisionSwitch); + // The URL should only be set on the command line for testing purposes, + // which may include pointing to a non-google URL (i.e. http://localhost/). + // Therefore, we allow non-Google URLs in this instance. + allow_non_google_url_for_tests_ = true; + } else { + url = kAddSupervisionDefaultURL; } - return !showing_confirm_dialog; -} - -void AddSupervisionUI::BindAddSupervisionHandler( - add_supervision::mojom::AddSupervisionHandlerRequest request) { - mojo_api_handler_ = std::make_unique<AddSupervisionHandler>( - std::move(request), web_ui(), this); + const GURL result(url); + DCHECK(result.is_valid()) << "Invalid URL \"" << url << "\" for switch \"" + << kAddSupervisionSwitch << "\""; + return result; } } // namespace chromeos
diff --git a/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_ui.h b/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_ui.h index 25a2c1b..8eaaedc 100644 --- a/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_ui.h +++ b/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_ui.h
@@ -31,6 +31,8 @@ // no-op. static void Close(); + static SystemWebDialogDelegate* GetInstance(); + // ui::WebDialogDelegate: ui::ModalType GetDialogModalType() const override; void GetDialogSize(gfx::Size* size) const override; @@ -43,8 +45,6 @@ ~AddSupervisionDialog() override; private: - static SystemWebDialogDelegate* GetInstance(); - DISALLOW_COPY_AND_ASSIGN(AddSupervisionDialog); }; @@ -58,16 +58,22 @@ // AddSupervisionHandler::Delegate: bool CloseDialog() override; + static void SetUpForTest(signin::IdentityManager* identity_manager); + private: void BindAddSupervisionHandler( add_supervision::mojom::AddSupervisionHandlerRequest request); - void SetupResources(); + void SetUpResources(); + GURL GetAddSupervisionURL(); std::unique_ptr<add_supervision::mojom::AddSupervisionHandler> mojo_api_handler_; GURL supervision_url_; + static signin::IdentityManager* test_identity_manager_; + bool allow_non_google_url_for_tests_ = false; + DISALLOW_COPY_AND_ASSIGN(AddSupervisionUI); };
diff --git a/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_ui_browsertest.cc b/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_ui_browsertest.cc new file mode 100644 index 0000000..162ba5dd --- /dev/null +++ b/chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_ui_browsertest.cc
@@ -0,0 +1,179 @@ +// 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 <string> + +#include "base/macros.h" +#include "base/test/scoped_feature_list.h" +#include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/webui/chromeos/add_supervision/add_supervision_ui.h" +#include "chrome/browser/ui/webui/chromeos/add_supervision/confirm_signout_dialog.h" +#include "chrome/common/webui_url_constants.h" +#include "chrome/test/base/in_process_browser_test.h" +#include "chrome/test/base/ui_test_utils.h" +#include "chromeos/constants/chromeos_features.h" +#include "components/signin/public/identity_manager/identity_test_environment.h" +#include "content/public/browser/web_contents.h" +#include "content/public/test/browser_test_utils.h" +#include "content/public/test/network_connection_change_simulator.h" +#include "third_party/cros_system_api/dbus/service_constants.h" + +namespace chromeos { + +namespace { + +const char kGetAddSupervisionUIElementJS[] = + "document.querySelector('add-supervision-ui')"; +} + +// Base class for AddSupervision tests. +class AddSupervisionBrowserTest : public InProcessBrowserTest { + public: + AddSupervisionBrowserTest() { + scoped_feature_list_.InitWithFeatures( + {chromeos::features::kParentalControlsSettings}, {}); + } + ~AddSupervisionBrowserTest() override = default; + + void SetUpOnMainThread() override { + // TODO(danan): See if this is possible to do this instead using + // FakeGaia.IssueOAuthToken(). + identity_test_env_ = std::make_unique<signin::IdentityTestEnvironment>(); + identity_test_env_->MakePrimaryAccountAvailable("example@gmail.com"); + // This makes the identity manager return the string "access_token" for the + // access token. + identity_test_env_->SetAutomaticIssueOfAccessTokens(true); + AddSupervisionUI::SetUpForTest(identity_test_env_->identity_manager()); + } + + chromeos::AddSupervisionUI* GetAddSupervisionUI() { + return static_cast<chromeos::AddSupervisionUI*>( + contents()->GetWebUI()->GetController()); + } + + content::WebContents* contents() { + return browser()->tab_strip_model()->GetActiveWebContents(); + } + + GURL settings_webui_url() { return GURL(chrome::kChromeUISettingsURL); } + + GURL add_supervision_webui_url() { + return GURL(chrome::kChromeUIAddSupervisionURL); + } + + bool IsElementVisible(const std::string& element_selector) { + bool found; + bool hidden; + std::string script = std::string("domAutomationController.send(") + + element_selector + ".hidden);"; + LOG(ERROR) << "Script: " << script; + found = content::ExecuteScriptAndExtractBool(contents(), script, &hidden); + return found && !hidden; + } + + private: + base::test::ScopedFeatureList scoped_feature_list_; + std::unique_ptr<signin::IdentityTestEnvironment> identity_test_env_; + + DISALLOW_COPY_AND_ASSIGN(AddSupervisionBrowserTest); +}; + +IN_PROC_BROWSER_TEST_F(AddSupervisionBrowserTest, URLParameters) { + // Open the Add Supervision URL. + ui_test_utils::NavigateToURL(browser(), add_supervision_webui_url()); + content::WaitForLoadStop(contents()); + + // Get the URL from the embedded webview. + std::string webview_url; + ASSERT_TRUE(content::ExecuteScriptAndExtractString( + contents(), + std::string("domAutomationController.send(") + + std::string(kGetAddSupervisionUIElementJS) + + ".shadowRoot.querySelector('#webview').getAttribute('src')" + + std::string(");"), + &webview_url)); + + GURL webview_gurl(webview_url); + ASSERT_TRUE(webview_gurl.has_query()); + + // Split the query string into a map of keys to values. + std::string query_str = webview_gurl.query(); + url::Component query(0, query_str.length()); + url::Component key; + url::Component value; + std::map<std::string, std::string> query_parts; + while (url::ExtractQueryKeyValue(query_str.c_str(), &query, &key, &value)) { + query_parts[query_str.substr(key.begin, key.len)] = + query_str.substr(value.begin, value.len); + } + + // Validate the query parameters. + ASSERT_EQ(query_parts.at("flow_type"), "1"); + ASSERT_EQ(query_parts.at("platform_version"), + base::SysInfo::OperatingSystemVersion()); + ASSERT_EQ(query_parts.at("access_token"), "access_token"); + ASSERT_EQ(query_parts.at("hl"), "en-US"); +} + +IN_PROC_BROWSER_TEST_F(AddSupervisionBrowserTest, ShowOfflineScreen) { + // Open the Add Supervision URL. + ui_test_utils::NavigateToURL(browser(), add_supervision_webui_url()); + content::WaitForLoadStop(contents()); + + // Webview div should be initially visible. + ASSERT_TRUE(IsElementVisible(std::string(kGetAddSupervisionUIElementJS) + + std::string(".webviewDiv"))); + + // Simulate going offline. + ASSERT_TRUE(content::ExecuteScript( + contents(), "window.dispatchEvent(new CustomEvent('offline'));")); + + // Ensure the offline content view is shown. + ASSERT_TRUE(IsElementVisible(std::string(kGetAddSupervisionUIElementJS) + + std::string(".offlineContentDiv"))); + + // Ensure the online webview content content is hidden. + ASSERT_FALSE(IsElementVisible(std::string(kGetAddSupervisionUIElementJS) + + std::string(".webviewDiv"))); + + // Simulate going online. + ASSERT_TRUE(content::ExecuteScript( + contents(), "window.dispatchEvent(new CustomEvent('online'));")); + + // Offline div should be hidden. + ASSERT_FALSE(IsElementVisible(std::string(kGetAddSupervisionUIElementJS) + + std::string(".offlineContentDiv"))); + + // Webview div should be shown. + ASSERT_TRUE(IsElementVisible(std::string(kGetAddSupervisionUIElementJS) + + std::string(".webviewDiv"))); +} + +IN_PROC_BROWSER_TEST_F(AddSupervisionBrowserTest, ShowConfirmSignoutDialog) { + // Open the Add Supervision URL. + ui_test_utils::NavigateToURL(browser(), add_supervision_webui_url()); + content::WaitForLoadStop(contents()); + + // Request that the dialog close before supervision has been enabled. + ASSERT_TRUE(content::ExecuteScript( + contents(), std::string(kGetAddSupervisionUIElementJS) + + std::string(".server.requestClose()"))); + // Confirm that the signout dialog isn't showing + ASSERT_FALSE(ConfirmSignoutDialog::IsShowing()); + + // Simulate supervision being enabled. + ASSERT_TRUE(content::ExecuteScript( + contents(), std::string(kGetAddSupervisionUIElementJS) + + std::string(".server.notifySupervisionEnabled()"))); + + // Request that the dialog is closed again. + ASSERT_TRUE(content::ExecuteScript( + contents(), std::string(kGetAddSupervisionUIElementJS) + + std::string(".server.requestClose()"))); + + // Confirm that the dialog is showing. + ASSERT_TRUE(ConfirmSignoutDialog::IsShowing()); +} + +} // namespace chromeos
diff --git a/chrome/browser/ui/webui/chromeos/add_supervision/confirm_signout_dialog.cc b/chrome/browser/ui/webui/chromeos/add_supervision/confirm_signout_dialog.cc index ccf7e71..28d81a8 100644 --- a/chrome/browser/ui/webui/chromeos/add_supervision/confirm_signout_dialog.cc +++ b/chrome/browser/ui/webui/chromeos/add_supervision/confirm_signout_dialog.cc
@@ -44,7 +44,9 @@ AddChildView(body); } -ConfirmSignoutDialog::~ConfirmSignoutDialog() = default; +ConfirmSignoutDialog::~ConfirmSignoutDialog() { + ConfirmSignoutDialog::current_instance_ = nullptr; +} ui::ModalType ConfirmSignoutDialog::GetModalType() const { return ui::ModalType::MODAL_TYPE_SYSTEM; @@ -75,12 +77,21 @@ } // static +views::Widget* ConfirmSignoutDialog::current_instance_ = nullptr; + +// static void ConfirmSignoutDialog::Show() { // Ownership of the ConfirmSignoutDialog is passed to the views system. // Dialog is system-modal, so no parent window is needed. - constrained_window::CreateBrowserModalDialogViews(new ConfirmSignoutDialog(), - nullptr /* parent window */) - ->Show(); + ConfirmSignoutDialog::current_instance_ = + constrained_window::CreateBrowserModalDialogViews( + new ConfirmSignoutDialog(), nullptr /* parent window */); + current_instance_->Show(); +} + +// static +bool ConfirmSignoutDialog::IsShowing() { + return ConfirmSignoutDialog::current_instance_ != nullptr; } } // namespace chromeos
diff --git a/chrome/browser/ui/webui/chromeos/add_supervision/confirm_signout_dialog.h b/chrome/browser/ui/webui/chromeos/add_supervision/confirm_signout_dialog.h index 6e7bff6..f23a9cb 100644 --- a/chrome/browser/ui/webui/chromeos/add_supervision/confirm_signout_dialog.h +++ b/chrome/browser/ui/webui/chromeos/add_supervision/confirm_signout_dialog.h
@@ -9,6 +9,10 @@ #include "ui/base/ui_base_types.h" #include "ui/views/window/dialog_delegate.h" +namespace views { +class Widget; +} + namespace chromeos { // Dialog shown when the user tries to close the flow when account has already @@ -28,9 +32,11 @@ base::string16 GetDialogButtonLabel(ui::DialogButton button) const override; static void Show(); + static bool IsShowing(); private: ConfirmSignoutDialog(); + static views::Widget* current_instance_; DISALLOW_COPY_AND_ASSIGN(ConfirmSignoutDialog); };
diff --git a/chrome/browser/ui/webui/chromeos/assistant_optin/assistant_optin_ui.cc b/chrome/browser/ui/webui/chromeos/assistant_optin/assistant_optin_ui.cc index 4d2bb830..aaf15c12 100644 --- a/chrome/browser/ui/webui/chromeos/assistant_optin/assistant_optin_ui.cc +++ b/chrome/browser/ui/webui/chromeos/assistant_optin/assistant_optin_ui.cc
@@ -20,7 +20,6 @@ #include "chrome/common/url_constants.h" #include "chrome/grit/browser_resources.h" #include "chromeos/services/assistant/public/cpp/assistant_prefs.h" -#include "components/arc/arc_prefs.h" #include "components/prefs/pref_service.h" #include "components/session_manager/core/session_manager.h" #include "content/public/browser/host_zoom_map.h" @@ -184,7 +183,7 @@ PrefService* prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); const bool completed = - prefs->GetBoolean(arc::prefs::kVoiceInteractionEnabled) && + prefs->GetBoolean(chromeos::assistant::prefs::kAssistantEnabled) && (prefs->GetInteger(assistant::prefs::kAssistantConsentStatus) == assistant::prefs::ConsentStatus::kActivityControlAccepted); std::move(callback_).Run(completed);
diff --git a/chrome/browser/ui/webui/chromeos/assistant_optin/assistant_optin_utils.cc b/chrome/browser/ui/webui/chromeos/assistant_optin/assistant_optin_utils.cc index 618585b..96f8106a 100644 --- a/chrome/browser/ui/webui/chromeos/assistant_optin/assistant_optin_utils.cc +++ b/chrome/browser/ui/webui/chromeos/assistant_optin/assistant_optin_utils.cc
@@ -245,8 +245,8 @@ // If the hotword preference is managed to always disabled, then we should not // show Voice Match flow. return prefs->IsManagedPreference( - arc::prefs::kVoiceInteractionHotwordEnabled) && - !prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled); + assistant::prefs::kAssistantHotwordEnabled) && + !prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled); } } // namespace chromeos
diff --git a/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc index 9440dfd..57f70af 100644 --- a/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc +++ b/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc
@@ -21,7 +21,6 @@ #include "chromeos/services/assistant/public/cpp/assistant_prefs.h" #include "chromeos/services/assistant/public/features.h" #include "chromeos/services/assistant/public/proto/settings_ui.pb.h" -#include "components/arc/arc_prefs.h" #include "components/login/localized_values_builder.h" #include "components/prefs/pref_service.h" #include "components/user_manager/user_manager.h" @@ -215,7 +214,7 @@ } // Make sure enable Assistant service since we need it during the flow. - prefs->SetBoolean(arc::prefs::kVoiceInteractionEnabled, true); + prefs->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, true); if (arc::VoiceInteractionControllerClient::Get()->voice_interaction_state() == ash::mojom::VoiceInteractionState::NOT_READY) { @@ -267,7 +266,7 @@ if (!voice_match_enrollment_done_ && flow_type_ == ash::FlowType::kSpeakerIdEnrollment) { ProfileManager::GetActiveUserProfile()->GetPrefs()->SetBoolean( - arc::prefs::kVoiceInteractionHotwordEnabled, false); + assistant::prefs::kAssistantHotwordEnabled, false); } } @@ -339,7 +338,7 @@ "opt-in flow."; PrefService* prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); prefs->SetBoolean(assistant::prefs::kAssistantDisabledByPolicy, true); - prefs->SetBoolean(arc::prefs::kVoiceInteractionEnabled, false); + prefs->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, false); HandleFlowFinished(); return; } @@ -508,13 +507,13 @@ RecordAssistantOptInStatus(VOICE_MATCH_ENROLLMENT_SKIPPED); if (flow_type_ != ash::FlowType::kSpeakerIdRetrain) { // No need to disable hotword for retrain flow since user has a model. - prefs->SetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled, false); + prefs->SetBoolean(assistant::prefs::kAssistantHotwordEnabled, false); } StopSpeakerIdEnrollment(); ShowNextScreen(); } else if (action == kRecordPressed) { - if (!prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)) { - prefs->SetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled, true); + if (!prefs->GetBoolean(assistant::prefs::kAssistantHotwordEnabled)) { + prefs->SetBoolean(assistant::prefs::kAssistantHotwordEnabled, true); } assistant::mojom::SpeakerIdEnrollmentClientPtr client_ptr; @@ -575,7 +574,7 @@ void AssistantOptInFlowScreenHandler::HandleFlowInitialized( const int flow_type) { auto* prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); - if (!prefs->GetBoolean(arc::prefs::kVoiceInteractionEnabled)) { + if (!prefs->GetBoolean(chromeos::assistant::prefs::kAssistantEnabled)) { HandleFlowFinished(); return; }
diff --git a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc index 07035ae..ee389c1 100644 --- a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc +++ b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
@@ -1437,7 +1437,6 @@ const SamlPasswordAttributes& password_attributes, UserContext* user_context, std::string* error_message) { - // TODO(emaxx,https://crbug.com/826417): Localize the error messages. *user_context = UserContext(user_type, account_id); if (using_saml && extension_provided_client_cert_usage_observer_ && extension_provided_client_cert_usage_observer_->ClientCertsWereUsed()) { @@ -1445,13 +1444,15 @@ std::vector<ChallengeResponseKey::SignatureAlgorithm> signature_algorithms; if (!extension_provided_client_cert_usage_observer_->GetOnlyUsedClientCert( &saml_client_cert, &signature_algorithms)) { - *error_message = "Multiple client certificates are not supported"; + *error_message = l10n_util::GetStringUTF8( + IDS_CHALLENGE_RESPONSE_AUTH_MULTIPLE_CLIENT_CERTS_ERROR); return false; } ChallengeResponseKey challenge_response_key; if (!ExtractChallengeResponseKeyFromCert( *saml_client_cert, signature_algorithms, &challenge_response_key)) { - *error_message = "Internal error"; + *error_message = l10n_util::GetStringUTF8( + IDS_CHALLENGE_RESPONSE_AUTH_INVALID_CLIENT_CERT_ERROR); return false; } user_context->GetMutableChallengeResponseKeys()->push_back(
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc index 7ab1cef..cff7ea0 100644 --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -577,9 +577,6 @@ html_source->AddBoolean( "showCrostiniExportImport", crostini::IsCrostiniExportImportUIAllowedForProfile(profile)); - html_source->AddBoolean( - "enableCrostiniUsbDeviceSupport", - base::FeatureList::IsEnabled(chromeos::features::kCrostiniUsbSupport)); } void AddPluginVmStrings(content::WebUIDataSource* html_source,
diff --git a/chrome/browser/vr/service/browser_xr_runtime.cc b/chrome/browser/vr/service/browser_xr_runtime.cc index 040cc84..b848b34 100644 --- a/chrome/browser/vr/service/browser_xr_runtime.cc +++ b/chrome/browser/vr/service/browser_xr_runtime.cc
@@ -20,7 +20,8 @@ namespace vr { namespace { -bool IsValidStandingTransform(const gfx::Transform& transform) { +bool IsValidTransform(const gfx::Transform& transform, + float max_translate_meters) { if (!transform.IsInvertible() || transform.HasPerspective()) return false; @@ -29,7 +30,6 @@ return false; float kEpsilon = 0.1f; - float kMaxTranslate = 1000000; // Maximum 1000km translation. if (abs(decomp.perspective[3] - 1) > kEpsilon) { // If testing with unexpectedly high values, catch on debug builds rather // than silently change data. On release builds its better to be safe and @@ -44,7 +44,7 @@ return false; if (abs(decomp.perspective[i]) > kEpsilon) return false; - if (abs(decomp.translate[i]) > kMaxTranslate) + if (abs(decomp.translate[i]) > max_translate_meters) return false; } @@ -83,14 +83,12 @@ ret->field_of_view->right_degrees = kDefaultFOV; } - // Offset - float kMaxOffset = 10; - if (abs(eye->offset.x()) < kMaxOffset && abs(eye->offset.y()) < kMaxOffset && - abs(eye->offset.z()) < kMaxOffset) { - ret->offset = eye->offset; - } else { - ret->offset = gfx::Vector3dF(0, 0, 0); + // Head-from-Eye Transform + // Maximum 10m translation. + if (IsValidTransform(eye->head_from_eye, 10)) { + ret->head_from_eye = eye->head_from_eye; } + // else, ret->head_from_eye remains the identity transform // Renderwidth/height uint32_t kMaxSize = 16384; @@ -123,8 +121,9 @@ info->capabilities->has_external_display, info->capabilities->can_present, info->capabilities->can_provide_environment_integration); + // Maximum 1000km translation. if (info->stage_parameters && - IsValidStandingTransform(info->stage_parameters->standing_transform)) { + IsValidTransform(info->stage_parameters->standing_transform, 1000000)) { ret->stage_parameters = device::mojom::VRStageParameters::New( info->stage_parameters->standing_transform, info->stage_parameters->size_x, info->stage_parameters->size_z,
diff --git a/chrome/browser/vr/win/graphics_delegate_win.cc b/chrome/browser/vr/win/graphics_delegate_win.cc index 580e247f..5996633 100644 --- a/chrome/browser/vr/win/graphics_delegate_win.cc +++ b/chrome/browser/vr/win/graphics_delegate_win.cc
@@ -216,13 +216,12 @@ const device::mojom::VREyeParametersPtr& eye_params, gfx::Transform head_from_world) { CameraModel model = {}; + + DCHECK(eye_params->head_from_eye.IsInvertible()); gfx::Transform eye_from_head; - // We have offsets of the eyes in head space, so invert the translation to - // calculate the transform from head space to eye space. For example, - // (0, 0, 0) in head space is (-offset.x, -offset.y, -offset.z) in eye space, - // and (offset.x, offset.y, offset.z) in head space is (0, 0, 0) in eye space. - eye_from_head.Translate3d(-eye_params->offset); - model.view_matrix = eye_from_head * head_from_world; + if (eye_params->head_from_eye.GetInverse(&eye_from_head)) { + model.view_matrix = eye_from_head * head_from_world; + } float up_tan = tanf(eye_params->field_of_view->up_degrees * base::kPiFloat / 180.0);
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc index 6606eaba..09abd28 100644 --- a/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc
@@ -34,6 +34,16 @@ #endif // defined(OS_CHROMEOS) #if defined(OS_MACOSX) +// Enable the new multi-profile-aware app shim mode. +// TODO(https://crbug.com/982024): Delete this flag when feature is complete. +const base::Feature kAppShimMultiProfile{"AppShimMultiProfile", + base::FEATURE_DISABLED_BY_DEFAULT}; + +// Can be used to disable RemoteCocoa (hosting NSWindows for apps in the app +// process). For debugging purposes only. +const base::Feature kAppShimRemoteCocoa{"AppShimRemoteCocoa", + base::FEATURE_ENABLED_BY_DEFAULT}; + // Enables the "this OS is obsolete" infobar on Mac 10.9. // TODO(ellyjones): Remove this after the last 10.9 release. const base::Feature kShow10_9ObsoleteInfobar{"Show109ObsoleteInfobar",
diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h index 303f461d0..733ece71 100644 --- a/chrome/common/chrome_features.h +++ b/chrome/common/chrome_features.h
@@ -37,6 +37,10 @@ #if defined(OS_MACOSX) COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kAppShimMultiProfile; +COMPONENT_EXPORT(CHROME_FEATURES) +extern const base::Feature kAppShimRemoteCocoa; +COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kShow10_9ObsoleteInfobar; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kViewsTaskManager; #endif // defined(OS_MACOSX)
diff --git a/chrome/common/extensions/api/autotest_private.idl b/chrome/common/extensions/api/autotest_private.idl index 29fb2a7..3ccdca40 100644 --- a/chrome/common/extensions/api/autotest_private.idl +++ b/chrome/common/extensions/api/autotest_private.idl
@@ -55,7 +55,8 @@ Maximized, Fullscreen, LeftSnapped, - RightSnapped + RightSnapped, + PIP }; // A subset of WM event types in ash::WMEventType. We may add more in the
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn index 39ef22f..f4c733ce 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn
@@ -507,6 +507,7 @@ "../browser/engagement/important_sites_util_browsertest.cc", "../browser/payments/has_enrolled_instrument_browsertest.cc", "../browser/payments/has_enrolled_instrument_query_quota_browsertest.cc", + "../browser/payments/payment_handler_exploit_browsertest.cc", "../browser/payments/payment_request_can_make_payment_browsertest.cc", "../browser/payments/personal_data_manager_test_util.cc", "../browser/payments/personal_data_manager_test_util.h", @@ -1799,6 +1800,7 @@ "../browser/payments/has_enrolled_instrument_browsertest.cc", "../browser/payments/has_enrolled_instrument_query_quota_browsertest.cc", "../browser/payments/manifest_verifier_browsertest.cc", + "../browser/payments/payment_handler_exploit_browsertest.cc", "../browser/payments/payment_manifest_parser_browsertest.cc", "../browser/payments/payment_request_can_make_payment_browsertest.cc", "../browser/payments/personal_data_manager_test_util.cc", @@ -2262,6 +2264,7 @@ "../browser/ui/views/frame/immersive_mode_controller_ash_browsertest.cc", "../browser/ui/views/frame/top_controls_slide_controller_chromeos_browsertest.cc", "../browser/ui/views/plugin_vm/plugin_vm_launcher_view_browsertest.cc", + "../browser/ui/webui/chromeos/add_supervision/add_supervision_ui_browsertest.cc", "../browser/ui/webui/chromeos/login/discover/discover_browser_test.cc", "../browser/ui/webui/chromeos/login/discover/discover_browser_test.h", "../browser/ui/webui/chromeos/login/discover/modules/discover_module_launch_help_app_test.cc", @@ -2614,9 +2617,9 @@ ":browser_tests", ] data = [ - "//third_party/webrtc/rtc_tools/testing/webrtc_apprtc_browsertest/apprtc/out/app_engine/", - "//third_party/webrtc/rtc_tools/testing/webrtc_apprtc_browsertest/apprtc/temp/google-cloud-sdk/", - "//third_party/webrtc/rtc_tools/testing/webrtc_apprtc_browsertest/collider/", + "//third_party/webrtc/rtc_tools/testing/browsertest/apprtc/out/app_engine/", + "//third_party/webrtc/rtc_tools/testing/browsertest/apprtc/temp/google-cloud-sdk/", + "//third_party/webrtc/rtc_tools/testing/browsertest/collider/", ] if (is_win) { write_runtime_deps = "$root_out_dir/$target_name.exe.runtime_deps" @@ -3018,6 +3021,7 @@ "../browser/password_manager/chrome_password_manager_client_unittest.cc", "../browser/password_manager/password_store_x_unittest.cc", "../browser/payments/payment_handler_permission_context_unittest.cc", + "../browser/performance_manager/decorators/freeze_origin_trial_policy_aggregator_unittest.cc", "../browser/performance_manager/decorators/frozen_frame_aggregator_unittest.cc", "../browser/performance_manager/decorators/page_almost_idle_decorator_unittest.cc", "../browser/performance_manager/decorators/process_metrics_decorator_unittest.cc", @@ -5357,6 +5361,7 @@ "../browser/password_manager/password_manager_interactive_test_base.cc", "../browser/password_manager/password_manager_interactive_test_base.h", "../browser/password_manager/password_manager_interactive_uitest.cc", + "../browser/popup_operations_interactive_uitest.cc", "../browser/renderer_context_menu/render_view_context_menu_browsertest_util.cc", "../browser/renderer_context_menu/render_view_context_menu_browsertest_util.h", "../browser/resource_coordinator/tab_metrics_logger_interactive_uitest.cc",
diff --git a/chrome/test/chromedriver/chrome/stub_web_view.cc b/chrome/test/chromedriver/chrome/stub_web_view.cc index 2a70a69..c53c401 100644 --- a/chrome/test/chromedriver/chrome/stub_web_view.cc +++ b/chrome/test/chromedriver/chrome/stub_web_view.cc
@@ -229,6 +229,10 @@ return Status(kOk); } +bool StubWebView::IsNonBlocking() { + return false; +} + bool StubWebView::IsOOPIF(const std::string& frame_id) { return false; }
diff --git a/chrome/test/chromedriver/chrome/stub_web_view.h b/chrome/test/chromedriver/chrome/stub_web_view.h index ba85996..0c64b3c 100644 --- a/chrome/test/chromedriver/chrome/stub_web_view.h +++ b/chrome/test/chromedriver/chrome/stub_web_view.h
@@ -115,6 +115,7 @@ int y, int xoffset, int yoffset) override; + bool IsNonBlocking() override; bool IsOOPIF(const std::string& frame_id) override; FrameTracker* GetFrameTracker() const override; std::unique_ptr<base::Value> GetCastSinks() override;
diff --git a/chrome/test/chromedriver/chrome/web_view.h b/chrome/test/chromedriver/chrome/web_view.h index 366482b..7e2036a 100644 --- a/chrome/test/chromedriver/chrome/web_view.h +++ b/chrome/test/chromedriver/chrome/web_view.h
@@ -242,6 +242,8 @@ int xoffset, int yoffset) = 0; + virtual bool IsNonBlocking() = 0; + virtual bool IsOOPIF(const std::string& frame_id) = 0; virtual FrameTracker* GetFrameTracker() const = 0;
diff --git a/chrome/test/chromedriver/chrome/web_view_impl.cc b/chrome/test/chromedriver/chrome/web_view_impl.cc index 24d3fcb..9d0f1cb4 100644 --- a/chrome/test/chromedriver/chrome/web_view_impl.cc +++ b/chrome/test/chromedriver/chrome/web_view_impl.cc
@@ -1083,6 +1083,10 @@ return Status(kOk); } +bool WebViewImpl::IsNonBlocking() { + return navigation_tracker_->IsNonBlocking(); +} + bool WebViewImpl::IsOOPIF(const std::string& frame_id) { WebView* target = GetTargetForFrame(this, frame_id); return target != nullptr && frame_id == target->GetId();
diff --git a/chrome/test/chromedriver/chrome/web_view_impl.h b/chrome/test/chromedriver/chrome/web_view_impl.h index d84ffc3..5f28210 100644 --- a/chrome/test/chromedriver/chrome/web_view_impl.h +++ b/chrome/test/chromedriver/chrome/web_view_impl.h
@@ -155,6 +155,7 @@ int y, int xoffset, int yoffset) override; + bool IsNonBlocking() override; bool IsOOPIF(const std::string& frame_id) override; FrameTracker* GetFrameTracker() const override; std::unique_ptr<base::Value> GetCastSinks() override;
diff --git a/chrome/test/chromedriver/test/run_py_tests.py b/chrome/test/chromedriver/test/run_py_tests.py index e524e83..bc5968c6f 100755 --- a/chrome/test/chromedriver/test/run_py_tests.py +++ b/chrome/test/chromedriver/test/run_py_tests.py
@@ -103,11 +103,6 @@ 'ChromeDownloadDirTest.testFileDownloadWithGetHeadless', ] _OS_SPECIFIC_FILTER['linux'] = [ - 'ChromeDriverTestLegacy.testMouseMoveTo', - 'MobileEmulationCapabilityTest.testDoesntWaitWhenPageLoadStrategyIsNone', - # https://bugs.chromium.org/p/chromium/issues/detail?id=1000530 - 'ChromeDriverTest.testActionsMouseMove', - 'ChromeDriverTest.testActionsMouseDrag', ] _OS_SPECIFIC_FILTER['mac'] = [ # https://bugs.chromium.org/p/chromedriver/issues/detail?id=1927 @@ -117,11 +112,6 @@ 'ChromeDownloadDirTest.testFileDownloadAfterTabHeadless', 'ChromeDownloadDirTest.testFileDownloadWithClickHeadless', 'ChromeDownloadDirTest.testFileDownloadWithGetHeadless', - 'ChromeDriverTestLegacy.testMouseMoveTo', - 'MobileEmulationCapabilityTest.testDoesntWaitWhenPageLoadStrategyIsNone', - # https://bugs.chromium.org/p/chromium/issues/detail?id=1000530 - 'ChromeDriverTest.testActionsMouseMove', - 'ChromeDriverTest.testActionsMouseDrag', ] _DESKTOP_NEGATIVE_FILTER = [
diff --git a/chrome/test/chromedriver/window_commands.cc b/chrome/test/chromedriver/window_commands.cc index 4b55a9b..7a22976 100644 --- a/chrome/test/chromedriver/window_commands.cc +++ b/chrome/test/chromedriver/window_commands.cc
@@ -52,6 +52,9 @@ static const char kUnreachableWebDataURL[] = "chrome-error://chromewebdata/"; const char kDeprecatedUnreachableWebDataURL[] = "data:text/html,chromewebdata"; +// Match to content/browser/devtools/devTools_session const of same name +const char kTargetClosedMessage[] = "Inspected target navigated or closed"; + // TODO(johnchen@chromium.org): Remove when we stop supporting legacy protocol. // Defaults to 20 years into the future when adding a cookie. const double kDefaultCookieExpiryTime = 20*365*24*60*60; @@ -480,6 +483,12 @@ // If the command timed out, let WaitForPendingNavigations cancel // the navigation if there is one. continue; + } else if (status.code() == kUnknownError && web_view->IsNonBlocking() && + status.message().find(kTargetClosedMessage) != + std::string::npos) { + // When pageload strategy is None, new navigation can occur during + // execution of a command. Retry the command. + continue; } else if (status.IsError()) { // If the command failed while a new page or frame started loading, retry // the command after the pending navigation has completed.
diff --git a/chrome/test/data/autofill/captured_sites/testcases.json b/chrome/test/data/autofill/captured_sites/testcases.json index 04590fe..9f3eafe 100644 --- a/chrome/test/data/autofill/captured_sites/testcases.json +++ b/chrome/test/data/autofill/captured_sites/testcases.json
@@ -96,7 +96,7 @@ { "site_name": "talbots" }, { "site_name": "tennis_warehouse" }, { "site_name": "therealreal" }, - { "site_name": "threadless" }, + { "site_name": "threadless", "expectation":"FAIL", "bug_number":996478 }, { "site_name": "tickets" }, { "site_name": "timberland", "disabled":true, "bug_number":993044 }, { "site_name": "torrid" },
diff --git a/chrome/test/data/printing/test1.html b/chrome/test/data/printing/test1.html index a6c2800..af4db0fe 100644 --- a/chrome/test/data/printing/test1.html +++ b/chrome/test/data/printing/test1.html
@@ -13,10 +13,8 @@ <br> Hello world in Korean: 여러분, 안녕하세요 <br> -<!-- TODO(https://crbug.com/996185): Disable Chinese until subsetting issue with Microsot JhengHei is fixed. Hello world in Chinese: 你好世界 <br> ---> </div> </body> -</html> +</html> \ No newline at end of file
diff --git a/chrome/test/data/select_popup.html b/chrome/test/data/select_popup.html new file mode 100644 index 0000000..e2f6b3ec --- /dev/null +++ b/chrome/test/data/select_popup.html
@@ -0,0 +1,56 @@ +<html> + <head> + <style> + body { + margin: 0px; + padding: 0px; + } + #menu1 { + position: absolute; + top: 0px; + left: 0px; + } + #menu2 { + position: absolute; + top: 0px; + left: 100px; + } + #menu3 { + position: absolute; + top: 0px; + left: 200px; + } + div { + position: absolute; + top: 100px; + } + </style> + <script> + function log(text) { + document.getElementById("status").innerHTML += text + ','; + document.title = text; + } + </script> + </head> + <body onload="log('onload')"> + <select id="menu1" onchange="log('onchange1')"> + <option>foo</option> + <option>bar</option> + <option>qux</option> + <option selected>baz</option> + </select> + <select id="menu2" onchange="log('onchange2')"> + <option>foo</option> + <option>bar</option> + <option>qux</option> + <option selected>baz</option> + </select> + <select id="menu3" onclick="log('onclick3')"> + <option>foo</option> + <option>bar</option> + <option>qux</option> + <option selected>baz</option> + </select> + <div id="status"></div> + </body> +</html> \ No newline at end of file
diff --git a/chrome/test/data/webui/BUILD.gn b/chrome/test/data/webui/BUILD.gn index a4f69668..4f2a8c7 100644 --- a/chrome/test/data/webui/BUILD.gn +++ b/chrome/test/data/webui/BUILD.gn
@@ -35,6 +35,7 @@ "$root_gen_dir/chrome/test/data/webui/cr_elements/cr_checkbox_test.m.js", "$root_gen_dir/chrome/test/data/webui/cr_elements/cr_icon_button_focus_tests.m.js", "$root_gen_dir/chrome/test/data/webui/cr_elements/cr_input_test.m.js", + "$root_gen_dir/chrome/test/data/webui/cr_elements/cr_tabs_test.m.js", "$root_gen_dir/chrome/test/data/webui/cr_elements/cr_toggle_test.m.js", "$root_gen_dir/chrome/test/data/webui/test_browser_proxy.m.js", "$root_gen_dir/chrome/test/data/webui/test_util.m.js", @@ -160,6 +161,7 @@ ] data = [ "$root_gen_dir/chrome/test/data/webui/cr_elements/cr_button_tests.m.js", + "$root_gen_dir/chrome/test/data/webui/cr_elements/cr_dialog_test.m.js", "$root_gen_dir/chrome/test/data/webui/cr_elements/cr_drawer_tests.m.js", "$root_gen_dir/chrome/test/data/webui/cr_elements/cr_icon_button_tests.m.js", "$root_gen_dir/chrome/test/data/webui/cr_elements/cr_radio_button_test.m.js",
diff --git a/chrome/test/data/webui/cr_elements/BUILD.gn b/chrome/test/data/webui/cr_elements/BUILD.gn index f9bde41..dd1f714f1 100644 --- a/chrome/test/data/webui/cr_elements/BUILD.gn +++ b/chrome/test/data/webui/cr_elements/BUILD.gn
@@ -8,12 +8,14 @@ input_files = [ "cr_button_tests.js", "cr_checkbox_test.js", + "cr_dialog_test.js", "cr_drawer_tests.js", "cr_icon_button_tests.js", "cr_icon_button_focus_tests.js", "cr_input_test.js", "cr_radio_button_test.js", "cr_radio_group_test.js", + "cr_tabs_test.js", "cr_toast_test.js", "cr_toggle_test.js", "cr_view_manager_test.js",
diff --git a/chrome/test/data/webui/cr_elements/cr_dialog_test.js b/chrome/test/data/webui/cr_elements/cr_dialog_test.js index ffdc908..f07cace 100644 --- a/chrome/test/data/webui/cr_elements/cr_dialog_test.js +++ b/chrome/test/data/webui/cr_elements/cr_dialog_test.js
@@ -2,6 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +// clang-format off +// #import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.m.js'; +// +// #import {eventToPromise, flushTasks} from 'chrome://test/test_util.m.js'; +// #import {keyDownOn, keyEventOn, tap} from 'chrome://resources/polymer/v3_0/iron-test-helpers/mock-interactions.js'; +// #import {Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; +// clang-format on + suite('cr-dialog', function() { function pressEnter(element) { MockInteractions.keyEventOn(element, 'keypress', 13, undefined, 'Enter'); @@ -36,6 +44,11 @@ setup(function() { PolymerTest.clearBody(); + // Ensure svg, which is referred to by a relative URL, is loaded from + // chrome://resources and not chrome://test + const base = document.createElement('base'); + base.href = 'chrome://resources/cr_elements/'; + document.head.appendChild(base); }); test('cr-dialog-open event fires when opened', function() { @@ -423,7 +436,7 @@ assertTrue(dialog.open); assertTrue(dialog.hasAttribute('open')); - e = new CustomEvent('cancel', {cancelable: true}); + const e = new CustomEvent('cancel', {cancelable: true}); dialog.getNative().dispatchEvent(e); assertFalse(dialog.open);
diff --git a/chrome/test/data/webui/cr_elements/cr_elements_v3_browsertest.js b/chrome/test/data/webui/cr_elements/cr_elements_v3_browsertest.js index 307fe0ea..1b9d058 100644 --- a/chrome/test/data/webui/cr_elements/cr_elements_v3_browsertest.js +++ b/chrome/test/data/webui/cr_elements/cr_elements_v3_browsertest.js
@@ -54,6 +54,18 @@ }); // eslint-disable-next-line no-var +var CrElementsDialogV3Test = class extends CrElementsV3BrowserTest { + /** @override */ + get browsePreload() { + return 'chrome://test?module=cr_elements/cr_dialog_test.m.js'; + } +}; + +TEST_F('CrElementsDialogV3Test', 'All', function() { + mocha.run(); +}); + +// eslint-disable-next-line no-var var CrElementsDrawerV3Test = class extends CrElementsV3BrowserTest { /** @override */ get browsePreload() {
diff --git a/chrome/test/data/webui/cr_elements/cr_elements_v3_focus_test.js b/chrome/test/data/webui/cr_elements/cr_elements_v3_focus_test.js index e4f028b..80fec0d 100644 --- a/chrome/test/data/webui/cr_elements/cr_elements_v3_focus_test.js +++ b/chrome/test/data/webui/cr_elements/cr_elements_v3_focus_test.js
@@ -41,14 +41,14 @@ }); // eslint-disable-next-line no-var -var CrElementsToggleV3Test = class extends CrElementsV3FocusTest { +var CrElementsIconButtonV3FocusTest = class extends CrElementsV3FocusTest { /** @override */ get browsePreload() { - return 'chrome://test?module=cr_elements/cr_toggle_test.m.js'; + return 'chrome://test?module=cr_elements/cr_icon_button_focus_tests.m.js'; } }; -TEST_F('CrElementsToggleV3Test', 'All', function() { +TEST_F('CrElementsIconButtonV3FocusTest', 'All', function() { mocha.run(); }); @@ -65,13 +65,25 @@ }); // eslint-disable-next-line no-var -var CrElementsIconButtonV3FocusTest = class extends CrElementsV3FocusTest { +var CrElementsTabsV3Test = class extends CrElementsV3FocusTest { /** @override */ get browsePreload() { - return 'chrome://test?module=cr_elements/cr_icon_button_focus_tests.m.js'; + return 'chrome://test?module=cr_elements/cr_tabs_test.m.js'; } }; -TEST_F('CrElementsIconButtonV3FocusTest', 'All', function() { +TEST_F('CrElementsTabsV3Test', 'All', function() { + mocha.run(); +}); + +// eslint-disable-next-line no-var +var CrElementsToggleV3Test = class extends CrElementsV3FocusTest { + /** @override */ + get browsePreload() { + return 'chrome://test?module=cr_elements/cr_toggle_test.m.js'; + } +}; + +TEST_F('CrElementsToggleV3Test', 'All', function() { mocha.run(); });
diff --git a/chrome/test/data/webui/cr_elements/cr_tabs_test.js b/chrome/test/data/webui/cr_elements/cr_tabs_test.js index b4252b6f..2ae9b7fa 100644 --- a/chrome/test/data/webui/cr_elements/cr_tabs_test.js +++ b/chrome/test/data/webui/cr_elements/cr_tabs_test.js
@@ -2,6 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +// clang-format off +// #import 'chrome://resources/cr_elements/cr_tabs/cr_tabs.m.js'; +// #import {eventToPromise, flushTasks} from 'chrome://test/test_util.m.js'; +// #import {getDeepActiveElement} from 'chrome://resources/js/util.m.js'; +// #import {keyDownOn} from 'chrome://resources/polymer/v3_0/iron-test-helpers/mock-interactions.js'; +// clang-format on + suite('cr_tabs_test', function() { /** @type {?CrTabsElement} */ let tabs = null;
diff --git a/chrome/test/data/webui/history/history_browsertest.js b/chrome/test/data/webui/history/history_browsertest.js index cae32ab..baf4c6f 100644 --- a/chrome/test/data/webui/history/history_browsertest.js +++ b/chrome/test/data/webui/history/history_browsertest.js
@@ -117,8 +117,7 @@ ]), }; -// TODO(https://crbug.com/1000573): Re-enable once flakiness is fixed. -TEST_F('HistoryMetricsTest', 'DISABLED_All', function() { +TEST_F('HistoryMetricsTest', 'All', function() { mocha.run(); });
diff --git a/chrome/test/data/webui/history/history_metrics_test.js b/chrome/test/data/webui/history/history_metrics_test.js index c6025dd..8da6329 100644 --- a/chrome/test/data/webui/history/history_metrics_test.js +++ b/chrome/test/data/webui/history/history_metrics_test.js
@@ -88,17 +88,12 @@ // period, with no regard to DST shifts. const weekAgo = new Date(new Date().getTime() - 7 * 24 * 60 * 60 * 1000 - 1); - // Convert the date to ISO8601 format, i.e. YYYY-MM-DD. We can take - // advantage of the fact that the Belgian locale uses exactly this format. - const weekAgoISO = weekAgo.toLocaleString( - 'be', {year: 'numeric', month: '2-digit', day: '2-digit'}); - const historyEntry = - createHistoryEntry(weekAgoISO, 'http://www.google.com'); + const historyEntry = createHistoryEntry(weekAgo, 'http://www.google.com'); historyEntry.starred = true; - app.historyResult(createHistoryInfo(), [ - createHistoryEntry(weekAgoISO, 'http://www.example.com'), historyEntry - ]); + app.historyResult( + createHistoryInfo(), + [createHistoryEntry(weekAgo, 'http://www.example.com'), historyEntry]); return test_util.flushTasks() .then(() => { @@ -110,6 +105,10 @@ assertEquals(1, histogramMap['HistoryPage.ClickPosition'][1]); assertEquals(1, histogramMap['HistoryPage.ClickPositionSubset'][1]); + // TODO(https://crbug.com/1000573): Log the contents of this histogram + // for debugging in case the flakiness reoccurs. + console.log(Object.keys(histogramMap['HistoryPage.ClickAgeInDays'])); + // The "age in days" histogram should record 8 days, since the history // entry was created between 7 and 8 days ago and we round the // recorded value up. @@ -120,9 +119,9 @@ assertEquals(1, actionMap['Search']); app.set('queryState_.incremental', true); app.historyResult(createHistoryInfo('goog'), [ - createHistoryEntry(weekAgoISO, 'http://www.google.com'), - createHistoryEntry(weekAgoISO, 'http://www.google.com'), - createHistoryEntry(weekAgoISO, 'http://www.google.com') + createHistoryEntry(weekAgo, 'http://www.google.com'), + createHistoryEntry(weekAgo, 'http://www.google.com'), + createHistoryEntry(weekAgo, 'http://www.google.com') ]); return test_util.flushTasks(); })
diff --git a/chrome/test/data/webui/settings/people_page_test.js b/chrome/test/data/webui/settings/people_page_test.js index 0021ffb..7cee829 100644 --- a/chrome/test/data/webui/settings/people_page_test.js +++ b/chrome/test/data/webui/settings/people_page_test.js
@@ -652,6 +652,8 @@ showOSSettings: false, // Simulate ChromeOSAccountManager (Google Accounts support). isAccountManagerEnabled: true, + // Simulate parental controls. + showParentalControls: true, }); }); @@ -707,6 +709,160 @@ profileIcon.click(); assertEquals(oldRoute, settings.getCurrentRoute()); }); + + test('parental controls page is shown when enabled', () => { + // Setup button is shown and enabled. + const parentalControlsItem = + assert(peoplePage.$$('settings-parental-controls-page')); + }); + }); + + /** @implements {parental_controls.ParentalControlsBrowserProxy} */ + class TestParentalControlsBrowserProxy extends TestBrowserProxy { + constructor() { + super([ + 'showAddSupervisionDialog', + 'launchFamilyLinkSettings', + ]); + } + + /** @override */ + launchFamilyLinkSettings() { + this.methodCalled('launchFamilyLinkSettings'); + } + + /** @override */ + showAddSupervisionDialog() { + this.methodCalled('showAddSupervisionDialog'); + } + } + + suite('Chrome OS parental controls page setup item tests', function() { + /** @type {ParentalControlsPage} */ + let parentalControlsPage = null; + + /** @type {TestParentalControlsBrowserProxy} */ + let parentalControlsBrowserProxy = null; + + suiteSetup(function() { + loadTimeData.overrideValues({ + // Simulate parental controls. + showParentalControls: true, + }); + }); + + setup(function() { + parentalControlsBrowserProxy = new TestParentalControlsBrowserProxy(); + parental_controls.BrowserProxyImpl.instance_ = + parentalControlsBrowserProxy; + + PolymerTest.clearBody(); + parentalControlsPage = + document.createElement('settings-parental-controls-page'); + parentalControlsPage.pageVisibility = settings.pageVisibility; + document.body.appendChild(parentalControlsPage); + Polymer.dom.flush(); + }); + + teardown(function() { + parentalControlsPage.remove(); + }); + + test('parental controls page enabled when online', () => { + // Setup button is shown and enabled. + const setupButton = assert( + parentalControlsPage.$$('#parental-controls-item cr-button')); + + setupButton.click(); + + // Ensure that the request to launch the add supervision flow went + // through. + assertEquals( + parentalControlsBrowserProxy.getCallCount( + 'showAddSupervisionDialog'), + 1); + }); + + test('parental controls page disabled when offline', () => { + // Simulate going offline + window.dispatchEvent(new CustomEvent('offline')); + // Setup button is shown but disabled. + const setupButton = assert( + parentalControlsPage.$$('#parental-controls-item cr-button')); + assertTrue(setupButton.disabled); + + setupButton.click(); + + // Ensure that the request to launch the add supervision flow does not + // go through. + assertEquals( + parentalControlsBrowserProxy.getCallCount( + 'showAddSupervisionDialog'), + 0); + }); + + test( + 'parental controls page re-enabled when it comes back online', () => { + // Simulate going offline + window.dispatchEvent(new CustomEvent('offline')); + // Setup button is shown but disabled. + const setupButton = assert( + parentalControlsPage.$$('#parental-controls-item cr-button')); + assertTrue(setupButton.disabled); + + // Come back online. + window.dispatchEvent(new CustomEvent('online')); + // Setup button is shown and re-enabled. + assertFalse(setupButton.disabled); + }); + }); + + + suite('Chrome OS parental controls page child account tests', function() { + /** @type {ParentalControlsPage} */ + let parentalControlsPage = null; + + /** @type {TestParentalControlsBrowserProxy} */ + let parentalControlsBrowserProxy = null; + + suiteSetup(function() { + loadTimeData.overrideValues({ + // Simulate parental controls. + showParentalControls: true, + // Simulate child account. + isChild: true, + }); + }); + + setup(async function() { + parentalControlsBrowserProxy = new TestParentalControlsBrowserProxy(); + parental_controls.BrowserProxyImpl.instance_ = + parentalControlsBrowserProxy; + + PolymerTest.clearBody(); + parentalControlsPage = + document.createElement('settings-parental-controls-page'); + parentalControlsPage.pageVisibility = settings.pageVisibility; + document.body.appendChild(parentalControlsPage); + Polymer.dom.flush(); + }); + + teardown(function() { + parentalControlsPage.remove(); + }); + + test('parental controls page child view shown to child account', () => { + // Get the link row. + const linkRow = assert( + parentalControlsPage.$$('#parental-controls-item cr-link-row')); + + linkRow.click(); + // Ensure that the request to launch FLH went through. + assertEquals( + parentalControlsBrowserProxy.getCallCount( + 'launchFamilyLinkSettings'), + 1); + }); }); } });
diff --git a/chromecast/browser/BUILD.gn b/chromecast/browser/BUILD.gn index 45ae4458..90f3537 100644 --- a/chromecast/browser/BUILD.gn +++ b/chromecast/browser/BUILD.gn
@@ -144,6 +144,7 @@ ":browser_buildflags", "//base", "//base:i18n", + "//base/util/memory_pressure", "//cc", "//chromecast:chromecast_buildflags", "//chromecast/activity", @@ -229,8 +230,8 @@ if (is_linux) { sources += [ - "cast_memory_pressure_monitor.cc", - "cast_memory_pressure_monitor.h", + "cast_system_memory_pressure_evaluator.cc", + "cast_system_memory_pressure_evaluator.h", "memory_pressure_controller_impl.cc", "memory_pressure_controller_impl.h", ]
diff --git a/chromecast/browser/cast_browser_main_parts.cc b/chromecast/browser/cast_browser_main_parts.cc index 2895cbc..e2aefb0 100644 --- a/chromecast/browser/cast_browser_main_parts.cc +++ b/chromecast/browser/cast_browser_main_parts.cc
@@ -36,7 +36,7 @@ #include "chromecast/browser/cast_browser_process.h" #include "chromecast/browser/cast_content_browser_client.h" #include "chromecast/browser/cast_feature_list_creator.h" -#include "chromecast/browser/cast_memory_pressure_monitor.h" +#include "chromecast/browser/cast_system_memory_pressure_evaluator.h" #include "chromecast/browser/devtools/remote_debugging_server.h" #include "chromecast/browser/media/media_caps_impl.h" #include "chromecast/browser/metrics/cast_browser_metrics.h" @@ -485,7 +485,10 @@ void CastBrowserMainParts::PreMainMessageLoopRun() { #if !defined(OS_ANDROID) && !defined(OS_FUCHSIA) - memory_pressure_monitor_.reset(new CastMemoryPressureMonitor()); + memory_pressure_monitor_.reset(new util::MultiSourceMemoryPressureMonitor()); + memory_pressure_monitor_->SetSystemEvaluator( + std::make_unique<CastSystemMemoryPressureEvaluator>( + memory_pressure_monitor_->CreateVoter())); // base::Unretained() is safe because the browser client will outlive any // component in the browser; this factory method will not be called after
diff --git a/chromecast/browser/cast_browser_main_parts.h b/chromecast/browser/cast_browser_main_parts.h index c20516f..251a177 100644 --- a/chromecast/browser/cast_browser_main_parts.h +++ b/chromecast/browser/cast_browser_main_parts.h
@@ -9,6 +9,7 @@ #include "base/macros.h" #include "base/memory/ref_counted.h" +#include "base/util/memory_pressure/multi_source_memory_pressure_monitor.h" #include "build/build_config.h" #include "build/buildflag.h" #include "chromecast/chromecast_buildflags.h" @@ -34,7 +35,6 @@ #endif // defined(USE_AURA) namespace chromecast { -class CastMemoryPressureMonitor; class WaylandServerController; #if defined(USE_AURA) @@ -112,7 +112,8 @@ media_pipeline_backend_manager_; #if !defined(OS_ANDROID) && !defined(OS_FUCHSIA) - std::unique_ptr<CastMemoryPressureMonitor> memory_pressure_monitor_; + std::unique_ptr<util::MultiSourceMemoryPressureMonitor> + memory_pressure_monitor_; #endif // !defined(OS_ANDROID) && !defined(OS_FUCHSIA) #if BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
diff --git a/chromecast/browser/cast_memory_pressure_monitor.cc b/chromecast/browser/cast_memory_pressure_monitor.cc deleted file mode 100644 index f8af2818..0000000 --- a/chromecast/browser/cast_memory_pressure_monitor.cc +++ /dev/null
@@ -1,139 +0,0 @@ -// Copyright 2016 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 "chromecast/browser/cast_memory_pressure_monitor.h" - -#include <algorithm> - -#include "base/bind.h" -#include "base/command_line.h" -#include "base/location.h" -#include "base/metrics/histogram_macros.h" -#include "base/process/process_metrics.h" -#include "base/strings/string_number_conversions.h" -#include "base/threading/thread_task_runner_handle.h" -#include "chromecast/base/chromecast_switches.h" -#include "chromecast/base/metrics/cast_metrics_helper.h" - -namespace chromecast { -namespace { - -// Memory thresholds (as fraction of total memory) for memory pressure levels. -// See more detailed description of pressure heuristic in PollPressureLevel. -// TODO(halliwell): tune thresholds based on data. -constexpr float kCriticalMemoryFraction = 0.25f; -constexpr float kModerateMemoryFraction = 0.4f; - -// Memory thresholds in MB for the simple heuristic based on 'free' memory. -constexpr int kCriticalFreeMemoryKB = 20 * 1024; -constexpr int kModerateFreeMemoryKB = 30 * 1024; - -constexpr int kPollingIntervalMS = 5000; - -int GetSystemReservedKb() { - int rtn_kb_ = 0; - const base::CommandLine* command_line(base::CommandLine::ForCurrentProcess()); - base::StringToInt( - command_line->GetSwitchValueASCII(switches::kMemPressureSystemReservedKb), - &rtn_kb_); - DCHECK(rtn_kb_ >= 0); - return std::max(rtn_kb_, 0); -} - -} // namespace - -CastMemoryPressureMonitor::CastMemoryPressureMonitor() - : critical_memory_fraction_( - GetSwitchValueDouble(switches::kCastMemoryPressureCriticalFraction, - kCriticalMemoryFraction)), - moderate_memory_fraction_( - GetSwitchValueDouble(switches::kCastMemoryPressureModerateFraction, - kModerateMemoryFraction)), - current_level_(base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE), - system_reserved_kb_(GetSystemReservedKb()), - dispatch_callback_( - base::Bind(&base::MemoryPressureListener::NotifyMemoryPressure)), - weak_ptr_factory_(this) { - PollPressureLevel(); -} - -CastMemoryPressureMonitor::~CastMemoryPressureMonitor() {} - -CastMemoryPressureMonitor::MemoryPressureLevel -CastMemoryPressureMonitor::GetCurrentPressureLevel() const { - return current_level_; -} - -void CastMemoryPressureMonitor::PollPressureLevel() { - MemoryPressureLevel level = - base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE; - - base::SystemMemoryInfoKB info; - if (!base::GetSystemMemoryInfo(&info)) { - LOG(ERROR) << "GetSystemMemoryInfo failed"; - } else if (system_reserved_kb_ != 0 || info.available != 0) { - // Preferred memory pressure heuristic: - // 1. Use /proc/meminfo's MemAvailable if possible, fall back to estimate - // of free + buffers + cached otherwise. - const int total_available = (info.available != 0) - ? info.available - : (info.free + info.buffers + info.cached); - - // 2. Allow some memory to be 'reserved' on command line. - const int available = total_available - system_reserved_kb_; - const int total = info.total - system_reserved_kb_; - DCHECK_GT(total, 0); - const float ratio = available / static_cast<float>(total); - - if (ratio < critical_memory_fraction_) - level = base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL; - else if (ratio < moderate_memory_fraction_) - level = base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE; - } else { - // Backup method purely using 'free' memory. It may generate more - // pressure events than necessary, since more memory may actually be free. - if (info.free < kCriticalFreeMemoryKB) - level = base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL; - else if (info.free < kModerateFreeMemoryKB) - level = base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE; - } - - UpdateMemoryPressureLevel(level); - - UMA_HISTOGRAM_PERCENTAGE("Platform.MeminfoMemFree", - (info.free * 100.0) / info.total); - UMA_HISTOGRAM_CUSTOM_COUNTS("Platform.Cast.MeminfoMemFreeDerived2", - (info.free + info.buffers + info.cached) / 1024, - 1, 2000, 100); - if (info.available != 0) { - UMA_HISTOGRAM_CUSTOM_COUNTS("Platform.Cast.MeminfoMemAvailable2", - info.available / 1024, 1, 2000, 100); - } - - base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( - FROM_HERE, - base::BindOnce(&CastMemoryPressureMonitor::PollPressureLevel, - weak_ptr_factory_.GetWeakPtr()), - base::TimeDelta::FromMilliseconds(kPollingIntervalMS)); -} - -void CastMemoryPressureMonitor::UpdateMemoryPressureLevel( - MemoryPressureLevel new_level) { - if (new_level != base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE) - dispatch_callback_.Run(new_level); - - if (new_level == current_level_) - return; - - current_level_ = new_level; - metrics::CastMetricsHelper::GetInstance()->RecordApplicationEventWithValue( - "Memory.Pressure.LevelChange", new_level); -} - -void CastMemoryPressureMonitor::SetDispatchCallback( - const DispatchCallback& callback) { - dispatch_callback_ = callback; -} - -} // namespace chromecast
diff --git a/chromecast/browser/cast_memory_pressure_monitor.h b/chromecast/browser/cast_memory_pressure_monitor.h deleted file mode 100644 index 14262a0..0000000 --- a/chromecast/browser/cast_memory_pressure_monitor.h +++ /dev/null
@@ -1,42 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CHROMECAST_BROWSER_CAST_MEMORY_PRESSURE_MONITOR_H_ -#define CHROMECAST_BROWSER_CAST_MEMORY_PRESSURE_MONITOR_H_ - -#include "base/macros.h" -#include "base/memory/memory_pressure_monitor.h" -#include "base/memory/weak_ptr.h" - -namespace chromecast { - -// Memory pressure monitor for Cast: polls for current memory -// usage periodically and sends memory pressure notifications. -class CastMemoryPressureMonitor : public base::MemoryPressureMonitor { - public: - CastMemoryPressureMonitor(); - ~CastMemoryPressureMonitor() override; - - // base::MemoryPressureMonitor implementation: - MemoryPressureLevel GetCurrentPressureLevel() const override; - void SetDispatchCallback(const DispatchCallback& callback) override; - - private: - void PollPressureLevel(); - void UpdateMemoryPressureLevel(MemoryPressureLevel new_level); - - const float critical_memory_fraction_; - const float moderate_memory_fraction_; - - MemoryPressureLevel current_level_; - const int system_reserved_kb_; - DispatchCallback dispatch_callback_; - base::WeakPtrFactory<CastMemoryPressureMonitor> weak_ptr_factory_; - - DISALLOW_COPY_AND_ASSIGN(CastMemoryPressureMonitor); -}; - -} // namespace chromecast - -#endif // CHROMECAST_BROWSER_CAST_MEMORY_PRESSURE_MONITOR_H_
diff --git a/chromecast/browser/cast_system_memory_pressure_evaluator.cc b/chromecast/browser/cast_system_memory_pressure_evaluator.cc new file mode 100644 index 0000000..24772fb --- /dev/null +++ b/chromecast/browser/cast_system_memory_pressure_evaluator.cc
@@ -0,0 +1,131 @@ +// Copyright 2016 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 "chromecast/browser/cast_system_memory_pressure_evaluator.h" + +#include <algorithm> + +#include "base/bind.h" +#include "base/command_line.h" +#include "base/location.h" +#include "base/metrics/histogram_macros.h" +#include "base/process/process_metrics.h" +#include "base/strings/string_number_conversions.h" +#include "base/threading/thread_task_runner_handle.h" +#include "chromecast/base/chromecast_switches.h" +#include "chromecast/base/metrics/cast_metrics_helper.h" + +namespace chromecast { +namespace { + +// Memory thresholds (as fraction of total memory) for memory pressure levels. +// See more detailed description of pressure heuristic in PollPressureLevel. +// TODO(halliwell): tune thresholds based on data. +constexpr float kCriticalMemoryFraction = 0.25f; +constexpr float kModerateMemoryFraction = 0.4f; + +// Memory thresholds in MB for the simple heuristic based on 'free' memory. +constexpr int kCriticalFreeMemoryKB = 20 * 1024; +constexpr int kModerateFreeMemoryKB = 30 * 1024; + +constexpr int kPollingIntervalMS = 5000; + +int GetSystemReservedKb() { + int rtn_kb_ = 0; + const base::CommandLine* command_line(base::CommandLine::ForCurrentProcess()); + base::StringToInt( + command_line->GetSwitchValueASCII(switches::kMemPressureSystemReservedKb), + &rtn_kb_); + DCHECK(rtn_kb_ >= 0); + return std::max(rtn_kb_, 0); +} + +} // namespace + +CastSystemMemoryPressureEvaluator::CastSystemMemoryPressureEvaluator( + std::unique_ptr<util::MemoryPressureVoter> voter) + : util::SystemMemoryPressureEvaluator(std::move(voter)), + critical_memory_fraction_( + GetSwitchValueDouble(switches::kCastMemoryPressureCriticalFraction, + kCriticalMemoryFraction)), + moderate_memory_fraction_( + GetSwitchValueDouble(switches::kCastMemoryPressureModerateFraction, + kModerateMemoryFraction)), + system_reserved_kb_(GetSystemReservedKb()), + weak_ptr_factory_(this) { + PollPressureLevel(); +} + +CastSystemMemoryPressureEvaluator::~CastSystemMemoryPressureEvaluator() = + default; + +void CastSystemMemoryPressureEvaluator::PollPressureLevel() { + base::MemoryPressureListener::MemoryPressureLevel level = + base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE; + + base::SystemMemoryInfoKB info; + if (!base::GetSystemMemoryInfo(&info)) { + LOG(ERROR) << "GetSystemMemoryInfo failed"; + } else if (system_reserved_kb_ != 0 || info.available != 0) { + // Preferred memory pressure heuristic: + // 1. Use /proc/meminfo's MemAvailable if possible, fall back to estimate + // of free + buffers + cached otherwise. + const int total_available = (info.available != 0) + ? info.available + : (info.free + info.buffers + info.cached); + + // 2. Allow some memory to be 'reserved' on command line. + const int available = total_available - system_reserved_kb_; + const int total = info.total - system_reserved_kb_; + DCHECK_GT(total, 0); + const float ratio = available / static_cast<float>(total); + + if (ratio < critical_memory_fraction_) + level = base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL; + else if (ratio < moderate_memory_fraction_) + level = base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE; + } else { + // Backup method purely using 'free' memory. It may generate more + // pressure events than necessary, since more memory may actually be free. + if (info.free < kCriticalFreeMemoryKB) + level = base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL; + else if (info.free < kModerateFreeMemoryKB) + level = base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE; + } + + UpdateMemoryPressureLevel(level); + + UMA_HISTOGRAM_PERCENTAGE("Platform.MeminfoMemFree", + (info.free * 100.0) / info.total); + UMA_HISTOGRAM_CUSTOM_COUNTS("Platform.Cast.MeminfoMemFreeDerived2", + (info.free + info.buffers + info.cached) / 1024, + 1, 2000, 100); + if (info.available != 0) { + UMA_HISTOGRAM_CUSTOM_COUNTS("Platform.Cast.MeminfoMemAvailable2", + info.available / 1024, 1, 2000, 100); + } + + base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( + FROM_HERE, + base::BindOnce(&CastSystemMemoryPressureEvaluator::PollPressureLevel, + weak_ptr_factory_.GetWeakPtr()), + base::TimeDelta::FromMilliseconds(kPollingIntervalMS)); +} + +void CastSystemMemoryPressureEvaluator::UpdateMemoryPressureLevel( + base::MemoryPressureListener::MemoryPressureLevel new_level) { + auto old_vote = current_vote(); + SetCurrentVote(new_level); + + SendCurrentVote(/* notify = */ current_vote() != + base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE); + + if (old_vote == current_vote()) + return; + + metrics::CastMetricsHelper::GetInstance()->RecordApplicationEventWithValue( + "Memory.Pressure.LevelChange", new_level); +} + +} // namespace chromecast
diff --git a/chromecast/browser/cast_system_memory_pressure_evaluator.h b/chromecast/browser/cast_system_memory_pressure_evaluator.h new file mode 100644 index 0000000..333e7c73 --- /dev/null +++ b/chromecast/browser/cast_system_memory_pressure_evaluator.h
@@ -0,0 +1,39 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROMECAST_BROWSER_CAST_SYSTEM_MEMORY_PRESSURE_EVALUATOR_H_ +#define CHROMECAST_BROWSER_CAST_SYSTEM_MEMORY_PRESSURE_EVALUATOR_H_ + +#include "base/macros.h" +#include "base/memory/weak_ptr.h" +#include "base/util/memory_pressure/system_memory_pressure_evaluator.h" + +namespace chromecast { + +// Memory pressure evaluator for Cast: polls for current memory +// usage periodically and sends memory pressure notifications. +class CastSystemMemoryPressureEvaluator + : public util::SystemMemoryPressureEvaluator { + public: + explicit CastSystemMemoryPressureEvaluator( + std::unique_ptr<util::MemoryPressureVoter> voter); + ~CastSystemMemoryPressureEvaluator() override; + + private: + void PollPressureLevel(); + void UpdateMemoryPressureLevel( + base::MemoryPressureListener::MemoryPressureLevel new_level); + + const float critical_memory_fraction_; + const float moderate_memory_fraction_; + + const int system_reserved_kb_; + base::WeakPtrFactory<CastSystemMemoryPressureEvaluator> weak_ptr_factory_; + + DISALLOW_COPY_AND_ASSIGN(CastSystemMemoryPressureEvaluator); +}; + +} // namespace chromecast + +#endif // CHROMECAST_BROWSER_CAST_SYSTEM_MEMORY_PRESSURE_EVALUATOR_H_
diff --git a/chromeos/constants/chromeos_features.cc b/chromeos/constants/chromeos_features.cc index d6dda742..24a97e940 100644 --- a/chromeos/constants/chromeos_features.cc +++ b/chromeos/constants/chromeos_features.cc
@@ -33,7 +33,7 @@ // Enables or disables more aggressive filtering out of Bluetooth devices with // "appearances" that are less likely to be pairable or useful. const base::Feature kBluetoothAggressiveAppearanceFilter{ - "BluetoothAggressiveAppearanceFilter", base::FEATURE_DISABLED_BY_DEFAULT}; + "BluetoothAggressiveAppearanceFilter", base::FEATURE_ENABLED_BY_DEFAULT}; // Feature containing param to block provided long term keys. const base::Feature kBlueZLongTermKeyBlocklist{ @@ -52,12 +52,7 @@ const base::Feature kCrostiniGpuSupport{"CrostiniGpuSupport", base::FEATURE_DISABLED_BY_DEFAULT}; -// Enables or disables Crostini support for usb mounting. -const base::Feature kCrostiniUsbSupport{"CrostiniUsbSupport", - base::FEATURE_ENABLED_BY_DEFAULT}; - // Enables or disables Crostini usb mounting for unsupported devices. -// To enable, CrostiniUsbSupport must also be enabled. const base::Feature kCrostiniUsbAllowUnsupported{ "CrostiniUsbAllowUnsupported", base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/chromeos/constants/chromeos_features.h b/chromeos/constants/chromeos_features.h index b01393c..f81cca7 100644 --- a/chromeos/constants/chromeos_features.h +++ b/chromeos/constants/chromeos_features.h
@@ -32,8 +32,6 @@ COMPONENT_EXPORT(CHROMEOS_CONSTANTS) extern const base::Feature kCrostiniGpuSupport; COMPONENT_EXPORT(CHROMEOS_CONSTANTS) -extern const base::Feature kCrostiniUsbSupport; -COMPONENT_EXPORT(CHROMEOS_CONSTANTS) extern const base::Feature kCrostiniUsbAllowUnsupported; COMPONENT_EXPORT(CHROMEOS_CONSTANTS) extern const base::Feature kCrostiniWebUIInstaller;
diff --git a/chromeos/dbus/cryptohome/fake_cryptohome_client_unittest.cc b/chromeos/dbus/cryptohome/fake_cryptohome_client_unittest.cc index f7e81a6..b41d7e9 100644 --- a/chromeos/dbus/cryptohome/fake_cryptohome_client_unittest.cc +++ b/chromeos/dbus/cryptohome/fake_cryptohome_client_unittest.cc
@@ -57,7 +57,8 @@ constexpr char kChallenge[] = "challenge"; TestObserver observer; - ScopedObserver<CryptohomeClient, TestObserver> scoped_observer(&observer); + ScopedObserver<CryptohomeClient, CryptohomeClient::Observer> scoped_observer( + &observer); scoped_observer.Add(&fake_cryptohome_client_); cryptohome::AccountIdentifier cryptohome_id;
diff --git a/chromeos/dbus/fake_gnubby_client_unittest.cc b/chromeos/dbus/fake_gnubby_client_unittest.cc index 741269b..f7f8c43 100644 --- a/chromeos/dbus/fake_gnubby_client_unittest.cc +++ b/chromeos/dbus/fake_gnubby_client_unittest.cc
@@ -42,7 +42,8 @@ TEST_F(FakeGnubbyClientTest, NotificationSent) { TestObserver observer; - ScopedObserver<GnubbyClient, TestObserver> scoped_observer(&observer); + ScopedObserver<GnubbyClient, GnubbyClient::Observer> scoped_observer( + &observer); scoped_observer.Add(&fake_gnubby_client_); EXPECT_EQ(fake_gnubby_client_.calls(), 0);
diff --git a/chromeos/services/assistant/assistant_manager_service_impl.cc b/chromeos/services/assistant/assistant_manager_service_impl.cc index fc44dee..6955836 100644 --- a/chromeos/services/assistant/assistant_manager_service_impl.cc +++ b/chromeos/services/assistant/assistant_manager_service_impl.cc
@@ -1608,14 +1608,22 @@ } void AssistantManagerServiceImpl::UpdateMediaState() { - if (media_session_info_ptr_ && - media_session_info_ptr_->state == - media_session::mojom::MediaSessionInfo::SessionState::kSuspended && - media_session_info_ptr_->playback_state == - media_session::mojom::MediaPlaybackState::kPlaying) { - // It is a intermediate state caused by some providers override the playback - // state. We considered it as invalid and skip reporting the state. - return; + if (media_session_info_ptr_) { + if (media_session_info_ptr_->is_sensitive) { + // Do not update media state if the session is considered to be sensitive + // (off the record profile). + return; + } + + if (media_session_info_ptr_->state == + media_session::mojom::MediaSessionInfo::SessionState::kSuspended && + media_session_info_ptr_->playback_state == + media_session::mojom::MediaPlaybackState::kPlaying) { + // It is an intermediate state caused by some providers override the + // playback state. We considered it as invalid and skip reporting the + // state. + return; + } } // MediaSession Integrated providers (include the libassistant internal
diff --git a/chromeos/services/assistant/assistant_state_proxy.cc b/chromeos/services/assistant/assistant_state_proxy.cc index 375726b..98ab7c2 100644 --- a/chromeos/services/assistant/assistant_state_proxy.cc +++ b/chromeos/services/assistant/assistant_state_proxy.cc
@@ -54,14 +54,6 @@ UpdateAssistantStatus(state); } -void AssistantStateProxy::OnAssistantSettingsEnabled(bool enabled) { - UpdateSettingsEnabled(enabled); -} - -void AssistantStateProxy::OnAssistantHotwordEnabled(bool enabled) { - UpdateHotwordEnabled(enabled); -} - void AssistantStateProxy::OnAssistantFeatureAllowedChanged( ash::mojom::AssistantAllowedState state) { UpdateFeatureAllowedState(state);
diff --git a/chromeos/services/assistant/assistant_state_proxy.h b/chromeos/services/assistant/assistant_state_proxy.h index 9a14b171..977b948 100644 --- a/chromeos/services/assistant/assistant_state_proxy.h +++ b/chromeos/services/assistant/assistant_state_proxy.h
@@ -43,8 +43,6 @@ // AssistantStateObserver: void OnAssistantStatusChanged( ash::mojom::VoiceInteractionState state) override; - void OnAssistantSettingsEnabled(bool enabled) override; - void OnAssistantHotwordEnabled(bool enabled) override; void OnAssistantFeatureAllowedChanged( ash::mojom::AssistantAllowedState state) override; void OnLocaleChanged(const std::string& locale) override;
diff --git a/chromeos/services/assistant/public/cpp/assistant_prefs.cc b/chromeos/services/assistant/public/cpp/assistant_prefs.cc index a04eb43..5331c80e 100644 --- a/chromeos/services/assistant/public/cpp/assistant_prefs.cc +++ b/chromeos/services/assistant/public/cpp/assistant_prefs.cc
@@ -27,11 +27,18 @@ // This preference should only be changed in browser. const char kAssistantDisabledByPolicy[] = "settings.assistant.disabled_by_policy"; +// A preference that indicates the user has enabled the Assistant services. +const char kAssistantEnabled[] = "settings.voice_interaction.enabled"; // A preference that indicates the user has chosen to always keep hotword // listening on even without DSP support. // This preference should only be changed in browser. const char kAssistantHotwordAlwaysOn[] = "settings.voice_interaction.hotword.always_on"; +// A preference that indicates the user has allowed the Assistant services +// to use hotword listening. This preference can be overridden by the +// VoiceInteractionHotwordEnabled administrator policy. +const char kAssistantHotwordEnabled[] = + "settings.voice_interaction.hotword.enabled"; // A preference that indicates whether microphone should be open when the // Assistant launches. // This preference should only be changed in browser. @@ -50,8 +57,11 @@ PrefRegistry::PUBLIC); registry->RegisterBooleanPref(kAssistantDisabledByPolicy, false, PrefRegistry::PUBLIC); + registry->RegisterBooleanPref(kAssistantEnabled, false, PrefRegistry::PUBLIC); registry->RegisterBooleanPref(kAssistantHotwordAlwaysOn, false, PrefRegistry::PUBLIC); + registry->RegisterBooleanPref(kAssistantHotwordEnabled, false, + PrefRegistry::PUBLIC); registry->RegisterBooleanPref(kAssistantLaunchWithMicOpen, false, PrefRegistry::PUBLIC); registry->RegisterBooleanPref(kAssistantNotificationEnabled, true, @@ -68,7 +78,9 @@ registry->RegisterForeignPref(kAssistantConsentStatus); registry->RegisterForeignPref(kAssistantContextEnabled); registry->RegisterForeignPref(kAssistantDisabledByPolicy); + registry->RegisterForeignPref(kAssistantEnabled); registry->RegisterForeignPref(kAssistantHotwordAlwaysOn); + registry->RegisterForeignPref(kAssistantHotwordEnabled); registry->RegisterForeignPref(kAssistantLaunchWithMicOpen); registry->RegisterForeignPref(kAssistantNotificationEnabled); }
diff --git a/chromeos/services/assistant/public/cpp/assistant_prefs.h b/chromeos/services/assistant/public/cpp/assistant_prefs.h index 0b22903..4eb4f7e 100644 --- a/chromeos/services/assistant/public/cpp/assistant_prefs.h +++ b/chromeos/services/assistant/public/cpp/assistant_prefs.h
@@ -33,7 +33,9 @@ extern const char kAssistantConsentStatus[]; extern const char kAssistantContextEnabled[]; extern const char kAssistantDisabledByPolicy[]; +extern const char kAssistantEnabled[]; extern const char kAssistantHotwordAlwaysOn[]; +extern const char kAssistantHotwordEnabled[]; extern const char kAssistantLaunchWithMicOpen[]; extern const char kAssistantNotificationEnabled[];
diff --git a/chromeos/services/assistant/service_unittest.cc b/chromeos/services/assistant/service_unittest.cc index c507719..ee45e5f 100644 --- a/chromeos/services/assistant/service_unittest.cc +++ b/chromeos/services/assistant/service_unittest.cc
@@ -46,7 +46,9 @@ class FakePrefConnectionDelegate : public PrefConnectionDelegate { public: FakePrefConnectionDelegate() - : pref_service_(std::make_unique<TestingPrefServiceSimple>()) {} + : pref_service_(std::make_unique<TestingPrefServiceSimple>()) { + prefs::RegisterProfilePrefsForBrowser(pref_service_->registry()); + } ~FakePrefConnectionDelegate() override = default; // PrefConnectionDelegate overrides: @@ -54,7 +56,6 @@ mojo::PendingRemote<::prefs::mojom::PrefStoreConnector> connector, scoped_refptr<PrefRegistrySimple> pref_registry, ::prefs::ConnectCallback callback) override { - prefs::RegisterProfilePrefsForBrowser(pref_service_->registry()); callback.Run(std::move(pref_service_)); } @@ -207,11 +208,14 @@ assistant_state()->NotifyArcPlayStoreEnabledChanged(true); assistant_state()->NotifyFeatureAllowed( ash::mojom::AssistantAllowedState::ALLOWED); - assistant_state()->NotifyHotwordEnabled(true); assistant_state()->NotifyLocaleChanged("en_US"); - assistant_state()->NotifySettingsEnabled(true); auto fake_pref_connection = std::make_unique<FakePrefConnectionDelegate>(); + pref_service_ = fake_pref_connection->pref_service(); + + pref_service()->SetBoolean(prefs::kAssistantEnabled, true); + pref_service()->SetBoolean(prefs::kAssistantHotwordEnabled, true); + fake_pref_connection_ = fake_pref_connection.get(); service_ = std::make_unique<Service>(remote_service_.BindNewPipeAndPassReceiver(), @@ -254,6 +258,8 @@ ash::AssistantState* assistant_state() { return &assistant_state_; } + PrefService* pref_service() { return pref_service_; } + base::TestMockTimeTaskRunner* mock_task_runner() { return mock_task_runner_.get(); } @@ -271,6 +277,7 @@ FakeDeviceActions fake_device_actions_; FakePrefConnectionDelegate* fake_pref_connection_; + PrefService* pref_service_; network::TestURLLoaderFactory url_loader_factory_; scoped_refptr<network::SharedURLLoaderFactory> shared_url_loader_factory_; @@ -332,7 +339,7 @@ EXPECT_EQ(assistant_manager()->GetState(), AssistantManagerService::State::RUNNING); - assistant_state()->NotifySettingsEnabled(false); + pref_service()->SetBoolean(prefs::kAssistantEnabled, false); base::RunLoop().RunUntilIdle(); EXPECT_EQ(assistant_manager()->GetState(), @@ -342,7 +349,7 @@ TEST_F(AssistantServiceTest, StopDelayedIfAssistantNotFinishedStarting) { // Test is set up as |State::STARTED|, turning settings off will trigger // logic to try to stop it. - assistant_state()->NotifySettingsEnabled(false); + pref_service()->SetBoolean(prefs::kAssistantEnabled, false); EXPECT_EQ(assistant_manager()->GetState(), AssistantManagerService::State::STARTED);
diff --git a/components/arc/arc_prefs.cc b/components/arc/arc_prefs.cc index 8deffe5..125a94e 100644 --- a/components/arc/arc_prefs.cc +++ b/components/arc/arc_prefs.cc
@@ -124,13 +124,6 @@ // engagement time was last recorded. Accumulated results are sent to UMA if day // ID has changed. const char kEngagementTimeDayId[] = "arc.metrics.engagement_time.day_id"; -// A preference that indicates the user has enabled voice interaction services. -const char kVoiceInteractionEnabled[] = "settings.voice_interaction.enabled"; -// A preference that indicates the user has allowed voice interaction services -// to use hotword listening. This preference can be overridden by the -// VoiceInteractionHotwordEnabled administrator policy. -const char kVoiceInteractionHotwordEnabled[] = - "settings.voice_interaction.hotword.enabled"; // ======== LOCAL STATE PREFS ======== @@ -188,8 +181,6 @@ registry->RegisterTimeDeltaPref(kEngagementTimeForeground, base::TimeDelta()); registry->RegisterStringPref(kEngagementTimeOsVersion, ""); registry->RegisterTimeDeltaPref(kEngagementTimeTotal, base::TimeDelta()); - registry->RegisterBooleanPref(kVoiceInteractionEnabled, false); - registry->RegisterBooleanPref(kVoiceInteractionHotwordEnabled, false); } } // namespace prefs
diff --git a/components/arc/arc_prefs.h b/components/arc/arc_prefs.h index 29f921b..65654bf 100644 --- a/components/arc/arc_prefs.h +++ b/components/arc/arc_prefs.h
@@ -46,9 +46,6 @@ ARC_EXPORT extern const char kEngagementTimeForeground[]; ARC_EXPORT extern const char kEngagementTimeOsVersion[]; ARC_EXPORT extern const char kEngagementTimeTotal[]; -// TODO(b/110211045): Move Assistant related prefs to ash. -ARC_EXPORT extern const char kVoiceInteractionEnabled[]; -ARC_EXPORT extern const char kVoiceInteractionHotwordEnabled[]; // Local state prefs in lexicographical order. ARC_EXPORT extern const char kStabilityMetrics[];
diff --git a/components/autofill/core/browser/data_model/phone_number_unittest.cc b/components/autofill/core/browser/data_model/phone_number_unittest.cc index 4e680da..29456dcf 100644 --- a/components/autofill/core/browser/data_model/phone_number_unittest.cc +++ b/components/autofill/core/browser/data_model/phone_number_unittest.cc
@@ -231,8 +231,8 @@ ASCIIToUTF16("123"))); // Incorrect city code. EXPECT_TRUE(number4.SetInfo(AutofillType(PHONE_HOME_NUMBER), ASCIIToUTF16("2345680"))); - EXPECT_FALSE(number4.ParseNumber(profile, "en-US", &parsed_phone)); - EXPECT_EQ(base::string16(), parsed_phone); + EXPECT_TRUE(number4.ParseNumber(profile, "en-US", &parsed_phone)); + EXPECT_EQ(ASCIIToUTF16("1232345680"), parsed_phone); PhoneNumber::PhoneCombineHelper number5; EXPECT_TRUE(number5.SetInfo(AutofillType(PHONE_HOME_CITY_AND_NUMBER),
diff --git a/components/autofill/core/browser/geo/phone_number_i18n_unittest.cc b/components/autofill/core/browser/geo/phone_number_i18n_unittest.cc index afcf07b..4f4e36e 100644 --- a/components/autofill/core/browser/geo/phone_number_i18n_unittest.cc +++ b/components/autofill/core/browser/geo/phone_number_i18n_unittest.cc
@@ -101,14 +101,14 @@ ParseNumberTestCase{false, "1234", "US"}, // Too long strings should not be parsed. ParseNumberTestCase{false, GenerateTooLongString(), "US"}, - // Test for string with exactly 7 digits. - // Still a possible number with unknown("ZZ") deduced region. - ParseNumberTestCase{true, "17134567", "US", "7134567", "", "1", "ZZ"}, + // Test for string with exactly 7 digits. It is too short. + // Should fail parsing in US. + ParseNumberTestCase{false, "17134567", "US"}, // Does not have area code, but still a possible number with // unknown("ZZ") deduced region. ParseNumberTestCase{true, "7134567", "US", "7134567", "", "", "ZZ"}, // Valid Canadian toll-free number. - ParseNumberTestCase{true, "3101234", "US", "3101234", "", "", "CA"}, + ParseNumberTestCase{true, "3101234", "CA", "3101234", "", "", "ZZ"}, // Test for string with greater than 7 digits but less than 10 digits. // Should fail parsing in US. ParseNumberTestCase{false, "123456789", "US"}, @@ -132,8 +132,10 @@ ParseNumberTestCase{false, "1\xC0", "US"}, // Test for string with exactly 10 digits. // Should give back phone number and city code. - // This one going to fail because of the incorrect area code. - ParseNumberTestCase{false, "1234567890", "US"}, + // This one has an incorrect area code but could still be a possible + // number with unknown("ZZ") deducted region. + ParseNumberTestCase{true, "1234567890", "US", "1234567890", "", "", + "ZZ"}, // This is actually not a valid number because the first number after // area code is 1. But it's still a possible number, just with deduced // country set to unknown("ZZ"). @@ -401,8 +403,8 @@ // A US phone with the country code is correctly formatted as an US // number. PhoneNumberFormatCase("+1 415-555-5555", "MX", "+1 415-555-5555"), - // "+52 1 415 555 5555" is a valid number for Mexico, - PhoneNumberFormatCase("1 415-555-5555", "MX", "+52 1 415 555 5555"), + // "+52 415 555 5555" is a valid number for Mexico, + PhoneNumberFormatCase("1 415-555-5555", "MX", "+52 415 555 5555"), // Without a country code, the phone is formatted for the profile's // country. PhoneNumberFormatCase("415-555-5555", "MX", "+52 415 555 5555"),
diff --git a/components/autofill/core/browser/ui/label_formatter_utils_unittest.cc b/components/autofill/core/browser/ui/label_formatter_utils_unittest.cc index 13268e2..701d6ac 100644 --- a/components/autofill/core/browser/ui/label_formatter_utils_unittest.cc +++ b/components/autofill/core/browser/ui/label_formatter_utils_unittest.cc
@@ -189,7 +189,7 @@ AutofillProfile profile2 = AutofillProfile(base::GenerateGUID(), test::kEmptyOrigin); test::SetProfileInfo(&profile2, "Maria", "Margaretha", "Winckelmann", "", "", - "", "", "", "", "", "DE", "4903045042823"); + "", "", "", "", "", "DE", "493045042823"); AutofillProfile profile3 = AutofillProfile(base::GenerateGUID(), test::kEmptyOrigin); test::SetProfileInfo(&profile3, "Maria", "Margaretha", "Winckelmann", "", "",
diff --git a/components/autofill/core/common/autofill_payments_features.cc b/components/autofill/core/common/autofill_payments_features.cc index 72a9f33..6fd6490 100644 --- a/components/autofill/core/common/autofill_payments_features.cc +++ b/components/autofill/core/common/autofill_payments_features.cc
@@ -50,7 +50,7 @@ const base::Feature kAutofillDoNotMigrateUnsupportedLocalCards{ "AutofillDoNotMigrateUnsupportedLocalCards", - base::FEATURE_DISABLED_BY_DEFAULT}; + base::FEATURE_ENABLED_BY_DEFAULT}; // Controls whether the credit card downstream keyboard accessory shows // the Google Pay logo animation on iOS.
diff --git a/components/download/internal/common/BUILD.gn b/components/download/internal/common/BUILD.gn index 9ab13c41..4959f0a 100644 --- a/components/download/internal/common/BUILD.gn +++ b/components/download/internal/common/BUILD.gn
@@ -39,8 +39,6 @@ "download_stats.cc", "download_task_runner.cc", "download_ukm_helper.cc", - "download_url_loader_factory_getter.cc", - "download_url_loader_factory_getter_impl.cc", "download_utils.cc", "download_worker.cc", "download_worker.h", @@ -59,6 +57,7 @@ "stream_handle_input_stream.cc", "url_download_handler_factory.cc", "url_download_request_handle.cc", + "url_loader_factory_provider.cc", ] public_deps = [
diff --git a/components/download/internal/common/download_item_impl.cc b/components/download/internal/common/download_item_impl.cc index 837f3b9..0486da5 100644 --- a/components/download/internal/common/download_item_impl.cc +++ b/components/download/internal/common/download_item_impl.cc
@@ -1417,8 +1417,7 @@ std::unique_ptr<DownloadFile> file, DownloadJob::CancelRequestCallback cancel_request_callback, const DownloadCreateInfo& new_create_info, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter) { + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider) { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); DCHECK(!download_file_); DVLOG(20) << __func__ << "() this=" << DebugString(true); @@ -1427,7 +1426,7 @@ download_file_ = std::move(file); job_ = DownloadJobFactory::CreateJob( this, std::move(cancel_request_callback), new_create_info, false, - std::move(url_loader_factory_getter), + url_loader_factory_provider, delegate_ ? delegate_->GetServiceManagerConnector() : nullptr); if (job_->IsParallelizable()) { RecordParallelizableDownloadCount(START_COUNT, IsParallelDownloadEnabled());
diff --git a/components/download/internal/common/download_job_factory.cc b/components/download/internal/common/download_job_factory.cc index 4ce085efe..8747b53 100644 --- a/components/download/internal/common/download_job_factory.cc +++ b/components/download/internal/common/download_job_factory.cc
@@ -6,6 +6,7 @@ #include <memory> +#include "base/memory/weak_ptr.h" #include "components/download/internal/common/download_job_impl.h" #include "components/download/internal/common/parallel_download_job.h" #include "components/download/internal/common/parallel_download_utils.h" @@ -13,7 +14,7 @@ #include "components/download/public/common/download_features.h" #include "components/download/public/common/download_item.h" #include "components/download/public/common/download_stats.h" -#include "components/download/public/common/download_url_loader_factory_getter.h" +#include "components/download/public/common/url_loader_factory_provider.h" #include "net/url_request/url_request_context_getter.h" namespace download { @@ -163,8 +164,7 @@ DownloadJob::CancelRequestCallback cancel_request_callback, const DownloadCreateInfo& create_info, bool is_save_package_download, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, service_manager::Connector* connector) { if (is_save_package_download) { return std::make_unique<SavePackageDownloadJob>( @@ -176,7 +176,7 @@ if (IsParallelDownloadEnabled() && is_parallelizable) { return std::make_unique<ParallelDownloadJob>( download_item, std::move(cancel_request_callback), create_info, - std::move(url_loader_factory_getter), connector); + url_loader_factory_provider, connector); } // An ordinary download job.
diff --git a/components/download/internal/common/download_url_loader_factory_getter.cc b/components/download/internal/common/download_url_loader_factory_getter.cc deleted file mode 100644 index 4f3b282..0000000 --- a/components/download/internal/common/download_url_loader_factory_getter.cc +++ /dev/null
@@ -1,23 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "components/download/public/common/download_url_loader_factory_getter.h" - -#include "components/download/public/common/download_task_runner.h" - -namespace download { - -DownloadURLLoaderFactoryGetter::DownloadURLLoaderFactoryGetter() = default; - -DownloadURLLoaderFactoryGetter::~DownloadURLLoaderFactoryGetter() = default; - -void DownloadURLLoaderFactoryGetter::DeleteOnCorrectThread() const { - if (GetIOTaskRunner() && !GetIOTaskRunner()->BelongsToCurrentThread()) { - GetIOTaskRunner()->DeleteSoon(FROM_HERE, this); - return; - } - delete this; -} - -} // namespace download
diff --git a/components/download/internal/common/download_url_loader_factory_getter_impl.cc b/components/download/internal/common/download_url_loader_factory_getter_impl.cc deleted file mode 100644 index 83c5b93..0000000 --- a/components/download/internal/common/download_url_loader_factory_getter_impl.cc +++ /dev/null
@@ -1,25 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "components/download/public/common/download_url_loader_factory_getter_impl.h" - -namespace download { - -DownloadURLLoaderFactoryGetterImpl::DownloadURLLoaderFactoryGetterImpl( - std::unique_ptr<network::SharedURLLoaderFactoryInfo> url_loader_factory) - : url_loader_factory_info_(std::move(url_loader_factory)) {} - -DownloadURLLoaderFactoryGetterImpl::~DownloadURLLoaderFactoryGetterImpl() = - default; - -scoped_refptr<network::SharedURLLoaderFactory> -DownloadURLLoaderFactoryGetterImpl::GetURLLoaderFactory() { - if (!url_loader_factory_) { - url_loader_factory_ = network::SharedURLLoaderFactory::Create( - std::move(url_loader_factory_info_)); - } - return url_loader_factory_; -} - -} // namespace download
diff --git a/components/download/internal/common/download_worker.cc b/components/download/internal/common/download_worker.cc index 4034017..baed3b2 100644 --- a/components/download/internal/common/download_worker.cc +++ b/components/download/internal/common/download_worker.cc
@@ -9,7 +9,6 @@ #include "components/download/public/common/download_create_info.h" #include "components/download/public/common/download_interrupt_reasons.h" #include "components/download/public/common/download_task_runner.h" -#include "components/download/public/common/download_url_loader_factory_getter.h" #include "components/download/public/common/download_utils.h" #include "components/download/public/common/input_stream.h" #include "components/download/public/common/url_download_handler_factory.h" @@ -50,13 +49,15 @@ void CreateUrlDownloadHandler( std::unique_ptr<DownloadUrlParameters> params, base::WeakPtr<UrlDownloadHandler::Delegate> delegate, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, const URLSecurityPolicy& url_security_policy, std::unique_ptr<service_manager::Connector> connector, const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) { auto downloader = UrlDownloadHandlerFactory::Create( - std::move(params), delegate, std::move(url_loader_factory_getter), + std::move(params), delegate, + url_loader_factory_provider + ? url_loader_factory_provider->GetURLLoaderFactory() + : nullptr, url_security_policy, std::move(connector), task_runner); task_runner->PostTask( FROM_HERE, @@ -82,16 +83,15 @@ void DownloadWorker::SendRequest( std::unique_ptr<DownloadUrlParameters> params, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, service_manager::Connector* connector) { GetIOTaskRunner()->PostTask( - FROM_HERE, base::BindOnce(&CreateUrlDownloadHandler, std::move(params), - weak_factory_.GetWeakPtr(), - std::move(url_loader_factory_getter), - base::BindRepeating(&IsURLSafe), - connector ? connector->Clone() : nullptr, - base::ThreadTaskRunnerHandle::Get())); + FROM_HERE, + base::BindOnce(&CreateUrlDownloadHandler, std::move(params), + weak_factory_.GetWeakPtr(), url_loader_factory_provider, + base::BindRepeating(&IsURLSafe), + connector ? connector->Clone() : nullptr, + base::ThreadTaskRunnerHandle::Get())); } void DownloadWorker::Pause() { @@ -110,8 +110,7 @@ void DownloadWorker::OnUrlDownloadStarted( std::unique_ptr<DownloadCreateInfo> create_info, std::unique_ptr<InputStream> input_stream, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, UrlDownloadHandler* downloader, const DownloadUrlParameters::OnStartedCallback& callback) { // |callback| is not used in subsequent requests.
diff --git a/components/download/internal/common/download_worker.h b/components/download/internal/common/download_worker.h index 7ecdcb6b..cd4b819 100644 --- a/components/download/internal/common/download_worker.h +++ b/components/download/internal/common/download_worker.h
@@ -19,7 +19,6 @@ } // namespace service_manager namespace download { -class DownloadURLLoaderFactoryGetter; // Helper class used to send subsequent range requests to fetch slices of the // file after handling response of the original non-range request. @@ -50,8 +49,7 @@ // Send network request to ask for a download. void SendRequest( std::unique_ptr<DownloadUrlParameters> params, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, service_manager::Connector* connector); // Download operations. @@ -64,8 +62,7 @@ void OnUrlDownloadStarted( std::unique_ptr<DownloadCreateInfo> create_info, std::unique_ptr<InputStream> input_stream, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, UrlDownloadHandler* downloader, const DownloadUrlParameters::OnStartedCallback& callback) override; void OnUrlDownloadStopped(UrlDownloadHandler* downloader) override;
diff --git a/components/download/internal/common/in_progress_download_manager.cc b/components/download/internal/common/in_progress_download_manager.cc index ce4eab6..a24a873 100644 --- a/components/download/internal/common/in_progress_download_manager.cc +++ b/components/download/internal/common/in_progress_download_manager.cc
@@ -20,7 +20,6 @@ #include "components/download/public/common/download_start_observer.h" #include "components/download/public/common/download_stats.h" #include "components/download/public/common/download_task_runner.h" -#include "components/download/public/common/download_url_loader_factory_getter.h" #include "components/download/public/common/download_url_parameters.h" #include "components/download/public/common/download_utils.h" #include "components/download/public/common/input_stream.h" @@ -82,7 +81,8 @@ void BeginResourceDownload( std::unique_ptr<DownloadUrlParameters> params, std::unique_ptr<network::ResourceRequest> request, - scoped_refptr<DownloadURLLoaderFactoryGetter> url_loader_factory_getter, + std::unique_ptr<network::SharedURLLoaderFactoryInfo> + url_loader_factory_info, const URLSecurityPolicy& url_security_policy, bool is_new_download, base::WeakPtr<InProgressDownloadManager> download_manager, @@ -96,9 +96,11 @@ UrlDownloadHandler::UniqueUrlDownloadHandlerPtr downloader( ResourceDownloader::BeginDownload( download_manager, std::move(params), std::move(request), - std::move(url_loader_factory_getter), url_security_policy, site_url, - tab_url, tab_referrer_url, is_new_download, false, - std::move(connector), is_background_mode, main_task_runner) + network::SharedURLLoaderFactory::Create( + std::move(url_loader_factory_info)), + url_security_policy, site_url, tab_url, tab_referrer_url, + is_new_download, false, std::move(connector), is_background_mode, + main_task_runner) .release(), base::OnTaskRunnerDeleter(base::ThreadTaskRunnerHandle::Get())); @@ -119,7 +121,8 @@ scoped_refptr<network::ResourceResponse> response_head, mojo::ScopedDataPipeConsumerHandle response_body, network::mojom::URLLoaderClientEndpointsPtr url_loader_client_endpoints, - scoped_refptr<DownloadURLLoaderFactoryGetter> url_loader_factory_getter, + std::unique_ptr<network::SharedURLLoaderFactoryInfo> + url_loader_factory_info, const URLSecurityPolicy& url_security_policy, std::unique_ptr<service_manager::Connector> connector, const scoped_refptr<base::SingleThreadTaskRunner>& main_task_runner) { @@ -131,8 +134,9 @@ std::move(url_chain), std::move(cert_status), std::move(response_head), std::move(response_body), std::move(url_loader_client_endpoints), - std::move(url_loader_factory_getter), url_security_policy, - std::move(connector), main_task_runner) + network::SharedURLLoaderFactory::Create( + std::move(url_loader_factory_info)), + url_security_policy, std::move(connector), main_task_runner) .release(), base::OnTaskRunnerDeleter(base::ThreadTaskRunnerHandle::Get())); @@ -215,11 +219,11 @@ void InProgressDownloadManager::OnUrlDownloadStarted( std::unique_ptr<DownloadCreateInfo> download_create_info, std::unique_ptr<InputStream> input_stream, - scoped_refptr<DownloadURLLoaderFactoryGetter> url_loader_factory_getter, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, UrlDownloadHandler* downloader, const DownloadUrlParameters::OnStartedCallback& callback) { StartDownload(std::move(download_create_info), std::move(input_stream), - std::move(url_loader_factory_getter), + url_loader_factory_provider, base::BindOnce(&InProgressDownloadManager::CancelUrlDownload, weak_factory_.GetWeakPtr(), downloader), callback); @@ -249,7 +253,7 @@ // Start the new download, the download should be saved to the file path // specifcied in the |params|. - BeginDownload(std::move(params), url_loader_factory_getter_, + BeginDownload(std::move(params), url_loader_factory_->Clone(), true /* is_new_download */, GURL() /* site_url */, GURL() /* tab_url */, GURL() /* tab_referral_url */); } @@ -258,7 +262,7 @@ if (!params->is_transient()) return false; - if (!url_loader_factory_getter_) + if (!url_loader_factory_) return false; if (params->require_safety_checks()) @@ -287,7 +291,8 @@ void InProgressDownloadManager::BeginDownload( std::unique_ptr<DownloadUrlParameters> params, - scoped_refptr<DownloadURLLoaderFactoryGetter> url_loader_factory_getter, + std::unique_ptr<network::SharedURLLoaderFactoryInfo> + url_loader_factory_info, bool is_new_download, const GURL& site_url, const GURL& tab_url, @@ -298,7 +303,7 @@ FROM_HERE, base::BindOnce( &BeginResourceDownload, std::move(params), std::move(request), - std::move(url_loader_factory_getter), url_security_policy_, + std::move(url_loader_factory_info), url_security_policy_, is_new_download, weak_factory_.GetWeakPtr(), site_url, tab_url, tab_referrer_url, connector_ ? connector_->Clone() : nullptr, !delegate_ /* is_background_mode */, @@ -317,7 +322,8 @@ scoped_refptr<network::ResourceResponse> response_head, mojo::ScopedDataPipeConsumerHandle response_body, network::mojom::URLLoaderClientEndpointsPtr url_loader_client_endpoints, - scoped_refptr<DownloadURLLoaderFactoryGetter> url_loader_factory_getter) { + std::unique_ptr<network::SharedURLLoaderFactoryInfo> + url_loader_factory_info) { GetIOTaskRunner()->PostTask( FROM_HERE, base::BindOnce( @@ -326,7 +332,7 @@ site_url, tab_url, tab_referrer_url, std::move(url_chain), std::move(cert_status), std::move(response_head), std::move(response_body), std::move(url_loader_client_endpoints), - std::move(url_loader_factory_getter), url_security_policy_, + std::move(url_loader_factory_info), url_security_policy_, connector_ ? connector_->Clone() : nullptr, base::ThreadTaskRunnerHandle::Get())); } @@ -396,11 +402,11 @@ void InProgressDownloadManager::ResumeInterruptedDownload( std::unique_ptr<DownloadUrlParameters> params, const GURL& site_url) { - if (!url_loader_factory_getter_) + if (!url_loader_factory_) return; - BeginDownload(std::move(params), url_loader_factory_getter_, false, site_url, - GURL(), GURL()); + BeginDownload(std::move(params), url_loader_factory_->Clone(), false, + site_url, GURL(), GURL()); } bool InProgressDownloadManager::ShouldOpenDownload( @@ -431,7 +437,7 @@ void InProgressDownloadManager::StartDownload( std::unique_ptr<DownloadCreateInfo> info, std::unique_ptr<InputStream> stream, - scoped_refptr<DownloadURLLoaderFactoryGetter> url_loader_factory_getter, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, DownloadJob::CancelRequestCallback cancel_request_callback, const DownloadUrlParameters::OnStartedCallback& on_started) { DCHECK(info); @@ -471,7 +477,7 @@ std::move(info), on_started, base::BindOnce(&InProgressDownloadManager::StartDownloadWithItem, weak_factory_.GetWeakPtr(), std::move(stream), - std::move(url_loader_factory_getter), + url_loader_factory_provider, std::move(cancel_request_callback))); } else { std::string guid = info->guid; @@ -482,7 +488,7 @@ in_progress_downloads_.push_back(std::move(download)); } StartDownloadWithItem( - std::move(stream), std::move(url_loader_factory_getter), + std::move(stream), url_loader_factory_provider, std::move(cancel_request_callback), std::move(info), static_cast<DownloadItemImpl*>(GetDownloadByGuid(guid)), false); } @@ -490,7 +496,7 @@ void InProgressDownloadManager::StartDownloadWithItem( std::unique_ptr<InputStream> stream, - scoped_refptr<DownloadURLLoaderFactoryGetter> url_loader_factory_getter, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, DownloadJob::CancelRequestCallback cancel_request_callback, std::unique_ptr<DownloadCreateInfo> info, DownloadItemImpl* download, @@ -534,7 +540,7 @@ // resumption attempt. download->Start(std::move(download_file), std::move(cancel_request_callback), - *info, std::move(url_loader_factory_getter)); + *info, url_loader_factory_provider); if (download_start_observer_) download_start_observer_->OnDownloadStarted(download);
diff --git a/components/download/internal/common/parallel_download_job.cc b/components/download/internal/common/parallel_download_job.cc index fcaef2b..b1a19868 100644 --- a/components/download/internal/common/parallel_download_job.cc +++ b/components/download/internal/common/parallel_download_job.cc
@@ -12,7 +12,6 @@ #include "components/download/internal/common/parallel_download_utils.h" #include "components/download/public/common/download_create_info.h" #include "components/download/public/common/download_stats.h" -#include "components/download/public/common/download_url_loader_factory_getter.h" #include "net/traffic_annotation/network_traffic_annotation.h" namespace download { @@ -24,8 +23,7 @@ DownloadItem* download_item, CancelRequestCallback cancel_request_callback, const DownloadCreateInfo& create_info, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, service_manager::Connector* connector) : DownloadJobImpl(download_item, std::move(cancel_request_callback), true), initial_request_offset_(create_info.offset), @@ -34,7 +32,7 @@ requests_sent_(false), is_canceled_(false), range_support_(create_info.accept_range), - url_loader_factory_getter_(std::move(url_loader_factory_getter)), + url_loader_factory_provider_(url_loader_factory_provider), connector_(connector) {} ParallelDownloadJob::~ParallelDownloadJob() = default; @@ -295,7 +293,7 @@ download_params->set_follow_cross_origin_redirects(false); // Send the request. - worker->SendRequest(std::move(download_params), url_loader_factory_getter_, + worker->SendRequest(std::move(download_params), url_loader_factory_provider_, connector_); DCHECK(workers_.find(offset) == workers_.end()); workers_[offset] = std::move(worker);
diff --git a/components/download/internal/common/parallel_download_job.h b/components/download/internal/common/parallel_download_job.h index 17273fff..ca48feed 100644 --- a/components/download/internal/common/parallel_download_job.h +++ b/components/download/internal/common/parallel_download_job.h
@@ -10,13 +10,14 @@ #include <vector> #include "base/macros.h" -#include "base/memory/ref_counted.h" +#include "base/memory/weak_ptr.h" #include "base/timer/timer.h" #include "components/download/internal/common/download_job_impl.h" #include "components/download/internal/common/download_worker.h" #include "components/download/public/common/download_create_info.h" #include "components/download/public/common/download_export.h" #include "components/download/public/common/parallel_download_configs.h" +#include "components/download/public/common/url_loader_factory_provider.h" namespace service_manager { class Connector; @@ -33,12 +34,12 @@ public: // TODO(qinmin): Remove |url_request_context_getter| once network service is // enabled. - ParallelDownloadJob(DownloadItem* download_item, - CancelRequestCallback cancel_request_callback, - const DownloadCreateInfo& create_info, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, - service_manager::Connector* connector); + ParallelDownloadJob( + DownloadItem* download_item, + CancelRequestCallback cancel_request_callback, + const DownloadCreateInfo& create_info, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, + service_manager::Connector* connector); ~ParallelDownloadJob() override; // DownloadJobImpl implementation. @@ -117,9 +118,9 @@ // Whether the server accepts range requests. RangeRequestSupportType range_support_; - // URLLoaderFactory getter to issue network requests with network service - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter_; + // URLLoaderFactoryProvider to retrieve the URLLoaderFactory and issue + // parallel requests. + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider_; // Connector used for establishing the connection to the ServiceManager. service_manager::Connector* connector_;
diff --git a/components/download/internal/common/resource_downloader.cc b/components/download/internal/common/resource_downloader.cc index 47240c3f..545ea75 100644 --- a/components/download/internal/common/resource_downloader.cc +++ b/components/download/internal/common/resource_downloader.cc
@@ -7,7 +7,6 @@ #include <memory> #include "base/bind.h" -#include "components/download/public/common/download_url_loader_factory_getter.h" #include "components/download/public/common/stream_handle_input_stream.h" #include "services/device/public/mojom/constants.mojom.h" #include "services/device/public/mojom/wake_lock_provider.mojom.h" @@ -61,8 +60,7 @@ base::WeakPtr<UrlDownloadHandler::Delegate> delegate, std::unique_ptr<DownloadUrlParameters> params, std::unique_ptr<network::ResourceRequest> request, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory, const URLSecurityPolicy& url_security_policy, const GURL& site_url, const GURL& tab_url, @@ -76,8 +74,7 @@ delegate, std::move(request), params->render_process_host_id(), params->render_frame_host_routing_id(), site_url, tab_url, tab_referrer_url, is_new_download, task_runner, - std::move(url_loader_factory_getter), url_security_policy, - std::move(connector)); + std::move(url_loader_factory), url_security_policy, std::move(connector)); downloader->Start(std::move(params), is_parallel_request, is_background_mode); return downloader; @@ -98,16 +95,14 @@ const scoped_refptr<network::ResourceResponse>& response_head, mojo::ScopedDataPipeConsumerHandle response_body, network::mojom::URLLoaderClientEndpointsPtr url_loader_client_endpoints, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory, const URLSecurityPolicy& url_security_policy, std::unique_ptr<service_manager::Connector> connector, const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) { auto downloader = std::make_unique<ResourceDownloader>( delegate, std::move(resource_request), render_process_id, render_frame_id, site_url, tab_url, tab_referrer_url, true, task_runner, - std::move(url_loader_factory_getter), url_security_policy, - std::move(connector)); + std::move(url_loader_factory), url_security_policy, std::move(connector)); downloader->InterceptResponse( std::move(url_chain), cert_status, std::move(response_head), std::move(response_body), std::move(url_loader_client_endpoints)); @@ -124,8 +119,7 @@ const GURL& tab_referrer_url, bool is_new_download, const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory, const URLSecurityPolicy& url_security_policy, std::unique_ptr<service_manager::Connector> connector) : delegate_(delegate), @@ -137,7 +131,7 @@ tab_url_(tab_url), tab_referrer_url_(tab_referrer_url), delegate_task_runner_(task_runner), - url_loader_factory_getter_(std::move(url_loader_factory_getter)), + url_loader_factory_(url_loader_factory), url_security_policy_(url_security_policy), is_content_initiated_(false) { RequestWakeLock(connector.get()); @@ -175,7 +169,7 @@ // Set up the URLLoader network::mojom::URLLoaderRequest url_loader_request = mojo::MakeRequest(&url_loader_); - url_loader_factory_getter_->GetURLLoaderFactory()->CreateLoaderAndStart( + url_loader_factory_->CreateLoaderAndStart( std::move(url_loader_request), 0, // routing_id 0, // request_id @@ -241,7 +235,7 @@ &UrlDownloadHandler::Delegate::OnUrlDownloadStarted, delegate_, std::move(download_create_info), std::make_unique<StreamHandleInputStream>(std::move(stream_handle)), - std::move(url_loader_factory_getter_), this, callback_)); + weak_ptr_factory_.GetWeakPtr(), this, callback_)); } void ResourceDownloader::OnReceiveRedirect() { @@ -268,6 +262,11 @@ FROM_HERE, base::BindOnce(upload_callback_, bytes_uploaded)); } +scoped_refptr<network::SharedURLLoaderFactory> +ResourceDownloader::GetURLLoaderFactory() { + return url_loader_factory_; +} + void ResourceDownloader::CancelRequest() { Destroy(); }
diff --git a/components/download/internal/common/resource_downloader.h b/components/download/internal/common/resource_downloader.h index 230269b..38de5c2 100644 --- a/components/download/internal/common/resource_downloader.h +++ b/components/download/internal/common/resource_downloader.h
@@ -10,6 +10,7 @@ #include "components/download/public/common/download_response_handler.h" #include "components/download/public/common/download_utils.h" #include "components/download/public/common/url_download_handler.h" +#include "components/download/public/common/url_loader_factory_provider.h" #include "mojo/public/cpp/bindings/binding.h" #include "net/cert/cert_status_flags.h" #include "services/device/public/mojom/wake_lock.mojom.h" @@ -21,20 +22,18 @@ } // namespace service_manager namespace download { -class DownloadURLLoaderFactoryGetter; - // Class for handing the download of a url. Lives on IO thread. class COMPONENTS_DOWNLOAD_EXPORT ResourceDownloader - : public download::UrlDownloadHandler, - public download::DownloadResponseHandler::Delegate { + : public UrlDownloadHandler, + public DownloadResponseHandler::Delegate, + public URLLoaderFactoryProvider { public: // Called to start a download, must be called on IO thread. static std::unique_ptr<ResourceDownloader> BeginDownload( base::WeakPtr<download::UrlDownloadHandler::Delegate> delegate, std::unique_ptr<download::DownloadUrlParameters> download_url_parameters, std::unique_ptr<network::ResourceRequest> request, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory, const URLSecurityPolicy& url_security_policy, const GURL& site_url, const GURL& tab_url, @@ -61,8 +60,7 @@ const scoped_refptr<network::ResourceResponse>& response_head, mojo::ScopedDataPipeConsumerHandle response_body, network::mojom::URLLoaderClientEndpointsPtr url_loader_client_endpoints, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory, const URLSecurityPolicy& url_security_policy, std::unique_ptr<service_manager::Connector> connector, const scoped_refptr<base::SingleThreadTaskRunner>& task_runner); @@ -77,21 +75,23 @@ const GURL& tab_referrer_url, bool is_new_download, const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory, const URLSecurityPolicy& url_security_policy, std::unique_ptr<service_manager::Connector> connector); ~ResourceDownloader() override; - // download::DownloadResponseHandler::Delegate + // DownloadResponseHandler::Delegate void OnResponseStarted( std::unique_ptr<download::DownloadCreateInfo> download_create_info, - download::mojom::DownloadStreamHandlePtr stream_handle) override; + mojom::DownloadStreamHandlePtr stream_handle) override; void OnReceiveRedirect() override; void OnResponseCompleted() override; bool CanRequestURL(const GURL& url) override; void OnUploadProgress(uint64_t bytes_uploaded) override; + // URLLoaderFactoryProvider implementation. + scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory() override; + private: // Helper method to start the network request. void Start( @@ -162,9 +162,8 @@ // TaskRunner to post callbacks to the |delegate_| scoped_refptr<base::SingleThreadTaskRunner> delegate_task_runner_; - // URLLoaderFactory getter for issueing network requests. - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter_; + // URLLoaderFactory for issuing network requests. + scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_; // Used to check if the URL is safe to request. URLSecurityPolicy url_security_policy_;
diff --git a/components/download/internal/common/url_download_handler_factory.cc b/components/download/internal/common/url_download_handler_factory.cc index dab21c12..056a9f56 100644 --- a/components/download/internal/common/url_download_handler_factory.cc +++ b/components/download/internal/common/url_download_handler_factory.cc
@@ -8,7 +8,6 @@ #include "base/synchronization/lock.h" #include "components/download/internal/common/resource_downloader.h" #include "components/download/public/common/download_item.h" -#include "components/download/public/common/download_url_loader_factory_getter.h" #include "components/download/public/common/download_utils.h" #include "services/network/public/cpp/shared_url_loader_factory.h" #include "services/service_manager/public/cpp/connector.h" @@ -20,8 +19,7 @@ UrlDownloadHandlerFactory::Create( std::unique_ptr<download::DownloadUrlParameters> params, base::WeakPtr<download::UrlDownloadHandler::Delegate> delegate, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory, const URLSecurityPolicy& url_security_policy, std::unique_ptr<service_manager::Connector> connector, const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) { @@ -30,8 +28,8 @@ return UrlDownloadHandler::UniqueUrlDownloadHandlerPtr( download::ResourceDownloader::BeginDownload( delegate, std::move(params), std::move(request), - std::move(url_loader_factory_getter), url_security_policy, GURL(), - GURL(), GURL(), true, true, std::move(connector), + std::move(url_loader_factory), url_security_policy, GURL(), GURL(), + GURL(), true, true, std::move(connector), false /* is_background_mode */, task_runner) .release(), base::OnTaskRunnerDeleter(base::ThreadTaskRunnerHandle::Get()));
diff --git a/components/download/internal/common/url_loader_factory_provider.cc b/components/download/internal/common/url_loader_factory_provider.cc new file mode 100644 index 0000000..5277716a --- /dev/null +++ b/components/download/internal/common/url_loader_factory_provider.cc
@@ -0,0 +1,18 @@ +// 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 "components/download/public/common/url_loader_factory_provider.h" + +namespace download { + +URLLoaderFactoryProvider::URLLoaderFactoryProvider() = default; + +URLLoaderFactoryProvider::~URLLoaderFactoryProvider() = default; + +scoped_refptr<network::SharedURLLoaderFactory> +URLLoaderFactoryProvider::GetURLLoaderFactory() { + return nullptr; +} + +} // namespace download
diff --git a/components/download/public/common/BUILD.gn b/components/download/public/common/BUILD.gn index 77365246..3febd81 100644 --- a/components/download/public/common/BUILD.gn +++ b/components/download/public/common/BUILD.gn
@@ -48,8 +48,6 @@ "download_stats.h", "download_task_runner.h", "download_ukm_helper.h", - "download_url_loader_factory_getter.h", - "download_url_loader_factory_getter_impl.h", "download_url_parameters.cc", "download_url_parameters.h", "download_utils.h", @@ -65,6 +63,7 @@ "stream_handle_input_stream.h", "url_download_handler_factory.h", "url_download_request_handle.h", + "url_loader_factory_provider.h", ] configs += [ ":components_download_implementation" ]
diff --git a/components/download/public/common/download_item_impl.h b/components/download/public/common/download_item_impl.h index 1363397..c81bcc08 100644 --- a/components/download/public/common/download_item_impl.h +++ b/components/download/public/common/download_item_impl.h
@@ -24,9 +24,9 @@ #include "components/download/public/common/download_interrupt_reasons.h" #include "components/download/public/common/download_item.h" #include "components/download/public/common/download_job.h" -#include "components/download/public/common/download_url_loader_factory_getter.h" #include "components/download/public/common/download_url_parameters.h" #include "components/download/public/common/resume_mode.h" +#include "components/download/public/common/url_loader_factory_provider.h" #include "url/gurl.h" #include "url/origin.h" @@ -309,11 +309,11 @@ // parameters. It may be different from the DownloadCreateInfo used to create // the DownloadItem if Start() is being called in response for a // download resumption request. - virtual void Start(std::unique_ptr<DownloadFile> download_file, - DownloadJob::CancelRequestCallback cancel_request_callback, - const DownloadCreateInfo& new_create_info, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter); + virtual void Start( + std::unique_ptr<DownloadFile> download_file, + DownloadJob::CancelRequestCallback cancel_request_callback, + const DownloadCreateInfo& new_create_info, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider); // Needed because of intertwining with DownloadManagerImpl -------------------
diff --git a/components/download/public/common/download_job_factory.h b/components/download/public/common/download_job_factory.h index d156ec8b..9a0457fd 100644 --- a/components/download/public/common/download_job_factory.h +++ b/components/download/public/common/download_job_factory.h
@@ -8,6 +8,7 @@ #include <memory> #include "base/macros.h" +#include "base/memory/weak_ptr.h" #include "components/download/public/common/download_create_info.h" #include "components/download/public/common/download_export.h" #include "components/download/public/common/download_job.h" @@ -17,9 +18,8 @@ } // namespace service_manager namespace download { - class DownloadItem; -class DownloadURLLoaderFactoryGetter; +class URLLoaderFactoryProvider; // Factory class to create different kinds of DownloadJob. class COMPONENTS_DOWNLOAD_EXPORT DownloadJobFactory { @@ -29,8 +29,7 @@ DownloadJob::CancelRequestCallback cancel_request_callback, const DownloadCreateInfo& create_info, bool is_save_package_download, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, service_manager::Connector* connector); private:
diff --git a/components/download/public/common/download_url_loader_factory_getter.h b/components/download/public/common/download_url_loader_factory_getter.h deleted file mode 100644 index c9aef99..0000000 --- a/components/download/public/common/download_url_loader_factory_getter.h +++ /dev/null
@@ -1,57 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef COMPONENTS_DOWNLOAD_PUBLIC_COMMON_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_ -#define COMPONENTS_DOWNLOAD_PUBLIC_COMMON_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_ - -#include "base/macros.h" -#include "base/memory/ref_counted.h" -#include "base/sequenced_task_runner_helpers.h" -#include "components/download/public/common/download_export.h" - -namespace network { -class SharedURLLoaderFactory; -} // namespace network - -namespace download { - -struct DownloadURLLoaderFactoryGetterDeleter; - -// Class for retrieving a URLLoaderFactory on IO thread. This class can be -// created on any thread and will be destroyed on the IO thread. -// GetURLLoaderFactory() has to be called on the IO thread. -class COMPONENTS_DOWNLOAD_EXPORT DownloadURLLoaderFactoryGetter - : public base::RefCountedThreadSafe<DownloadURLLoaderFactoryGetter, - DownloadURLLoaderFactoryGetterDeleter> { - public: - DownloadURLLoaderFactoryGetter(); - - // Called on the IO thread to get a URLLoaderFactory. - virtual scoped_refptr<network::SharedURLLoaderFactory> - GetURLLoaderFactory() = 0; - - protected: - virtual ~DownloadURLLoaderFactoryGetter(); - - private: - friend class base::DeleteHelper<DownloadURLLoaderFactoryGetter>; - friend class base::RefCountedThreadSafe< - DownloadURLLoaderFactoryGetter, - DownloadURLLoaderFactoryGetterDeleter>; - friend struct DownloadURLLoaderFactoryGetterDeleter; - - void DeleteOnCorrectThread() const; - - DISALLOW_COPY_AND_ASSIGN(DownloadURLLoaderFactoryGetter); -}; - -struct DownloadURLLoaderFactoryGetterDeleter { - static void Destruct(const DownloadURLLoaderFactoryGetter* factory_getter) { - factory_getter->DeleteOnCorrectThread(); - } -}; - -} // namespace download - -#endif // COMPONENTS_DOWNLOAD_PUBLIC_COMMON_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_
diff --git a/components/download/public/common/download_url_loader_factory_getter_impl.h b/components/download/public/common/download_url_loader_factory_getter_impl.h deleted file mode 100644 index dcfb250..0000000 --- a/components/download/public/common/download_url_loader_factory_getter_impl.h +++ /dev/null
@@ -1,39 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef COMPONENTS_DOWNLOAD_PUBLIC_COMMON_DOWNLOAD_URL_LOADER_FACTORY_GETTER_IMPL_H_ -#define COMPONENTS_DOWNLOAD_PUBLIC_COMMON_DOWNLOAD_URL_LOADER_FACTORY_GETTER_IMPL_H_ - -#include "components/download/public/common/download_url_loader_factory_getter.h" -#include "services/network/public/cpp/shared_url_loader_factory.h" - -namespace download { - -// Class for retrieving a fixed SharedURLLoaderFactory. -class COMPONENTS_DOWNLOAD_EXPORT DownloadURLLoaderFactoryGetterImpl - : public DownloadURLLoaderFactoryGetter { - public: - explicit DownloadURLLoaderFactoryGetterImpl( - std::unique_ptr<network::SharedURLLoaderFactoryInfo> url_loader_factory); - - // download::DownloadURLLoaderFactoryGetter implementation. - scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory() override; - - protected: - ~DownloadURLLoaderFactoryGetterImpl() override; - - private: - // Only one of the following two members is ever set. Initially that would be - // |url_loader_factory_info_|, but after GetURLLoaderFactory is called for the - // first time instead |url_loader_factory_| will be set. This is safe because - // GetURLLoaderFactory is always called from the same thread. - std::unique_ptr<network::SharedURLLoaderFactoryInfo> url_loader_factory_info_; - scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_; - - DISALLOW_COPY_AND_ASSIGN(DownloadURLLoaderFactoryGetterImpl); -}; - -} // namespace download - -#endif // COMPONENTS_DOWNLOAD_PUBLIC_COMMON_DOWNLOAD_URL_LOADER_FACTORY_GETTER_IMPL_H_
diff --git a/components/download/public/common/in_progress_download_manager.h b/components/download/public/common/in_progress_download_manager.h index dcad17d5..2dc066c 100644 --- a/components/download/public/common/in_progress_download_manager.h +++ b/components/download/public/common/in_progress_download_manager.h
@@ -26,6 +26,7 @@ namespace network { struct ResourceResponse; +class SharedURLLoaderFactory; } // namespace network namespace service_manager { @@ -40,7 +41,6 @@ class DownloadDBCache; class DownloadStartObserver; -class DownloadURLLoaderFactoryGetter; class DownloadUrlParameters; struct DownloadDBEntry; @@ -100,13 +100,13 @@ DownloadItem* GetDownloadByGuid(const std::string& guid) override; // Called to start a download. - void BeginDownload( - std::unique_ptr<DownloadUrlParameters> params, - scoped_refptr<DownloadURLLoaderFactoryGetter> url_loader_factory_getter, - bool is_new_download, - const GURL& site_url, - const GURL& tab_url, - const GURL& tab_referrer_url); + void BeginDownload(std::unique_ptr<DownloadUrlParameters> params, + std::unique_ptr<network::SharedURLLoaderFactoryInfo> + url_loader_factory_info, + bool is_new_download, + const GURL& site_url, + const GURL& tab_url, + const GURL& tab_referrer_url); // Intercepts a download from navigation. void InterceptDownloadFromNavigation( @@ -121,12 +121,13 @@ scoped_refptr<network::ResourceResponse> response_head, mojo::ScopedDataPipeConsumerHandle response_body, network::mojom::URLLoaderClientEndpointsPtr url_loader_client_endpoints, - scoped_refptr<DownloadURLLoaderFactoryGetter> url_loader_factory_getter); + std::unique_ptr<network::SharedURLLoaderFactoryInfo> + url_loader_factory_info); void StartDownload( std::unique_ptr<DownloadCreateInfo> info, std::unique_ptr<InputStream> stream, - scoped_refptr<DownloadURLLoaderFactoryGetter> url_loader_factory_getter, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, DownloadJob::CancelRequestCallback cancel_request_callback, const DownloadUrlParameters::OnStartedCallback& on_started); @@ -186,9 +187,9 @@ } DownloadFileFactory* file_factory() { return file_factory_.get(); } - void set_url_loader_factory_getter( - scoped_refptr<DownloadURLLoaderFactoryGetter> url_loader_factory_getter) { - url_loader_factory_getter_ = std::move(url_loader_factory_getter); + void set_url_loader_factory( + scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory) { + url_loader_factory_ = url_loader_factory; } void SetDelegate(Delegate* delegate); @@ -210,7 +211,7 @@ void OnUrlDownloadStarted( std::unique_ptr<DownloadCreateInfo> download_create_info, std::unique_ptr<InputStream> input_stream, - scoped_refptr<DownloadURLLoaderFactoryGetter> shared_url_loader_factory, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, UrlDownloadHandler* downloader, const DownloadUrlParameters::OnStartedCallback& callback) override; void OnUrlDownloadStopped(UrlDownloadHandler* downloader) override; @@ -229,7 +230,7 @@ // Start a DownloadItemImpl. void StartDownloadWithItem( std::unique_ptr<InputStream> stream, - scoped_refptr<DownloadURLLoaderFactoryGetter> url_loader_factory_getter, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, DownloadJob::CancelRequestCallback cancel_request_callback, std::unique_ptr<DownloadCreateInfo> info, DownloadItemImpl* download, @@ -288,9 +289,9 @@ // A list of download GUIDs that should not be persisted. std::set<std::string> non_persistent_download_guids_; - // URLLoaderFactoryGetter for issuing network request when DownloadMangerImpl + // URLLoaderFactory for issuing network request when DownloadManagerImpl // is not available. - scoped_refptr<DownloadURLLoaderFactoryGetter> url_loader_factory_getter_; + scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_; // Mapping between download URIs and display names. // TODO(qinmin): move display name to history and in-progress DB.
diff --git a/components/download/public/common/mock_download_item_impl.h b/components/download/public/common/mock_download_item_impl.h index 87d59eef..ac239342 100644 --- a/components/download/public/common/mock_download_item_impl.h +++ b/components/download/public/common/mock_download_item_impl.h
@@ -53,8 +53,8 @@ void Start(std::unique_ptr<DownloadFile> download_file, DownloadJob::CancelRequestCallback cancel_request_callback, const DownloadCreateInfo& create_info, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter) override { + base::WeakPtr<URLLoaderFactoryProvider> + url_loader_factory_provider) override { MockStart(download_file.get()); }
diff --git a/components/download/public/common/url_download_handler.h b/components/download/public/common/url_download_handler.h index e76fec5..5e19283 100644 --- a/components/download/public/common/url_download_handler.h +++ b/components/download/public/common/url_download_handler.h
@@ -5,14 +5,13 @@ #ifndef COMPONENTS_DOWNLOAD_PUBLIC_COMMON_URL_DOWNLOAD_HANDLER_H_ #define COMPONENTS_DOWNLOAD_PUBLIC_COMMON_URL_DOWNLOAD_HANDLER_H_ +#include "base/memory/weak_ptr.h" #include "components/download/public/common/download_export.h" -#include "components/download/public/common/download_url_loader_factory_getter.h" #include "components/download/public/common/download_url_parameters.h" -#include "services/network/public/cpp/shared_url_loader_factory.h" +#include "components/download/public/common/url_loader_factory_provider.h" namespace download { struct DownloadCreateInfo; -class DownloadURLLoaderFactoryGetter; class InputStream; // Class for handling the download of a url. Implemented by child classes. @@ -26,7 +25,7 @@ virtual void OnUrlDownloadStarted( std::unique_ptr<DownloadCreateInfo> download_create_info, std::unique_ptr<InputStream> input_stream, - scoped_refptr<DownloadURLLoaderFactoryGetter> url_loader_factory_getter, + base::WeakPtr<URLLoaderFactoryProvider> url_loader_factory_provider, UrlDownloadHandler* downloader, const DownloadUrlParameters::OnStartedCallback& callback) = 0;
diff --git a/components/download/public/common/url_download_handler_factory.h b/components/download/public/common/url_download_handler_factory.h index 978ae5a..b20def27 100644 --- a/components/download/public/common/url_download_handler_factory.h +++ b/components/download/public/common/url_download_handler_factory.h
@@ -14,7 +14,6 @@ } // namespace service_manager namespace download { -class DownloadURLLoaderFactoryGetter; class DownloadUrlParameters; // Class for handling the creation of a URLDownloadHandler. This is used to @@ -27,8 +26,7 @@ static UrlDownloadHandler::UniqueUrlDownloadHandlerPtr Create( std::unique_ptr<download::DownloadUrlParameters> params, base::WeakPtr<download::UrlDownloadHandler::Delegate> delegate, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, + scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory, const URLSecurityPolicy& url_security_policy, std::unique_ptr<service_manager::Connector> connector, const scoped_refptr<base::SingleThreadTaskRunner>& task_runner);
diff --git a/components/download/public/common/url_loader_factory_provider.h b/components/download/public/common/url_loader_factory_provider.h new file mode 100644 index 0000000..356091b6 --- /dev/null +++ b/components/download/public/common/url_loader_factory_provider.h
@@ -0,0 +1,29 @@ +// 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 COMPONENTS_DOWNLOAD_PUBLIC_COMMON_URL_LOADER_FACTORY_PROVIDER_H_ +#define COMPONENTS_DOWNLOAD_PUBLIC_COMMON_URL_LOADER_FACTORY_PROVIDER_H_ + +#include "components/download/public/common/download_export.h" +#include "services/network/public/cpp/shared_url_loader_factory.h" + +namespace download { + +// Interface for providing a SharedURLLoaderFactory on IO thread that can be +// used to create parallel download requests. +class COMPONENTS_DOWNLOAD_EXPORT URLLoaderFactoryProvider { + public: + URLLoaderFactoryProvider(); + virtual ~URLLoaderFactoryProvider(); + + // Called on the io thread to get the URL loader. + virtual scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory(); + + private: + DISALLOW_COPY_AND_ASSIGN(URLLoaderFactoryProvider); +}; + +} // namespace download + +#endif // COMPONENTS_DOWNLOAD_PUBLIC_COMMON_URL_LOADER_FACTORY_PROVIDER_H_
diff --git a/components/metrics/metrics_state_manager.cc b/components/metrics/metrics_state_manager.cc index 8a3adc0..b0010a7 100644 --- a/components/metrics/metrics_state_manager.cc +++ b/components/metrics/metrics_state_manager.cc
@@ -159,6 +159,11 @@ // UMA is not enabled at this point, it's unlikely it will be enabled in // the same session since that requires the user to manually do that via // settings page after they unchecked it on the download page. + // + // Note: Windows first run is covered by browser tests + // FirstRunMasterPrefsVariationsSeedTest.PRE_SecondRun and + // FirstRunMasterPrefsVariationsSeedTest.SecondRun. If the platform ifdef + // for this logic changes, the tests should be updated as well. if (client_id_.empty()) provisional_client_id_ = base::GenerateGUID(); #endif // !defined(OS_WIN)
diff --git a/components/omnibox/browser/omnibox_edit_model.cc b/components/omnibox/browser/omnibox_edit_model.cc index bf09e29..6438e7fc 100644 --- a/components/omnibox/browser/omnibox_edit_model.cc +++ b/components/omnibox/browser/omnibox_edit_model.cc
@@ -368,15 +368,21 @@ base::string16* text, GURL* url_from_text, bool* write_url) { + DCHECK(text); + DCHECK(url_from_text); + DCHECK(write_url); + *write_url = false; // Do not adjust if selection did not start at the beginning of the field. if (sel_min != 0) return; - // If the user has not modified the display text and is copying the whole - // display text, copy the omnibox contents as a hyperlink to the current page. - if (!user_input_in_progress_ && *text == display_text_) { + // If the user has not modified the display text and is copying the whole URL + // text (whether it's in the elided or unelided form), copy the omnibox + // contents as a hyperlink to the current page. + if (!user_input_in_progress_ && + (*text == display_text_ || *text == url_for_editing_)) { *url_from_text = controller()->GetLocationBarModel()->GetURL(); *write_url = true; @@ -402,8 +408,10 @@ if (AutocompleteMatch::IsSearchType(match_from_text.type)) return; + // Make our best GURL interpretation of |text|. *url_from_text = match_from_text.destination_url; + // Get the current page GURL (or the GURL of the currently selected match). GURL current_page_url = controller()->GetLocationBarModel()->GetURL(); if (PopupIsOpen()) { AutocompleteMatch current_match = CurrentMatch(nullptr); @@ -415,15 +423,16 @@ } } - // Only if the user has not altered the host piece of the Omnibox text, then - // we can infer the correct scheme from the current page's URL, and prepend it - // to the selected text on-copy. Otherwise, we cannot guess at user intent, so - // we copy the Omnibox contents as plain text. - if (current_page_url.SchemeIsHTTPOrHTTPS() && - url_from_text->SchemeIsHTTPOrHTTPS() && - current_page_url.host_piece() == url_from_text->host_piece()) { - *write_url = true; + // If the user has altered the host piece of the omnibox text, then we cannot + // guess at user intent, so early exit and leave |text| as-is as plain text. + if (!current_page_url.SchemeIsHTTPOrHTTPS() || + !url_from_text->SchemeIsHTTPOrHTTPS() || + current_page_url.host_piece() != url_from_text->host_piece()) { + return; + } + // Infer the correct scheme for the copied text, and prepend it if necessary. + { base::string16 http = base::ASCIIToUTF16(url::kHttpScheme) + base::ASCIIToUTF16(url::kStandardSchemeSeparator); base::string16 https = base::ASCIIToUTF16(url::kHttpsScheme) + @@ -442,6 +451,13 @@ *url_from_text = url_from_text->ReplaceComponents(replace_scheme); } } + + // If the URL derived from |text| is valid, mark |write_url| true, and modify + // |text| to contain the canonical URL spec with non-ASCII characters escaped. + if (url_from_text->is_valid()) { + *write_url = true; + *text = base::UTF8ToUTF16(url_from_text->spec()); + } } bool OmniboxEditModel::ShouldShowCurrentPageIcon() const {
diff --git a/components/omnibox/browser/omnibox_edit_model.h b/components/omnibox/browser/omnibox_edit_model.h index c0753394..1a18435c 100644 --- a/components/omnibox/browser/omnibox_edit_model.h +++ b/components/omnibox/browser/omnibox_edit_model.h
@@ -121,8 +121,22 @@ // case, will not be modified. // // |sel_min| gives the minimum of the selection, e.g. min(sel_start, sel_end). - // |text| is the currently selected text. If the copied text is interpreted - // as a URL, |write_url| is set to true and |url_from_text| set to the URL. + // |text| is the currently selected text, and may be modified by this method. + // |url_from_text| is the GURL interpretation of the selected text, and may + // be used for drag-and-drop models or writing hyperlink data types to + // system clipboards. + // + // If the copied text is interpreted as a URL: + // - |write_url| is set to true. + // - |url_from_text| is set to the URL. + // - |text| is set to the URL's spec. The output will be pure ASCII and + // %-escaped, since canonical URLs are always encoded to ASCII. + // + // If the copied text is *NOT* interpreted as a URL: + // - |write_url| is set to false. + // - |url_from_text| may be modified, but might not contain a valid GURL. + // - |text| is full UTF-16 and not %-escaped. This is because we are not + // interpreting |text| as a URL, so we leave the Unicode characters as-is. void AdjustTextForCopy(int sel_min, base::string16* text, GURL* url_from_text,
diff --git a/components/omnibox/browser/omnibox_edit_model_unittest.cc b/components/omnibox/browser/omnibox_edit_model_unittest.cc index 6b648fd..dda6b050 100644 --- a/components/omnibox/browser/omnibox_edit_model_unittest.cc +++ b/components/omnibox/browser/omnibox_edit_model_unittest.cc
@@ -96,7 +96,7 @@ // a scheme. {"a.de/", 0, "", false, "http://a.de/", "http://a.de/", true, "http://a.de/"}, - {"a.de/", 0, "", false, "HTtp://a.de/", "HTtp://a.de/", true, + {"a.de/", 0, "", false, "HTtp://a.de/", "http://a.de/", true, "http://a.de/"}, {"https://a.de/", 0, "", false, "https://a.de/", "https://a.de/", true, "https://a.de/"}, @@ -134,13 +134,35 @@ // Steady State Elisions test for re-adding an elided 'https://'. {"https://a.de/b", 0, "", false, "a.de/b", "https://a.de/b", true, "https://a.de/b", "a.de/b"}, + + // Verifies that non-ASCII characters are %-escaped for valid copied URLs, + // as long as the host has not been modified from the page URL. + {u8"https://ja.wikipedia.org/wiki/目次", 0, "", false, + u8"https://ja.wikipedia.org/wiki/目次", + "https://ja.wikipedia.org/wiki/%E7%9B%AE%E6%AC%A1", true, + "https://ja.wikipedia.org/wiki/%E7%9B%AE%E6%AC%A1"}, + // Test escaping when part of the path was not copied. + {u8"https://ja.wikipedia.org/wiki/目次", 0, "", false, + u8"https://ja.wikipedia.org/wiki/目", + "https://ja.wikipedia.org/wiki/%E7%9B%AE", true, + "https://ja.wikipedia.org/wiki/%E7%9B%AE"}, + // Correctly handle escaping in the scheme-elided case as well. + {u8"https://ja.wikipedia.org/wiki/目次", 0, "", false, + u8"ja.wikipedia.org/wiki/目次", + "https://ja.wikipedia.org/wiki/%E7%9B%AE%E6%AC%A1", true, + "https://ja.wikipedia.org/wiki/%E7%9B%AE%E6%AC%A1", + u8"ja.wikipedia.org/wiki/目次"}, + // Don't escape when host was modified. + {u8"https://ja.wikipedia.org/wiki/目次", 0, "", false, + u8"https://wikipedia.org/wiki/目次", u8"https://wikipedia.org/wiki/目次", + false, ""}, }; for (size_t i = 0; i < base::size(input); ++i) { location_bar_model()->set_formatted_full_url( - base::ASCIIToUTF16(input[i].url_for_editing)); + base::UTF8ToUTF16(input[i].url_for_editing)); location_bar_model()->set_url_for_display( - base::ASCIIToUTF16(input[i].url_for_display)); + base::UTF8ToUTF16(input[i].url_for_display)); // Set the location bar model's URL to be a valid GURL that would generate // the test case's url_for_editing. @@ -156,11 +178,11 @@ match.destination_url = GURL(input[i].match_destination_url); model()->SetCurrentMatchForTest(match); - base::string16 result = base::ASCIIToUTF16(input[i].input); + base::string16 result = base::UTF8ToUTF16(input[i].input); GURL url; bool write_url; model()->AdjustTextForCopy(input[i].sel_start, &result, &url, &write_url); - EXPECT_EQ(base::ASCIIToUTF16(input[i].expected_output), result) + EXPECT_EQ(base::UTF8ToUTF16(input[i].expected_output), result) << "@: " << i; EXPECT_EQ(input[i].write_url, write_url) << " @" << i; if (write_url)
diff --git a/components/policy/resources/policy_templates.json b/components/policy/resources/policy_templates.json index b8ecf3e..872fcd3 100644 --- a/components/policy/resources/policy_templates.json +++ b/components/policy/resources/policy_templates.json
@@ -17479,13 +17479,13 @@ 'tags': [], 'desc': '''Controls whether users are allowed to upload or download password protected files when scanning is required. This restriction only applies to files that would need scanning as determined by <ph name="SEND_FILES_FOR_MALWARE_CHECK_POLICY_NAME">SendFilesForMalwareCheck</ph>, <ph name="CHECK_CONTENT_COMPLIANCE_POLICY_NAME">CheckContentCompliance</ph> and the policies that control the list of domains for which checks are enabled. - If this policy is not set or set to 'None', <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> blocks the user from upload or download password protected files. + If this policy is set to 'None', <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> blocks the user from upload or download password protected files. If this policy is set to 'Allow downloads', <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> allows the user to download password protected files. If this policy is set to 'Allow uploads', <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> allows the user to upload password protected files. - If this policy is set to 'Allow uploads and downloads', <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> behaves according to the rules described under 'Allow downloads' and 'Allow uploads'. + If this policy is not set or set to 'Allow uploads and downloads', <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> behaves according to the rules described under 'Allow downloads' and 'Allow uploads'. ''' }, {
diff --git a/components/safe_browsing/common/safe_browsing_prefs.cc b/components/safe_browsing/common/safe_browsing_prefs.cc index e6342dcb..32e9d5e 100644 --- a/components/safe_browsing/common/safe_browsing_prefs.cc +++ b/components/safe_browsing/common/safe_browsing_prefs.cc
@@ -106,8 +106,6 @@ "safebrowsing.password_protection_warning_trigger"; const char kAdvancedProtectionLastRefreshInUs[] = "safebrowsing.advanced_protection_last_refresh"; -const char kPasswordProtectedAllowed[] = - "safebrowsing.password_protected_allowed"; const char kSafeBrowsingRealTimeLookupEnabled[] = "safebrowsing.real_time_lookup_enabled"; const char kSafeBrowsingSendFilesForMalwareCheck[] = @@ -187,7 +185,6 @@ registry->RegisterIntegerPref(prefs::kPasswordProtectionWarningTrigger, PASSWORD_PROTECTION_OFF); registry->RegisterInt64Pref(prefs::kAdvancedProtectionLastRefreshInUs, 0); - registry->RegisterBooleanPref(prefs::kPasswordProtectedAllowed, true); registry->RegisterBooleanPref(prefs::kSafeBrowsingRealTimeLookupEnabled, false); registry->RegisterIntegerPref(prefs::kSafeBrowsingSendFilesForMalwareCheck, @@ -199,7 +196,9 @@ registry->RegisterBooleanPref(prefs::kUnsafeEventsReportingEnabled, false); registry->RegisterIntegerPref(prefs::kBlockLargeFileTransfer, 0); registry->RegisterIntegerPref(prefs::kDelayDeliveryUntilVerdict, 0); - registry->RegisterIntegerPref(prefs::kAllowPasswordProtectedFiles, 0); + registry->RegisterIntegerPref( + prefs::kAllowPasswordProtectedFiles, + AllowPasswordProtectedFilesValues::ALLOW_UPLOADS_AND_DOWNLOADS); registry->RegisterIntegerPref(prefs::kCheckContentCompliance, 0); }
diff --git a/components/safe_browsing/common/safe_browsing_prefs.h b/components/safe_browsing/common/safe_browsing_prefs.h index 8d950e89..ec407798 100644 --- a/components/safe_browsing/common/safe_browsing_prefs.h +++ b/components/safe_browsing/common/safe_browsing_prefs.h
@@ -81,9 +81,6 @@ // microseconds); extern const char kAdvancedProtectionLastRefreshInUs[]; -// Whether or not to allow downloads of password-protected files. -extern const char kPasswordProtectedAllowed[]; - // Whether or not to check URLs in real time. This is configured by enterprise // policy. For consumers, this pref is irrelevant. extern const char kSafeBrowsingRealTimeLookupEnabled[]; @@ -176,12 +173,21 @@ // Enum representing possible values of the CheckContentCompliance policy. This // must be kept in sync with policy_templates.json enum CheckContentComplianceValues { - NONE = 0, + CHECK_NONE = 0, CHECK_DOWNLOADS = 1, CHECK_UPLOADS = 2, CHECK_UPLOADS_AND_DOWNLOADS = 3, }; +// Enum representing possible values of the AllowPasswordProtectedFiles policy. +// This must be kept in sync with policy_templates.json +enum AllowPasswordProtectedFilesValues { + ALLOW_NONE = 0, + ALLOW_DOWNLOADS = 1, + ALLOW_UPLOADS = 2, + ALLOW_UPLOADS_AND_DOWNLOADS = 3, +}; + // Returns whether the currently active Safe Browsing Extended Reporting // preference exists (eg: has been set before). bool ExtendedReportingPrefExists(const PrefService& prefs);
diff --git a/components/safe_browsing/features.cc b/components/safe_browsing/features.cc index 2d38d9e8..8405ba7 100644 --- a/components/safe_browsing/features.cc +++ b/components/safe_browsing/features.cc
@@ -81,6 +81,9 @@ const base::Feature kUploadForMalwareCheck{"SafeBrowsingUploadForMalwareCheck", base::FEATURE_DISABLED_BY_DEFAULT}; +const base::Feature kDeepScanningOfDownloads{ + "SafeBrowsingDeepScanningOfDownloads", base::FEATURE_ENABLED_BY_DEFAULT}; + constexpr base::FeatureParam<bool> kShouldFillOldPhishGuardProto{ &kPasswordProtectionForSignedInUsers, "DeprecateOldProto", false};
diff --git a/components/safe_browsing/features.h b/components/safe_browsing/features.h index a773353..c6260e1 100644 --- a/components/safe_browsing/features.h +++ b/components/safe_browsing/features.h
@@ -92,6 +92,11 @@ // scanning. extern const base::Feature kUploadForMalwareCheck; +// Controls whether to do deep scanning of downloads. If both this feature and +// the enterprise policies are enabled, the downloaded file is sent for +// scanning. +extern const base::Feature kDeepScanningOfDownloads; + base::ListValue GetFeatureStatusList(); // Returns whether or not to stop filling in the SyncAccountType and
diff --git a/components/send_tab_to_self/OWNERS b/components/send_tab_to_self/OWNERS index a49acc9..37c75ef 100644 --- a/components/send_tab_to_self/OWNERS +++ b/components/send_tab_to_self/OWNERS
@@ -1,5 +1,6 @@ hansberry@chromium.org jeffreycohen@chromium.org +ramyan@chromium.org sebsg@chromium.org tgupta@chromium.org
diff --git a/components/test/data/payments/payment_handler.html b/components/test/data/payments/payment_handler.html new file mode 100644 index 0000000..1f64d06 --- /dev/null +++ b/components/test/data/payments/payment_handler.html
@@ -0,0 +1,26 @@ +<!DOCTYPE html> +<!-- +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. +--> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta + name="viewport" + content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1"> + <title>Payment Handler Test</title> + <link rel="manifest" href="manifest.json"> + <link rel="stylesheet" type="text/css" href="style.css"> + </head> + <body> + <div> + <button onclick="install()" id="install">Install Payment handler</button> + </div> + <div> + <button onclick="launch()" id="testNoHandler">Launch Payment Handler</button> + </div> + <script src="payment_handler.js"></script> + </body> +</html>
diff --git a/components/test/data/payments/payment_handler.js b/components/test/data/payments/payment_handler.js new file mode 100644 index 0000000..f14b9b969 --- /dev/null +++ b/components/test/data/payments/payment_handler.js
@@ -0,0 +1,49 @@ +/* + * 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. + */ + +const methodName = window.location.origin + '/pay'; +const swSrcUrl = 'payment_handler_sw.js'; + +/** Installs the payment handler. */ +async function install() { // eslint-disable-line no-unused-vars + try { + let registration = + await navigator.serviceWorker.getRegistration(swSrcUrl); + if (registration) { + return 'The payment handler is already installed.'; + } + + await navigator.serviceWorker.register(swSrcUrl); + registration = await navigator.serviceWorker.ready; + if (!registration.paymentManager) { + return 'PaymentManager API not found.'; + } + + await registration.paymentManager.instruments.set('instrument-id', { + name: 'Instrument Name', + method: methodName, + }); + return 'success'; + } catch (e) { + return e.toString(); + } +} + +/** + * Launches the payment handler. + */ +async function launch() { // eslint-disable-line no-unused-vars + try { + const request = new PaymentRequest([{supportedMethods: methodName}], { + total: {label: 'Total', amount: {currency: 'USD', value: '0.01'}}, + }); + const response = await request.show(); + await response.complete('success'); + return 'success'; + } catch (e) { + return e.toString(); + } +}
diff --git a/components/test/data/payments/payment_handler_sw.js b/components/test/data/payments/payment_handler_sw.js new file mode 100644 index 0000000..e4f9f77 --- /dev/null +++ b/components/test/data/payments/payment_handler_sw.js
@@ -0,0 +1,24 @@ +/* + * 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. + */ + +let method = null; +let respond = null; + +self.addEventListener('canmakepayment', (evt) => { + evt.respondWith(true); +}); + +self.addEventListener('message', (evt) => { + respond({methodName: method, details: {status: 'success'}}); +}); + +self.addEventListener('paymentrequest', (evt) => { + method = evt.methodData[0].supportedMethods; + evt.respondWith(new Promise((responder) => { + respond = responder; + evt.openWindow('payment_handler_window.html'); + })); +});
diff --git a/components/test/data/payments/payment_handler_window.html b/components/test/data/payments/payment_handler_window.html new file mode 100644 index 0000000..25ac0e6d2 --- /dev/null +++ b/components/test/data/payments/payment_handler_window.html
@@ -0,0 +1,23 @@ +<!DOCTYPE html> +<!-- +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. +--> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta + name="viewport" + content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1"> + <title>Payment Handler Window</title> + <link rel="manifest" href="manifest.json"> + <link rel="stylesheet" type="text/css" href="style.css"> + </head> + <body> + This window will auto-close. + <script> + navigator.serviceWorker.controller.postMessage('confirm'); + </script> + </body> +</html>
diff --git a/components/user_manager/user.cc b/components/user_manager/user.cc index 9ab431c0..2e6c2a7 100644 --- a/components/user_manager/user.cc +++ b/components/user_manager/user.cc
@@ -263,8 +263,10 @@ } void User::AddProfileCreatedObserver(base::OnceClosure on_profile_created) { - DCHECK(!profile_is_created_); - on_profile_created_observers_.push_back(std::move(on_profile_created)); + if (profile_is_created_) + std::move(on_profile_created).Run(); + else + on_profile_created_observers_.push_back(std::move(on_profile_created)); } bool User::IsAffiliated() const {
diff --git a/components/user_manager/user_manager.cc b/components/user_manager/user_manager.cc index d2b7a2c9..caa9a29 100644 --- a/components/user_manager/user_manager.cc +++ b/components/user_manager/user_manager.cc
@@ -28,29 +28,23 @@ void UserManager::Observer::OnUsersSignInConstraintsChanged() {} void UserManager::UserSessionStateObserver::ActiveUserChanged( - const User* active_user) { -} + User* active_user) {} void UserManager::UserSessionStateObserver::UserAddedToSession( - const User* active_user) { -} + const User* active_user) {} void UserManager::UserSessionStateObserver::ActiveUserHashChanged( - const std::string& hash) { -} + const std::string& hash) {} -UserManager::UserSessionStateObserver::~UserSessionStateObserver() { -} +UserManager::UserSessionStateObserver::~UserSessionStateObserver() {} UserManager::UserAccountData::UserAccountData( const base::string16& display_name, const base::string16& given_name, const std::string& locale) - : display_name_(display_name), given_name_(given_name), locale_(locale) { -} + : display_name_(display_name), given_name_(given_name), locale_(locale) {} -UserManager::UserAccountData::~UserAccountData() { -} +UserManager::UserAccountData::~UserAccountData() {} void UserManager::Initialize() { DCHECK(!UserManager::instance); @@ -144,16 +138,4 @@ return USER_TYPE_REGULAR; } -ScopedUserSessionStateObserver::ScopedUserSessionStateObserver( - UserManager::UserSessionStateObserver* observer) - : observer_(observer) { - if (UserManager::IsInitialized()) - UserManager::Get()->AddSessionStateObserver(observer_); -} - -ScopedUserSessionStateObserver::~ScopedUserSessionStateObserver() { - if (UserManager::IsInitialized()) - UserManager::Get()->RemoveSessionStateObserver(observer_); -} - } // namespace user_manager
diff --git a/components/user_manager/user_manager.h b/components/user_manager/user_manager.h index c2d817fc..0d892fa 100644 --- a/components/user_manager/user_manager.h +++ b/components/user_manager/user_manager.h
@@ -66,7 +66,7 @@ class UserSessionStateObserver { public: // Called when active user has changed. - virtual void ActiveUserChanged(const User* active_user); + virtual void ActiveUserChanged(User* active_user); // Called when another user got added to the existing session. virtual void UserAddedToSession(const User* added_user); @@ -408,19 +408,6 @@ static UserManager* SetForTesting(UserManager* user_manager); }; -// TODO(xiyuan): Move this along with UserSessionStateObserver -class USER_MANAGER_EXPORT ScopedUserSessionStateObserver { - public: - explicit ScopedUserSessionStateObserver( - UserManager::UserSessionStateObserver* observer); - ~ScopedUserSessionStateObserver(); - - private: - UserManager::UserSessionStateObserver* const observer_; - - DISALLOW_COPY_AND_ASSIGN(ScopedUserSessionStateObserver); -}; - } // namespace user_manager #endif // COMPONENTS_USER_MANAGER_USER_MANAGER_H_
diff --git a/components/user_manager/user_manager_base.cc b/components/user_manager/user_manager_base.cc index 21e7da4..ec0a254 100644 --- a/components/user_manager/user_manager_base.cc +++ b/components/user_manager/user_manager_base.cc
@@ -940,7 +940,7 @@ known_user::SetIsEphemeralUser(active_user_->GetAccountId(), true); } -void UserManagerBase::NotifyActiveUserChanged(const User* active_user) { +void UserManagerBase::NotifyActiveUserChanged(User* active_user) { DCHECK(!task_runner_ || task_runner_->RunsTasksInCurrentSequence()); for (auto& observer : session_state_observer_list_) observer.ActiveUserChanged(active_user);
diff --git a/components/user_manager/user_manager_base.h b/components/user_manager/user_manager_base.h index 8f36625..a4f2d8e58 100644 --- a/components/user_manager/user_manager_base.h +++ b/components/user_manager/user_manager_base.h
@@ -168,7 +168,7 @@ std::set<AccountId>* device_local_accounts_set) = 0; // Notifies observers that active user has changed. - void NotifyActiveUserChanged(const User* active_user); + void NotifyActiveUserChanged(User* active_user); // Notifies that user has logged in. virtual void NotifyOnLogin();
diff --git a/components/viz/demo/demo_main.cc b/components/viz/demo/demo_main.cc index f5785dc..efe75036 100644 --- a/components/viz/demo/demo_main.cc +++ b/components/viz/demo/demo_main.cc
@@ -119,7 +119,7 @@ #elif defined(OS_WIN) return std::make_unique<ui::WinWindow>(this, props.bounds); #elif defined(USE_X11) - auto x11_window = std::make_unique<ui::X11Window>(this, nullptr); + auto x11_window = std::make_unique<ui::X11Window>(this); x11_window->Initialize(std::move(props)); return x11_window; #else
diff --git a/components/viz/service/display_embedder/image_context_impl.cc b/components/viz/service/display_embedder/image_context_impl.cc index 49fd177..629121b0 100644 --- a/components/viz/service/display_embedder/image_context_impl.cc +++ b/components/viz/service/display_embedder/image_context_impl.cc
@@ -68,7 +68,6 @@ gpu::SharedContextState* context_state, gpu::SharedImageRepresentationFactory* representation_factory, gpu::MailboxManager* mailbox_manager, - const gl::GLVersionInfo* gl_version_info, std::vector<GrBackendSemaphore>* begin_semaphores, std::vector<GrBackendSemaphore>* end_semaphores) { // Prepare for accessing shared image. @@ -161,9 +160,9 @@ } GrBackendTexture backend_texture; - gpu::GetGrBackendTexture(gl_version_info, texture_base->target(), size(), - texture_base->service_id(), resource_format(), - &backend_texture); + gpu::GetGrBackendTexture( + context_state->feature_info(), texture_base->target(), size(), + texture_base->service_id(), resource_format(), &backend_texture); if (!backend_texture.isValid()) { DLOG(ERROR) << "Failed to fulfill the promise texture."; CreateFallbackImage(context_state);
diff --git a/components/viz/service/display_embedder/image_context_impl.h b/components/viz/service/display_embedder/image_context_impl.h index 0909a648..e56c198 100644 --- a/components/viz/service/display_embedder/image_context_impl.h +++ b/components/viz/service/display_embedder/image_context_impl.h
@@ -25,10 +25,6 @@ class SkColorSpace; class SkPromiseImageTexture; -namespace gl { -struct GLVersionInfo; -} - namespace gpu { class MailboxManager; class SharedContextState; @@ -77,7 +73,6 @@ gpu::SharedContextState* context_state, gpu::SharedImageRepresentationFactory* representation_factory, gpu::MailboxManager* mailbox_manager, - const gl::GLVersionInfo* gl_version_info, std::vector<GrBackendSemaphore>* begin_semaphores, std::vector<GrBackendSemaphore>* end_semaphores); void EndAccessIfNecessary();
diff --git a/components/viz/service/display_embedder/skia_output_surface_impl.cc b/components/viz/service/display_embedder/skia_output_surface_impl.cc index 906c2cb1..ff4d6adb 100644 --- a/components/viz/service/display_embedder/skia_output_surface_impl.cc +++ b/components/viz/service/display_embedder/skia_output_surface_impl.cc
@@ -26,6 +26,7 @@ #include "gpu/command_buffer/common/swap_buffers_complete_params.h" #include "gpu/command_buffer/service/scheduler.h" #include "gpu/command_buffer/service/shared_image_representation.h" +#include "gpu/command_buffer/service/skia_utils.h" #include "gpu/ipc/single_task_sequence.h" #include "gpu/vulkan/buildflags.h" #include "ui/gfx/skia_util.h" @@ -638,11 +639,10 @@ if (!is_using_vulkan_) { DCHECK(!ycbcr_info); // Convert internal format from GLES2 to platform GL. - const auto* version_info = impl_on_gpu_->gl_version_info(); - unsigned int texture_storage_format = TextureStorageFormat(resource_format); - return GrBackendFormat::MakeGL( - gl::GetInternalFormat(version_info, texture_storage_format), - gl_texture_target); + unsigned int texture_storage_format = gpu::GetGrGLBackendTextureFormat( + impl_on_gpu_->GetFeatureInfo(), resource_format); + + return GrBackendFormat::MakeGL(texture_storage_format, gl_texture_target); } else { #if BUILDFLAG(ENABLE_VULKAN) if (!ycbcr_info)
diff --git a/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc b/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc index 27ca8d6..9ca960a 100644 --- a/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc +++ b/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
@@ -234,12 +234,6 @@ base::AtomicSequenceNumber g_next_command_buffer_id; -scoped_refptr<gpu::gles2::FeatureInfo> CreateFeatureInfo( - SkiaOutputSurfaceDependency* deps) { - return base::MakeRefCounted<gpu::gles2::FeatureInfo>( - deps->GetGpuDriverBugWorkarounds(), deps->GetGpuFeatureInfo()); -} - scoped_refptr<gpu::SyncPointClientState> CreateSyncPointClientState( SkiaOutputSurfaceDependency* deps, gpu::SequenceId sequence_id) { @@ -613,7 +607,7 @@ const BufferPresentedCallback& buffer_presented_callback, const ContextLostCallback& context_lost_callback) : dependency_(std::move(deps)), - feature_info_(CreateFeatureInfo(dependency_)), + feature_info_(dependency_->GetSharedContextState()->feature_info()), sync_point_client_state_( CreateSyncPointClientState(dependency_, sequence_id)), shared_image_representation_factory_( @@ -1140,8 +1134,7 @@ } else { context->BeginAccessIfNecessary( context_state_.get(), shared_image_representation_factory_.get(), - dependency_->GetMailboxManager(), gl_version_info_, begin_semaphores, - end_semaphores); + dependency_->GetMailboxManager(), begin_semaphores, end_semaphores); } } }
diff --git a/content/OWNERS b/content/OWNERS index f0f46588..9e035c8c 100644 --- a/content/OWNERS +++ b/content/OWNERS
@@ -17,6 +17,7 @@ # For threading (BrowserThread, BrowserMainLoop, ThreadPool, etc.) per-file *browser_main_loop*=gab@chromium.org +per-file *browser_task_environment*=gab@chromium.org per-file *browser_thread*=gab@chromium.org # Mac Sandbox profiles.
diff --git a/content/app/strings/content_strings.grd b/content/app/strings/content_strings.grd index 47303ea..38b452eb 100644 --- a/content/app/strings/content_strings.grd +++ b/content/app/strings/content_strings.grd
@@ -273,7 +273,7 @@ checkbox </message> <message name="IDS_AX_ROLE_CONTENT_INFO" desc="Accessibility role description for credits and information about the content of the page, like copyrights and privacy statements"> - content info + content information </message> <message name="IDS_AX_ROLE_DATE" desc="Accessibility role description for a date input"> date picker
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn index 18f6564..f10e1a8 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn
@@ -812,16 +812,12 @@ "download/drag_download_file.h", "download/drag_download_util.cc", "download/drag_download_util.h", - "download/file_download_url_loader_factory_getter.cc", - "download/file_download_url_loader_factory_getter.h", - "download/file_system_download_url_loader_factory_getter.cc", - "download/file_system_download_url_loader_factory_getter.h", "download/mhtml_extra_parts_impl.cc", "download/mhtml_extra_parts_impl.h", "download/mhtml_generation_manager.cc", "download/mhtml_generation_manager.h", - "download/network_download_url_loader_factory_getter.cc", - "download/network_download_url_loader_factory_getter.h", + "download/network_download_url_loader_factory_info.cc", + "download/network_download_url_loader_factory_info.h", "download/save_file.cc", "download/save_file.h", "download/save_file_manager.cc", @@ -832,8 +828,6 @@ "download/save_package.h", "download/save_types.cc", "download/save_types.h", - "download/web_ui_download_url_loader_factory_getter.cc", - "download/web_ui_download_url_loader_factory_getter.h", "field_trial_recorder.cc", "field_trial_recorder.h", "file_url_loader_factory.cc",
diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc index a0829c02..03a00a2c 100644 --- a/content/browser/accessibility/browser_accessibility.cc +++ b/content/browser/accessibility/browser_accessibility.cc
@@ -1860,6 +1860,9 @@ case ax::mojom::Role::kColorWell: return content_client->GetLocalizedString(IDS_AX_ROLE_COLOR_WELL); + case ax::mojom::Role::kContentInfo: + return content_client->GetLocalizedString(IDS_AX_ROLE_CONTENT_INFO); + case ax::mojom::Role::kDate: return content_client->GetLocalizedString(IDS_AX_ROLE_DATE);
diff --git a/content/browser/accessibility/cross_platform_accessibility_browsertest.cc b/content/browser/accessibility/cross_platform_accessibility_browsertest.cc index 48af764..6333e21 100644 --- a/content/browser/accessibility/cross_platform_accessibility_browsertest.cc +++ b/content/browser/accessibility/cross_platform_accessibility_browsertest.cc
@@ -676,7 +676,7 @@ TestLocalizedLandmarkType(1, ax::mojom::Role::kComplementary, "aside", base::ASCIIToUTF16("complementary")); TestLocalizedLandmarkType(2, ax::mojom::Role::kFooter, "footer", - base::ASCIIToUTF16("content info")); + base::ASCIIToUTF16("content information")); TestLocalizedLandmarkType(3, ax::mojom::Role::kForm, "form"); TestLocalizedLandmarkType(4, ax::mojom::Role::kMain, "main"); TestLocalizedLandmarkType(5, ax::mojom::Role::kNavigation, "nav"); @@ -689,7 +689,7 @@ TestLocalizedLandmarkType(9, ax::mojom::Role::kComplementary, "complementary", base::ASCIIToUTF16("complementary")); TestLocalizedLandmarkType(10, ax::mojom::Role::kContentInfo, "contentinfo", - base::ASCIIToUTF16("content info")); + base::ASCIIToUTF16("content information")); TestLocalizedLandmarkType(11, ax::mojom::Role::kForm, "role_form"); TestLocalizedLandmarkType(12, ax::mojom::Role::kMain, "role_main"); TestLocalizedLandmarkType(13, ax::mojom::Role::kNavigation, "role_nav"); @@ -720,14 +720,15 @@ "<input type='week'>" "<meter></meter>" "<output></output>" - "<time></time>"); + "<time></time>" + "<div role='contentinfo' aria-label='contentinfo'></div>"); NavigateToURL(shell(), url); waiter.WaitForNotification(); BrowserAccessibility* root = GetManager()->GetRoot(); ASSERT_NE(nullptr, root); - ASSERT_EQ(15u, root->PlatformChildCount()); + ASSERT_EQ(16u, root->PlatformChildCount()); auto TestLocalizedRoleDescription = [root](int child_index, @@ -756,6 +757,7 @@ TestLocalizedRoleDescription(12, base::ASCIIToUTF16("meter")); TestLocalizedRoleDescription(13, base::ASCIIToUTF16("output")); TestLocalizedRoleDescription(14, base::ASCIIToUTF16("time")); + TestLocalizedRoleDescription(15, base::ASCIIToUTF16("content information")); } IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest,
diff --git a/content/browser/background_fetch/background_fetch_service_impl.cc b/content/browser/background_fetch/background_fetch_service_impl.cc index 08ff86f..fac7450 100644 --- a/content/browser/background_fetch/background_fetch_service_impl.cc +++ b/content/browser/background_fetch/background_fetch_service_impl.cc
@@ -17,6 +17,7 @@ #include "content/browser/background_fetch/background_fetch_registration_notifier.h" #include "content/browser/background_fetch/background_fetch_request_match_params.h" #include "content/browser/bad_message.h" +#include "content/browser/service_worker/service_worker_info.h" #include "content/browser/storage_partition_impl.h" #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_thread.h" @@ -34,7 +35,7 @@ // static void BackgroundFetchServiceImpl::CreateForWorker( - const ServiceWorkerRunningInfo& info, + const ServiceWorkerVersionInfo& info, mojo::PendingReceiver<blink::mojom::BackgroundFetchService> receiver) { DCHECK_CURRENTLY_ON(BrowserThread::UI); RenderProcessHost* render_process_host = @@ -50,7 +51,7 @@ WrapRefCounted(static_cast<StoragePartitionImpl*>( render_process_host->GetStoragePartition()) ->GetBackgroundFetchContext()), - url::Origin::Create(info.script_url), + info.script_origin, /* render_frame_tree_node_id= */ 0, /* wc_getter= */ base::NullCallback(), std::move(receiver))); }
diff --git a/content/browser/background_fetch/background_fetch_service_impl.h b/content/browser/background_fetch/background_fetch_service_impl.h index c8727609..eb77999 100644 --- a/content/browser/background_fetch/background_fetch_service_impl.h +++ b/content/browser/background_fetch/background_fetch_service_impl.h
@@ -19,7 +19,7 @@ namespace content { -class BackgroundFetchContext; +struct ServiceWorkerVersionInfo; class CONTENT_EXPORT BackgroundFetchServiceImpl : public blink::mojom::BackgroundFetchService { @@ -32,7 +32,7 @@ ~BackgroundFetchServiceImpl() override; static void CreateForWorker( - const ServiceWorkerRunningInfo& info, + const ServiceWorkerVersionInfo& info, mojo::PendingReceiver<blink::mojom::BackgroundFetchService> receiver); static void CreateForFrame(
diff --git a/content/browser/browser_interface_binders.cc b/content/browser/browser_interface_binders.cc index e82fb86..f9d3d6f5 100644 --- a/content/browser/browser_interface_binders.cc +++ b/content/browser/browser_interface_binders.cc
@@ -115,12 +115,10 @@ } // Service workers -ServiceWorkerRunningInfo GetContextForHost(ServiceWorkerProviderHost* host) { +ServiceWorkerVersionInfo GetContextForHost(ServiceWorkerProviderHost* host) { DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId()); - // TODO(crbug.com/993409): pass Origin instead of GURL - return {host->running_hosted_version()->script_origin().GetURL(), - host->running_hosted_version()->version_id(), host->process_id()}; + return host->running_hosted_version()->GetInfo(); } void PopulateServiceWorkerBinders(ServiceWorkerProviderHost* host, @@ -132,7 +130,7 @@ void PopulateBinderMapWithContext( ServiceWorkerProviderHost* host, - service_manager::BinderMapWithContext<const ServiceWorkerRunningInfo&>* + service_manager::BinderMapWithContext<const ServiceWorkerVersionInfo&>* map) { DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
diff --git a/content/browser/browser_interface_binders.h b/content/browser/browser_interface_binders.h index 4715337..b67c392 100644 --- a/content/browser/browser_interface_binders.h +++ b/content/browser/browser_interface_binders.h
@@ -5,7 +5,7 @@ #ifndef CONTENT_BROWSER_BROWSER_INTERFACE_BINDERS_H_ #define CONTENT_BROWSER_BROWSER_INTERFACE_BINDERS_H_ -#include "content/public/browser/service_worker_running_info.h" +#include "content/browser/service_worker/service_worker_info.h" #include "services/service_manager/public/cpp/binder_map.h" #include "url/origin.h" @@ -56,9 +56,9 @@ service_manager::BinderMap* map); void PopulateBinderMapWithContext( ServiceWorkerProviderHost* host, - service_manager::BinderMapWithContext<const ServiceWorkerRunningInfo&>* + service_manager::BinderMapWithContext<const ServiceWorkerVersionInfo&>* map); -ServiceWorkerRunningInfo GetContextForHost(ServiceWorkerProviderHost* host); +ServiceWorkerVersionInfo GetContextForHost(ServiceWorkerProviderHost* host); } // namespace internal } // namespace content
diff --git a/content/browser/download/download_manager_impl.cc b/content/browser/download/download_manager_impl.cc index d9c91baf..2ac05f67 100644 --- a/content/browser/download/download_manager_impl.cc +++ b/content/browser/download/download_manager_impl.cc
@@ -31,8 +31,6 @@ #include "components/download/public/common/download_item_impl.h" #include "components/download/public/common/download_stats.h" #include "components/download/public/common/download_task_runner.h" -#include "components/download/public/common/download_url_loader_factory_getter.h" -#include "components/download/public/common/download_url_loader_factory_getter_impl.h" #include "components/download/public/common/download_url_parameters.h" #include "components/download/public/common/download_utils.h" #include "components/download/public/common/input_stream.h" @@ -41,10 +39,9 @@ #include "content/browser/child_process_security_policy_impl.h" #include "content/browser/data_url_loader_factory.h" #include "content/browser/devtools/devtools_instrumentation.h" -#include "content/browser/download/file_download_url_loader_factory_getter.h" -#include "content/browser/download/file_system_download_url_loader_factory_getter.h" -#include "content/browser/download/network_download_url_loader_factory_getter.h" -#include "content/browser/download/web_ui_download_url_loader_factory_getter.h" +#include "content/browser/download/network_download_url_loader_factory_info.h" +#include "content/browser/file_url_loader_factory.h" +#include "content/browser/fileapi/file_system_url_loader_factory.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/storage_partition_impl.h" #include "content/browser/web_contents/web_contents_impl.h" @@ -60,8 +57,10 @@ #include "content/public/browser/render_frame_host.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/resource_context.h" +#include "content/public/browser/shared_cors_origin_access_list.h" #include "content/public/browser/system_connector.h" #include "content/public/browser/web_contents_delegate.h" +#include "content/public/browser/web_ui_url_loader_factory.h" #include "content/public/common/origin_util.h" #include "content/public/common/previews_state.h" #include "content/public/common/referrer.h" @@ -73,6 +72,7 @@ #include "net/base/upload_bytes_element_reader.h" #include "services/metrics/public/cpp/ukm_source_id.h" #include "services/network/public/cpp/features.h" +#include "services/network/public/cpp/shared_url_loader_factory.h" #include "services/network/public/cpp/wrapper_shared_url_loader_factory.h" #include "services/service_manager/public/cpp/connector.h" @@ -135,9 +135,9 @@ failed_created_info->result = reason; base::PostTask( FROM_HERE, {BrowserThread::UI}, - base::BindOnce(&DownloadManager::StartDownload, download_manager, + base::BindOnce(&DownloadManagerImpl::StartDownload, download_manager, std::move(failed_created_info), - std::make_unique<download::InputStream>(), nullptr, + std::make_unique<download::InputStream>(), params->callback())); } @@ -219,10 +219,10 @@ } #endif -scoped_refptr<download::DownloadURLLoaderFactoryGetter> -CreateDownloadURLLoaderFactoryGetter(StoragePartitionImpl* storage_partition, - RenderFrameHost* rfh, - bool is_download) { +std::unique_ptr<network::SharedURLLoaderFactoryInfo> +CreateSharedURLLoaderFactoryInfo(StoragePartitionImpl* storage_partition, + RenderFrameHost* rfh, + bool is_download) { // TODO(crbug.com/955171): Replace these with PendingRemote and // PendingReceiver. network::mojom::URLLoaderFactoryPtrInfo proxy_factory_ptr_info; @@ -251,31 +251,28 @@ nullptr /* bypass_redirect_checks */); // If anyone above indicated that they care about proxying, pass the - // intermediate pipe along to the NetworkDownloadURLLoaderFactoryGetter. + // intermediate pipe along to the NetworkDownloadURLLoaderFactoryInfo. if (should_proxy) { proxy_factory_ptr_info = std::move(maybe_proxy_factory_ptr_info); proxy_factory_request = std::move(maybe_proxy_factory_receiver); } } - return base::MakeRefCounted<NetworkDownloadURLLoaderFactoryGetter>( + return std::make_unique<NetworkDownloadURLLoaderFactoryInfo>( storage_partition->url_loader_factory_getter(), std::move(proxy_factory_ptr_info), std::move(proxy_factory_request)); } -scoped_refptr<download::DownloadURLLoaderFactoryGetter> -CreateDownloadURLLoaderFactoryGetterFromURLLoaderFactory( +std::unique_ptr<network::SharedURLLoaderFactoryInfo> +CreateSharedURLLoaderFactoryInfoFromURLLoaderFactory( std::unique_ptr<network::mojom::URLLoaderFactory> factory) { network::mojom::URLLoaderFactoryPtr factory_ptr; mojo::MakeStrongBinding(std::move(factory), mojo::MakeRequest(&factory_ptr)); network::mojom::URLLoaderFactoryPtrInfo factory_ptr_info = factory_ptr.PassInterface(); - auto wrapper_factory = - std::make_unique<network::WrapperSharedURLLoaderFactoryInfo>( - std::move(factory_ptr_info)); - return base::MakeRefCounted<download::DownloadURLLoaderFactoryGetterImpl>( - std::move(wrapper_factory)); + return std::make_unique<network::WrapperSharedURLLoaderFactoryInfo>( + std::move(factory_ptr_info)); } } // namespace @@ -631,13 +628,11 @@ void DownloadManagerImpl::StartDownload( std::unique_ptr<download::DownloadCreateInfo> info, std::unique_ptr<download::InputStream> stream, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, const download::DownloadUrlParameters::OnStartedCallback& on_started) { DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK(info); in_progress_manager_->StartDownload(std::move(info), std::move(stream), - std::move(url_loader_factory_getter), + nullptr /* url_loader_factory_provider */, base::DoNothing(), on_started); } @@ -1182,8 +1177,8 @@ tab_url, tab_referrer_url, std::move(url_chain), std::move(cert_status), std::move(response_head), std::move(response_body), std::move(url_loader_client_endpoints), - CreateDownloadURLLoaderFactoryGetter(storage_partition, render_frame_host, - false)); + CreateSharedURLLoaderFactoryInfo(storage_partition, render_frame_host, + false)); } void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete( @@ -1210,22 +1205,28 @@ } DCHECK_EQ(params->url().SchemeIsBlob(), bool{blob_url_loader_factory}); - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter; + std::unique_ptr<network::SharedURLLoaderFactoryInfo> url_loader_factory_info; if (blob_url_loader_factory) { DCHECK(params->url().SchemeIsBlob()); - url_loader_factory_getter = - base::MakeRefCounted<download::DownloadURLLoaderFactoryGetterImpl>( - blob_url_loader_factory->Clone()); + url_loader_factory_info = blob_url_loader_factory->Clone(); } else if (params->url().SchemeIsFile()) { - url_loader_factory_getter = - base::MakeRefCounted<FileDownloadURLLoaderFactoryGetter>( - params->url(), browser_context_->GetPath(), - browser_context_->GetSharedCorsOriginAccessList()); + url_loader_factory_info = + CreateSharedURLLoaderFactoryInfoFromURLLoaderFactory( + std::make_unique<FileURLLoaderFactory>( + browser_context_->GetPath(), + browser_context_->GetSharedCorsOriginAccessList(), + // USER_VISIBLE because download should progress + // even when there is high priority work to do. + base::TaskPriority::USER_VISIBLE)); } else if (rfh && params->url().SchemeIs(content::kChromeUIScheme)) { - url_loader_factory_getter = - base::MakeRefCounted<WebUIDownloadURLLoaderFactoryGetter>( - rfh, params->url()); + network::mojom::URLLoaderFactoryPtrInfo url_loader_factory_ptr_info; + mojo::MakeStrongBinding(CreateWebUIURLLoader(rfh, params->url().scheme(), + base::flat_set<std::string>()), + MakeRequest(&url_loader_factory_ptr_info)); + url_loader_factory_info = + CreateSharedURLLoaderFactoryInfoFromURLLoaderFactory( + CreateWebUIURLLoader(rfh, params->url().scheme(), + base::flat_set<std::string>())); } else if (rfh && params->url().SchemeIsFileSystem()) { StoragePartitionImpl* storage_partition = static_cast<StoragePartitionImpl*>( @@ -1240,13 +1241,14 @@ browser_context_, site_url, true, &storage_domain, &partition_name, &in_memory); } - url_loader_factory_getter = - base::MakeRefCounted<FileSystemDownloadURLLoaderFactoryGetter>( - params->url(), rfh, storage_partition->GetFileSystemContext(), - storage_domain); + url_loader_factory_info = + CreateSharedURLLoaderFactoryInfoFromURLLoaderFactory( + CreateFileSystemURLLoaderFactory( + rfh->GetProcess()->GetID(), rfh->GetFrameTreeNodeId(), + storage_partition->GetFileSystemContext(), storage_domain)); } else if (params->url().SchemeIs(url::kDataScheme)) { - url_loader_factory_getter = - CreateDownloadURLLoaderFactoryGetterFromURLLoaderFactory( + url_loader_factory_info = + CreateSharedURLLoaderFactoryInfoFromURLLoaderFactory( std::make_unique<DataURLLoaderFactory>(params->url())); } else if (rfh && !IsURLHandledByNetworkService(params->url())) { ContentBrowserClient::NonNetworkURLLoaderFactoryMap @@ -1262,8 +1264,8 @@ DLOG(ERROR) << "No URLLoaderFactory found to download " << params->url(); return; } else { - url_loader_factory_getter = - CreateDownloadURLLoaderFactoryGetterFromURLLoaderFactory( + url_loader_factory_info = + CreateSharedURLLoaderFactoryInfoFromURLLoaderFactory( std::move(it->second)); } } else { @@ -1271,12 +1273,12 @@ static_cast<StoragePartitionImpl*>( BrowserContext::GetStoragePartitionForSite(browser_context_, site_url)); - url_loader_factory_getter = - CreateDownloadURLLoaderFactoryGetter(storage_partition, rfh, true); + url_loader_factory_info = + CreateSharedURLLoaderFactoryInfo(storage_partition, rfh, true); } in_progress_manager_->BeginDownload( - std::move(params), std::move(url_loader_factory_getter), is_new_download, + std::move(params), std::move(url_loader_factory_info), is_new_download, site_url, tab_url, tab_referrer_url); }
diff --git a/content/browser/download/download_manager_impl.h b/content/browser/download/download_manager_impl.h index b799e36..248f04f 100644 --- a/content/browser/download/download_manager_impl.h +++ b/content/browser/download/download_manager_impl.h
@@ -80,12 +80,6 @@ download::SimpleDownloadManager::DownloadVector* result) override; void GetUninitializedActiveDownloadsIfAny( download::SimpleDownloadManager::DownloadVector* result) override; - void StartDownload(std::unique_ptr<download::DownloadCreateInfo> info, - std::unique_ptr<download::InputStream> stream, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, - const download::DownloadUrlParameters::OnStartedCallback& - on_started) override; int RemoveDownloadsByURLAndTime( const base::Callback<bool(const GURL&)>& url_filter, base::Time remove_begin, @@ -139,6 +133,11 @@ download::DownloadItem* GetDownloadByGuid(const std::string& guid) override; void GetNextId(GetNextIdCallback callback) override; + void StartDownload( + std::unique_ptr<download::DownloadCreateInfo> info, + std::unique_ptr<download::InputStream> stream, + const download::DownloadUrlParameters::OnStartedCallback& on_started); + // For testing; specifically, accessed from TestFileErrorInjector. void SetDownloadItemFactoryForTesting( std::unique_ptr<download::DownloadItemFactory> item_factory);
diff --git a/content/browser/download/download_manager_impl_unittest.cc b/content/browser/download/download_manager_impl_unittest.cc index fc45f52..b32bf929 100644 --- a/content/browser/download/download_manager_impl_unittest.cc +++ b/content/browser/download/download_manager_impl_unittest.cc
@@ -588,7 +588,7 @@ mock_download_item_factory_->set_is_download_persistent(true); download_manager_->StartDownload( - std::move(info), std::move(input_stream), nullptr, + std::move(info), std::move(input_stream), download::DownloadUrlParameters::OnStartedCallback()); EXPECT_TRUE(download_manager_->GetDownload(local_id)); } @@ -623,7 +623,7 @@ .WillOnce(Return(mock_file)); download_manager_->StartDownload( - std::move(info), std::move(input_stream), nullptr, + std::move(info), std::move(input_stream), download::DownloadUrlParameters::OnStartedCallback()); EXPECT_TRUE(download_manager_->GetDownload(1)); }
diff --git a/content/browser/download/file_download_url_loader_factory_getter.cc b/content/browser/download/file_download_url_loader_factory_getter.cc deleted file mode 100644 index 18fe41f..0000000 --- a/content/browser/download/file_download_url_loader_factory_getter.cc +++ /dev/null
@@ -1,48 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "content/browser/download/file_download_url_loader_factory_getter.h" - -#include "base/task/post_task.h" -#include "base/task/task_traits.h" -#include "components/download/public/common/download_task_runner.h" -#include "content/browser/file_url_loader_factory.h" -#include "content/browser/url_loader_factory_getter.h" -#include "mojo/public/cpp/bindings/strong_binding.h" -#include "services/network/public/cpp/wrapper_shared_url_loader_factory.h" -#include "services/network/public/mojom/url_loader_factory.mojom.h" - -namespace content { - -FileDownloadURLLoaderFactoryGetter::FileDownloadURLLoaderFactoryGetter( - const GURL& url, - const base::FilePath& profile_path, - scoped_refptr<SharedCorsOriginAccessList> shared_cors_origin_access_list) - : url_(url), - profile_path_(profile_path), - shared_cors_origin_access_list_( - std::move(shared_cors_origin_access_list)) { - DCHECK(url.SchemeIs(url::kFileScheme)); -} - -FileDownloadURLLoaderFactoryGetter::~FileDownloadURLLoaderFactoryGetter() = - default; - -scoped_refptr<network::SharedURLLoaderFactory> -FileDownloadURLLoaderFactoryGetter::GetURLLoaderFactory() { - DCHECK(download::GetIOTaskRunner()->BelongsToCurrentThread()); - - network::mojom::URLLoaderFactoryPtrInfo url_loader_factory_ptr_info; - mojo::MakeStrongBinding(std::make_unique<FileURLLoaderFactory>( - profile_path_, shared_cors_origin_access_list_, - // USER_VISIBLE because download should progress - // even when there is high priority work to do. - base::TaskPriority::USER_VISIBLE), - MakeRequest(&url_loader_factory_ptr_info)); - - return base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>( - std::move(url_loader_factory_ptr_info)); -} - -} // namespace content
diff --git a/content/browser/download/file_download_url_loader_factory_getter.h b/content/browser/download/file_download_url_loader_factory_getter.h deleted file mode 100644 index 779b9f4..0000000 --- a/content/browser/download/file_download_url_loader_factory_getter.h +++ /dev/null
@@ -1,42 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CONTENT_BROWSER_DOWNLOAD_FILE_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_ -#define CONTENT_BROWSER_DOWNLOAD_FILE_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_ - -#include "base/files/file_path.h" -#include "base/memory/scoped_refptr.h" -#include "components/download/public/common/download_url_loader_factory_getter.h" -#include "content/public/browser/shared_cors_origin_access_list.h" -#include "url/gurl.h" - -namespace content { - -// Class for retrieving the URLLoaderFactory for a file URL. -class FileDownloadURLLoaderFactoryGetter - : public download::DownloadURLLoaderFactoryGetter { - public: - FileDownloadURLLoaderFactoryGetter( - const GURL& url, - const base::FilePath& profile_path, - scoped_refptr<SharedCorsOriginAccessList> shared_cors_origin_access_list); - - // download::DownloadURLLoaderFactoryGetter implementation. - scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory() override; - - protected: - ~FileDownloadURLLoaderFactoryGetter() override; - - private: - GURL url_; - base::FilePath profile_path_; - const scoped_refptr<SharedCorsOriginAccessList> - shared_cors_origin_access_list_; - - DISALLOW_COPY_AND_ASSIGN(FileDownloadURLLoaderFactoryGetter); -}; - -} // namespace content - -#endif // CONTENT_BROWSER_DOWNLOAD_FILE_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_
diff --git a/content/browser/download/file_system_download_url_loader_factory_getter.cc b/content/browser/download/file_system_download_url_loader_factory_getter.cc deleted file mode 100644 index 13da85d0..0000000 --- a/content/browser/download/file_system_download_url_loader_factory_getter.cc +++ /dev/null
@@ -1,53 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "content/browser/download/file_system_download_url_loader_factory_getter.h" - -#include "base/task/post_task.h" -#include "base/task/task_traits.h" -#include "components/download/public/common/download_task_runner.h" -#include "content/browser/fileapi/file_system_url_loader_factory.h" -#include "content/browser/url_loader_factory_getter.h" -#include "content/public/browser/render_frame_host.h" -#include "content/public/browser/render_process_host.h" -#include "mojo/public/cpp/bindings/strong_binding.h" -#include "services/network/public/cpp/wrapper_shared_url_loader_factory.h" -#include "services/network/public/mojom/url_loader_factory.mojom.h" - -namespace content { - -FileSystemDownloadURLLoaderFactoryGetter:: - FileSystemDownloadURLLoaderFactoryGetter( - const GURL& url, - RenderFrameHost* rfh, - scoped_refptr<storage::FileSystemContext> file_system_context, - const std::string& storage_domain) - : rfh_(rfh), - file_system_context_(file_system_context), - storage_domain_(storage_domain) { - DCHECK(url.SchemeIs(url::kFileSystemScheme)); - DCHECK(rfh); -} - -FileSystemDownloadURLLoaderFactoryGetter:: - ~FileSystemDownloadURLLoaderFactoryGetter() = default; - -scoped_refptr<network::SharedURLLoaderFactory> -FileSystemDownloadURLLoaderFactoryGetter::GetURLLoaderFactory() { - DCHECK(download::GetIOTaskRunner()->BelongsToCurrentThread()); - - std::unique_ptr<network::mojom::URLLoaderFactory> factory = - CreateFileSystemURLLoaderFactory(rfh_->GetProcess()->GetID(), - rfh_->GetFrameTreeNodeId(), - file_system_context_, storage_domain_); - - network::mojom::URLLoaderFactoryPtrInfo url_loader_factory_ptr_info; - mojo::MakeStrongBinding(std::move(factory), - MakeRequest(&url_loader_factory_ptr_info)); - - return base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>( - std::move(url_loader_factory_ptr_info)); -} - -} // namespace content
diff --git a/content/browser/download/file_system_download_url_loader_factory_getter.h b/content/browser/download/file_system_download_url_loader_factory_getter.h deleted file mode 100644 index fae54d0a..0000000 --- a/content/browser/download/file_system_download_url_loader_factory_getter.h +++ /dev/null
@@ -1,48 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CONTENT_BROWSER_DOWNLOAD_FILE_SYSTEM_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_ -#define CONTENT_BROWSER_DOWNLOAD_FILE_SYSTEM_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_ - -#include <string> - -#include "base/memory/scoped_refptr.h" -#include "components/download/public/common/download_url_loader_factory_getter.h" -#include "url/gurl.h" - -namespace storage { -class FileSystemContext; -} - -namespace content { - -class RenderFrameHost; - -// Class for retrieving the URLLoaderFactory for a file URL. -class FileSystemDownloadURLLoaderFactoryGetter - : public download::DownloadURLLoaderFactoryGetter { - public: - FileSystemDownloadURLLoaderFactoryGetter( - const GURL& url, - RenderFrameHost* rfh, - scoped_refptr<storage::FileSystemContext> file_system_context, - const std::string& storage_domain); - - // download::DownloadURLLoaderFactoryGetter implementation. - scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory() override; - - protected: - ~FileSystemDownloadURLLoaderFactoryGetter() override; - - private: - RenderFrameHost* rfh_; - scoped_refptr<storage::FileSystemContext> file_system_context_; - const std::string storage_domain_; - - DISALLOW_COPY_AND_ASSIGN(FileSystemDownloadURLLoaderFactoryGetter); -}; - -} // namespace content - -#endif // CONTENT_BROWSER_DOWNLOAD_FILE_SYSTEM_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_
diff --git a/content/browser/download/network_download_url_loader_factory_getter.cc b/content/browser/download/network_download_url_loader_factory_getter.cc deleted file mode 100644 index fe132fb..0000000 --- a/content/browser/download/network_download_url_loader_factory_getter.cc +++ /dev/null
@@ -1,43 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "content/browser/download/network_download_url_loader_factory_getter.h" - -#include "components/download/public/common/download_task_runner.h" -#include "content/browser/url_loader_factory_getter.h" -#include "services/network/public/cpp/shared_url_loader_factory.h" -#include "services/network/public/cpp/wrapper_shared_url_loader_factory.h" - -namespace content { - -NetworkDownloadURLLoaderFactoryGetter::NetworkDownloadURLLoaderFactoryGetter( - scoped_refptr<URLLoaderFactoryGetter> url_loader_factory_getter, - network::mojom::URLLoaderFactoryPtrInfo proxy_factory_ptr_info, - network::mojom::URLLoaderFactoryRequest proxy_factory_request) - : url_loader_factory_getter_(url_loader_factory_getter), - proxy_factory_ptr_info_(std::move(proxy_factory_ptr_info)), - proxy_factory_request_(std::move(proxy_factory_request)) {} - -NetworkDownloadURLLoaderFactoryGetter:: - ~NetworkDownloadURLLoaderFactoryGetter() = default; - -scoped_refptr<network::SharedURLLoaderFactory> -NetworkDownloadURLLoaderFactoryGetter::GetURLLoaderFactory() { - DCHECK(download::GetIOTaskRunner()); - DCHECK(download::GetIOTaskRunner()->BelongsToCurrentThread()); - if (lazy_factory_) - return lazy_factory_; - if (proxy_factory_request_.is_pending()) { - url_loader_factory_getter_->CloneNetworkFactory( - std::move(proxy_factory_request_)); - lazy_factory_ = - base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>( - std::move(proxy_factory_ptr_info_)); - } else { - lazy_factory_ = url_loader_factory_getter_->GetNetworkFactory(); - } - return lazy_factory_; -} - -} // namespace content
diff --git a/content/browser/download/network_download_url_loader_factory_getter.h b/content/browser/download/network_download_url_loader_factory_getter.h deleted file mode 100644 index 95eb893..0000000 --- a/content/browser/download/network_download_url_loader_factory_getter.h +++ /dev/null
@@ -1,41 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CONTENT_BROWSER_DOWNLOAD_NETWORK_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_ -#define CONTENT_BROWSER_DOWNLOAD_NETWORK_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_ - -#include "components/download/public/common/download_url_loader_factory_getter.h" -#include "services/network/public/mojom/url_loader_factory.mojom.h" - -namespace content { - -class URLLoaderFactoryGetter; - -// Wrapper of URLLoaderFactoryGetter to retrieve URLLoaderFactory. -class NetworkDownloadURLLoaderFactoryGetter - : public download::DownloadURLLoaderFactoryGetter { - public: - NetworkDownloadURLLoaderFactoryGetter( - scoped_refptr<URLLoaderFactoryGetter> url_loader_factory_getter, - network::mojom::URLLoaderFactoryPtrInfo proxy_factory_ptr_info, - network::mojom::URLLoaderFactoryRequest proxy_factory_request); - - // download::DownloadURLLoaderFactoryGetter implementation. - scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory() override; - - protected: - ~NetworkDownloadURLLoaderFactoryGetter() override; - - private: - scoped_refptr<URLLoaderFactoryGetter> url_loader_factory_getter_; - scoped_refptr<network::SharedURLLoaderFactory> lazy_factory_; - network::mojom::URLLoaderFactoryPtrInfo proxy_factory_ptr_info_; - network::mojom::URLLoaderFactoryRequest proxy_factory_request_; - - DISALLOW_COPY_AND_ASSIGN(NetworkDownloadURLLoaderFactoryGetter); -}; - -} // namespace content - -#endif // CONTENT_BROWSER_DOWNLOAD_NETWORK_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_
diff --git a/content/browser/download/network_download_url_loader_factory_info.cc b/content/browser/download/network_download_url_loader_factory_info.cc new file mode 100644 index 0000000..ecc6a7e8 --- /dev/null +++ b/content/browser/download/network_download_url_loader_factory_info.cc
@@ -0,0 +1,43 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "content/browser/download/network_download_url_loader_factory_info.h" + +#include "components/download/public/common/download_task_runner.h" +#include "content/browser/url_loader_factory_getter.h" +#include "services/network/public/cpp/shared_url_loader_factory.h" +#include "services/network/public/cpp/wrapper_shared_url_loader_factory.h" + +namespace content { + +NetworkDownloadURLLoaderFactoryInfo::NetworkDownloadURLLoaderFactoryInfo( + scoped_refptr<URLLoaderFactoryGetter> url_loader_factory_getter, + network::mojom::URLLoaderFactoryPtrInfo proxy_factory_ptr_info, + network::mojom::URLLoaderFactoryRequest proxy_factory_request) + : url_loader_factory_getter_(url_loader_factory_getter), + proxy_factory_ptr_info_(std::move(proxy_factory_ptr_info)), + proxy_factory_request_(std::move(proxy_factory_request)) {} + +NetworkDownloadURLLoaderFactoryInfo::~NetworkDownloadURLLoaderFactoryInfo() = + default; + +scoped_refptr<network::SharedURLLoaderFactory> +NetworkDownloadURLLoaderFactoryInfo::CreateFactory() { + DCHECK(download::GetIOTaskRunner()); + DCHECK(download::GetIOTaskRunner()->BelongsToCurrentThread()); + if (lazy_factory_) + return lazy_factory_; + if (proxy_factory_request_.is_pending()) { + url_loader_factory_getter_->CloneNetworkFactory( + std::move(proxy_factory_request_)); + lazy_factory_ = + base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>( + std::move(proxy_factory_ptr_info_)); + } else { + lazy_factory_ = url_loader_factory_getter_->GetNetworkFactory(); + } + return lazy_factory_; +} + +} // namespace content
diff --git a/content/browser/download/network_download_url_loader_factory_info.h b/content/browser/download/network_download_url_loader_factory_info.h new file mode 100644 index 0000000..660afc3 --- /dev/null +++ b/content/browser/download/network_download_url_loader_factory_info.h
@@ -0,0 +1,41 @@ +// 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 CONTENT_BROWSER_DOWNLOAD_NETWORK_DOWNLOAD_URL_LOADER_FACTORY_INFO_H_ +#define CONTENT_BROWSER_DOWNLOAD_NETWORK_DOWNLOAD_URL_LOADER_FACTORY_INFO_H_ + +#include "services/network/public/cpp/shared_url_loader_factory.h" +#include "services/network/public/mojom/url_loader_factory.mojom.h" + +namespace content { + +class URLLoaderFactoryGetter; + +// Wrapper of a URLLoaderFactoryGetter that can be passed to another thread +// to retrieve URLLoaderFactory. +class NetworkDownloadURLLoaderFactoryInfo + : public network::SharedURLLoaderFactoryInfo { + public: + NetworkDownloadURLLoaderFactoryInfo( + scoped_refptr<URLLoaderFactoryGetter> url_loader_factory_getter, + network::mojom::URLLoaderFactoryPtrInfo proxy_factory_ptr_info, + network::mojom::URLLoaderFactoryRequest proxy_factory_request); + ~NetworkDownloadURLLoaderFactoryInfo() override; + + protected: + // SharedURLLoaderFactoryInfo implementation. + scoped_refptr<network::SharedURLLoaderFactory> CreateFactory() override; + + private: + scoped_refptr<URLLoaderFactoryGetter> url_loader_factory_getter_; + scoped_refptr<network::SharedURLLoaderFactory> lazy_factory_; + network::mojom::URLLoaderFactoryPtrInfo proxy_factory_ptr_info_; + network::mojom::URLLoaderFactoryRequest proxy_factory_request_; + + DISALLOW_COPY_AND_ASSIGN(NetworkDownloadURLLoaderFactoryInfo); +}; + +} // namespace content + +#endif // CONTENT_BROWSER_DOWNLOAD_NETWORK_DOWNLOAD_URL_LOADER_FACTORY_INFO_H_
diff --git a/content/browser/download/web_ui_download_url_loader_factory_getter.cc b/content/browser/download/web_ui_download_url_loader_factory_getter.cc deleted file mode 100644 index a4419bc..0000000 --- a/content/browser/download/web_ui_download_url_loader_factory_getter.cc +++ /dev/null
@@ -1,35 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "content/browser/download/web_ui_download_url_loader_factory_getter.h" - -#include "base/task/post_task.h" -#include "content/public/browser/browser_task_traits.h" -#include "content/public/browser/browser_thread.h" -#include "content/public/browser/web_ui_url_loader_factory.h" -#include "services/network/public/cpp/wrapper_shared_url_loader_factory.h" - -namespace content { - -WebUIDownloadURLLoaderFactoryGetter::WebUIDownloadURLLoaderFactoryGetter( - RenderFrameHost* rfh, - const GURL& url) { - auto factory_request = mojo::MakeRequest(&factory_info_); - factory_ = - CreateWebUIURLLoader(rfh, url.scheme(), base::flat_set<std::string>()); - factory_->Clone(std::move(factory_request)); -} - -WebUIDownloadURLLoaderFactoryGetter::~WebUIDownloadURLLoaderFactoryGetter() { - base::CreateSingleThreadTaskRunner({BrowserThread::UI}) - ->DeleteSoon(FROM_HERE, std::move(factory_)); -} - -scoped_refptr<network::SharedURLLoaderFactory> -WebUIDownloadURLLoaderFactoryGetter::GetURLLoaderFactory() { - return base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>( - std::move(factory_info_)); -} - -} // namespace content
diff --git a/content/browser/download/web_ui_download_url_loader_factory_getter.h b/content/browser/download/web_ui_download_url_loader_factory_getter.h deleted file mode 100644 index 5f39fd7..0000000 --- a/content/browser/download/web_ui_download_url_loader_factory_getter.h +++ /dev/null
@@ -1,40 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CONTENT_BROWSER_DOWNLOAD_WEB_UI_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_ -#define CONTENT_BROWSER_DOWNLOAD_WEB_UI_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_ - -#include "base/files/file_path.h" -#include "components/download/public/common/download_url_loader_factory_getter.h" -#include "services/network/public/mojom/url_loader_factory.mojom.h" - -class GURL; - -namespace content { -class RenderFrameHost; - -// Class for retrieving the URLLoaderFactory for a webui URL. -class WebUIDownloadURLLoaderFactoryGetter - : public download::DownloadURLLoaderFactoryGetter { - public: - WebUIDownloadURLLoaderFactoryGetter(RenderFrameHost* rfh, const GURL& url); - - // download::DownloadURLLoaderFactoryGetter implementation. - scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory() override; - - protected: - ~WebUIDownloadURLLoaderFactoryGetter() override; - - private: - network::mojom::URLLoaderFactoryPtrInfo factory_info_; - - // Lives on the UI thread and must be deleted there. - std::unique_ptr<network::mojom::URLLoaderFactory> factory_; - - DISALLOW_COPY_AND_ASSIGN(WebUIDownloadURLLoaderFactoryGetter); -}; - -} // namespace content - -#endif // CONTENT_BROWSER_DOWNLOAD_WEB_UI_DOWNLOAD_URL_LOADER_FACTORY_GETTER_H_
diff --git a/content/browser/native_file_system/mock_native_file_system_permission_context.cc b/content/browser/native_file_system/mock_native_file_system_permission_context.cc index c5cbad1..2220295 100644 --- a/content/browser/native_file_system/mock_native_file_system_permission_context.cc +++ b/content/browser/native_file_system/mock_native_file_system_permission_context.cc
@@ -31,4 +31,12 @@ frame_id, callback); } +void MockNativeFileSystemPermissionContext::PerformSafeBrowsingChecks( + std::unique_ptr<NativeFileSystemWriteItem> item, + int process_id, + int frame_id, + base::OnceCallback<void(SafeBrowsingResult)> callback) { + PerformSafeBrowsingChecks_(item.get(), process_id, frame_id, callback); +} + } // namespace content
diff --git a/content/browser/native_file_system/mock_native_file_system_permission_context.h b/content/browser/native_file_system/mock_native_file_system_permission_context.h index cfffbc0..23c6fac 100644 --- a/content/browser/native_file_system/mock_native_file_system_permission_context.h +++ b/content/browser/native_file_system/mock_native_file_system_permission_context.h
@@ -61,6 +61,17 @@ int process_id, int frame_id, base::OnceCallback<void(SensitiveDirectoryResult)>& callback)); + + void PerformSafeBrowsingChecks( + std::unique_ptr<NativeFileSystemWriteItem> item, + int process_id, + int frame_id, + base::OnceCallback<void(SafeBrowsingResult)> callback) override; + MOCK_METHOD4(PerformSafeBrowsingChecks_, + void(NativeFileSystemWriteItem* item, + int process_id, + int frame_id, + base::OnceCallback<void(SafeBrowsingResult)>& callback)); }; } // namespace content
diff --git a/content/browser/native_file_system/native_file_system_file_writer_impl.cc b/content/browser/native_file_system/native_file_system_file_writer_impl.cc index 61efea5..f4992dd 100644 --- a/content/browser/native_file_system/native_file_system_file_writer_impl.cc +++ b/content/browser/native_file_system/native_file_system_file_writer_impl.cc
@@ -34,12 +34,21 @@ return result; } -std::pair<base::File::Error, std::string> ReadAndComputeSHA256Checksum( - const base::FilePath& path) { +// For safe browsing we need the hash and size of the file. That data is +// calculated on a worker thread, and this struct is used to pass it back. +struct HashResult { + base::File::Error status; + // SHA256 hash of the file contents, an empty string if some error occurred. + std::string hash; + // Can be -1 to indicate an error calculating the hash and/or size. + int64_t file_size = -1; +}; + +HashResult ReadAndComputeSHA256ChecksumAndSize(const base::FilePath& path) { base::File file(path, base::File::FLAG_OPEN | base::File::FLAG_READ); if (!file.IsValid()) - return std::make_pair(file.error_details(), std::string()); + return {file.error_details(), std::string(), -1}; std::unique_ptr<crypto::SecureHash> hash = crypto::SecureHash::Create(crypto::SecureHash::SHA256); @@ -53,12 +62,12 @@ // If bytes_read is -ve, it means there were issues reading from disk. if (bytes_read < 0) - return std::make_pair(file.error_details(), std::string()); + return {file.error_details(), std::string(), -1}; std::string hash_str(hash->GetHashLength(), 0); hash->Finish(base::data(hash_str), hash_str.size()); - return std::make_pair(file.error_details(), hash_str); + return {file.error_details(), hash_str, file.GetLength()}; } } // namespace @@ -283,13 +292,85 @@ // Should the writer be destructed at this point, we want to allow the // close operation to run its course, so we should not purge the swap file. + // If the safe browsing check fails, the callback for that will clean up the + // swap file even if the writer was destroyed at that point. state_ = State::kClosePending; + if (!require_safe_browsing_check() || !manager()->permission_context()) { + DidPassSafeBrowsingCheck(std::move(callback)); + return; + } + + ComputeHashForSwapFile(base::BindOnce( + &NativeFileSystemFileWriterImpl::DoSafeBrowsingCheck, + weak_factory_.GetWeakPtr(), swap_url().path(), std::move(callback))); +} + +// static +void NativeFileSystemFileWriterImpl::DoSafeBrowsingCheck( + base::WeakPtr<NativeFileSystemFileWriterImpl> file_writer, + const base::FilePath& swap_path, + NativeFileSystemFileWriterImpl::CloseCallback callback, + base::File::Error hash_result, + const std::string& hash, + int64_t size) { + if (!file_writer || hash_result != base::File::FILE_OK) { + // If writer was deleted, or calculating the hash failed try deleting the + // swap file and invoke the callback. + base::PostTask(FROM_HERE, {base::ThreadPool(), base::MayBlock()}, + base::BindOnce(base::IgnoreResult(&base::DeleteFile), + swap_path, /*recursive=*/false)); + std::move(callback).Run(native_file_system_error::FromStatus( + NativeFileSystemStatus::kOperationAborted, + "Failed to perform Safe Browsing check.")); + return; + } + + auto item = std::make_unique<NativeFileSystemWriteItem>(); + item->target_file_path = file_writer->url().path(); + item->full_path = file_writer->swap_url().path(); + item->sha256_hash = hash; + item->size = size; + item->frame_url = file_writer->context().url; + item->has_user_gesture = file_writer->has_transient_user_activation_; + file_writer->manager()->permission_context()->PerformSafeBrowsingChecks( + std::move(item), file_writer->context().process_id, + file_writer->context().frame_id, + base::BindOnce(&NativeFileSystemFileWriterImpl::DidSafeBrowsingCheck, + file_writer, swap_path, std::move(callback))); +} + +// static +void NativeFileSystemFileWriterImpl::DidSafeBrowsingCheck( + base::WeakPtr<NativeFileSystemFileWriterImpl> file_writer, + const base::FilePath& swap_path, + NativeFileSystemFileWriterImpl::CloseCallback callback, + NativeFileSystemPermissionContext::SafeBrowsingResult result) { + if (file_writer && + result == NativeFileSystemPermissionContext::SafeBrowsingResult::kAllow) { + file_writer->DidPassSafeBrowsingCheck(std::move(callback)); + return; + } + + // Writer is gone, or safe browsing check failed. In this case we should + // try deleting the swap file and call the callback to report that close + // failed. + base::PostTask(FROM_HERE, {base::ThreadPool(), base::MayBlock()}, + base::BindOnce(base::IgnoreResult(&base::DeleteFile), + swap_path, /*recursive=*/false)); + std::move(callback).Run(native_file_system_error::FromStatus( + NativeFileSystemStatus::kOperationAborted, + "Write operation blocked by Safe Browsing.")); + return; +} + +void NativeFileSystemFileWriterImpl::DidPassSafeBrowsingCheck( + CloseCallback callback) { + DCHECK_CURRENTLY_ON(BrowserThread::IO); // If the move operation succeeds, the path pointing to the swap file // will not exist anymore. // In case of error, the swap file URL will point to a valid filesystem // location. The file at this URL will be deleted when the mojo pipe closes. - // TODO(https://crbug.com/968556): Hook safebrowsing here, before the move. operation_runner()->Move( swap_url(), url(), storage::FileSystemOperation::OPTION_PRESERVE_LAST_MODIFIED, @@ -355,11 +436,11 @@ DCHECK_EQ(swap_url().type(), storage::kFileSystemTypeNativeLocal); base::PostTaskAndReplyWithResult( FROM_HERE, {base::ThreadPool(), base::MayBlock()}, - base::BindOnce(&ReadAndComputeSHA256Checksum, swap_url().path()), + base::BindOnce(&ReadAndComputeSHA256ChecksumAndSize, swap_url().path()), base::BindOnce( - [](HashCallback callback, - const std::pair<base::File::Error, std::string>& result) { - std::move(callback).Run(result.first, result.second); + [](HashCallback callback, HashResult result) { + std::move(callback).Run(result.status, result.hash, + result.file_size); }, std::move(callback))); }
diff --git a/content/browser/native_file_system/native_file_system_file_writer_impl.h b/content/browser/native_file_system/native_file_system_file_writer_impl.h index cf36fd6..7e81909 100644 --- a/content/browser/native_file_system/native_file_system_file_writer_impl.h +++ b/content/browser/native_file_system/native_file_system_file_writer_impl.h
@@ -62,14 +62,11 @@ skip_quarantine_check_for_testing_ = true; } - using HashCallback = base::OnceCallback<void(base::File::Error error, - const std::string& hash)>; + using HashCallback = base::OnceCallback< + void(base::File::Error error, const std::string& hash, int64_t size)>; void ComputeHashForSwapFileForTesting(HashCallback callback) { ComputeHashForSwapFile(std::move(callback)); } - bool HasTransientUserActivationForTesting() const { - return has_transient_user_activation_; - } private: // State that is kept for the duration of a write operation, to keep track of @@ -91,17 +88,36 @@ bool complete); void TruncateImpl(uint64_t length, TruncateCallback callback); void CloseImpl(CloseCallback callback); + // The following two methods are static, because they need to be invoked to + // perform cleanup even if the writer was deleted before they were invoked. + static void DoSafeBrowsingCheck( + base::WeakPtr<NativeFileSystemFileWriterImpl> file_writer, + const base::FilePath& swap_path, + NativeFileSystemFileWriterImpl::CloseCallback callback, + base::File::Error hash_result, + const std::string& hash, + int64_t size); + static void DidSafeBrowsingCheck( + base::WeakPtr<NativeFileSystemFileWriterImpl> file_writer, + const base::FilePath& swap_path, + NativeFileSystemFileWriterImpl::CloseCallback callback, + NativeFileSystemPermissionContext::SafeBrowsingResult result); + void DidPassSafeBrowsingCheck(CloseCallback callback); void DidSwapFileBeforeClose(CloseCallback callback, base::File::Error result); void DidAnnotateFile(CloseCallback callback, quarantine::mojom::QuarantineFileResult result); + // Safe browsing checks only apply to native local paths. + bool require_safe_browsing_check() { + return url().type() == storage::kFileSystemTypeNativeLocal; + } + // Quarantine checks only apply to native local paths. bool CanSkipQuarantineCheck() const { return skip_quarantine_check_for_testing_ || url().type() != storage::kFileSystemTypeNativeLocal; } - // TODO(https://crbug.com/968556): Integrate with Close writer flow. void ComputeHashForSwapFile(HashCallback callback); enum class State {
diff --git a/content/browser/native_file_system/native_file_system_file_writer_impl_unittest.cc b/content/browser/native_file_system/native_file_system_file_writer_impl_unittest.cc index 01a7513..2bcae92 100644 --- a/content/browser/native_file_system/native_file_system_file_writer_impl_unittest.cc +++ b/content/browser/native_file_system/native_file_system_file_writer_impl_unittest.cc
@@ -11,9 +11,11 @@ #include "base/guid.h" #include "base/strings/string_number_conversions.h" #include "base/test/bind_test_util.h" +#include "base/test/gmock_callback_support.h" #include "base/test/scoped_feature_list.h" #include "base/test/task_environment.h" #include "content/browser/native_file_system/fixed_native_file_system_permission_grant.h" +#include "content/browser/native_file_system/mock_native_file_system_permission_context.h" #include "content/public/test/browser_task_environment.h" #include "mojo/public/cpp/system/data_pipe_producer.h" #include "mojo/public/cpp/system/string_data_source.h" @@ -33,6 +35,11 @@ using storage::FileSystemURL; using storage::IsolatedContext; +using testing::_; +using testing::AllOf; +using testing::Eq; +using testing::Field; + namespace content { std::string GetHexEncodedString(const std::string& input) { @@ -47,6 +54,10 @@ blink::features::kNativeFileSystemAPI); } + virtual NativeFileSystemPermissionContext* permission_context() { + return nullptr; + } + void SetUp() override { ASSERT_TRUE(dir_.CreateUniqueTempDir()); file_system_context_ = CreateFileSystemContextForTesting( @@ -83,14 +94,13 @@ manager_ = base::MakeRefCounted<NativeFileSystemManagerImpl>( file_system_context_, chrome_blob_context_, - /*permission_context=*/nullptr, + /*permission_context=*/permission_context(), /*off_the_record=*/false); handle_ = std::make_unique<NativeFileSystemFileWriterImpl>( manager_.get(), - NativeFileSystemManagerImpl::BindingContext( - kTestOrigin, kTestURL, /*process_id=*/1, - /*frame_id=*/MSG_ROUTING_NONE), + NativeFileSystemManagerImpl::BindingContext(kTestOrigin, kTestURL, + kProcessId, kFrameId), test_file_url_, test_swap_url_, NativeFileSystemManagerImpl::SharedHandleState( permission_grant_, permission_grant_, std::move(fs)), @@ -235,6 +245,8 @@ protected: const GURL kTestURL = GURL("https://example.com/test"); const url::Origin kTestOrigin = url::Origin::Create(kTestURL); + const int kProcessId = 1; + const int kFrameId = 2; base::test::ScopedFeatureList scoped_feature_list_; BrowserTaskEnvironment task_environment_; @@ -288,11 +300,13 @@ base::RunLoop loop; handle_->ComputeHashForSwapFileForTesting(base::BindLambdaForTesting( - [&](base::File::Error result, const std::string& hash_value) { + [&](base::File::Error result, const std::string& hash_value, + int64_t size) { EXPECT_EQ(base::File::FILE_OK, result); EXPECT_EQ( "BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD", GetHexEncodedString(hash_value)); + EXPECT_EQ(3, size); loop.Quit(); })); loop.Run(); @@ -301,11 +315,13 @@ TEST_F(NativeFileSystemFileWriterImplTest, HashEmptyOK) { base::RunLoop loop; handle_->ComputeHashForSwapFileForTesting(base::BindLambdaForTesting( - [&](base::File::Error result, const std::string& hash_value) { + [&](base::File::Error result, const std::string& hash_value, + int64_t size) { EXPECT_EQ(base::File::FILE_OK, result); EXPECT_EQ( "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855", GetHexEncodedString(hash_value)); + EXPECT_EQ(0, size); loop.Quit(); })); loop.Run(); @@ -318,7 +334,8 @@ /*recursive=*/false)); base::RunLoop loop; handle_->ComputeHashForSwapFileForTesting(base::BindLambdaForTesting( - [&](base::File::Error result, const std::string& hash_value) { + [&](base::File::Error result, const std::string& hash_value, + int64_t size) { EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, result); loop.Quit(); })); @@ -335,11 +352,13 @@ base::RunLoop loop; handle_->ComputeHashForSwapFileForTesting(base::BindLambdaForTesting( - [&](base::File::Error result, const std::string& hash_value) { + [&](base::File::Error result, const std::string& hash_value, + int64_t size) { EXPECT_EQ(base::File::FILE_OK, result); EXPECT_EQ( "34A82D28CB1E0BA92CADC4BE8497DC9EEA9AC4F63B9C445A9E52D298990AC491", GetHexEncodedString(hash_value)); + EXPECT_EQ(int64_t{target_size}, size); loop.Quit(); })); loop.Run(); @@ -478,4 +497,118 @@ // TODO(mek): More tests, particularly for error conditions. +class NativeFileSystemFileWriterSafeBrowsingTest + : public NativeFileSystemFileWriterImplTest { + public: + NativeFileSystemPermissionContext* permission_context() override { + return &permission_context_; + } + + protected: + testing::StrictMock<MockNativeFileSystemPermissionContext> + permission_context_; +}; + +TEST_F(NativeFileSystemFileWriterSafeBrowsingTest, Allow) { + uint64_t bytes_written; + NativeFileSystemStatus result = WriteSync(0, "abc", &bytes_written); + EXPECT_EQ(result, NativeFileSystemStatus::kOk); + EXPECT_EQ(bytes_written, 3u); + + std::vector<uint8_t> raw_expected_hash; + ASSERT_TRUE(base::HexStringToBytes( + "BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD", + &raw_expected_hash)); + std::string expected_hash(raw_expected_hash.begin(), raw_expected_hash.end()); + + EXPECT_CALL( + permission_context_, + PerformSafeBrowsingChecks_( + AllOf( + Field(&NativeFileSystemWriteItem::target_file_path, + Eq(test_file_url_.path())), + Field(&NativeFileSystemWriteItem::full_path, + Eq(test_swap_url_.path())), + Field(&NativeFileSystemWriteItem::sha256_hash, Eq(expected_hash)), + Field(&NativeFileSystemWriteItem::size, Eq(3)), + Field(&NativeFileSystemWriteItem::frame_url, Eq(kTestURL)), + Field(&NativeFileSystemWriteItem::has_user_gesture, Eq(false))), + kProcessId, kFrameId, _)) + .WillOnce(base::test::RunOnceCallback<3>( + NativeFileSystemPermissionContext::SafeBrowsingResult::kAllow)); + + result = CloseSync(); + EXPECT_EQ(result, NativeFileSystemStatus::kOk); + + task_environment_.RunUntilIdle(); + EXPECT_FALSE(AsyncFileTestHelper::FileExists( + file_system_context_.get(), test_swap_url_, + AsyncFileTestHelper::kDontCheckSize)); + EXPECT_TRUE(AsyncFileTestHelper::FileExists(file_system_context_.get(), + test_file_url_, 3)); +} + +TEST_F(NativeFileSystemFileWriterSafeBrowsingTest, Block) { + uint64_t bytes_written; + NativeFileSystemStatus result = WriteSync(0, "abc", &bytes_written); + EXPECT_EQ(result, NativeFileSystemStatus::kOk); + EXPECT_EQ(bytes_written, 3u); + + EXPECT_CALL(permission_context_, + PerformSafeBrowsingChecks_(_, kProcessId, kFrameId, _)) + .WillOnce(base::test::RunOnceCallback<3>( + NativeFileSystemPermissionContext::SafeBrowsingResult::kBlock)); + + result = CloseSync(); + EXPECT_EQ(result, NativeFileSystemStatus::kOperationAborted); + + task_environment_.RunUntilIdle(); + EXPECT_FALSE(AsyncFileTestHelper::FileExists( + file_system_context_.get(), test_swap_url_, + AsyncFileTestHelper::kDontCheckSize)); + EXPECT_TRUE(AsyncFileTestHelper::FileExists(file_system_context_.get(), + test_file_url_, 0)); +} + +TEST_F(NativeFileSystemFileWriterSafeBrowsingTest, HandleCloseDuringCheck) { + uint64_t bytes_written; + NativeFileSystemStatus result = WriteSync(0, "abc", &bytes_written); + EXPECT_EQ(result, NativeFileSystemStatus::kOk); + EXPECT_EQ(bytes_written, 3u); + + using SBCallback = base::OnceCallback<void( + NativeFileSystemPermissionContext::SafeBrowsingResult)>; + SBCallback sb_callback; + base::RunLoop loop; + EXPECT_CALL(permission_context_, PerformSafeBrowsingChecks_) + .WillOnce( + testing::Invoke([&](NativeFileSystemWriteItem* item, int process_id, + int frame_id, SBCallback& callback) { + sb_callback = std::move(callback); + loop.Quit(); + })); + + handle_->Close(base::DoNothing()); + loop.Run(); + + handle_.reset(); + // Destructor should not have deleted swap file with an active safe browsing + // check pending. + task_environment_.RunUntilIdle(); + EXPECT_TRUE(AsyncFileTestHelper::FileExists( + file_system_context_.get(), test_swap_url_, + AsyncFileTestHelper::kDontCheckSize)); + + std::move(sb_callback) + .Run(NativeFileSystemPermissionContext::SafeBrowsingResult::kAllow); + + // Swap file should now be deleted, target file should be unmodified. + task_environment_.RunUntilIdle(); + EXPECT_FALSE(AsyncFileTestHelper::FileExists( + file_system_context_.get(), test_swap_url_, + AsyncFileTestHelper::kDontCheckSize)); + EXPECT_TRUE(AsyncFileTestHelper::FileExists(file_system_context_.get(), + test_file_url_, 0)); +} + } // namespace content
diff --git a/content/browser/native_file_system/native_file_system_manager_impl.h b/content/browser/native_file_system/native_file_system_manager_impl.h index ea2018e2..eed954b 100644 --- a/content/browser/native_file_system/native_file_system_manager_impl.h +++ b/content/browser/native_file_system/native_file_system_manager_impl.h
@@ -159,6 +159,10 @@ } storage::FileSystemOperationRunner* operation_runner(); + NativeFileSystemPermissionContext* permission_context() { + return permission_context_; + } + bool is_off_the_record() const { return off_the_record_; } void SetPermissionContextForTesting(
diff --git a/content/browser/renderer_host/media/media_stream_manager.cc b/content/browser/renderer_host/media/media_stream_manager.cc index dbe97ac6..6b49aea 100644 --- a/content/browser/renderer_host/media/media_stream_manager.cc +++ b/content/browser/renderer_host/media/media_stream_manager.cc
@@ -520,6 +520,10 @@ /*tests_use_fake_render_frame_hosts=*/false); }); } + if (base::FeatureList::IsEnabled(media::kUseFakeDeviceForMediaStream)) { + base::CommandLine::ForCurrentProcess()->AppendSwitch( + switches::kUseFakeDeviceForMediaStream); + } DCHECK(audio_system_);
diff --git a/content/browser/renderer_host/render_widget_host_input_event_router.cc b/content/browser/renderer_host/render_widget_host_input_event_router.cc index dd85b56..8eedfe4 100644 --- a/content/browser/renderer_host/render_widget_host_input_event_router.cc +++ b/content/browser/renderer_host/render_widget_host_input_event_router.cc
@@ -630,10 +630,29 @@ // platforms where MouseUps are not received when the mouse cursor is off the // browser window. // Also, this is strictly necessary for touch emulation. - if (mouse_event.GetType() == blink::WebInputEvent::kMouseUp || - !IsMouseButtonDown(mouse_event)) + if (mouse_capture_target_ && + (mouse_event.GetType() == blink::WebInputEvent::kMouseUp || + !IsMouseButtonDown(mouse_event))) { mouse_capture_target_ = nullptr; + // Since capture is being lost it is possible that MouseMoves over a hit + // test region might have been going to a different region, and now the + // CursorManager might need to be notified that the view underneath the + // cursor has changed, which could cause the display cursor to update. + gfx::PointF transformed_point; + auto* hit_test_result = + FindViewAtLocation(root_view, mouse_event.PositionInWidget(), + viz::EventSource::MOUSE, &transformed_point) + .view; + if (hit_test_result != target) { + SendMouseEnterOrLeaveEvents( + mouse_event, hit_test_result, root_view, + blink::WebInputEvent::Modifiers::kRelativeMotionEvent, true); + if (root_view->GetCursorManager()) + root_view->GetCursorManager()->UpdateViewUnderCursor(hit_test_result); + } + } + // When touch emulation is active, mouse events have to act like touch // events, which requires that there be implicit capture between MouseDown // and MouseUp. @@ -914,7 +933,9 @@ void RenderWidgetHostInputEventRouter::SendMouseEnterOrLeaveEvents( const blink::WebMouseEvent& event, RenderWidgetHostViewBase* target, - RenderWidgetHostViewBase* root_view) { + RenderWidgetHostViewBase* root_view, + blink::WebInputEvent::Modifiers extra_modifiers, + bool include_target_view) { // This method treats RenderWidgetHostViews as a tree, where the mouse // cursor is potentially leaving one node and entering another somewhere // else in the tree. Since iframes are graphically self-contained (i.e. an @@ -997,6 +1018,7 @@ for (auto* view : exited_views) { blink::WebMouseEvent mouse_leave(event); mouse_leave.SetType(blink::WebInputEvent::kMouseLeave); + mouse_leave.SetModifiers(mouse_leave.GetModifiers() | extra_modifiers); // There is a chance of a race if the last target has recently created a // new compositor surface. The SurfaceID for that might not have // propagated to its embedding surface, which makes it impossible to @@ -1011,8 +1033,9 @@ } // The ancestor might need to trigger MouseOut handlers. - if (common_ancestor && common_ancestor != target) { + if (common_ancestor && (include_target_view || common_ancestor != target)) { blink::WebMouseEvent mouse_move(event); + mouse_move.SetModifiers(mouse_move.GetModifiers() | extra_modifiers); mouse_move.SetType(blink::WebInputEvent::kMouseMove); if (!root_view->TransformPointToCoordSpaceForView( event.PositionInWidget(), common_ancestor, &transformed_point)) { @@ -1025,9 +1048,10 @@ // Send MouseMoves to trigger MouseEnter handlers. for (auto* view : entered_views) { - if (view == target) + if (view == target && !include_target_view) continue; blink::WebMouseEvent mouse_enter(event); + mouse_enter.SetModifiers(mouse_enter.GetModifiers() | extra_modifiers); mouse_enter.SetType(blink::WebInputEvent::kMouseMove); if (!root_view->TransformPointToCoordSpaceForView( event.PositionInWidget(), view, &transformed_point)) {
diff --git a/content/browser/renderer_host/render_widget_host_input_event_router.h b/content/browser/renderer_host/render_widget_host_input_event_router.h index f6168c3..4099d8d 100644 --- a/content/browser/renderer_host/render_widget_host_input_event_router.h +++ b/content/browser/renderer_host/render_widget_host_input_event_router.h
@@ -227,9 +227,16 @@ // properly fire. This method determines which RenderWidgetHostViews other // than the actual target require notification, and sends the appropriate // events to them. |event| should be in |root_view|'s coordinate space. - void SendMouseEnterOrLeaveEvents(const blink::WebMouseEvent& event, - RenderWidgetHostViewBase* target, - RenderWidgetHostViewBase* root_view); + // |include_target_view| indicates whether a MouseEnter should also be sent + // to |target|, which is typically not needed if this is invoked while a + // MouseMove already being sent there. + void SendMouseEnterOrLeaveEvents( + const blink::WebMouseEvent& event, + RenderWidgetHostViewBase* target, + RenderWidgetHostViewBase* root_view, + blink::WebInputEvent::Modifiers extra_modifiers = + blink::WebInputEvent::Modifiers::kNoModifiers, + bool include_target_view = false); void CancelScrollBubbling();
diff --git a/content/browser/service_worker/service_worker_info.cc b/content/browser/service_worker/service_worker_info.cc index 68e1c208..4289aa5 100644 --- a/content/browser/service_worker/service_worker_info.cc +++ b/content/browser/service_worker/service_worker_info.cc
@@ -29,6 +29,7 @@ ServiceWorkerVersion::Status status, ServiceWorkerVersion::FetchHandlerExistence fetch_handler_existence, const GURL& script_url, + const url::Origin& script_origin, int64_t registration_id, int64_t version_id, int process_id, @@ -38,6 +39,7 @@ status(status), fetch_handler_existence(fetch_handler_existence), script_url(script_url), + script_origin(script_origin), registration_id(registration_id), version_id(version_id), process_id(process_id),
diff --git a/content/browser/service_worker/service_worker_info.h b/content/browser/service_worker/service_worker_info.h index ec97609..21f54cf2 100644 --- a/content/browser/service_worker/service_worker_info.h +++ b/content/browser/service_worker/service_worker_info.h
@@ -16,6 +16,7 @@ #include "content/common/content_export.h" #include "third_party/blink/public/mojom/service_worker/service_worker_provider_type.mojom.h" #include "url/gurl.h" +#include "url/origin.h" namespace content { @@ -30,6 +31,7 @@ ServiceWorkerVersion::Status status, ServiceWorkerVersion::FetchHandlerExistence fetch_handler_existence, const GURL& script_url, + const url::Origin& origin, int64_t registration_id, int64_t version_id, int process_id, @@ -43,6 +45,7 @@ ServiceWorkerVersion::FetchHandlerExistence fetch_handler_existence; blink::mojom::NavigationPreloadState navigation_preload_state; GURL script_url; + url::Origin script_origin; int64_t registration_id; int64_t version_id; int process_id;
diff --git a/content/browser/service_worker/service_worker_provider_host.h b/content/browser/service_worker/service_worker_provider_host.h index 504f1a9..f229fac5 100644 --- a/content/browser/service_worker/service_worker_provider_host.h +++ b/content/browser/service_worker/service_worker_provider_host.h
@@ -702,7 +702,7 @@ mojo::Binding<service_manager::mojom::InterfaceProvider> interface_provider_binding_; BrowserInterfaceBrokerImpl<ServiceWorkerProviderHost, - const ServiceWorkerRunningInfo&> + const ServiceWorkerVersionInfo&> broker_{this}; mojo::Receiver<blink::mojom::BrowserInterfaceBroker> broker_receiver_{ &broker_};
diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc index 54cb052..1e8ebf4c 100644 --- a/content/browser/service_worker/service_worker_version.cc +++ b/content/browser/service_worker/service_worker_version.cc
@@ -235,6 +235,8 @@ : version_id_(version_id), registration_id_(registration->id()), script_url_(script_url), + // Safe to convert GURL to Origin because service workers are restricted + // to secure contexts. script_origin_(url::Origin::Create(script_url_)), scope_(registration->scope()), script_type_(script_type), @@ -371,8 +373,8 @@ DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId()); ServiceWorkerVersionInfo info( running_status(), status(), fetch_handler_existence(), script_url(), - registration_id(), version_id(), embedded_worker()->process_id(), - embedded_worker()->thread_id(), + script_origin(), registration_id(), version_id(), + embedded_worker()->process_id(), embedded_worker()->thread_id(), embedded_worker()->worker_devtools_agent_route_id()); for (const auto& controllee : controllee_map_) { const ServiceWorkerProviderHost* host = controllee.second; @@ -1180,6 +1182,15 @@ return; } + if (!url.is_valid() || + !url::Origin::Create(url).IsSameOriginWith(script_origin_)) { + mojo::ReportBadMessage( + "Received PaymentRequestEvent#openWindow() request for a cross-origin " + "URL."); + receiver_.reset(); + return; + } + PaymentHandlerSupport::ShowPaymentHandlerWindow( url, context_.get(), base::BindOnce(&DidShowPaymentHandlerWindow, url, context_), @@ -1640,10 +1651,9 @@ params->provider_info = std::move(provider_info); - embedded_worker_->Start( - std::move(params), - base::BindOnce(&ServiceWorkerVersion::OnStartSent, - weak_factory_.GetWeakPtr())); + embedded_worker_->Start(std::move(params), + base::BindOnce(&ServiceWorkerVersion::OnStartSent, + weak_factory_.GetWeakPtr())); } void ServiceWorkerVersion::StartTimeoutTimer() { @@ -1835,8 +1845,7 @@ message.append("."); OnReportException(base::UTF8ToUTF16(message), -1, -1, GURL()); DVLOG(1) << message; - UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.TimeoutPhase", - phase, + UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.TimeoutPhase", phase, EmbeddedWorkerInstance::STARTING_PHASE_MAX_VALUE); }
diff --git a/content/browser/service_worker/service_worker_version.h b/content/browser/service_worker/service_worker_version.h index 8002d38..360f98d 100644 --- a/content/browser/service_worker/service_worker_version.h +++ b/content/browser/service_worker/service_worker_version.h
@@ -537,6 +537,11 @@ return redundant_state_callstack_; } + mojo::AssociatedReceiver<blink::mojom::ServiceWorkerHost>& + service_worker_host_receiver_for_testing() { + return receiver_; + } + private: friend class base::RefCounted<ServiceWorkerVersion>; friend class EmbeddedWorkerInstanceTest;
diff --git a/content/browser/site_per_process_hit_test_browsertest.cc b/content/browser/site_per_process_hit_test_browsertest.cc index 2cea7191..1b42c32 100644 --- a/content/browser/site_per_process_hit_test_browsertest.cc +++ b/content/browser/site_per_process_hit_test_browsertest.cc
@@ -3319,6 +3319,75 @@ EXPECT_TRUE(d_frame_monitor.EventWasReceived()); } +// Verify that when mouse capture is released after dragging to a cross-process +// frame, a special MouseMove is sent to the new frame to cause the cursor +// to update. +IN_PROC_BROWSER_TEST_P(SitePerProcessHitTestBrowserTest, + CrossProcessMouseMoveAfterCaptureRelease) { + GURL main_url(embedded_test_server()->GetURL( + "a.com", "/cross_site_iframe_factory.html?a(b)")); + EXPECT_TRUE(NavigateToURL(shell(), main_url)); + + // It is safe to obtain the root frame tree node here, as it doesn't change. + FrameTreeNode* root = + static_cast<WebContentsImpl*>(web_contents())->GetFrameTree()->root(); + ASSERT_EQ(1U, root->child_count()); + + FrameTreeNode* child_node = root->child_at(0); + EXPECT_EQ( + " Site A ------------ proxies for B\n" + " +--Site B ------- proxies for A\n" + "Where A = http://a.com/\n" + " B = http://b.com/", + DepictFrameTree(root)); + + // Create listeners for mouse events. + RenderWidgetHostMouseEventMonitor main_frame_monitor( + root->current_frame_host()->GetRenderWidgetHost()); + RenderWidgetHostMouseEventMonitor child_frame_monitor( + child_node->current_frame_host()->GetRenderWidgetHost()); + + RenderWidgetHostViewBase* root_view = static_cast<RenderWidgetHostViewBase*>( + root->current_frame_host()->GetRenderWidgetHost()->GetView()); + RenderWidgetHostViewBase* child_view = static_cast<RenderWidgetHostViewBase*>( + child_node->current_frame_host()->GetRenderWidgetHost()->GetView()); + + WaitForHitTestData(child_node->current_frame_host()); + + RenderWidgetHostInputEventRouter* router = + web_contents()->GetInputEventRouter(); + scoped_refptr<SetMouseCaptureInterceptor> child_interceptor = + new SetMouseCaptureInterceptor(static_cast<RenderWidgetHostImpl*>( + child_node->current_frame_host()->GetRenderWidgetHost())); + + // Send MouseDown to child frame to initiate capture. + DispatchMouseEventAndWaitUntilDispatch(web_contents(), child_view, + gfx::PointF(5.0, 5.0), child_view, + gfx::PointF(5.0, 5.0)); + + child_interceptor->Wait(); + EXPECT_TRUE(child_interceptor->Capturing()); + + EXPECT_FALSE(main_frame_monitor.EventWasReceived()); + EXPECT_TRUE(child_frame_monitor.EventWasReceived()); + main_frame_monitor.ResetEventReceived(); + child_frame_monitor.ResetEventReceived(); + + // Send MouseUp to location over parent frame, which should still go to + // the child frame, but the parent frame should receive a MouseMove with + // the kRelativeMotionEvent modifier set. + blink::WebMouseEvent mouse_event; + mouse_event.SetType(blink::WebInputEvent::kMouseUp); + mouse_event.SetModifiers(blink::WebInputEvent::kNoModifiers); + SetWebEventPositions(&mouse_event, gfx::Point(2, 2), root_view); + RouteMouseEventAndWaitUntilDispatch(router, root_view, child_view, + &mouse_event); + EXPECT_TRUE(main_frame_monitor.EventWasReceived()); + EXPECT_TRUE(child_frame_monitor.EventWasReceived()); + EXPECT_TRUE(main_frame_monitor.event().GetModifiers() & + blink::WebInputEvent::Modifiers::kRelativeMotionEvent); +} + // Verify that mouse capture works on a RenderWidgetHostView level. // This test checks that a MouseDown triggers mouse capture when it hits // a scrollbar thumb or a subframe, and does not trigger mouse
diff --git a/content/public/browser/BUILD.gn b/content/public/browser/BUILD.gn index acdb1d3c..36cf6041 100644 --- a/content/public/browser/BUILD.gn +++ b/content/public/browser/BUILD.gn
@@ -213,6 +213,8 @@ "native_file_system_permission_context.h", "native_file_system_permission_grant.cc", "native_file_system_permission_grant.h", + "native_file_system_write_item.cc", + "native_file_system_write_item.h", "native_web_keyboard_event.h", "navigation_controller.cc", "navigation_controller.h",
diff --git a/content/public/browser/download_manager.h b/content/public/browser/download_manager.h index 78eb41c..d7355b8 100644 --- a/content/public/browser/download_manager.h +++ b/content/public/browser/download_manager.h
@@ -51,11 +51,6 @@ class GURL; -namespace download { -struct DownloadCreateInfo; -class DownloadURLLoaderFactoryGetter; -} // namespace download - namespace content { class BrowserContext; @@ -114,18 +109,6 @@ virtual ~Observer() {} }; - // Called by a download source (Currently DownloadResourceHandler) - // to initiate the non-source portions of a download. - // If the DownloadCreateInfo specifies an id, that id will be used. - // If |url_loader_factory_getter| is provided, it can be used to issue - // parallel download requests. - virtual void StartDownload( - std::unique_ptr<download::DownloadCreateInfo> info, - std::unique_ptr<download::InputStream> stream, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, - const download::DownloadUrlParameters::OnStartedCallback& on_started) = 0; - // Remove downloads whose URLs match the |url_filter| and are within // the given time constraints - after remove_begin (inclusive) and before // remove_end (exclusive). You may pass in null Time values to do an unbounded
diff --git a/content/public/browser/native_file_system_permission_context.h b/content/public/browser/native_file_system_permission_context.h index 1a924a3..b5a36b0 100644 --- a/content/public/browser/native_file_system_permission_context.h +++ b/content/public/browser/native_file_system_permission_context.h
@@ -7,6 +7,7 @@ #include "base/files/file_path.h" #include "content/public/browser/native_file_system_permission_grant.h" +#include "content/public/browser/native_file_system_write_item.h" #include "url/origin.h" namespace content { @@ -93,6 +94,15 @@ int frame_id, base::OnceCallback<void(SensitiveDirectoryResult)> callback) = 0; + enum class SafeBrowsingResult { kAllow, kBlock }; + // Runs a recently finished write operation through Safe Browsing code to + // determine if the write should be allowed or blocked. + virtual void PerformSafeBrowsingChecks( + std::unique_ptr<NativeFileSystemWriteItem> item, + int process_id, + int frame_id, + base::OnceCallback<void(SafeBrowsingResult)> callback) = 0; + protected: virtual ~NativeFileSystemPermissionContext() = default; };
diff --git a/content/public/browser/native_file_system_write_item.cc b/content/public/browser/native_file_system_write_item.cc new file mode 100644 index 0000000..eb3958bb --- /dev/null +++ b/content/public/browser/native_file_system_write_item.cc
@@ -0,0 +1,12 @@ +// 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 "content/public/browser/native_file_system_write_item.h" + +namespace content { + +NativeFileSystemWriteItem::NativeFileSystemWriteItem() = default; +NativeFileSystemWriteItem::~NativeFileSystemWriteItem() = default; + +} // namespace content
diff --git a/content/public/browser/native_file_system_write_item.h b/content/public/browser/native_file_system_write_item.h new file mode 100644 index 0000000..39276260 --- /dev/null +++ b/content/public/browser/native_file_system_write_item.h
@@ -0,0 +1,56 @@ +// 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 CONTENT_PUBLIC_BROWSER_NATIVE_FILE_SYSTEM_WRITE_ITEM_H_ +#define CONTENT_PUBLIC_BROWSER_NATIVE_FILE_SYSTEM_WRITE_ITEM_H_ + +#include <cstdint> +#include <string> + +#include "base/files/file_path.h" +#include "content/common/content_export.h" +#include "url/gurl.h" +#include "url/origin.h" + +namespace content { +class BrowserContext; +class WebContents; + +// Represents the state of a NativeFileSystemFileWriter when it is closed, +// containing all the data necessary to do a safe browsing download protection +// check on the data written to disk. +struct CONTENT_EXPORT NativeFileSystemWriteItem { + NativeFileSystemWriteItem(); + ~NativeFileSystemWriteItem(); + NativeFileSystemWriteItem(const NativeFileSystemWriteItem&) = delete; + NativeFileSystemWriteItem& operator=(const NativeFileSystemWriteItem&) = + delete; + + // The path on disk where the data will eventually end up. + base::FilePath target_file_path; + // The path on disk where the data was written to. If the safe browsing check + // completes the file at |full_path| will be moved to |target_file_path|. + base::FilePath full_path; + // SHA256 hash of the file contents. + std::string sha256_hash; + // Size of the file in bytes. + int64_t size = 0; + + // URL of the frame in which the write operation took place. + GURL frame_url; + // True iff the frame had a transient user activation when the writer was + // created. + bool has_user_gesture = false; + + // BrowserContext and WebContents the writer is associated with. These fields + // can be nullptr when calling + // NativeFileSystemPermissionContext::PerformSafeBrowsingChecks(), in which + // case they will be filled by that method. + WebContents* web_contents = nullptr; + BrowserContext* browser_context = nullptr; +}; + +} // namespace content + +#endif // CONTENT_PUBLIC_BROWSER_NATIVE_FILE_SYSTEM_WRITE_ITEM_H_
diff --git a/content/public/test/mock_download_manager.cc b/content/public/test/mock_download_manager.cc index 96fd08f..0cb92ef 100644 --- a/content/public/test/mock_download_manager.cc +++ b/content/public/test/mock_download_manager.cc
@@ -5,7 +5,6 @@ #include "content/public/test/mock_download_manager.h" #include "components/download/public/common/download_create_info.h" -#include "components/download/public/common/download_url_loader_factory_getter.h" #include "content/browser/byte_stream.h" namespace content { @@ -113,15 +112,6 @@ MockDownloadManager::~MockDownloadManager() {} -void MockDownloadManager::StartDownload( - std::unique_ptr<download::DownloadCreateInfo> info, - std::unique_ptr<download::InputStream> stream, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, - const download::DownloadUrlParameters::OnStartedCallback& callback) { - MockStartDownload(info.get(), stream.get()); -} - download::DownloadItem* MockDownloadManager::CreateDownloadItem( const std::string& guid, uint32_t id,
diff --git a/content/public/test/mock_download_manager.h b/content/public/test/mock_download_manager.h index 6b9ba1dd..80ca49f5 100644 --- a/content/public/test/mock_download_manager.h +++ b/content/public/test/mock_download_manager.h
@@ -102,17 +102,6 @@ MOCK_METHOD0(Shutdown, void()); MOCK_METHOD1(GetAllDownloads, void(DownloadVector* downloads)); MOCK_METHOD1(Init, bool(BrowserContext* browser_context)); - - // Gasket for handling scoped_ptr arguments. - void StartDownload(std::unique_ptr<download::DownloadCreateInfo> info, - std::unique_ptr<download::InputStream> stream, - scoped_refptr<download::DownloadURLLoaderFactoryGetter> - url_loader_factory_getter, - const download::DownloadUrlParameters::OnStartedCallback& - callback) override; - - MOCK_METHOD2(MockStartDownload, - void(download::DownloadCreateInfo*, download::InputStream*)); MOCK_METHOD3(RemoveDownloadsByURLAndTime, int(const base::Callback<bool(const GURL&)>& url_filter, base::Time remove_begin,
diff --git a/content/public/test/service_worker_host_interceptor.cc b/content/public/test/service_worker_host_interceptor.cc new file mode 100644 index 0000000..eacf173 --- /dev/null +++ b/content/public/test/service_worker_host_interceptor.cc
@@ -0,0 +1,94 @@ +// 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 "content/public/test/service_worker_host_interceptor.h" + +#include <utility> + +#include "base/callback.h" +#include "base/location.h" +#include "base/run_loop.h" +#include "content/browser/service_worker/service_worker_context_wrapper.h" +#include "content/browser/service_worker/service_worker_version.h" +#include "content/public/browser/browser_context.h" +#include "content/public/browser/storage_partition.h" + +namespace content { + +ServiceWorkerHostInterceptor::ServiceWorkerHostInterceptor() = default; + +ServiceWorkerHostInterceptor::~ServiceWorkerHostInterceptor() = default; + +blink::ServiceWorkerStatusCode +ServiceWorkerHostInterceptor::InterceptServiceWorkerHostWithScope( + BrowserContext* browser_context, + const GURL& scope, + int* service_worker_process_id_out) { + base::RunLoop run_loop; + scoped_refptr<ServiceWorkerContextWrapper> context = + static_cast<ServiceWorkerContextWrapper*>( + BrowserContext::GetDefaultStoragePartition(browser_context) + ->GetServiceWorkerContext()); + BrowserThread::ID run_done_thread; + bool is_known_thread = + BrowserThread::GetCurrentThreadIdentifier(&run_done_thread); + DCHECK(is_known_thread); + RunOrPostTaskOnThread( + FROM_HERE, ServiceWorkerContext::GetCoreThreadId(), + base::BindOnce(&ServiceWorkerHostInterceptor:: + FindRegistrationOnServiceWorkerCoreThread, + base::Unretained(this), context, scope, run_done_thread, + run_loop.QuitClosure())); + run_loop.Run(); + *service_worker_process_id_out = service_worker_process_id_; + return status_; +} + +bool ServiceWorkerHostInterceptor::WillOpenPaymentHandlerWindow(GURL* url) { + return true; +} + +blink::mojom::ServiceWorkerHost* +ServiceWorkerHostInterceptor::GetForwardingInterface() { + return service_worker_version_; +} + +void ServiceWorkerHostInterceptor::OpenPaymentHandlerWindow( + const GURL& url, + OpenPaymentHandlerWindowCallback callback) { + GURL url_copy = url; + if (WillOpenPaymentHandlerWindow(&url_copy)) { + GetForwardingInterface()->OpenPaymentHandlerWindow(url_copy, + std::move(callback)); + } +} + +void ServiceWorkerHostInterceptor::FindRegistrationOnServiceWorkerCoreThread( + scoped_refptr<ServiceWorkerContextWrapper> context, + const GURL& scope, + BrowserThread::ID run_done_thread, + base::OnceClosure done) { + context->FindRegistrationForScope( + scope, + base::BindOnce(&ServiceWorkerHostInterceptor:: + OnFoundRegistrationOnServiceWorkerCoreThread, + base::Unretained(this), run_done_thread, std::move(done))); +} + +void ServiceWorkerHostInterceptor::OnFoundRegistrationOnServiceWorkerCoreThread( + BrowserThread::ID run_done_thread, + base::OnceClosure done, + blink::ServiceWorkerStatusCode status, + scoped_refptr<ServiceWorkerRegistration> registration) { + status_ = status; + service_worker_version_ = registration->active_version(); + service_worker_process_id_ = + service_worker_version_->embedded_worker()->process_id(); + forwarding_interface_ = + service_worker_version_->service_worker_host_receiver_for_testing() + .SwapImplForTesting(this); + RunOrPostTaskOnThread(FROM_HERE, run_done_thread, std::move(done)); +} + +} // namespace content
diff --git a/content/public/test/service_worker_host_interceptor.h b/content/public/test/service_worker_host_interceptor.h new file mode 100644 index 0000000..7232334 --- /dev/null +++ b/content/public/test/service_worker_host_interceptor.h
@@ -0,0 +1,82 @@ +// 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 CONTENT_PUBLIC_TEST_SERVICE_WORKER_HOST_INTERCEPTOR_H_ +#define CONTENT_PUBLIC_TEST_SERVICE_WORKER_HOST_INTERCEPTOR_H_ + +#include "base/callback_forward.h" +#include "base/macros.h" +#include "base/memory/scoped_refptr.h" +#include "content/public/browser/browser_thread.h" +#include "third_party/blink/public/common/service_worker/service_worker_status_code.h" +#include "third_party/blink/public/mojom/service_worker/service_worker.mojom-test-utils.h" +#include "third_party/blink/public/mojom/service_worker/service_worker.mojom.h" + +class GURL; + +namespace content { + +class BrowserContext; +class ServiceWorkerContextWrapper; +class ServiceWorkerRegistration; +class ServiceWorkerVersion; + +// Allows intercepting calls to mojom::ServiceWorkerHost (e.g. +// OpenPaymentHandlerWindow) just before they are dispatched to the +// implementation. This enables browser tests to alter the parameters. +class ServiceWorkerHostInterceptor + : public blink::mojom::ServiceWorkerHostInterceptorForTesting { + public: + ServiceWorkerHostInterceptor(); + ~ServiceWorkerHostInterceptor() override; + + // Looks for the service worker with the |scope| and starts intercepting calls + // to its mojom::ServiceWorkerHost. Blocks while looking up the service worker + // information on the "service worker core" thread. + // + // On success, sets |service_worker_process_id_out| to the identifier of the + // process of the service worker, which can be used to observe process + // shutdown, and returns blink::ServiceWorkerStatusCode::kOk. + blink::ServiceWorkerStatusCode InterceptServiceWorkerHostWithScope( + BrowserContext* browser_context, + const GURL& scope, + int* service_worker_process_id_out); + + // This method can be overridden to change the |url| of the payment handler + // window or to prevent the OpenPaymentHandlerWindow call from going through + // by returning false. By default, this method does not modify the |url| and + // returns true. + virtual bool WillOpenPaymentHandlerWindow(GURL* url); + + private: + // mojom::ServiceWorkerHostInterceptorForTesting: + blink::mojom::ServiceWorkerHost* GetForwardingInterface() override; + void OpenPaymentHandlerWindow( + const GURL& url, + OpenPaymentHandlerWindowCallback callback) override; + + void FindRegistrationOnServiceWorkerCoreThread( + scoped_refptr<ServiceWorkerContextWrapper> context, + const GURL& scope, + BrowserThread::ID run_done_thread, + base::OnceClosure done); + + void OnFoundRegistrationOnServiceWorkerCoreThread( + BrowserThread::ID run_done_thread, + base::OnceClosure done, + blink::ServiceWorkerStatusCode status, + scoped_refptr<ServiceWorkerRegistration> registration); + + blink::ServiceWorkerStatusCode status_ = + blink::ServiceWorkerStatusCode::kErrorFailed; + int service_worker_process_id_ = -1; + ServiceWorkerVersion* service_worker_version_ = nullptr; + blink::mojom::ServiceWorkerHost* forwarding_interface_ = nullptr; + + DISALLOW_COPY_AND_ASSIGN(ServiceWorkerHostInterceptor); +}; + +} // namespace content + +#endif // CONTENT_PUBLIC_TEST_SERVICE_WORKER_HOST_INTERCEPTOR_H_
diff --git a/content/renderer/input/input_target_client_impl.cc b/content/renderer/input/input_target_client_impl.cc index 3704cc4e..c5b1dd9 100644 --- a/content/renderer/input/input_target_client_impl.cc +++ b/content/renderer/input/input_target_client_impl.cc
@@ -12,15 +12,15 @@ namespace content { InputTargetClientImpl::InputTargetClientImpl(RenderFrameImpl* render_frame) - : render_frame_(render_frame), binding_(this) {} + : render_frame_(render_frame) {} InputTargetClientImpl::~InputTargetClientImpl() {} -void InputTargetClientImpl::BindToRequest( - viz::mojom::InputTargetClientRequest request) { - DCHECK(!binding_.is_bound()); - binding_.Bind(std::move(request), render_frame_->GetTaskRunner( - blink::TaskType::kInternalDefault)); +void InputTargetClientImpl::BindToReceiver( + mojo::PendingReceiver<viz::mojom::InputTargetClient> receiver) { + DCHECK(!receiver_.is_bound()); + receiver_.Bind(std::move(receiver), render_frame_->GetTaskRunner( + blink::TaskType::kInternalDefault)); } void InputTargetClientImpl::FrameSinkIdAt(const gfx::PointF& point,
diff --git a/content/renderer/input/input_target_client_impl.h b/content/renderer/input/input_target_client_impl.h index 4a9fc70..4db6ca0 100644 --- a/content/renderer/input/input_target_client_impl.h +++ b/content/renderer/input/input_target_client_impl.h
@@ -5,7 +5,7 @@ #ifndef CONTENT_RENDERER_INPUT_INPUT_TARGET_CLIENT_IMPL_H_ #define CONTENT_RENDERER_INPUT_INPUT_TARGET_CLIENT_IMPL_H_ -#include "mojo/public/cpp/bindings/binding.h" +#include "mojo/public/cpp/bindings/receiver.h" #include "services/viz/public/mojom/hit_test/input_target_client.mojom.h" namespace content { @@ -18,7 +18,8 @@ explicit InputTargetClientImpl(RenderFrameImpl* render_frame); ~InputTargetClientImpl() override; - void BindToRequest(viz::mojom::InputTargetClientRequest request); + void BindToReceiver( + mojo::PendingReceiver<viz::mojom::InputTargetClient> receiver); // viz::mojom::InputTargetClient: void FrameSinkIdAt(const gfx::PointF& point, @@ -28,7 +29,7 @@ private: RenderFrameImpl* const render_frame_; - mojo::Binding<viz::mojom::InputTargetClient> binding_; + mojo::Receiver<viz::mojom::InputTargetClient> receiver_{this}; DISALLOW_COPY_AND_ASSIGN(InputTargetClientImpl); };
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc index 4e37ab3..b9731cf8 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc
@@ -7462,7 +7462,7 @@ &FrameInputHandlerImpl::CreateMojoService, weak_factory_.GetWeakPtr())); registry_.AddInterface( - base::BindRepeating(&InputTargetClientImpl::BindToRequest, + base::BindRepeating(&InputTargetClientImpl::BindToReceiver, base::Unretained(&input_target_client_impl_))); registry_.AddInterface(base::BindRepeating(&RenderFrameImpl::BindWidget,
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn index 5b056c72..c9a02e3d 100644 --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn
@@ -165,6 +165,8 @@ "../public/test/render_view_test.h", "../public/test/scoped_overscroll_modes.cc", "../public/test/scoped_overscroll_modes.h", + "../public/test/service_worker_host_interceptor.cc", + "../public/test/service_worker_host_interceptor.h", "../public/test/service_worker_test_helpers.cc", "../public/test/service_worker_test_helpers.h", "../public/test/signed_exchange_browser_test_helper.cc",
diff --git a/content/test/data/accessibility/aria/aria-contentinfo-expected-android.txt b/content/test/data/accessibility/aria/aria-contentinfo-expected-android.txt index b27e2440..0c7d874e 100644 --- a/content/test/data/accessibility/aria/aria-contentinfo-expected-android.txt +++ b/content/test/data/accessibility/aria/aria-contentinfo-expected-android.txt
@@ -1,2 +1,2 @@ android.webkit.WebView focusable focused scrollable -++android.view.View role_description='content info' name='This is ARIA role contentinfo.' \ No newline at end of file +++android.view.View role_description='content information' name='This is ARIA role contentinfo.' \ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-contentinfo-expected-uia-win.txt b/content/test/data/accessibility/aria/aria-contentinfo-expected-uia-win.txt new file mode 100644 index 0000000..99519c3c --- /dev/null +++ b/content/test/data/accessibility/aria/aria-contentinfo-expected-uia-win.txt
@@ -0,0 +1,3 @@ +document +++contentinfo LocalizedControlType='content information' LocalizedLandmarkType='content information' +++++description Name='This is ARIA role contentinfo.'
diff --git a/content/test/data/accessibility/aria/aria-contentinfo-expected-win.txt b/content/test/data/accessibility/aria/aria-contentinfo-expected-win.txt index 2071e6d..6583f9a 100644 --- a/content/test/data/accessibility/aria/aria-contentinfo-expected-win.txt +++ b/content/test/data/accessibility/aria/aria-contentinfo-expected-win.txt
@@ -1,3 +1,3 @@ ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE -++IA2_ROLE_LANDMARK xml-roles:contentinfo +++IA2_ROLE_LANDMARK xml-roles:contentinfo localized_extended_role='content information' ++++ROLE_SYSTEM_STATICTEXT name='This is ARIA role contentinfo.' \ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-contentinfo.html b/content/test/data/accessibility/aria/aria-contentinfo.html index 637ddc3..a8fde58 100644 --- a/content/test/data/accessibility/aria/aria-contentinfo.html +++ b/content/test/data/accessibility/aria/aria-contentinfo.html
@@ -2,6 +2,9 @@ @MAC-ALLOW:AXRole=* @MAC-ALLOW:AXSubrole=* @MAC-ALLOW:AXRoleDescription=* +@UIA-WIN-ALLOW:LocalizedControlType='content information' +@UIA-WIN-ALLOW:LocalizedLandmarkType='content information' +@WIN-ALLOW:localized_extended_role='content information' @WIN-ALLOW:xml-roles:* @AURALINUX-ALLOW:xml-roles:* -->
diff --git a/content/test/data/accessibility/html/footer-expected-uia-win.txt b/content/test/data/accessibility/html/footer-expected-uia-win.txt index 2cb67be..061970c20 100644 --- a/content/test/data/accessibility/html/footer-expected-uia-win.txt +++ b/content/test/data/accessibility/html/footer-expected-uia-win.txt
@@ -1,3 +1,3 @@ document -++contentinfo +++contentinfo LocalizedLandmarkType='content information' ++++description Name='Footer element'
diff --git a/content/test/data/accessibility/html/footer.html b/content/test/data/accessibility/html/footer.html index 4087ce2..b5e12d9 100644 --- a/content/test/data/accessibility/html/footer.html +++ b/content/test/data/accessibility/html/footer.html
@@ -1,6 +1,7 @@ <!-- @MAC-ALLOW:AXRole* @MAC-ALLOW:AXSubrole* +@UIA-WIN-ALLOW:LocalizedLandmarkType='content information' @WIN-ALLOW:xml-roles:* @AURALINUX-ALLOW:xml-roles:* -->
diff --git a/content/test/data/accessibility/html/landmark-expected-android.txt b/content/test/data/accessibility/html/landmark-expected-android.txt index 8dd34dd..da18dadd 100644 --- a/content/test/data/accessibility/html/landmark-expected-android.txt +++ b/content/test/data/accessibility/html/landmark-expected-android.txt
@@ -9,7 +9,7 @@ ++android.view.View role_description='application' name='This is an ARIA application landmark.' ++android.view.View role_description='banner' name='This is an ARIA banner landmark.' ++android.view.View role_description='complementary' name='This is an ARIA complementary landmark.' -++android.view.View role_description='content info' name='This is an ARIA contentinfo landmark.' +++android.view.View role_description='content information' name='This is an ARIA contentinfo landmark.' ++android.view.View name='This is an ARIA form landmark.' ++android.view.View role_description='main' name='This is an ARIA main landmark.' ++android.view.View role_description='navigation' name='This is an ARIA navigation landmark.'
diff --git a/device/bluetooth/chromeos/bluetooth_utils_unittest.cc b/device/bluetooth/chromeos/bluetooth_utils_unittest.cc index 9341d422..4681935 100644 --- a/device/bluetooth/chromeos/bluetooth_utils_unittest.cc +++ b/device/bluetooth/chromeos/bluetooth_utils_unittest.cc
@@ -71,8 +71,8 @@ EXPECT_EQ(num_expected_remaining_devices, filtered_device_list.size()); } - void EnableAggressiveAppearanceFilter() { - feature_list_.InitAndEnableFeature( + void DisableAggressiveAppearanceFilter() { + feature_list_.InitAndDisableFeature( chromeos::features::kBluetoothAggressiveAppearanceFilter); } @@ -180,8 +180,6 @@ TEST_F( BluetoothUtilsTest, TestFilterBluetoothDeviceList_FilterKnown_KeepDualDevicesWithNamesAndAppearances) { - EnableAggressiveAppearanceFilter(); - auto* mock_bluetooth_device = AddMockBluetoothDeviceToAdapter(BLUETOOTH_TRANSPORT_DUAL); EXPECT_CALL(*mock_bluetooth_device, GetDeviceType) @@ -194,6 +192,8 @@ TEST_F( BluetoothUtilsTest, TestFilterBluetoothDeviceList_FilterKnown_DualDevicesWithoutAppearances_KeepWithFilterFlagDisabled) { + DisableAggressiveAppearanceFilter(); + AddMockBluetoothDeviceToAdapter(BLUETOOTH_TRANSPORT_DUAL); VerifyFilterBluetoothDeviceList(BluetoothFilterType::KNOWN, @@ -203,8 +203,6 @@ TEST_F( BluetoothUtilsTest, TestFilterBluetoothDeviceList_FilterKnown_DualDevicesWithoutAppearances_RemoveWithFilterFlagEnabled) { - EnableAggressiveAppearanceFilter(); - AddMockBluetoothDeviceToAdapter(BLUETOOTH_TRANSPORT_DUAL); VerifyFilterBluetoothDeviceList(BluetoothFilterType::KNOWN, @@ -214,6 +212,8 @@ TEST_F( BluetoothUtilsTest, TestFilterBluetoothDeviceList_FilterKnown_AppearanceComputer_KeepWithFilterFlagDisabled) { + DisableAggressiveAppearanceFilter(); + auto* mock_bluetooth_device = AddMockBluetoothDeviceToAdapter(BLUETOOTH_TRANSPORT_CLASSIC); ON_CALL(*mock_bluetooth_device, GetDeviceType) @@ -226,8 +226,6 @@ TEST_F( BluetoothUtilsTest, TestFilterBluetoothDeviceList_FilterKnown_AppearanceComputer_RemoveWithFilterFlagEnabled) { - EnableAggressiveAppearanceFilter(); - auto* mock_bluetooth_device_1 = AddMockBluetoothDeviceToAdapter(BLUETOOTH_TRANSPORT_CLASSIC); EXPECT_CALL(*mock_bluetooth_device_1, GetDeviceType)
diff --git a/device/vr/BUILD.gn b/device/vr/BUILD.gn index 9d89f93..cf71125 100644 --- a/device/vr/BUILD.gn +++ b/device/vr/BUILD.gn
@@ -28,6 +28,8 @@ "util/sample_queue.h", "util/sliding_average.cc", "util/sliding_average.h", + "util/transform_utils.cc", + "util/transform_utils.h", "util/xr_standard_gamepad_builder.cc", "util/xr_standard_gamepad_builder.h", "vr_device.h", @@ -69,6 +71,8 @@ "android/gvr/gvr_gamepad_data_fetcher.cc", "android/gvr/gvr_gamepad_data_fetcher.h", "android/gvr/gvr_gamepad_data_provider.h", + "android/gvr/gvr_utils.cc", + "android/gvr/gvr_utils.h", ] if (enable_arcore) {
diff --git a/device/vr/android/gvr/gvr_delegate.cc b/device/vr/android/gvr/gvr_delegate.cc index 45b5dac..9b596da 100644 --- a/device/vr/android/gvr/gvr_delegate.cc +++ b/device/vr/android/gvr/gvr_delegate.cc
@@ -5,6 +5,7 @@ #include "device/vr/android/gvr/gvr_delegate.h" #include "base/trace_event/trace_event.h" +#include "device/vr/android/gvr/gvr_utils.h" #include "third_party/gvr-android-sdk/src/libraries/headers/vr/gvr/capi/include/gvr.h" #include "ui/gfx/geometry/vector3d_f.h" #include "ui/gfx/transform.h" @@ -22,13 +23,6 @@ // less than a frame. static constexpr int64_t kAngularVelocityEpsilonNanos = 1000000; -void GvrMatToTransform(const gvr::Mat4f& in, gfx::Transform* out) { - *out = gfx::Transform(in.m[0][0], in.m[0][1], in.m[0][2], in.m[0][3], - in.m[1][0], in.m[1][1], in.m[1][2], in.m[1][3], - in.m[2][0], in.m[2][1], in.m[2][2], in.m[2][3], - in.m[3][0], in.m[3][1], in.m[3][2], in.m[3][3]); -} - gfx::Vector3dF GetAngularVelocityFromPoses(gfx::Transform head_mat, gfx::Transform head_mat_2, double epsilon_seconds) { @@ -117,7 +111,7 @@ gvr::Mat4f head_mat = gvr_api->ApplyNeckModel( gvr_api->GetHeadSpaceFromStartSpaceRotation(target_time), 1.0f); - GvrMatToTransform(head_mat, out); + gvr_utils::GvrMatToTransform(head_mat, out); } /* static */ @@ -141,7 +135,7 @@ gfx::Transform head_mat; if (!head_mat_ptr) head_mat_ptr = &head_mat; - GvrMatToTransform(gvr_head_mat, head_mat_ptr); + gvr_utils::GvrMatToTransform(gvr_head_mat, head_mat_ptr); mojom::VRPosePtr pose = GvrDelegate::VRPosePtrFromGvrPose(*head_mat_ptr); @@ -150,7 +144,7 @@ gvr::Mat4f gvr_head_mat_2 = gvr_api->GetHeadSpaceFromStartSpaceRotation(target_time); gfx::Transform head_mat_2; - GvrMatToTransform(gvr_head_mat_2, &head_mat_2); + gvr_utils::GvrMatToTransform(gvr_head_mat_2, &head_mat_2); // Add headset angular velocity to the pose. double epsilon_seconds = kAngularVelocityEpsilonNanos * 1e-9;
diff --git a/device/vr/android/gvr/gvr_device.cc b/device/vr/android/gvr/gvr_device.cc index 6afd2fd..084f186 100644 --- a/device/vr/android/gvr/gvr_device.cc +++ b/device/vr/android/gvr/gvr_device.cc
@@ -18,6 +18,7 @@ #include "device/vr/android/gvr/gvr_delegate_provider.h" #include "device/vr/android/gvr/gvr_delegate_provider_factory.h" #include "device/vr/android/gvr/gvr_device_provider.h" +#include "device/vr/android/gvr/gvr_utils.h" #include "device/vr/jni_headers/NonPresentingGvrContext_jni.h" #include "third_party/gvr-android-sdk/src/libraries/headers/vr/gvr/capi/include/gvr.h" #include "ui/gfx/geometry/rect_f.h" @@ -86,8 +87,14 @@ eye_params->field_of_view->right_degrees = eye_fov.right; gvr::Mat4f eye_mat = gvr_api->GetEyeFromHeadMatrix(eye); - eye_params->offset = - gfx::Vector3dF(-eye_mat.m[0][3], -eye_mat.m[1][3], -eye_mat.m[2][3]); + gfx::Transform eye_from_head; + gvr_utils::GvrMatToTransform(eye_mat, &eye_from_head); + DCHECK(eye_from_head.IsInvertible()); + gfx::Transform head_from_eye; + if (eye_from_head.GetInverse(&head_from_eye)) { + eye_params->head_from_eye = head_from_eye; + } + return eye_params; }
diff --git a/device/vr/android/gvr/gvr_utils.cc b/device/vr/android/gvr/gvr_utils.cc new file mode 100644 index 0000000..973e994d --- /dev/null +++ b/device/vr/android/gvr/gvr_utils.cc
@@ -0,0 +1,20 @@ +// 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 "device/vr/android/gvr/gvr_utils.h" + +#include "ui/gfx/transform.h" + +namespace device { +namespace gvr_utils { + +void GvrMatToTransform(const gvr::Mat4f& in, gfx::Transform* out) { + *out = gfx::Transform(in.m[0][0], in.m[0][1], in.m[0][2], in.m[0][3], + in.m[1][0], in.m[1][1], in.m[1][2], in.m[1][3], + in.m[2][0], in.m[2][1], in.m[2][2], in.m[2][3], + in.m[3][0], in.m[3][1], in.m[3][2], in.m[3][3]); +} + +} // namespace gvr_utils +} // namespace device
diff --git a/device/vr/android/gvr/gvr_utils.h b/device/vr/android/gvr/gvr_utils.h new file mode 100644 index 0000000..151a080 --- /dev/null +++ b/device/vr/android/gvr/gvr_utils.h
@@ -0,0 +1,22 @@ +// 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 DEVICE_VR_ANDROID_GVR_GVR_UTILS_H_ +#define DEVICE_VR_ANDROID_GVR_GVR_UTILS_H_ + +#include "third_party/gvr-android-sdk/src/libraries/headers/vr/gvr/capi/include/gvr_types.h" + +namespace gfx { +class Transform; +} // namespace gfx + +namespace device { +namespace gvr_utils { + +void GvrMatToTransform(const gvr::Mat4f& in, gfx::Transform* out); + +} // namespace gvr_utils +} // namespace device + +#endif // DEVICE_VR_ANDROID_GVR_GVR_UTILS_H_
diff --git a/device/vr/oculus/oculus_device.cc b/device/vr/oculus/oculus_device.cc index 2cf7031..9f15d2e 100644 --- a/device/vr/oculus/oculus_device.cc +++ b/device/vr/oculus/oculus_device.cc
@@ -15,6 +15,7 @@ #include "build/build_config.h" #include "device/vr/oculus/oculus_render_loop.h" #include "device/vr/oculus/oculus_type_converters.h" +#include "device/vr/util/transform_utils.h" #include "third_party/libovr/src/Include/OVR_CAPI.h" #include "third_party/libovr/src/Include/OVR_CAPI_D3D.h" #include "ui/gfx/geometry/angle_conversions.h" @@ -39,8 +40,13 @@ eye_parameters->field_of_view->right_degrees = gfx::RadToDeg(atanf(render_desc.Fov.RightTan)); + // TODO(crbug.com/999353): Query eye-to-head transform from the device and use + // that instead of just building a transformation matrix from the translation + // component. This requireds updating libovr to v1.25 because v1.16 doesn't + // have HmdToEyePose (tracked by crbug.com/999355). auto offset = render_desc.HmdToEyeOffset; - eye_parameters->offset = gfx::Vector3dF(offset.x, offset.y, offset.z); + eye_parameters->head_from_eye = + vr_utils::MakeTranslationTransform(offset.x, offset.y, offset.z); auto texture_size = ovr_GetFovTextureSize(session, eye, render_desc.Fov, 1.0f);
diff --git a/device/vr/openvr/openvr_device.cc b/device/vr/openvr/openvr_device.cc index 138161d..8110ff3 100644 --- a/device/vr/openvr/openvr_device.cc +++ b/device/vr/openvr/openvr_device.cc
@@ -30,7 +30,6 @@ namespace { -constexpr float kDefaultIPD = 0.06f; // Default average IPD. constexpr base::TimeDelta kPollingInterval = base::TimeDelta::FromSecondsD(0.25); @@ -61,6 +60,13 @@ // clang-format on } +// OpenVR uses A_to_B convention for naming transformation matrices, but we pass +// matrices through mojo using the B_from_A naming convention since that what +// blink uses. +gfx::Transform HeadFromEyeTransform(vr::IVRSystem* vr_system, vr::Hmd_Eye eye) { + return HmdMatrix34ToTransform(vr_system->GetEyeToHeadTransform(eye)); +} + mojom::VRDisplayInfoPtr CreateVRDisplayInfo(vr::IVRSystem* vr_system, device::mojom::XRDeviceId id) { mojom::VRDisplayInfoPtr display_info = mojom::VRDisplayInfo::New(); @@ -83,15 +89,8 @@ left_eye->field_of_view = OpenVRFovToWebVRFov(vr_system, vr::Eye_Left); right_eye->field_of_view = OpenVRFovToWebVRFov(vr_system, vr::Eye_Right); - vr::TrackedPropertyError error = vr::TrackedProp_Success; - float ipd = vr_system->GetFloatTrackedDeviceProperty( - vr::k_unTrackedDeviceIndex_Hmd, vr::Prop_UserIpdMeters_Float, &error); - - if (error != vr::TrackedProp_Success) - ipd = kDefaultIPD; - - left_eye->offset = gfx::Vector3dF(-ipd * 0.5, 0.0, 0.0); - right_eye->offset = gfx::Vector3dF(ipd * 0.5, 0.0, 0.0); + left_eye->head_from_eye = HeadFromEyeTransform(vr_system, vr::Eye_Left); + right_eye->head_from_eye = HeadFromEyeTransform(vr_system, vr::Eye_Right); uint32_t width, height; vr_system->GetRecommendedRenderTargetSize(&width, &height);
diff --git a/device/vr/openxr/openxr_device.cc b/device/vr/openxr/openxr_device.cc index ec72024..2983f9ce 100644 --- a/device/vr/openxr/openxr_device.cc +++ b/device/vr/openxr/openxr_device.cc
@@ -9,6 +9,7 @@ #include "base/bind_helpers.h" #include "device/vr/openxr/openxr_api_wrapper.h" #include "device/vr/openxr/openxr_render_loop.h" +#include "device/vr/util/transform_utils.h" namespace device { @@ -22,14 +23,10 @@ constexpr float kFramebufferScale = 1.0f; constexpr float kFov = 45.0f; -constexpr float kInterpupillaryDistance = 0.1f; // 10cm constexpr unsigned int kRenderWidth = 1024; constexpr unsigned int kRenderHeight = 1024; -constexpr gfx::Vector3dF kLeftOffset = {-kInterpupillaryDistance * 0.5, 0, 0}; -constexpr gfx::Vector3dF kRightOffset = {kInterpupillaryDistance * 0.5, 0, 0}; - constexpr float kStageSizeX = 0.0f; constexpr float kStageSizeZ = 0.0f; // OpenXR doesn't give out display info until you start a session. @@ -58,8 +55,10 @@ display_info->right_eye->field_of_view = display_info->left_eye->field_of_view.Clone(); - display_info->left_eye->offset = kLeftOffset; - display_info->right_eye->offset = kRightOffset; + display_info->left_eye->head_from_eye = + vr_utils::DefaultHeadFromLeftEyeTransform(); + display_info->right_eye->head_from_eye = + vr_utils::DefaultHeadFromRightEyeTransform(); display_info->left_eye->render_width = kRenderWidth; display_info->left_eye->render_height = kRenderHeight;
diff --git a/device/vr/openxr/openxr_render_loop.cc b/device/vr/openxr/openxr_render_loop.cc index 888a0468..442e5cb8 100644 --- a/device/vr/openxr/openxr_render_loop.cc +++ b/device/vr/openxr/openxr_render_loop.cc
@@ -8,6 +8,7 @@ #include "device/vr/openxr/openxr_api_wrapper.h" #include "device/vr/openxr/openxr_gamepad_helper.h" +#include "device/vr/util/transform_utils.h" namespace device { @@ -226,12 +227,15 @@ mojom::VREyeParametersPtr* eye) const { bool changed = false; - gfx::Vector3dF offset = gfx::Vector3dF(view.pose.position.x - center.x(), - view.pose.position.y - center.y(), - view.pose.position.z - center.z()); + // TODO(crbug.com/999573): Query eye-to-head transform from the device and use + // that instead of just building a transformation matrix from the translation + // component. + gfx::Transform head_from_eye = vr_utils::MakeTranslationTransform( + view.pose.position.x - center.x(), view.pose.position.y - center.y(), + view.pose.position.z - center.z()); - if ((*eye)->offset != offset) { - (*eye)->offset = offset; + if ((*eye)->head_from_eye != head_from_eye) { + (*eye)->head_from_eye = head_from_eye; changed = true; }
diff --git a/device/vr/public/mojom/vr_service.mojom b/device/vr/public/mojom/vr_service.mojom index f12fd04..4cdeb02 100644 --- a/device/vr/public/mojom/vr_service.mojom +++ b/device/vr/public/mojom/vr_service.mojom
@@ -216,7 +216,13 @@ // Information about the optical properties for an eye in a VRDisplay. struct VREyeParameters { VRFieldOfView field_of_view; - gfx.mojom.Vector3dF offset; + + // Describes the relationship between the head and eye space for this device. + // It should always include translation that is based on IPD (interpupillary + // distance), and will sometimes include rotation if the device has angled + // screens. + gfx.mojom.Transform head_from_eye; + uint32 render_width; uint32 render_height; };
diff --git a/device/vr/test/fake_vr_device.cc b/device/vr/test/fake_vr_device.cc index 3eb2eaf..9567c1c 100644 --- a/device/vr/test/fake_vr_device.cc +++ b/device/vr/test/fake_vr_device.cc
@@ -4,6 +4,8 @@ #include "device/vr/test/fake_vr_device.h" +#include "ui/gfx/transform_util.h" + namespace device { FakeVRDevice::FakeVRDevice(mojom::XRDeviceId id) @@ -39,7 +41,9 @@ eye->field_of_view->left_degrees = fov; eye->field_of_view->right_degrees = fov; - eye->offset = gfx::Vector3dF(offset, 0.0f, 0.0f); + gfx::DecomposedTransform decomp; + decomp.translate[0] = offset; + eye->head_from_eye = gfx::ComposeTransform(decomp); eye->render_width = size; eye->render_height = size;
diff --git a/device/vr/util/transform_utils.cc b/device/vr/util/transform_utils.cc new file mode 100644 index 0000000..c6a80e8 --- /dev/null +++ b/device/vr/util/transform_utils.cc
@@ -0,0 +1,38 @@ +// 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 "device/vr/util/transform_utils.h" + +#include "ui/gfx/geometry/vector3d_f.h" +#include "ui/gfx/transform.h" +#include "ui/gfx/transform_util.h" + +namespace device { +namespace vr_utils { + +gfx::Transform MakeTranslationTransform(float x, float y, float z) { + gfx::DecomposedTransform decomp; + decomp.translate[0] = x; + decomp.translate[1] = y; + decomp.translate[2] = z; + return gfx::ComposeTransform(decomp); +} + +gfx::Transform MakeTranslationTransform(const gfx::Vector3dF& translation) { + return MakeTranslationTransform(translation.x(), translation.y(), + translation.z()); +} + +constexpr float kDefaultIPD = 0.1f; // 10cm + +gfx::Transform DefaultHeadFromLeftEyeTransform() { + return MakeTranslationTransform(-kDefaultIPD * 0.5, 0, 0); +} + +gfx::Transform DefaultHeadFromRightEyeTransform() { + return MakeTranslationTransform(kDefaultIPD * 0.5, 0, 0); +} + +} // namespace vr_utils +} // namespace device
diff --git a/device/vr/util/transform_utils.h b/device/vr/util/transform_utils.h new file mode 100644 index 0000000..d78e4b4 --- /dev/null +++ b/device/vr/util/transform_utils.h
@@ -0,0 +1,24 @@ +// 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 DEVICE_VR_UTIL_TRANSFORM_UTILS_H_ +#define DEVICE_VR_UTIL_TRANSFORM_UTILS_H_ + +namespace gfx { +class Transform; +class Vector3dF; +} // namespace gfx + +namespace device { +namespace vr_utils { + +gfx::Transform MakeTranslationTransform(float x, float y, float z); +gfx::Transform MakeTranslationTransform(const gfx::Vector3dF& translation); +gfx::Transform DefaultHeadFromLeftEyeTransform(); +gfx::Transform DefaultHeadFromRightEyeTransform(); + +} // namespace vr_utils +} // namespace device + +#endif // DEVICE_VR_UTIL_TRANSFORM_UTILS_H_
diff --git a/device/vr/windows_mixed_reality/mixed_reality_device.cc b/device/vr/windows_mixed_reality/mixed_reality_device.cc index 5a330db..0ef4c48 100644 --- a/device/vr/windows_mixed_reality/mixed_reality_device.cc +++ b/device/vr/windows_mixed_reality/mixed_reality_device.cc
@@ -13,6 +13,7 @@ #include "base/numerics/math_constants.h" #include "base/threading/thread.h" #include "build/build_config.h" +#include "device/vr/util/transform_utils.h" #include "device/vr/windows_mixed_reality/mixed_reality_renderloop.h" #include "ui/gfx/geometry/angle_conversions.h" @@ -44,9 +45,8 @@ left_eye->field_of_view = mojom::VRFieldOfView::New(45, 45, 45, 45); right_eye->field_of_view = mojom::VRFieldOfView::New(45, 45, 45, 45); - constexpr float interpupillary_distance = 0.1f; // 10cm - left_eye->offset = {-interpupillary_distance * 0.5, 0, 0}; - right_eye->offset = {interpupillary_distance * 0.5, 0, 0}; + left_eye->head_from_eye = vr_utils::DefaultHeadFromLeftEyeTransform(); + right_eye->head_from_eye = vr_utils::DefaultHeadFromRightEyeTransform(); constexpr uint32_t width = 1024; constexpr uint32_t height = 1024;
diff --git a/device/vr/windows_mixed_reality/mixed_reality_renderloop.cc b/device/vr/windows_mixed_reality/mixed_reality_renderloop.cc index c7cc71c..747221d 100644 --- a/device/vr/windows_mixed_reality/mixed_reality_renderloop.cc +++ b/device/vr/windows_mixed_reality/mixed_reality_renderloop.cc
@@ -20,6 +20,7 @@ #include "base/win/scoped_co_mem.h" #include "base/win/scoped_hstring.h" #include "device/vr/test/test_hook.h" +#include "device/vr/util/transform_utils.h" #include "device/vr/windows/d3d11_texture_helper.h" #include "device/vr/windows_mixed_reality/mixed_reality_input_helper.h" #include "device/vr/windows_mixed_reality/mixed_reality_statics.h" @@ -499,8 +500,8 @@ struct PoseAndEyeTransform { mojom::VRPosePtr pose; - gfx::Vector3dF left_offset; - gfx::Vector3dF right_offset; + gfx::Transform head_from_left_eye; + gfx::Transform head_from_right_eye; }; PoseAndEyeTransform GetStereoViewData(const HolographicStereoTransform& view) { @@ -512,25 +513,25 @@ (left_eye.eye_in_world_space.z() + right_eye.eye_in_world_space.z()) / 2); // We calculate the overal headset pose to be the slerp of per-eye poses as - // calculated by the view transform's decompositions. Although this works, we - // should consider using per-eye rotation as well as translation for eye - // parameters. See https://crbug.com/928433 for a similar issue. + // calculated by the view transform's decompositions. gfx::Quaternion world_to_view_rotation = left_eye.world_to_eye_rotation; world_to_view_rotation.Slerp(right_eye.world_to_eye_rotation, 0.5f); // Calculate new eye offsets. PoseAndEyeTransform ret; - ret.left_offset = left_eye.eye_in_world_space - center; - ret.right_offset = right_eye.eye_in_world_space - center; + gfx::Vector3dF left_offset = left_eye.eye_in_world_space - center; + gfx::Vector3dF right_offset = right_eye.eye_in_world_space - center; gfx::Transform transform(world_to_view_rotation); // World to view. transform.Transpose(); // Now it is view to world. - transform.TransformVector(&(ret.left_offset)); // Offset is now in view space - transform.TransformVector(&(ret.right_offset)); - - // TODO(https://crbug.com/928433): We don't currently support per-eye rotation - // in the mojo interface, but we should. + // TODO(crbug.com/980791): Get the actual eye-to-head transforms instead of + // building them from just the translation components so that angled screens + // are handled properly. + transform.TransformVector(&left_offset); // Offset is now in view space + transform.TransformVector(&right_offset); + ret.head_from_left_eye = vr_utils::MakeTranslationTransform(left_offset); + ret.head_from_right_eye = vr_utils::MakeTranslationTransform(right_offset); ret.pose = mojom::VRPose::New(); @@ -793,21 +794,21 @@ PoseAndEyeTransform pose_and_eye_transform = GetStereoViewData(view); ret->pose = std::move(pose_and_eye_transform.pose); - if (current_display_info_->left_eye->offset != - pose_and_eye_transform.left_offset || - current_display_info_->right_eye->offset != - pose_and_eye_transform.right_offset) { - current_display_info_->left_eye->offset = - std::move(pose_and_eye_transform.left_offset); - current_display_info_->right_eye->offset = - std::move(pose_and_eye_transform.right_offset); + if (current_display_info_->left_eye->head_from_eye != + pose_and_eye_transform.head_from_left_eye || + current_display_info_->right_eye->head_from_eye != + pose_and_eye_transform.head_from_right_eye) { + current_display_info_->left_eye->head_from_eye = + std::move(pose_and_eye_transform.head_from_left_eye); + current_display_info_->right_eye->head_from_eye = + std::move(pose_and_eye_transform.head_from_right_eye); send_new_display_info = true; } } else { ret->pose = GetMonoViewData(view); - gfx::Vector3dF offset; - if (current_display_info_->left_eye->offset != offset) { - current_display_info_->left_eye->offset = offset; + gfx::Transform head_from_eye; + if (current_display_info_->left_eye->head_from_eye != head_from_eye) { + current_display_info_->left_eye->head_from_eye = head_from_eye; send_new_display_info = true; } }
diff --git a/docs/infra/cq_builders.md b/docs/infra/cq_builders.md index 25974ead..73ba49c8 100644 --- a/docs/infra/cq_builders.md +++ b/docs/infra/cq_builders.md
@@ -326,3 +326,9 @@ * Experimental percentage: 10 +* [linux-chromeos-coverage-rel](https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux-chromeos-coverage-rel) ([`commit-queue.cfg` entry](https://cs.chromium.org/search/?q=package:%5Echromium$+file:commit-queue.cfg+chromium/try/linux-chromeos-coverage-rel)) ([matching builders](https://cs.chromium.org/search/?q=file:trybots.py+linux-chromeos-coverage-rel)) + + https://crbug.com/1000367 + + * Experimental percentage: 3 +
diff --git a/extensions/browser/api/alarms/alarm_manager.cc b/extensions/browser/api/alarms/alarm_manager.cc index 4129bb3..12db37d 100644 --- a/extensions/browser/api/alarms/alarm_manager.cc +++ b/extensions/browser/api/alarms/alarm_manager.cc
@@ -19,7 +19,6 @@ #include "base/values.h" #include "extensions/browser/api/alarms/alarms_api_constants.h" #include "extensions/browser/event_router.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_factory.h" #include "extensions/browser/extension_system.h" #include "extensions/browser/state_store.h" @@ -114,8 +113,7 @@ AlarmManager::AlarmManager(content::BrowserContext* context) : browser_context_(context), clock_(base::DefaultClock::GetInstance()), - delegate_(new DefaultAlarmDelegate(context)), - extension_registry_observer_(this) { + delegate_(new DefaultAlarmDelegate(context)) { extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context_)); StateStore* storage = ExtensionSystem::Get(browser_context_)->state_store();
diff --git a/extensions/browser/api/alarms/alarm_manager.h b/extensions/browser/api/alarms/alarm_manager.h index ab84025..93b1481 100644 --- a/extensions/browser/api/alarms/alarm_manager.h +++ b/extensions/browser/api/alarms/alarm_manager.h
@@ -17,6 +17,7 @@ #include "base/scoped_observer.h" #include "base/timer/timer.h" #include "extensions/browser/browser_context_keyed_api_factory.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/common/api/alarms.h" #include "extensions/common/extension_id.h" @@ -31,7 +32,6 @@ namespace extensions { class ExtensionAlarmsSchedulingTest; -class ExtensionRegistry; struct Alarm { Alarm(); @@ -225,7 +225,7 @@ // Listen to extension load notifications. ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; // The timer for this alarm manager. base::OneShotTimer timer_;
diff --git a/extensions/browser/api/api_resource_manager.h b/extensions/browser/api/api_resource_manager.h index 3141f848..ae047659 100644 --- a/extensions/browser/api/api_resource_manager.h +++ b/extensions/browser/api/api_resource_manager.h
@@ -105,9 +105,7 @@ public ProcessManagerObserver { public: explicit ApiResourceManager(content::BrowserContext* context) - : data_(base::MakeRefCounted<ApiResourceData>()), - extension_registry_observer_(this), - process_manager_observer_(this) { + : data_(base::MakeRefCounted<ApiResourceData>()) { extension_registry_observer_.Add(ExtensionRegistry::Get(context)); process_manager_observer_.Add(ProcessManager::Get(context)); } @@ -378,9 +376,9 @@ scoped_refptr<ApiResourceData> data_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; ScopedObserver<ProcessManager, ProcessManagerObserver> - process_manager_observer_; + process_manager_observer_{this}; SEQUENCE_CHECKER(sequence_checker_); };
diff --git a/extensions/browser/api/bluetooth/bluetooth_event_router.cc b/extensions/browser/api/bluetooth/bluetooth_event_router.cc index 88945ef1..9a7c13af 100644 --- a/extensions/browser/api/bluetooth/bluetooth_event_router.cc +++ b/extensions/browser/api/bluetooth/bluetooth_event_router.cc
@@ -29,7 +29,6 @@ #include "extensions/browser/api/bluetooth/bluetooth_private_api.h" #include "extensions/browser/event_router.h" #include "extensions/browser/extension_host.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/notification_types.h" #include "extensions/common/api/bluetooth.h" #include "extensions/common/api/bluetooth_private.h" @@ -57,9 +56,7 @@ namespace bt_private = api::bluetooth_private; BluetoothEventRouter::BluetoothEventRouter(content::BrowserContext* context) - : browser_context_(context), - adapter_(nullptr), - extension_registry_observer_(this) { + : browser_context_(context), adapter_(nullptr) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); BLUETOOTH_LOG(USER) << "BluetoothEventRouter()"; DCHECK(browser_context_);
diff --git a/extensions/browser/api/bluetooth/bluetooth_event_router.h b/extensions/browser/api/bluetooth/bluetooth_event_router.h index 8dd778a..593a217 100644 --- a/extensions/browser/api/bluetooth/bluetooth_event_router.h +++ b/extensions/browser/api/bluetooth/bluetooth_event_router.h
@@ -17,6 +17,7 @@ #include "device/bluetooth/bluetooth_adapter.h" #include "device/bluetooth/bluetooth_adapter_factory.h" #include "extensions/browser/extension_event_histogram_value.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/common/api/bluetooth.h" #include "extensions/common/api/bluetooth_private.h" @@ -34,7 +35,6 @@ namespace extensions { class BluetoothApiPairingDelegate; -class ExtensionRegistry; struct EventListenerInfo; class BluetoothEventRouter : public device::BluetoothAdapter::Observer, @@ -181,7 +181,7 @@ content::NotificationRegistrar registrar_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; base::WeakPtrFactory<BluetoothEventRouter> weak_ptr_factory_{this};
diff --git a/extensions/browser/api/bluetooth_low_energy/bluetooth_low_energy_event_router.cc b/extensions/browser/api/bluetooth_low_energy/bluetooth_low_energy_event_router.cc index 926612a..e64c166c 100644 --- a/extensions/browser/api/bluetooth_low_energy/bluetooth_low_energy_event_router.cc +++ b/extensions/browser/api/bluetooth_low_energy/bluetooth_low_energy_event_router.cc
@@ -29,7 +29,6 @@ #include "extensions/browser/api/bluetooth_low_energy/utils.h" #include "extensions/browser/event_listener_map.h" #include "extensions/browser/event_router.h" -#include "extensions/browser/extension_registry.h" #include "extensions/common/api/bluetooth/bluetooth_manifest_data.h" #include "extensions/common/extension.h" @@ -237,10 +236,7 @@ BluetoothLowEnergyEventRouter::BluetoothLowEnergyEventRouter( content::BrowserContext* context) - : adapter_(NULL), - last_callback_request_id_(0), - browser_context_(context), - extension_registry_observer_(this) { + : browser_context_(context) { DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK(browser_context_); VLOG(1) << "Initializing BluetoothLowEnergyEventRouter.";
diff --git a/extensions/browser/api/bluetooth_low_energy/bluetooth_low_energy_event_router.h b/extensions/browser/api/bluetooth_low_energy/bluetooth_low_energy_event_router.h index 7deb98e..5c4c975 100644 --- a/extensions/browser/api/bluetooth_low_energy/bluetooth_low_energy_event_router.h +++ b/extensions/browser/api/bluetooth_low_energy/bluetooth_low_energy_event_router.h
@@ -26,6 +26,7 @@ #include "device/bluetooth/bluetooth_remote_gatt_service.h" #include "device/bluetooth/public/cpp/bluetooth_uuid.h" #include "extensions/browser/extension_event_histogram_value.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/common/api/bluetooth_low_energy.h" @@ -55,7 +56,6 @@ class BluetoothLowEnergyConnection; class BluetoothLowEnergyNotifySession; class Extension; -class ExtensionRegistry; // The BluetoothLowEnergyEventRouter is used by the bluetoothLowEnergy API to // interface with the internal Bluetooth API in device/bluetooth. @@ -573,7 +573,7 @@ // requests. ExtensionToRequestsMap requests_; // The last request ID we used. - size_t last_callback_request_id_; + size_t last_callback_request_id_ = 0; // Map of locally hosted GATT service ids created by app_id. Used for cleanup. std::map<std::string, std::vector<std::string>> app_id_to_service_ids_; @@ -583,7 +583,7 @@ // Listen to extension unloaded notification. ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; // Note: This should remain the last member so it'll be destroyed and // invalidate its weak pointers before any other members are destroyed.
diff --git a/extensions/browser/api/declarative/rules_registry_service.cc b/extensions/browser/api/declarative/rules_registry_service.cc index de614d4..78d8eba39 100644 --- a/extensions/browser/api/declarative/rules_registry_service.cc +++ b/extensions/browser/api/declarative/rules_registry_service.cc
@@ -20,7 +20,6 @@ #include "extensions/browser/api/declarative_webrequest/webrequest_rules_registry.h" #include "extensions/browser/api/extensions_api_client.h" #include "extensions/browser/api/web_request/web_request_api.h" -#include "extensions/browser/extension_registry.h" #include "extensions/common/extension.h" #include "extensions/common/features/feature.h" #include "extensions/common/features/feature_provider.h" @@ -44,7 +43,6 @@ RulesRegistryService::RulesRegistryService(content::BrowserContext* context) : current_rules_registry_id_(kDefaultRulesRegistryID), content_rules_registry_(NULL), - extension_registry_observer_(this), browser_context_(context) { if (browser_context_) { extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context_));
diff --git a/extensions/browser/api/declarative/rules_registry_service.h b/extensions/browser/api/declarative/rules_registry_service.h index 77ca616..5d89ff4 100644 --- a/extensions/browser/api/declarative/rules_registry_service.h +++ b/extensions/browser/api/declarative/rules_registry_service.h
@@ -17,6 +17,7 @@ #include "extensions/browser/api/declarative/rules_cache_delegate.h" #include "extensions/browser/api/declarative/rules_registry.h" #include "extensions/browser/browser_context_keyed_api_factory.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" namespace content { @@ -25,7 +26,6 @@ namespace extensions { class ContentRulesRegistry; -class ExtensionRegistry; } namespace extensions { @@ -165,7 +165,7 @@ // Listen to extension load, unloaded notification. ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; content::BrowserContext* browser_context_;
diff --git a/extensions/browser/api/declarative_net_request/rules_monitor_service.cc b/extensions/browser/api/declarative_net_request/rules_monitor_service.cc index ffac35c..604d6be 100644 --- a/extensions/browser/api/declarative_net_request/rules_monitor_service.cc +++ b/extensions/browser/api/declarative_net_request/rules_monitor_service.cc
@@ -26,7 +26,6 @@ #include "extensions/browser/extension_file_task_runner.h" #include "extensions/browser/extension_prefs.h" #include "extensions/browser/extension_prefs_factory.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_factory.h" #include "extensions/browser/warning_service.h" #include "extensions/browser/warning_service_factory.h" @@ -145,8 +144,7 @@ RulesMonitorService::RulesMonitorService( content::BrowserContext* browser_context) - : registry_observer_(this), - file_sequence_bridge_(std::make_unique<FileSequenceBridge>()), + : file_sequence_bridge_(std::make_unique<FileSequenceBridge>()), prefs_(ExtensionPrefs::Get(browser_context)), extension_registry_(ExtensionRegistry::Get(browser_context)), warning_service_(WarningService::Get(browser_context)),
diff --git a/extensions/browser/api/declarative_net_request/rules_monitor_service.h b/extensions/browser/api/declarative_net_request/rules_monitor_service.h index 1349a41..2d3bc2d 100644 --- a/extensions/browser/api/declarative_net_request/rules_monitor_service.h +++ b/extensions/browser/api/declarative_net_request/rules_monitor_service.h
@@ -17,6 +17,7 @@ #include "base/scoped_observer.h" #include "extensions/browser/api/declarative_net_request/ruleset_manager.h" #include "extensions/browser/browser_context_keyed_api_factory.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/common/extension_id.h" @@ -26,7 +27,6 @@ namespace extensions { class ExtensionPrefs; -class ExtensionRegistry; class WarningService; namespace api { @@ -118,7 +118,7 @@ std::unique_ptr<RulesetMatcher> ruleset_matcher); ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - registry_observer_; + registry_observer_{this}; std::set<ExtensionId> extensions_with_rulesets_;
diff --git a/extensions/browser/api/idle/idle_manager.cc b/extensions/browser/api/idle/idle_manager.cc index 8b82b48..df63f46 100644 --- a/extensions/browser/api/idle/idle_manager.cc +++ b/extensions/browser/api/idle/idle_manager.cc
@@ -10,7 +10,6 @@ #include "content/public/browser/browser_context.h" #include "extensions/browser/api/idle/idle_api_constants.h" #include "extensions/browser/event_router.h" -#include "extensions/browser/extension_registry.h" #include "extensions/common/api/idle.h" #include "extensions/common/extension.h" @@ -124,8 +123,7 @@ : context_(context), last_state_(ui::IDLE_STATE_ACTIVE), idle_time_provider_(new DefaultIdleProvider()), - event_delegate_(new DefaultEventDelegate(context)), - extension_registry_observer_(this) {} + event_delegate_(new DefaultEventDelegate(context)) {} IdleManager::~IdleManager() { }
diff --git a/extensions/browser/api/idle/idle_manager.h b/extensions/browser/api/idle/idle_manager.h index 766180c..9ab7de7 100644 --- a/extensions/browser/api/idle/idle_manager.h +++ b/extensions/browser/api/idle/idle_manager.h
@@ -16,6 +16,7 @@ #include "base/timer/timer.h" #include "components/keyed_service/core/keyed_service.h" #include "extensions/browser/event_router.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "ui/base/idle/idle.h" @@ -28,7 +29,6 @@ } // namespace content namespace extensions { -class ExtensionRegistry; struct IdleMonitor { explicit IdleMonitor(ui::IdleState initial_state); @@ -138,7 +138,7 @@ // Listen to extension unloaded notification. ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; DISALLOW_COPY_AND_ASSIGN(IdleManager); };
diff --git a/extensions/browser/api/lock_screen_data/lock_screen_item_storage.cc b/extensions/browser/api/lock_screen_data/lock_screen_item_storage.cc index 9eaf2e9..0df643e1 100644 --- a/extensions/browser/api/lock_screen_data/lock_screen_item_storage.cc +++ b/extensions/browser/api/lock_screen_data/lock_screen_item_storage.cc
@@ -22,7 +22,6 @@ #include "extensions/browser/api/storage/backend_task_runner.h" #include "extensions/browser/api/storage/local_value_store_cache.h" #include "extensions/browser/event_router.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/extensions_browser_client.h" #include "extensions/browser/value_store/value_store.h" #include "extensions/browser/value_store/value_store_factory_impl.h" @@ -141,7 +140,6 @@ crypto_key_(crypto_key), local_state_(local_state), tick_clock_(base::DefaultTickClock::GetInstance()), - extension_registry_observer_(this), value_store_cache_(CreateValueStoreCache(storage_root.Append(user_id_))) { CHECK(!user_id_.empty()); extension_registry_observer_.Add(ExtensionRegistry::Get(context));
diff --git a/extensions/browser/api/lock_screen_data/lock_screen_item_storage.h b/extensions/browser/api/lock_screen_data/lock_screen_item_storage.h index 14e210d3..a5a4721 100644 --- a/extensions/browser/api/lock_screen_data/lock_screen_item_storage.h +++ b/extensions/browser/api/lock_screen_data/lock_screen_item_storage.h
@@ -18,6 +18,7 @@ #include "base/scoped_observer.h" #include "base/sequenced_task_runner.h" #include "extensions/browser/api/lock_screen_data/data_item.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/common/extension_id.h" @@ -35,7 +36,6 @@ namespace extensions { class Extension; -class ExtensionRegistry; class LocalValueStoreCache; namespace lock_screen_data { @@ -310,7 +310,7 @@ SessionLockedState session_locked_state_ = SessionLockedState::kUnknown; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; // The deprecated (shared) lock screen data value store cache. Items in this // value store should be migrated to |value_store_cache_|.
diff --git a/extensions/browser/api/management/management_api.cc b/extensions/browser/api/management/management_api.cc index d1af375..4a47609 100644 --- a/extensions/browser/api/management/management_api.cc +++ b/extensions/browser/api/management/management_api.cc
@@ -990,7 +990,7 @@ } ManagementEventRouter::ManagementEventRouter(content::BrowserContext* context) - : browser_context_(context), extension_registry_observer_(this) { + : browser_context_(context) { extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context_)); }
diff --git a/extensions/browser/api/management/management_api.h b/extensions/browser/api/management/management_api.h index d51007f..16e66b9 100644 --- a/extensions/browser/api/management/management_api.h +++ b/extensions/browser/api/management/management_api.h
@@ -291,7 +291,7 @@ content::BrowserContext* browser_context_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; DISALLOW_COPY_AND_ASSIGN(ManagementEventRouter); };
diff --git a/extensions/browser/api/media_perception_private/media_perception_api_manager.cc b/extensions/browser/api/media_perception_private/media_perception_api_manager.cc index b1f3d85..26a2f48 100644 --- a/extensions/browser/api/media_perception_private/media_perception_api_manager.cc +++ b/extensions/browser/api/media_perception_private/media_perception_api_manager.cc
@@ -12,7 +12,6 @@ #include "base/files/file_path.h" #include "base/lazy_instance.h" #include "chromeos/dbus/dbus_thread_manager.h" -#include "chromeos/dbus/media_analytics/media_analytics_client.h" #include "chromeos/dbus/upstart/upstart_client.h" #include "extensions/browser/api/extensions_api_client.h" #include "extensions/browser/api/media_perception_private/conversion_utils.h" @@ -130,8 +129,7 @@ MediaPerceptionAPIManager::MediaPerceptionAPIManager( content::BrowserContext* context) : browser_context_(context), - analytics_process_state_(AnalyticsProcessState::IDLE), - scoped_observer_(this) { + analytics_process_state_(AnalyticsProcessState::IDLE) { scoped_observer_.Add(chromeos::MediaAnalyticsClient::Get()); }
diff --git a/extensions/browser/api/media_perception_private/media_perception_api_manager.h b/extensions/browser/api/media_perception_private/media_perception_api_manager.h index a30d706..b288bd4 100644 --- a/extensions/browser/api/media_perception_private/media_perception_api_manager.h +++ b/extensions/browser/api/media_perception_private/media_perception_api_manager.h
@@ -158,8 +158,9 @@ std::unique_ptr<MediaPerceptionControllerClient> media_perception_controller_client_; - ScopedObserver<chromeos::MediaAnalyticsClient, MediaPerceptionAPIManager> - scoped_observer_; + ScopedObserver<chromeos::MediaAnalyticsClient, + chromeos::MediaAnalyticsClient::Observer> + scoped_observer_{this}; base::WeakPtrFactory<MediaPerceptionAPIManager> weak_ptr_factory_{this}; DISALLOW_COPY_AND_ASSIGN(MediaPerceptionAPIManager);
diff --git a/extensions/browser/api/networking_config/networking_config_service.cc b/extensions/browser/api/networking_config/networking_config_service.cc index fa84db2..c5a36b0 100644 --- a/extensions/browser/api/networking_config/networking_config_service.cc +++ b/extensions/browser/api/networking_config/networking_config_service.cc
@@ -67,13 +67,11 @@ std::unique_ptr<EventDelegate> event_delegate, ExtensionRegistry* extension_registry) : browser_context_(browser_context), - registry_observer_(this), event_delegate_(std::move(event_delegate)) { registry_observer_.Add(extension_registry); } -NetworkingConfigService::~NetworkingConfigService() { -} +NetworkingConfigService::~NetworkingConfigService() = default; void NetworkingConfigService::OnExtensionUnloaded( content::BrowserContext* browser_context,
diff --git a/extensions/browser/api/networking_config/networking_config_service.h b/extensions/browser/api/networking_config/networking_config_service.h index dd94dbe..bb579a9 100644 --- a/extensions/browser/api/networking_config/networking_config_service.h +++ b/extensions/browser/api/networking_config/networking_config_service.h
@@ -133,7 +133,7 @@ base::Closure authentication_callback_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - registry_observer_; + registry_observer_{this}; std::unique_ptr<EventDelegate> event_delegate_;
diff --git a/extensions/browser/api/printer_provider/printer_provider_api.cc b/extensions/browser/api/printer_provider/printer_provider_api.cc index f626365..2c748ea8 100644 --- a/extensions/browser/api/printer_provider/printer_provider_api.cc +++ b/extensions/browser/api/printer_provider/printer_provider_api.cc
@@ -302,10 +302,10 @@ pending_usb_printer_info_requests_; ScopedObserver<PrinterProviderInternalAPI, PrinterProviderInternalAPIObserver> - internal_api_observer_; + internal_api_observer_{this}; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; DISALLOW_COPY_AND_ASSIGN(PrinterProviderAPIImpl); }; @@ -503,9 +503,7 @@ PrinterProviderAPIImpl::PrinterProviderAPIImpl( content::BrowserContext* browser_context) - : browser_context_(browser_context), - internal_api_observer_(this), - extension_registry_observer_(this) { + : browser_context_(browser_context) { internal_api_observer_.Add( PrinterProviderInternalAPI::GetFactoryInstance()->Get(browser_context)); extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context));
diff --git a/extensions/browser/api/runtime/runtime_api.cc b/extensions/browser/api/runtime/runtime_api.cc index 78ba73c7..d8f9d8f 100644 --- a/extensions/browser/api/runtime/runtime_api.cc +++ b/extensions/browser/api/runtime/runtime_api.cc
@@ -27,7 +27,6 @@ #include "extensions/browser/events/lazy_event_dispatch_util.h" #include "extensions/browser/extension_host.h" #include "extensions/browser/extension_prefs.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_system.h" #include "extensions/browser/extension_util.h" #include "extensions/browser/extensions_browser_client.h" @@ -179,8 +178,6 @@ RuntimeAPI::RuntimeAPI(content::BrowserContext* context) : browser_context_(context), - extension_registry_observer_(this), - process_manager_observer_(this), minimum_duration_between_restarts_(base::TimeDelta::FromHours( kMinDurationBetweenSuccessiveRestartsHours)), dispatch_chrome_updated_event_(false),
diff --git a/extensions/browser/api/runtime/runtime_api.h b/extensions/browser/api/runtime/runtime_api.h index 3dcda83a..bb06f62 100644 --- a/extensions/browser/api/runtime/runtime_api.h +++ b/extensions/browser/api/runtime/runtime_api.h
@@ -16,6 +16,7 @@ #include "extensions/browser/browser_context_keyed_api_factory.h" #include "extensions/browser/events/lazy_event_dispatch_util.h" #include "extensions/browser/extension_function.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/browser/lazy_context_task_queue.h" #include "extensions/browser/process_manager.h" @@ -149,9 +150,9 @@ // Listen to extension notifications. ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; ScopedObserver<ProcessManager, ProcessManagerObserver> - process_manager_observer_; + process_manager_observer_{this}; // The ID of the first extension to call the restartAfterDelay API. Any other // extensions to call this API after that will fail.
diff --git a/extensions/browser/app_window/app_window_geometry_cache.cc b/extensions/browser/app_window/app_window_geometry_cache.cc index 57db19c9..28cc2ad3 100644 --- a/extensions/browser/app_window/app_window_geometry_cache.cc +++ b/extensions/browser/app_window/app_window_geometry_cache.cc
@@ -14,7 +14,6 @@ #include "components/keyed_service/content/browser_context_dependency_manager.h" #include "extensions/browser/extension_prefs.h" #include "extensions/browser/extension_prefs_factory.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/extensions_browser_client.h" #include "extensions/common/extension.h" @@ -31,8 +30,7 @@ AppWindowGeometryCache::AppWindowGeometryCache(content::BrowserContext* context, ExtensionPrefs* prefs) : prefs_(prefs), - sync_delay_(base::TimeDelta::FromMilliseconds(kSyncTimeoutMilliseconds)), - extension_registry_observer_(this) { + sync_delay_(base::TimeDelta::FromMilliseconds(kSyncTimeoutMilliseconds)) { extension_registry_observer_.Add(ExtensionRegistry::Get(context)); }
diff --git a/extensions/browser/app_window/app_window_geometry_cache.h b/extensions/browser/app_window/app_window_geometry_cache.h index a0b6b6f8..6fe525b 100644 --- a/extensions/browser/app_window/app_window_geometry_cache.h +++ b/extensions/browser/app_window/app_window_geometry_cache.h
@@ -20,6 +20,7 @@ #include "base/values.h" #include "components/keyed_service/content/browser_context_keyed_service_factory.h" #include "components/keyed_service/core/keyed_service.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "ui/base/ui_base_types.h" #include "ui/gfx/geometry/rect.h" @@ -27,7 +28,6 @@ namespace extensions { class ExtensionPrefs; -class ExtensionRegistry; // A cache for persisted geometry of app windows, both to not have to wait // for IO when creating a new window, and to not cause IO on every window @@ -149,7 +149,7 @@ // Listen to extension load, unloaded notifications. ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; base::ObserverList<Observer>::Unchecked observers_; };
diff --git a/extensions/browser/content_verifier.cc b/extensions/browser/content_verifier.cc index a8c35d1..3cef80c7 100644 --- a/extensions/browser/content_verifier.cc +++ b/extensions/browser/content_verifier.cc
@@ -26,7 +26,6 @@ #include "extensions/browser/content_hash_reader.h" #include "extensions/browser/content_verifier_delegate.h" #include "extensions/browser/extension_file_task_runner.h" -#include "extensions/browser/extension_registry.h" #include "extensions/common/constants.h" #include "extensions/common/extension_l10n_util.h" #include "extensions/common/file_util.h" @@ -389,7 +388,7 @@ ContentVerifier::ContentVerifier( content::BrowserContext* context, std::unique_ptr<ContentVerifierDelegate> delegate) - : context_(context), delegate_(std::move(delegate)), observer_(this) {} + : context_(context), delegate_(std::move(delegate)) {} ContentVerifier::~ContentVerifier() { }
diff --git a/extensions/browser/content_verifier.h b/extensions/browser/content_verifier.h index 1c275b47..368c2bb 100644 --- a/extensions/browser/content_verifier.h +++ b/extensions/browser/content_verifier.h
@@ -19,6 +19,7 @@ #include "extensions/browser/content_verifier_delegate.h" #include "extensions/browser/content_verifier_io_data.h" #include "extensions/browser/content_verify_job.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "services/network/public/cpp/shared_url_loader_factory.h" @@ -180,7 +181,7 @@ std::unique_ptr<ContentVerifierDelegate> delegate_; // For observing the ExtensionRegistry. - ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> observer_; + ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> observer_{this}; // Data that should only be used on the IO thread. ContentVerifierIOData io_data_;
diff --git a/extensions/browser/declarative_user_script_manager.cc b/extensions/browser/declarative_user_script_manager.cc index 48075a5f..84f7e266 100644 --- a/extensions/browser/declarative_user_script_manager.cc +++ b/extensions/browser/declarative_user_script_manager.cc
@@ -7,13 +7,12 @@ #include "content/public/browser/browser_context.h" #include "extensions/browser/declarative_user_script_manager_factory.h" #include "extensions/browser/declarative_user_script_master.h" -#include "extensions/browser/extension_registry.h" namespace extensions { DeclarativeUserScriptManager::DeclarativeUserScriptManager( content::BrowserContext* browser_context) - : browser_context_(browser_context), extension_registry_observer_(this) { + : browser_context_(browser_context) { extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context)); }
diff --git a/extensions/browser/declarative_user_script_manager.h b/extensions/browser/declarative_user_script_manager.h index 83c481c..5ebed9f 100644 --- a/extensions/browser/declarative_user_script_manager.h +++ b/extensions/browser/declarative_user_script_manager.h
@@ -10,6 +10,7 @@ #include "base/macros.h" #include "base/scoped_observer.h" #include "components/keyed_service/core/keyed_service.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/common/host_id.h" @@ -57,7 +58,7 @@ content::BrowserContext* browser_context_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; DISALLOW_COPY_AND_ASSIGN(DeclarativeUserScriptManager); };
diff --git a/extensions/browser/event_router.cc b/extensions/browser/event_router.cc index 3ce3d17d..96b9ab85 100644 --- a/extensions/browser/event_router.cc +++ b/extensions/browser/event_router.cc
@@ -26,7 +26,6 @@ #include "extensions/browser/events/lazy_event_dispatcher.h" #include "extensions/browser/extension_host.h" #include "extensions/browser/extension_prefs.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_system.h" #include "extensions/browser/extensions_browser_client.h" #include "extensions/browser/process_manager.h" @@ -168,8 +167,6 @@ ExtensionPrefs* extension_prefs) : browser_context_(browser_context), extension_prefs_(extension_prefs), - extension_registry_observer_(this), - listeners_(this), lazy_event_dispatch_util_(browser_context_) { extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context_)); }
diff --git a/extensions/browser/event_router.h b/extensions/browser/event_router.h index d709564..3b1f759 100644 --- a/extensions/browser/event_router.h +++ b/extensions/browser/event_router.h
@@ -23,6 +23,7 @@ #include "extensions/browser/events/event_ack_data.h" #include "extensions/browser/events/lazy_event_dispatch_util.h" #include "extensions/browser/extension_event_histogram_value.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/browser/lazy_context_task_queue.h" #include "extensions/common/constants.h" @@ -42,7 +43,6 @@ namespace extensions { class Extension; class ExtensionPrefs; -class ExtensionRegistry; struct Event; struct EventListenerInfo; @@ -380,9 +380,9 @@ ExtensionPrefs* const extension_prefs_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; - EventListenerMap listeners_; + EventListenerMap listeners_{this}; // Map from base event name to observer. using ObserverMap = std::unordered_map<std::string, Observer*>;
diff --git a/extensions/browser/events/lazy_event_dispatch_util.cc b/extensions/browser/events/lazy_event_dispatch_util.cc index 83d3637..d0ab433 100644 --- a/extensions/browser/events/lazy_event_dispatch_util.cc +++ b/extensions/browser/events/lazy_event_dispatch_util.cc
@@ -8,7 +8,6 @@ #include "content/public/browser/browser_context.h" #include "extensions/browser/event_router.h" #include "extensions/browser/extension_prefs.h" -#include "extensions/browser/extension_registry.h" namespace extensions { @@ -27,7 +26,7 @@ LazyEventDispatchUtil::LazyEventDispatchUtil( content::BrowserContext* browser_context) - : browser_context_(browser_context), extension_registry_observer_(this) { + : browser_context_(browser_context) { extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context_)); }
diff --git a/extensions/browser/events/lazy_event_dispatch_util.h b/extensions/browser/events/lazy_event_dispatch_util.h index 2606a73..3fe41e6 100644 --- a/extensions/browser/events/lazy_event_dispatch_util.h +++ b/extensions/browser/events/lazy_event_dispatch_util.h
@@ -7,6 +7,7 @@ #include "base/observer_list.h" #include "base/scoped_observer.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/browser/uninstall_reason.h" @@ -64,7 +65,7 @@ content::BrowserContext* browser_context_; base::ObserverList<Observer>::Unchecked observers_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; DISALLOW_COPY_AND_ASSIGN(LazyEventDispatchUtil); };
diff --git a/extensions/browser/extension_function_dispatcher.cc b/extensions/browser/extension_function_dispatcher.cc index 96509e3..24b3892 100644 --- a/extensions/browser/extension_function_dispatcher.cc +++ b/extensions/browser/extension_function_dispatcher.cc
@@ -210,9 +210,8 @@ } base::WeakPtr<ExtensionFunctionDispatcher> dispatcher_; - ScopedObserver<content::RenderProcessHost, - UIThreadWorkerResponseCallbackWrapper> - observer_; + ScopedObserver<content::RenderProcessHost, content::RenderProcessHostObserver> + observer_{this}; content::RenderProcessHost* const render_process_host_; const int worker_thread_id_; base::WeakPtrFactory<UIThreadWorkerResponseCallbackWrapper> weak_ptr_factory_{
diff --git a/extensions/browser/extension_user_script_loader.cc b/extensions/browser/extension_user_script_loader.cc index 276012c9..06fde25a 100644 --- a/extensions/browser/extension_user_script_loader.cc +++ b/extensions/browser/extension_user_script_loader.cc
@@ -29,7 +29,6 @@ #include "extensions/browser/component_extension_resource_manager.h" #include "extensions/browser/content_verifier.h" #include "extensions/browser/extension_file_task_runner.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_system.h" #include "extensions/browser/extensions_browser_client.h" #include "extensions/common/file_util.h" @@ -207,8 +206,7 @@ bool listen_for_extension_system_loaded) : UserScriptLoader(browser_context, host_id), content_verifier_( - ExtensionSystem::Get(browser_context)->content_verifier()), - extension_registry_observer_(this) { + ExtensionSystem::Get(browser_context)->content_verifier()) { extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context)); if (listen_for_extension_system_loaded) { ExtensionSystem::Get(browser_context)
diff --git a/extensions/browser/extension_user_script_loader.h b/extensions/browser/extension_user_script_loader.h index eb5a4ec4..479d7e5 100644 --- a/extensions/browser/extension_user_script_loader.h +++ b/extensions/browser/extension_user_script_loader.h
@@ -6,6 +6,7 @@ #define EXTENSIONS_BROWSER_EXTENSION_USER_SCRIPT_LOADER_H_ #include "base/macros.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/browser/user_script_loader.h" #include "extensions/common/extension.h" @@ -17,7 +18,6 @@ namespace extensions { class ContentVerifier; -class ExtensionRegistry; // UserScriptLoader for extensions. class ExtensionUserScriptLoader : public UserScriptLoader, @@ -65,7 +65,7 @@ scoped_refptr<ContentVerifier> content_verifier_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; base::WeakPtrFactory<ExtensionUserScriptLoader> weak_factory_{this};
diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc b/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc index f09e14162..2687f31 100644 --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc
@@ -12,7 +12,6 @@ #include "content/public/browser/render_frame_host.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/web_contents.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/extensions_browser_client.h" #include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h" @@ -110,12 +109,8 @@ content::RenderFrameHost* new_host_; }; -MimeHandlerStreamManager::MimeHandlerStreamManager() - : extension_registry_observer_(this) { -} - -MimeHandlerStreamManager::~MimeHandlerStreamManager() { -} +MimeHandlerStreamManager::MimeHandlerStreamManager() = default; +MimeHandlerStreamManager::~MimeHandlerStreamManager() = default; // static MimeHandlerStreamManager* MimeHandlerStreamManager::Get(
diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.h b/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.h index ca8d1e3..a9659ed 100644 --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.h +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.h
@@ -10,9 +10,11 @@ #include <string> #include "base/gtest_prod_util.h" +#include "base/macros.h" #include "base/memory/ref_counted.h" #include "base/scoped_observer.h" #include "components/keyed_service/core/keyed_service.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" namespace content { @@ -73,7 +75,9 @@ std::map<std::string, std::unique_ptr<EmbedderObserver>> embedder_observers_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; + + DISALLOW_COPY_AND_ASSIGN(MimeHandlerStreamManager); }; } // namespace extensions
diff --git a/extensions/browser/lazy_background_task_queue.cc b/extensions/browser/lazy_background_task_queue.cc index 523134f..b97fba1 100644 --- a/extensions/browser/lazy_background_task_queue.cc +++ b/extensions/browser/lazy_background_task_queue.cc
@@ -13,7 +13,6 @@ #include "content/public/browser/site_instance.h" #include "content/public/browser/web_contents.h" #include "extensions/browser/extension_host.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/extensions_browser_client.h" #include "extensions/browser/lazy_background_task_queue_factory.h" #include "extensions/browser/lazy_context_id.h" @@ -43,7 +42,7 @@ LazyBackgroundTaskQueue::LazyBackgroundTaskQueue( content::BrowserContext* browser_context) - : browser_context_(browser_context), extension_registry_observer_(this) { + : browser_context_(browser_context) { registrar_.Add(this, extensions::NOTIFICATION_EXTENSION_HOST_DID_STOP_FIRST_LOAD, content::NotificationService::AllBrowserContextsAndSources());
diff --git a/extensions/browser/lazy_background_task_queue.h b/extensions/browser/lazy_background_task_queue.h index bf9f15c..8606ebca 100644 --- a/extensions/browser/lazy_background_task_queue.h +++ b/extensions/browser/lazy_background_task_queue.h
@@ -18,6 +18,7 @@ #include "components/keyed_service/core/keyed_service.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/browser/lazy_context_id.h" #include "extensions/browser/lazy_context_task_queue.h" @@ -30,7 +31,6 @@ namespace extensions { class Extension; class ExtensionHost; -class ExtensionRegistry; // This class maintains a queue of tasks that should execute when an // extension's lazy background page is loaded. It is also in charge of loading @@ -114,7 +114,7 @@ PendingTasksMap pending_tasks_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; DISALLOW_COPY_AND_ASSIGN(LazyBackgroundTaskQueue); };
diff --git a/extensions/browser/mojo/keep_alive_impl.cc b/extensions/browser/mojo/keep_alive_impl.cc index 9de0d43..c4b3577c 100644 --- a/extensions/browser/mojo/keep_alive_impl.cc +++ b/extensions/browser/mojo/keep_alive_impl.cc
@@ -8,7 +8,6 @@ #include "base/bind.h" #include "content/public/browser/browser_context.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/process_manager.h" namespace extensions { @@ -27,7 +26,6 @@ KeepAliveRequest request) : context_(context), extension_(extension), - extension_registry_observer_(this), binding_(this, std::move(request)) { ProcessManager::Get(context_)->IncrementLazyKeepaliveCount( extension_, Activity::MOJO, std::string());
diff --git a/extensions/browser/mojo/keep_alive_impl.h b/extensions/browser/mojo/keep_alive_impl.h index a65517bd..98d2e79f9 100644 --- a/extensions/browser/mojo/keep_alive_impl.h +++ b/extensions/browser/mojo/keep_alive_impl.h
@@ -8,6 +8,7 @@ #include "base/callback.h" #include "base/macros.h" #include "base/scoped_observer.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/common/mojom/keep_alive.mojom.h" #include "mojo/public/cpp/bindings/binding.h" @@ -48,7 +49,8 @@ content::BrowserContext* context_; const Extension* extension_; - ScopedObserver<ExtensionRegistry, KeepAliveImpl> extension_registry_observer_; + ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> + extension_registry_observer_{this}; mojo::Binding<KeepAlive> binding_; DISALLOW_COPY_AND_ASSIGN(KeepAliveImpl);
diff --git a/extensions/browser/process_manager.cc b/extensions/browser/process_manager.cc index 145c7ef..55dcd62b 100644 --- a/extensions/browser/process_manager.cc +++ b/extensions/browser/process_manager.cc
@@ -27,7 +27,6 @@ #include "content/public/browser/navigation_entry.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/render_frame_host.h" -#include "content/public/browser/render_process_host.h" #include "content/public/browser/render_view_host.h" #include "content/public/browser/service_worker_context.h" #include "content/public/browser/site_instance.h" @@ -258,8 +257,7 @@ worker_task_runner_( base::CreateSingleThreadTaskRunner({content::BrowserThread::IO})), startup_background_hosts_created_(false), - last_background_close_sequence_id_(0), - process_observer_(this) { + last_background_close_sequence_id_(0) { // ExtensionRegistry is shared between incognito and regular contexts. DCHECK_EQ(original_context, extension_registry_->browser_context()); extension_registry_->AddObserver(this);
diff --git a/extensions/browser/process_manager.h b/extensions/browser/process_manager.h index 70b0a1a..7a43601 100644 --- a/extensions/browser/process_manager.h +++ b/extensions/browser/process_manager.h
@@ -24,6 +24,7 @@ #include "content/public/browser/devtools_agent_host_observer.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" +#include "content/public/browser/render_process_host.h" #include "content/public/browser/render_process_host_observer.h" #include "extensions/browser/activity.h" #include "extensions/browser/event_page_tracker.h" @@ -387,7 +388,7 @@ // Observers of Service Worker RPH this ProcessManager manages. ScopedObserver<content::RenderProcessHost, content::RenderProcessHostObserver> - process_observer_; + process_observer_{this}; // Maps render render_process_id -> extension_id for all Service Workers this // ProcessManager manages. std::map<int, std::set<ExtensionId>> worker_process_to_extension_ids_;
diff --git a/extensions/browser/service_worker_manager.cc b/extensions/browser/service_worker_manager.cc index 9fa18be..cc80965 100644 --- a/extensions/browser/service_worker_manager.cc +++ b/extensions/browser/service_worker_manager.cc
@@ -9,13 +9,12 @@ #include "content/public/browser/browser_context.h" #include "content/public/browser/service_worker_context.h" #include "content/public/browser/storage_partition.h" -#include "extensions/browser/extension_registry.h" namespace extensions { ServiceWorkerManager::ServiceWorkerManager( content::BrowserContext* browser_context) - : browser_context_(browser_context), registry_observer_(this) { + : browser_context_(browser_context) { registry_observer_.Add(ExtensionRegistry::Get(browser_context_)); }
diff --git a/extensions/browser/service_worker_manager.h b/extensions/browser/service_worker_manager.h index 48889f5..2fa6e61 100644 --- a/extensions/browser/service_worker_manager.h +++ b/extensions/browser/service_worker_manager.h
@@ -7,6 +7,7 @@ #include "base/macros.h" #include "base/scoped_observer.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" namespace content { @@ -35,7 +36,7 @@ content::BrowserContext* browser_context_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - registry_observer_; + registry_observer_{this}; DISALLOW_COPY_AND_ASSIGN(ServiceWorkerManager); };
diff --git a/extensions/browser/shared_user_script_master.cc b/extensions/browser/shared_user_script_master.cc index b0cda169..9d573c7 100644 --- a/extensions/browser/shared_user_script_master.cc +++ b/extensions/browser/shared_user_script_master.cc
@@ -4,7 +4,6 @@ #include "extensions/browser/shared_user_script_master.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_util.h" #include "extensions/common/host_id.h" #include "extensions/common/manifest_handlers/content_scripts_handler.h" @@ -16,8 +15,7 @@ : loader_(browser_context, HostID(), true /* listen_for_extension_system_loaded */), - browser_context_(browser_context), - extension_registry_observer_(this) { + browser_context_(browser_context) { extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context_)); }
diff --git a/extensions/browser/shared_user_script_master.h b/extensions/browser/shared_user_script_master.h index 8c44622..3a5b005 100644 --- a/extensions/browser/shared_user_script_master.h +++ b/extensions/browser/shared_user_script_master.h
@@ -10,6 +10,7 @@ #include "base/macros.h" #include "base/scoped_observer.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/browser/extension_user_script_loader.h" #include "extensions/common/extension.h" @@ -21,8 +22,6 @@ namespace extensions { -class ExtensionRegistry; - // Manages statically-defined user scripts for all extensions. Owns a // UserScriptLoader to which file loading and shared memory management // operations are delegated. @@ -53,7 +52,7 @@ content::BrowserContext* browser_context_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; DISALLOW_COPY_AND_ASSIGN(SharedUserScriptMaster); };
diff --git a/extensions/browser/state_store.cc b/extensions/browser/state_store.cc index 8944c3a..7516687 100644 --- a/extensions/browser/state_store.cc +++ b/extensions/browser/state_store.cc
@@ -15,7 +15,6 @@ #include "content/public/browser/browser_context.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/notification_types.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/value_store/value_store_factory.h" #include "extensions/common/extension.h" @@ -76,8 +75,7 @@ ValueStoreFrontend::BackendType backend_type, bool deferred_load) : store_(new ValueStoreFrontend(store_factory, backend_type)), - task_queue_(new DelayedTaskQueue()), - extension_registry_observer_(this) { + task_queue_(new DelayedTaskQueue()) { extension_registry_observer_.Add(ExtensionRegistry::Get(context)); if (deferred_load) {
diff --git a/extensions/browser/state_store.h b/extensions/browser/state_store.h index af44a32..db881ac 100644 --- a/extensions/browser/state_store.h +++ b/extensions/browser/state_store.h
@@ -15,6 +15,7 @@ #include "base/scoped_observer.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/browser/value_store/value_store_frontend.h" @@ -24,7 +25,6 @@ namespace extensions { -class ExtensionRegistry; class ValueStoreFactory; // A storage area for per-extension state that needs to be persisted to disk. @@ -123,7 +123,7 @@ content::NotificationRegistrar registrar_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; DISALLOW_COPY_AND_ASSIGN(StateStore); };
diff --git a/extensions/browser/test_extension_registry_observer.cc b/extensions/browser/test_extension_registry_observer.cc index fbb0054..9ac3d1d 100644 --- a/extensions/browser/test_extension_registry_observer.cc +++ b/extensions/browser/test_extension_registry_observer.cc
@@ -8,7 +8,6 @@ #include "base/macros.h" #include "base/run_loop.h" -#include "extensions/browser/extension_registry.h" namespace extensions { @@ -51,7 +50,6 @@ loaded_waiter_(std::make_unique<Waiter>()), ready_waiter_(std::make_unique<Waiter>()), unloaded_waiter_(std::make_unique<Waiter>()), - extension_registry_observer_(this), extension_id_(extension_id) { extension_registry_observer_.Add(registry); }
diff --git a/extensions/browser/test_extension_registry_observer.h b/extensions/browser/test_extension_registry_observer.h index 11954955..bfec3dde 100644 --- a/extensions/browser/test_extension_registry_observer.h +++ b/extensions/browser/test_extension_registry_observer.h
@@ -10,10 +10,10 @@ #include "base/macros.h" #include "base/scoped_observer.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" namespace extensions { -class ExtensionRegistry; // A helper class that listen for ExtensionRegistry notifications. class TestExtensionRegistryObserver : public ExtensionRegistryObserver { @@ -68,7 +68,7 @@ std::unique_ptr<Waiter> unloaded_waiter_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; std::string extension_id_;
diff --git a/extensions/browser/uninstall_ping_sender.cc b/extensions/browser/uninstall_ping_sender.cc index 6b224dd7..865c01cd 100644 --- a/extensions/browser/uninstall_ping_sender.cc +++ b/extensions/browser/uninstall_ping_sender.cc
@@ -5,14 +5,13 @@ #include "extensions/browser/uninstall_ping_sender.h" #include "base/version.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/updater/update_service.h" namespace extensions { UninstallPingSender::UninstallPingSender(ExtensionRegistry* registry, const Filter& filter) - : filter_(filter), observer_(this) { + : filter_(filter) { observer_.Add(registry); }
diff --git a/extensions/browser/uninstall_ping_sender.h b/extensions/browser/uninstall_ping_sender.h index a349d5c..6a02028 100644 --- a/extensions/browser/uninstall_ping_sender.h +++ b/extensions/browser/uninstall_ping_sender.h
@@ -8,6 +8,7 @@ #include "base/callback.h" #include "base/macros.h" #include "base/scoped_observer.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" namespace content { @@ -37,12 +38,12 @@ const Extension* extension, UninstallReason reason) override; + private: // Callback for determining whether to send uninstall pings. Filter filter_; - ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> observer_; + ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> observer_{this}; - private: DISALLOW_COPY_AND_ASSIGN(UninstallPingSender); };
diff --git a/extensions/browser/url_loader_factory_manager.cc b/extensions/browser/url_loader_factory_manager.cc index 5b000fd..fabb40eb 100644 --- a/extensions/browser/url_loader_factory_manager.cc +++ b/extensions/browser/url_loader_factory_manager.cc
@@ -59,7 +59,6 @@ // Migration plan for extension developers is described at // https://chromium.org/Home/chromium-security/extension-content-script-fetches const char* kHardcodedPartOfCorbAllowlist[] = { - "0149C10F1124F1ED6ACAD85C45E87A76A9DDC667", "039F93DD1DF836F1D4E2084C1BEFDB46A854A9D1", "03E5D80A49C309F7B55ED6BD2B0EDEB38021ED4E", "072D729E856B1F2C9894AEEC3A5DF65E519D6BEE", @@ -168,11 +167,9 @@ "93934B0B87347437699EB62A8921F59F40C36D7A", "93BBF911E8871F6FCC8170448FD2DF5B9EF233E5", "95E78675D2DB61DC688586CD7A24202A260907A4", - "965A185A30475F208A7365E134F48C64CF08C997", "973E35633030AD27DABEC99609424A61386C7309", "9784343657207FE88A629E8EAA7A4A19C7C8CBE0", "97E04C5632954E778306CAC40B3F95C470B463B6", - "98EF7B1601119AEE1FCC28EE5CE247DED5676539", "999BD8D1929F9ABB817E9368480D93BAB2A0983D", "99E06C364BBB2D1F82A9D20BC1645BF21E478259", "9C6A186F8D3C5FD0CC8DCF49682FA726BD8A7705", @@ -185,7 +182,6 @@ "A733063124AC9E1E6E1E331FFBAAE32D81AC2581", "A8FB3967ADE404B77AC3FB5815A399C0660C3C63", "A9A4B26C2387BA2A5861C790B0FF39F230427AC8", - "A9F78610B717B3992F92F490E82FC63FFF46C5FA", "AA3DE48E23B2465B21F5D33E993FD959F611DD10", "ADD14F4517B9A87D4E841369417E5BDB5FDFF263", "AE063CF9FF5D718AD6F1CF242FABAC39B57ADEBA",
diff --git a/extensions/browser/warning_service.cc b/extensions/browser/warning_service.cc index ea53c8c..45a9699 100644 --- a/extensions/browser/warning_service.cc +++ b/extensions/browser/warning_service.cc
@@ -5,7 +5,6 @@ #include "extensions/browser/warning_service.h" #include "content/public/browser/browser_thread.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/extensions_browser_client.h" #include "extensions/browser/warning_service_factory.h" #include "extensions/common/extension_set.h" @@ -15,7 +14,7 @@ namespace extensions { WarningService::WarningService(content::BrowserContext* browser_context) - : browser_context_(browser_context), extension_registry_observer_(this) { + : browser_context_(browser_context) { DCHECK_CURRENTLY_ON(BrowserThread::UI); if (browser_context_) { extension_registry_observer_.Add(ExtensionRegistry::Get(
diff --git a/extensions/browser/warning_service.h b/extensions/browser/warning_service.h index 8c2bd94..0e0d02bc 100644 --- a/extensions/browser/warning_service.h +++ b/extensions/browser/warning_service.h
@@ -9,9 +9,11 @@ #include <string> #include <vector> +#include "base/macros.h" #include "base/observer_list.h" #include "base/scoped_observer.h" #include "components/keyed_service/core/keyed_service.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/browser/warning_set.h" @@ -23,8 +25,6 @@ namespace extensions { -class ExtensionRegistry; - // Manages a set of warnings caused by extensions. These warnings (e.g. // conflicting modifications of network requests by extensions, slow extensions, // etc.) trigger a warning badge in the UI and and provide means to resolve @@ -85,9 +85,11 @@ // Listen to extension unloaded notifications. ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; base::ObserverList<Observer>::Unchecked observer_list_; + + DISALLOW_COPY_AND_ASSIGN(WarningService); }; } // namespace extensions
diff --git a/extensions/shell/browser/shell_keep_alive_requester.cc b/extensions/shell/browser/shell_keep_alive_requester.cc index 5af5f25..32f804b 100644 --- a/extensions/shell/browser/shell_keep_alive_requester.cc +++ b/extensions/shell/browser/shell_keep_alive_requester.cc
@@ -8,14 +8,11 @@ #include "components/keep_alive_registry/keep_alive_types.h" #include "components/keep_alive_registry/scoped_keep_alive.h" #include "extensions/browser/extension_prefs.h" -#include "extensions/browser/extension_registry.h" -#include "extensions/browser/extension_registry_observer.h" namespace extensions { ShellKeepAliveRequester::ShellKeepAliveRequester( - content::BrowserContext* browser_context) - : extension_registry_observer_(this), app_lifetime_monitor_observer_(this) { + content::BrowserContext* browser_context) { extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context)); app_lifetime_monitor_observer_.Add( apps::AppLifetimeMonitorFactory::GetForBrowserContext(browser_context));
diff --git a/extensions/shell/browser/shell_keep_alive_requester.h b/extensions/shell/browser/shell_keep_alive_requester.h index 3c03fac..cff079c5 100644 --- a/extensions/shell/browser/shell_keep_alive_requester.h +++ b/extensions/shell/browser/shell_keep_alive_requester.h
@@ -9,6 +9,7 @@ #include "base/containers/flat_map.h" #include "base/macros.h" #include "base/scoped_observer.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" #include "extensions/common/extension_id.h" @@ -20,8 +21,6 @@ namespace extensions { -class ExtensionRegistry; - // Maintains keep-alives while apps are loading or launching. // // Motivation: When an app reloads, its app windows close. If these were the @@ -66,9 +65,9 @@ app_reloading_keep_alives_; ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - extension_registry_observer_; + extension_registry_observer_{this}; ScopedObserver<apps::AppLifetimeMonitor, apps::AppLifetimeMonitor::Observer> - app_lifetime_monitor_observer_; + app_lifetime_monitor_observer_{this}; DISALLOW_COPY_AND_ASSIGN(ShellKeepAliveRequester); };
diff --git a/extensions/test/extension_test_notification_observer.cc b/extensions/test/extension_test_notification_observer.cc index edd4210..8256704 100644 --- a/extensions/test/extension_test_notification_observer.cc +++ b/extensions/test/extension_test_notification_observer.cc
@@ -11,9 +11,7 @@ #include "content/public/browser/notification_service.h" #include "content/public/browser/render_frame_host.h" #include "content/public/test/test_utils.h" -#include "extensions/browser/extension_registry.h" #include "extensions/browser/notification_types.h" -#include "extensions/browser/process_manager.h" #include "extensions/common/extension.h" namespace extensions { @@ -35,9 +33,9 @@ //////////////////////////////////////////////////////////////////////////////// // ExtensionTestNotificationObserver::NotificationSet -ExtensionTestNotificationObserver::NotificationSet::NotificationSet() - : process_manager_observer_(this) {} -ExtensionTestNotificationObserver::NotificationSet::~NotificationSet() {} +ExtensionTestNotificationObserver::NotificationSet::NotificationSet() = default; +ExtensionTestNotificationObserver::NotificationSet::~NotificationSet() = + default; void ExtensionTestNotificationObserver::NotificationSet::Add( int type, @@ -75,8 +73,7 @@ : context_(context), extension_installs_observed_(0), extension_load_errors_observed_(0), - crx_installers_done_observed_(0), - registry_observer_(this) { + crx_installers_done_observed_(0) { if (context_) registry_observer_.Add(ExtensionRegistry::Get(context_)); }
diff --git a/extensions/test/extension_test_notification_observer.h b/extensions/test/extension_test_notification_observer.h index fe2aa8e..55de83d 100644 --- a/extensions/test/extension_test_notification_observer.h +++ b/extensions/test/extension_test_notification_observer.h
@@ -14,7 +14,9 @@ #include "base/scoped_observer.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry_observer.h" +#include "extensions/browser/process_manager.h" #include "extensions/browser/process_manager_observer.h" namespace content { @@ -24,8 +26,6 @@ } namespace extensions { -class ExtensionRegistry; -class ProcessManager; // Test helper class for observing extension-related events. class ExtensionTestNotificationObserver : public content::NotificationObserver, @@ -107,7 +107,7 @@ base::CallbackList<void()> callback_list_; ScopedObserver<extensions::ProcessManager, extensions::ProcessManagerObserver> - process_manager_observer_; + process_manager_observer_{this}; DISALLOW_COPY_AND_ASSIGN(NotificationSet); }; @@ -143,7 +143,7 @@ // Listens to extension loaded notifications. ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> - registry_observer_; + registry_observer_{this}; DISALLOW_COPY_AND_ASSIGN(ExtensionTestNotificationObserver); };
diff --git a/extensions/test/test_background_page_first_load_observer.cc b/extensions/test/test_background_page_first_load_observer.cc index 7f8300aa..4e1e319a 100644 --- a/extensions/test/test_background_page_first_load_observer.cc +++ b/extensions/test/test_background_page_first_load_observer.cc
@@ -6,7 +6,6 @@ #include "base/logging.h" #include "extensions/browser/extension_host.h" -#include "extensions/browser/process_manager.h" namespace extensions { @@ -14,8 +13,7 @@ content::BrowserContext* browser_context, const ExtensionId& extension_id) : extension_id_(extension_id), - process_manager_(ProcessManager::Get(browser_context)), - process_manager_observer_(this) { + process_manager_(ProcessManager::Get(browser_context)) { process_manager_observer_.Add(process_manager_); extension_host_ = process_manager_->GetBackgroundHostForExtension(extension_id_);
diff --git a/extensions/test/test_background_page_first_load_observer.h b/extensions/test/test_background_page_first_load_observer.h index 63a2bc5..6c9776236 100644 --- a/extensions/test/test_background_page_first_load_observer.h +++ b/extensions/test/test_background_page_first_load_observer.h
@@ -9,6 +9,7 @@ #include "base/run_loop.h" #include "base/scoped_observer.h" #include "extensions/browser/deferred_start_render_host_observer.h" +#include "extensions/browser/process_manager.h" #include "extensions/browser/process_manager_observer.h" #include "extensions/common/extension_id.h" @@ -21,7 +22,6 @@ namespace extensions { class ExtensionHost; -class ProcessManager; class TestBackgroundPageFirstLoadObserver : public ProcessManagerObserver, @@ -48,7 +48,7 @@ ExtensionHost* extension_host_ = nullptr; base::RunLoop run_loop_; ScopedObserver<ProcessManager, ProcessManagerObserver> - process_manager_observer_; + process_manager_observer_{this}; DISALLOW_COPY_AND_ASSIGN(TestBackgroundPageFirstLoadObserver); };
diff --git a/gpu/command_buffer/service/shared_context_state.cc b/gpu/command_buffer/service/shared_context_state.cc index 5927f31..27eb0385 100644 --- a/gpu/command_buffer/service/shared_context_state.cc +++ b/gpu/command_buffer/service/shared_context_state.cc
@@ -168,9 +168,7 @@ LOG(ERROR) << "OOP raster support disabled: GrContext creation " "failed."; } else { - constexpr int kMaxGaneshResourceCacheCount = 16384; - gr_context_->setResourceCacheLimits(kMaxGaneshResourceCacheCount, - max_resource_cache_bytes_); + gr_context_->setResourceCacheLimit(max_resource_cache_bytes_); } transfer_cache_ = std::make_unique<ServiceTransferCache>(); }
diff --git a/gpu/command_buffer/service/shared_image_backing_factory_gl_texture.cc b/gpu/command_buffer/service/shared_image_backing_factory_gl_texture.cc index c3c17d1..00788068 100644 --- a/gpu/command_buffer/service/shared_image_backing_factory_gl_texture.cc +++ b/gpu/command_buffer/service/shared_image_backing_factory_gl_texture.cc
@@ -271,8 +271,8 @@ promise_texture_(cached_promise_texture) { if (!promise_texture_) { GrBackendTexture backend_texture; - GetGrBackendTexture(gl::GLContext::GetCurrent()->GetVersionInfo(), target, - size(), service_id, format(), &backend_texture); + GetGrBackendTexture(context_state_->feature_info(), target, size(), + service_id, format(), &backend_texture); promise_texture_ = SkPromiseImageTexture::Make(backend_texture); } #if DCHECK_IS_ON()
diff --git a/gpu/command_buffer/service/shared_image_backing_factory_iosurface.mm b/gpu/command_buffer/service/shared_image_backing_factory_iosurface.mm index 83dbdec..37763d4 100644 --- a/gpu/command_buffer/service/shared_image_backing_factory_iosurface.mm +++ b/gpu/command_buffer/service/shared_image_backing_factory_iosurface.mm
@@ -450,10 +450,9 @@ gles2_texture = GenGLTexture(); if (!gles2_texture) return nullptr; - GetGrBackendTexture(gl::GLContext::GetCurrent()->GetVersionInfo(), - gles2_texture->target(), size(), - gles2_texture->service_id(), format(), - &gr_backend_texture); + GetGrBackendTexture( + context_state->feature_info(), gles2_texture->target(), size(), + gles2_texture->service_id(), format(), &gr_backend_texture); } if (context_state->GrContextIsMetal()) { if (!mtl_texture_) {
diff --git a/gpu/command_buffer/service/shared_image_representation_skia_gl.cc b/gpu/command_buffer/service/shared_image_representation_skia_gl.cc index 746300a..83613f6 100644 --- a/gpu/command_buffer/service/shared_image_representation_skia_gl.cc +++ b/gpu/command_buffer/service/shared_image_representation_skia_gl.cc
@@ -38,7 +38,7 @@ SharedImageBacking* backing, MemoryTypeTracker* tracker) { GrBackendTexture backend_texture; - if (!GetGrBackendTexture(gl::GLContext::GetCurrent()->GetVersionInfo(), + if (!GetGrBackendTexture(context_state->feature_info(), gl_representation->GetTexture()->target(), backing->size(), gl_representation->GetTexture()->service_id(),
diff --git a/gpu/command_buffer/service/skia_utils.cc b/gpu/command_buffer/service/skia_utils.cc index bb82e21d..a2b41ae 100644 --- a/gpu/command_buffer/service/skia_utils.cc +++ b/gpu/command_buffer/service/skia_utils.cc
@@ -7,6 +7,7 @@ #include "base/logging.h" #include "components/viz/common/gpu/vulkan_context_provider.h" #include "components/viz/common/resources/resource_format_utils.h" +#include "gpu/command_buffer/service/feature_info.h" #include "gpu/command_buffer/service/shared_context_state.h" #include "third_party/skia/include/gpu/GrBackendSurface.h" #include "third_party/skia/include/gpu/gl/GrGLTypes.h" @@ -39,7 +40,23 @@ } // namespace -bool GetGrBackendTexture(const gl::GLVersionInfo* version_info, +GLuint GetGrGLBackendTextureFormat(const gles2::FeatureInfo* feature_info, + viz::ResourceFormat resource_format) { + const gl::GLVersionInfo* version_info = &feature_info->gl_version_info(); + GLuint internal_format = gl::GetInternalFormat( + version_info, viz::TextureStorageFormat(resource_format)); + + // We tell Skia to use es2 which does not have GL_R8_EXT + if (feature_info->gl_version_info().is_es3 && + feature_info->workarounds().use_es2_for_oopr) { + if (internal_format == GL_R8_EXT) + internal_format = GL_LUMINANCE8; + } + + return internal_format; +} + +bool GetGrBackendTexture(const gles2::FeatureInfo* feature_info, GLenum target, const gfx::Size& size, GLuint service_id, @@ -54,8 +71,8 @@ GrGLTextureInfo texture_info; texture_info.fID = service_id; texture_info.fTarget = target; - texture_info.fFormat = gl::GetInternalFormat( - version_info, viz::TextureStorageFormat(resource_format)); + texture_info.fFormat = + GetGrGLBackendTextureFormat(feature_info, resource_format); *gr_texture = GrBackendTexture(size.width(), size.height(), GrMipMapped::kNo, texture_info); return true;
diff --git a/gpu/command_buffer/service/skia_utils.h b/gpu/command_buffer/service/skia_utils.h index e5e1a965..9fe069c 100644 --- a/gpu/command_buffer/service/skia_utils.h +++ b/gpu/command_buffer/service/skia_utils.h
@@ -22,26 +22,32 @@ class Size; } // namespace gfx -namespace gl { -struct GLVersionInfo; -} // namespace gl - namespace viz { class VulkanContextProvider; } // namespace viz namespace gpu { +namespace gles2 { +class FeatureInfo; +} // namespace gles2 + class SharedContextState; +// Returns internal gl format of texture for Skia +GPU_GLES2_EXPORT GLuint +GetGrGLBackendTextureFormat(const gles2::FeatureInfo* feature_info, + viz::ResourceFormat resource_format); + // Creates a GrBackendTexture from a service ID. Skia does not take ownership. // Returns true on success. -GPU_GLES2_EXPORT bool GetGrBackendTexture(const gl::GLVersionInfo* version_info, - GLenum target, - const gfx::Size& size, - GLuint service_id, - viz::ResourceFormat resource_format, - GrBackendTexture* gr_texture); +GPU_GLES2_EXPORT bool GetGrBackendTexture( + const gles2::FeatureInfo* feature_info, + GLenum target, + const gfx::Size& size, + GLuint service_id, + viz::ResourceFormat resource_format, + GrBackendTexture* gr_texture); // Adds a task to be executed when the flush in |flush_info| is complete. GPU_GLES2_EXPORT void AddCleanupTaskForSkiaFlush(base::OnceClosure task,
diff --git a/gpu/skia_bindings/grcontext_for_gles2_interface.cc b/gpu/skia_bindings/grcontext_for_gles2_interface.cc index d58f28ef..f3e4c06 100644 --- a/gpu/skia_bindings/grcontext_for_gles2_interface.cc +++ b/gpu/skia_bindings/grcontext_for_gles2_interface.cc
@@ -29,10 +29,6 @@ size_t max_resource_cache_bytes, size_t max_glyph_cache_texture_bytes) : context_support_(context_support) { - // The limit of the number of GPU resources we hold in the GrContext's - // GPU cache. - static const int kMaxGaneshResourceCacheCount = 16384; - GrContextOptions options; options.fGlyphCacheTextureMaximumBytes = max_glyph_cache_texture_bytes; options.fAvoidStencilBuffers = capabilities.avoid_stencil_buffers; @@ -46,8 +42,7 @@ skia_bindings::CreateGLES2InterfaceBindings(gl, context_support)); gr_context_ = GrContext::MakeGL(std::move(interface), options); if (gr_context_) { - gr_context_->setResourceCacheLimits(kMaxGaneshResourceCacheCount, - max_resource_cache_bytes); + gr_context_->setResourceCacheLimit(max_resource_cache_bytes); context_support_->SetGrContext(gr_context_.get()); } }
diff --git a/gpu/vulkan/demo/vulkan_demo.cc b/gpu/vulkan/demo/vulkan_demo.cc index 2e2bc6b..cbfe195 100644 --- a/gpu/vulkan/demo/vulkan_demo.cc +++ b/gpu/vulkan/demo/vulkan_demo.cc
@@ -44,7 +44,7 @@ ui::PlatformWindowInitProperties properties; properties.bounds = gfx::Rect(100, 100, 800, 600); - auto x11_window = std::make_unique<ui::X11Window>(this, nullptr); + auto x11_window = std::make_unique<ui::X11Window>(this); x11_window->Initialize(std::move(properties)); window_ = std::move(x11_window);
diff --git a/infra/config/commit-queue.cfg b/infra/config/commit-queue.cfg index 024a7d7..bc0b6e0 100644 --- a/infra/config/commit-queue.cfg +++ b/infra/config/commit-queue.cfg
@@ -372,6 +372,11 @@ name: "chromium/try/ios-simulator-xcode-clang" experiment_percentage: 10 } + # https://crbug.com/1000367 + builders { + name: "chromium/try/linux-chromeos-coverage-rel" + experiment_percentage: 3 + } retry_config { single_quota: 1
diff --git a/infra/config/cr-buildbucket.cfg b/infra/config/cr-buildbucket.cfg index 18bc9f5..d49f8a9 100644 --- a/infra/config/cr-buildbucket.cfg +++ b/infra/config/cr-buildbucket.cfg
@@ -2214,6 +2214,13 @@ dimensions: "cores:8" } builders { + name: "Win10 Tests x64 1803" + mixins: "fyi-ci" + dimensions: "os:Windows-10" + dimensions: "cpu:x86-64" + dimensions: "cores:8" + } + builders { name: "Win10 Tests x64 (dbg)" mixins: "win-ci" dimensions: "os:Windows-10"
diff --git a/infra/config/luci-milo.cfg b/infra/config/luci-milo.cfg index 765e113..b5b384a 100644 --- a/infra/config/luci-milo.cfg +++ b/infra/config/luci-milo.cfg
@@ -2456,6 +2456,10 @@ category: "win10" } builders { + name: "buildbucket/luci.chromium.ci/Win10 Tests x64 1803" + category: "win10|1803" + } + builders { name: "buildbucket/luci.chromium.ci/win-celab-builder-rel" category: "celab" }
diff --git a/ios/chrome/app/strings/ios_strings.grd b/ios/chrome/app/strings/ios_strings.grd index 2b1fabe..de74848 100644 --- a/ios/chrome/app/strings/ios_strings.grd +++ b/ios/chrome/app/strings/ios_strings.grd
@@ -2110,6 +2110,9 @@ <message name="IDS_IOS_NAVIGATION_BAR_ADD_BUTTON" desc="Label of the button allowing the user to add a new credit card to the list of their saved credit cards."> Add </message> + <message name="IDS_IOS_LOCATION_BAR_SIGN_IN" desc="Text shown in the location bar while an HTTP authentication dialog is displayed."> + Sign in to website + </message> </messages> </release> </grit>
diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_home_view_controller.mm b/ios/chrome/browser/ui/bookmarks/bookmark_home_view_controller.mm index 0e64d8c5..c61fb8f 100644 --- a/ios/chrome/browser/ui/bookmarks/bookmark_home_view_controller.mm +++ b/ios/chrome/browser/ui/bookmarks/bookmark_home_view_controller.mm
@@ -305,7 +305,6 @@ // Set Navigation Bar, Toolbar and TableView appearance. self.navigationController.navigationBarHidden = NO; - self.navigationController.toolbar.translucent = YES; // Add a tableFooterView in order to disable separators at the bottom of the // tableView. self.tableView.tableFooterView = [[UIView alloc] init];
diff --git a/ios/chrome/browser/ui/location_bar/BUILD.gn b/ios/chrome/browser/ui/location_bar/BUILD.gn index 14d1ebfb..d518d1a6 100644 --- a/ios/chrome/browser/ui/location_bar/BUILD.gn +++ b/ios/chrome/browser/ui/location_bar/BUILD.gn
@@ -43,6 +43,7 @@ "//ios/chrome/browser/main", "//ios/chrome/browser/ntp", "//ios/chrome/browser/overlays", + "//ios/chrome/browser/overlays/public/web_content_area", "//ios/chrome/browser/search_engines", "//ios/chrome/browser/ssl", "//ios/chrome/browser/ui:feature_flags",
diff --git a/ios/chrome/browser/ui/location_bar/location_bar_mediator.mm b/ios/chrome/browser/ui/location_bar/location_bar_mediator.mm index ea71bb8..7e4d7a7 100644 --- a/ios/chrome/browser/ui/location_bar/location_bar_mediator.mm +++ b/ios/chrome/browser/ui/location_bar/location_bar_mediator.mm
@@ -10,6 +10,9 @@ #include "ios/chrome/browser/chrome_url_constants.h" #import "ios/chrome/browser/overlays/public/overlay_presenter.h" #import "ios/chrome/browser/overlays/public/overlay_presenter_observer_bridge.h" +#include "ios/chrome/browser/overlays/public/overlay_request.h" +#import "ios/chrome/browser/overlays/public/overlay_request_queue.h" +#import "ios/chrome/browser/overlays/public/web_content_area/http_auth_overlay.h" #import "ios/chrome/browser/search_engines/search_engine_observer_bridge.h" #import "ios/chrome/browser/search_engines/search_engines_util.h" #include "ios/chrome/browser/ssl/ios_security_state_tab_helper.h" @@ -19,6 +22,7 @@ #import "ios/chrome/browser/ui/util/uikit_ui_util.h" #import "ios/chrome/browser/web_state_list/web_state_list.h" #import "ios/chrome/browser/web_state_list/web_state_list_observer_bridge.h" +#import "ios/chrome/grit/ios_strings.h" #include "ios/chrome/grit/ios_theme_resources.h" #include "ios/web/public/navigation/navigation_item.h" #import "ios/web/public/navigation/navigation_manager.h" @@ -27,6 +31,7 @@ #import "ios/web/public/web_state.h" #import "ios/web/public/web_state/web_state_observer_bridge.h" #include "skia/ext/skia_utils_ios.h" +#include "ui/base/l10n/l10n_util.h" #if !defined(__has_feature) || !__has_feature(objc_arc) #error "This file requires ARC support." @@ -47,6 +52,11 @@ @property(nonatomic, assign, getter=isWebContentAreaShowingOverlay) BOOL webContentAreaShowingOverlay; +// Whether an HTTP authentication dialog is currently presented over the +// web content area. +@property(nonatomic, assign, getter=isWebContentAreaShowingHTTPAuthDialog) + BOOL webContentAreaShowingHTTPAuthDialog; + @end @implementation LocationBarMediator { @@ -136,16 +146,19 @@ _webState = nullptr; } -#pragma mark - OverlayPresesenterObserving +#pragma mark - OverlayPresenterObserving - (void)overlayPresenter:(OverlayPresenter*)presenter willShowOverlayForRequest:(OverlayRequest*)request { self.webContentAreaShowingOverlay = YES; + self.webContentAreaShowingHTTPAuthDialog = + !!request->GetConfig<HTTPAuthOverlayRequestConfig>(); } - (void)overlayPresenter:(OverlayPresenter*)presenter didHideOverlayForRequest:(OverlayRequest*)request { self.webContentAreaShowingOverlay = NO; + self.webContentAreaShowingHTTPAuthDialog = NO; } #pragma mark - WebStateListObserver @@ -248,6 +261,17 @@ [self.consumer updateLocationShareable:[self isSharingEnabled]]; } +- (void)setWebContentAreaShowingHTTPAuthDialog: + (BOOL)webContentAreaShowingHTTPAuthDialog { + if (_webContentAreaShowingHTTPAuthDialog == + webContentAreaShowingHTTPAuthDialog) { + return; + } + _webContentAreaShowingHTTPAuthDialog = webContentAreaShowingHTTPAuthDialog; + [self notifyConsumerOfChangedLocation]; + [self notifyConsumerOfChangedSecurityIcon]; +} + #pragma mark - private - (void)notifyConsumerOfChangedLocation { @@ -263,14 +287,14 @@ - (void)notifyConsumerOfChangedSecurityIcon { [self.consumer updateLocationIcon:[self currentLocationIcon] - securityStatusText:base::SysUTF16ToNSString( - self.locationBarModel - ->GetSecureAccessibilityText())]; + securityStatusText:[self securityStatusText]]; } #pragma mark Location helpers - (NSString*)currentLocationString { + if (self.webContentAreaShowingHTTPAuthDialog) + return l10n_util::GetNSString(IDS_IOS_LOCATION_BAR_SIGN_IN); base::string16 string = self.locationBarModel->GetURLForDisplay(); return base::SysUTF16ToNSString(string); } @@ -278,6 +302,8 @@ // Some URLs (data://) should have their tail clipped when presented; while for // others (http://) it would be more appropriate to clip the head. - (BOOL)locationShouldClipTail { + if (self.webContentAreaShowingHTTPAuthDialog) + return YES; GURL url = self.locationBarModel->GetURL(); return url.SchemeIs(url::kDataScheme); } @@ -285,7 +311,8 @@ #pragma mark Security status icon helpers - (UIImage*)currentLocationIcon { - if (!self.locationBarModel->ShouldDisplayURL()) { + if (!self.locationBarModel->ShouldDisplayURL() || + self.webContentAreaShowingHTTPAuthDialog) { return nil; } @@ -303,6 +330,14 @@ imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; } +// The status text associated with the current location icon. +- (NSString*)securityStatusText { + if (self.webContentAreaShowingHTTPAuthDialog) + return nil; + return base::SysUTF16ToNSString( + self.locationBarModel->GetSecureAccessibilityText()); +} + #pragma mark Shareability helpers - (BOOL)isSharingEnabled {
diff --git a/ios/chrome/browser/ui/location_bar/location_bar_mediator_unittest.mm b/ios/chrome/browser/ui/location_bar/location_bar_mediator_unittest.mm index 21a3091..22da2e3 100644 --- a/ios/chrome/browser/ui/location_bar/location_bar_mediator_unittest.mm +++ b/ios/chrome/browser/ui/location_bar/location_bar_mediator_unittest.mm
@@ -10,15 +10,19 @@ #import "ios/chrome/browser/overlays/public/overlay_presenter.h" #import "ios/chrome/browser/overlays/public/overlay_request.h" #import "ios/chrome/browser/overlays/public/overlay_request_queue.h" +#import "ios/chrome/browser/overlays/public/web_content_area/http_auth_overlay.h" #import "ios/chrome/browser/overlays/public/web_content_area/java_script_alert_overlay.h" #include "ios/chrome/browser/overlays/test/fake_overlay_presentation_context.h" #import "ios/chrome/browser/ui/location_bar/test/fake_location_bar_consumer.h" #import "ios/chrome/browser/web_state_list/fake_web_state_list_delegate.h" #import "ios/chrome/browser/web_state_list/web_state_list.h" #import "ios/chrome/browser/web_state_list/web_state_opener.h" +#import "ios/chrome/grit/ios_strings.h" #include "ios/web/public/test/fakes/test_web_state.h" #include "ios/web/public/test/web_task_environment.h" +#include "testing/gtest_mac.h" #include "testing/platform_test.h" +#include "ui/base/l10n/l10n_util.h" #if !defined(__has_feature) || !__has_feature(objc_arc) #error "This file requires ARC support." @@ -88,4 +92,31 @@ EXPECT_TRUE(consumer_.locationShareable); } +// Tests that the location text and page icon are updated when an HTTP auth +// dialog is displayed. +TEST_F(LocationBarMediatorTest, HTTPAuthDialog) { + const GURL kUrl("https://chromium.test"); + std::unique_ptr<web::TestWebState> passed_web_state = + std::make_unique<web::TestWebState>(); + web::TestWebState* web_state = passed_web_state.get(); + web_state->SetCurrentURL(kUrl); + web_state_list_.InsertWebState(0, std::move(passed_web_state), + WebStateList::INSERT_ACTIVATE, + WebStateOpener(nullptr)); + + // Present an HTTP authentication dialog over the WebState and verify the + // location text and page icon. + const std::string kMessage("message"); + const std::string kDefaultUsername("username"); + OverlayRequestQueue* queue = OverlayRequestQueue::FromWebState( + web_state, OverlayModality::kWebContentArea); + queue->AddRequest( + OverlayRequest::CreateWithConfig<HTTPAuthOverlayRequestConfig>( + kMessage, kDefaultUsername)); + EXPECT_NSEQ(l10n_util::GetNSString(IDS_IOS_LOCATION_BAR_SIGN_IN), + consumer_.locationText); + EXPECT_FALSE(consumer_.icon); + EXPECT_FALSE(consumer_.statusText); +} + // TODO(crbug.com/992578): Add more tests to this suite.
diff --git a/ios/chrome/browser/ui/payments/address_edit_mediator_unittest.mm b/ios/chrome/browser/ui/payments/address_edit_mediator_unittest.mm index cb3d68242..a6e96e4 100644 --- a/ios/chrome/browser/ui/payments/address_edit_mediator_unittest.mm +++ b/ios/chrome/browser/ui/payments/address_edit_mediator_unittest.mm
@@ -282,7 +282,7 @@ initWithAutofillUIType:AutofillUITypeProfileHomePhoneWholeNumber fieldType:EditorFieldTypeTextField label:@"" - value:@"1506853121" // Missing one last digit. + value:@"15068531" // It is too short. required:YES]; NSString* validationError = [mediator paymentRequestEditViewController:nil
diff --git a/ios/chrome/browser/ui/payments/contact_info_edit_mediator_unittest.mm b/ios/chrome/browser/ui/payments/contact_info_edit_mediator_unittest.mm index b98b78b..88d2a5c0 100644 --- a/ios/chrome/browser/ui/payments/contact_info_edit_mediator_unittest.mm +++ b/ios/chrome/browser/ui/payments/contact_info_edit_mediator_unittest.mm
@@ -259,7 +259,7 @@ initWithAutofillUIType:AutofillUITypeProfileHomePhoneWholeNumber fieldType:EditorFieldTypeTextField label:@"" - value:@"1506853121" // Missing one last digit. + value:@"15068531" // It is too short. required:YES]; NSString* validationError = [mediator paymentRequestEditViewController:nil
diff --git a/ios/chrome/browser/ui/settings/google_services/google_services_settings_coordinator.mm b/ios/chrome/browser/ui/settings/google_services/google_services_settings_coordinator.mm index 9e30da4..e4822c7 100644 --- a/ios/chrome/browser/ui/settings/google_services/google_services_settings_coordinator.mm +++ b/ios/chrome/browser/ui/settings/google_services/google_services_settings_coordinator.mm
@@ -184,6 +184,11 @@ } - (void)openReauthDialogAsSyncIsInAuthError { + ChromeIdentity* identity = self.authService->GetAuthenticatedIdentity(); + if (self.authService->HasCachedMDMErrorForIdentity(identity)) { + self.authService->ShowMDMErrorDialogForIdentity(identity); + return; + } // Sync enters in a permanent auth error state when fetching an access token // fails with invalid credentials. This corresponds to Gaia responding with an // "invalid grant" error. The current implementation of the iOS SSOAuth
diff --git a/ios/chrome/browser/ui/side_swipe/card_side_swipe_view.mm b/ios/chrome/browser/ui/side_swipe/card_side_swipe_view.mm index 948ac92..5268357 100644 --- a/ios/chrome/browser/ui/side_swipe/card_side_swipe_view.mm +++ b/ios/chrome/browser/ui/side_swipe/card_side_swipe_view.mm
@@ -106,7 +106,7 @@ [[background bottomAnchor] constraintEqualToAnchor:self.bottomAnchor] ]]; - background.backgroundColor = UIColorFromRGB(kGridBackgroundColor); + background.backgroundColor = [UIColor colorNamed:kGridBackgroundColor]; _rightCard = [[SwipeView alloc] initWithFrame:CGRectZero topMargin:topMargin];
diff --git a/ios/chrome/browser/ui/tab_grid/BUILD.gn b/ios/chrome/browser/ui/tab_grid/BUILD.gn index 4610f390a..fa35a00 100644 --- a/ios/chrome/browser/ui/tab_grid/BUILD.gn +++ b/ios/chrome/browser/ui/tab_grid/BUILD.gn
@@ -54,6 +54,10 @@ "tab_grid_constants.h", "tab_grid_constants.mm", ] + + deps = [ + "resources:grid_background_color", + ] } source_set("tab_grid_ui") {
diff --git a/ios/chrome/browser/ui/tab_grid/grid/grid_cell.mm b/ios/chrome/browser/ui/tab_grid/grid/grid_cell.mm index be3ac58..44fb0515 100644 --- a/ios/chrome/browser/ui/tab_grid/grid/grid_cell.mm +++ b/ios/chrome/browser/ui/tab_grid/grid/grid_cell.mm
@@ -354,10 +354,10 @@ - (void)setupSelectedBackgroundView { self.selectedBackgroundView = [[UIView alloc] init]; self.selectedBackgroundView.backgroundColor = - UIColorFromRGB(kGridBackgroundColor); + [UIColor colorNamed:kGridBackgroundColor]; UIView* border = [[UIView alloc] init]; border.translatesAutoresizingMaskIntoConstraints = NO; - border.backgroundColor = UIColorFromRGB(kGridBackgroundColor); + border.backgroundColor = [UIColor colorNamed:kGridBackgroundColor]; border.layer.cornerRadius = kGridCellCornerRadius + kGridCellSelectionRingGapWidth + kGridCellSelectionRingTintWidth;
diff --git a/ios/chrome/browser/ui/tab_grid/grid/grid_constants.h b/ios/chrome/browser/ui/tab_grid/grid/grid_constants.h index 00f3d8b..7f2847e 100644 --- a/ios/chrome/browser/ui/tab_grid/grid/grid_constants.h +++ b/ios/chrome/browser/ui/tab_grid/grid/grid_constants.h
@@ -17,12 +17,8 @@ // Accessibility identifier for the close button in a grid cell. extern NSString* const kGridCellCloseButtonIdentifier; -// All kxxxColor constants are RGB values stored in a Hex integer. These will be -// converted into UIColors using the UIColorFromRGB() function, from -// uikit_ui_util.h - // Grid styling. -extern const int kGridBackgroundColor; +extern NSString* const kGridBackgroundColor; // GridLayout. // Extra-small screens require a slightly different layout configuration (e.g., @@ -56,23 +52,12 @@ extern const CGFloat kReorderingActiveCellScale; // GridCell styling. -// Common colors. -extern const int kGridCellIconBackgroundColor; -extern const int kGridCellSnapshotBackgroundColor; -// Light theme colors. -extern const int kGridLightThemeCellTitleColor; -extern const int kGridLightThemeCellHeaderColor; -extern const int kGridLightThemeCellSelectionColor; -extern const int kGridLightThemeCellCloseButtonTintColor; -// Dark theme colors. -extern const int kGridDarkThemeCellTitleColor; -extern const int kGridDarkThemeCellHeaderColor; -extern const int kGridDarkThemeCellSelectionColor; -extern const int kGridDarkThemeCellCloseButtonTintColor; -extern const CGFloat kGridDarkThemeCellHighlightColorAlpha; -extern const int kGridDarkThemeCellSeparatorColor; -// TODO (crbug.com/981889): remove with iOS 12. +// All kxxxColor constants after this are RGB values stored in a Hex integer. +// These will be converted into UIColors using the UIColorFromRGB() function, +// from uikit_ui_util.h. +// TODO(crbug.com/981889): remove with iOS 12. // Extra dark theme colors until iOS 12 gets removed. +extern const int kGridDarkThemeCellTitleColor; extern const int kGridDarkThemeCellDetailColor; extern const CGFloat kGridDarkThemeCellDetailAlpha; extern const int kGridDarkThemeCellTintColor;
diff --git a/ios/chrome/browser/ui/tab_grid/grid/grid_constants.mm b/ios/chrome/browser/ui/tab_grid/grid/grid_constants.mm index 7671bff..c5c70a33 100644 --- a/ios/chrome/browser/ui/tab_grid/grid/grid_constants.mm +++ b/ios/chrome/browser/ui/tab_grid/grid/grid_constants.mm
@@ -16,7 +16,7 @@ @"GridCellCloseButtonIdentifier"; // Grid styling. -const int kGridBackgroundColor = 0x222222; +NSString* const kGridBackgroundColor = @"grid_background_color"; // Definition of limited width for applicable size classes. The first refers to // the horizontal size class; the second to the vertical. @@ -49,22 +49,9 @@ const CGFloat kReorderingActiveCellScale = 1.15; // GridCell styling. -// Common colors. -const int kGridCellIconBackgroundColor = 0xF1F3F4; -const int kGridCellSnapshotBackgroundColor = 0xE8EAED; -// Light theme colors. -const int kGridLightThemeCellTitleColor = 0x000000; -const int kGridLightThemeCellHeaderColor = 0xF8F9FA; -const int kGridLightThemeCellSelectionColor = 0x1A73E8; -const int kGridLightThemeCellCloseButtonTintColor = 0x3C4043; // Dark theme colors. -const int kGridDarkThemeCellTitleColor = 0xFFFFFF; -const int kGridDarkThemeCellHeaderColor = 0x5F6368; -const int kGridDarkThemeCellSelectionColor = 0x9AA0A6; -const int kGridDarkThemeCellCloseButtonTintColor = 0xFFFFFF; -const CGFloat kGridDarkThemeCellHighlightColorAlpha = 0.7; -const int kGridDarkThemeCellSeparatorColor = 0x535354; // Extra dark theme colors until iOS 12 gets removed. +const int kGridDarkThemeCellTitleColor = 0xFFFFFF; const int kGridDarkThemeCellDetailColor = 0xEBEBF5; const CGFloat kGridDarkThemeCellDetailAlpha = 0.6; const int kGridDarkThemeCellTintColor = 0x8AB4F9;
diff --git a/ios/chrome/browser/ui/tab_grid/grid/grid_view_controller.mm b/ios/chrome/browser/ui/tab_grid/grid/grid_view_controller.mm index 80749d5..49c1ec9 100644 --- a/ios/chrome/browser/ui/tab_grid/grid/grid_view_controller.mm +++ b/ios/chrome/browser/ui/tab_grid/grid/grid_view_controller.mm
@@ -96,7 +96,7 @@ collectionView.delegate = self; collectionView.backgroundView = [[UIView alloc] init]; collectionView.backgroundView.backgroundColor = - UIColorFromRGB(kGridBackgroundColor); + [UIColor colorNamed:kGridBackgroundColor]; // CollectionView, in contrast to TableView, doesn’t inset the // cell content to the safe area guide by default. We will just manage the // collectionView contentInset manually to fit in the safe area instead.
diff --git a/ios/chrome/browser/ui/tab_grid/resources/BUILD.gn b/ios/chrome/browser/ui/tab_grid/resources/BUILD.gn index 8a884c2..79bc18b8 100644 --- a/ios/chrome/browser/ui/tab_grid/resources/BUILD.gn +++ b/ios/chrome/browser/ui/tab_grid/resources/BUILD.gn
@@ -4,6 +4,12 @@ import("//build/config/ios/asset_catalog.gni") +colorset("grid_background_color") { + sources = [ + "grid_background_color.colorset/Contents.json", + ] +} + imageset("new_tab_floating_button") { sources = [ "new_tab_floating_button.imageset/Contents.json",
diff --git a/ios/chrome/browser/ui/tab_grid/resources/grid_background_color.colorset/Contents.json b/ios/chrome/browser/ui/tab_grid/resources/grid_background_color.colorset/Contents.json new file mode 100644 index 0000000..aaad767e --- /dev/null +++ b/ios/chrome/browser/ui/tab_grid/resources/grid_background_color.colorset/Contents.json
@@ -0,0 +1,20 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + }, + "colors" : [ + { + "idiom" : "universal", + "color" : { + "color-space" : "display-p3", + "components" : { + "red" : "0x00", + "alpha" : "1.000", + "blue" : "0x00", + "green" : "0x00" + } + } + } + ] +}
diff --git a/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm b/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm index d83721a..9d72e3c 100644 --- a/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm +++ b/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm
@@ -29,6 +29,7 @@ #import "ios/chrome/browser/ui/util/rtl_geometry.h" #include "ios/chrome/browser/ui/util/ui_util.h" #import "ios/chrome/browser/ui/util/uikit_ui_util.h" +#import "ios/chrome/common/colors/semantic_color_names.h" #import "ios/chrome/common/ui_util/constraints_ui_util.h" #include "ios/chrome/grit/ios_strings.h" #include "ios/web/public/thread/web_task_traits.h" @@ -159,7 +160,7 @@ - (void)viewDidLoad { [super viewDidLoad]; - self.view.backgroundColor = UIColorFromRGB(kGridBackgroundColor); + self.view.backgroundColor = [UIColor colorNamed:kGridBackgroundColor]; [self setupScrollView]; [self setupIncognitoTabsViewController]; [self setupRegularTabsViewController]; @@ -659,9 +660,7 @@ // TODO(crbug.com/804589) : Dark style on remote tabs. // The styler must be set before the view controller is loaded. ChromeTableViewStyler* styler = [[ChromeTableViewStyler alloc] init]; - styler.tableViewBackgroundColor = UIColorFromRGB(kGridBackgroundColor); - styler.cellHighlightColor = - [UIColor colorWithWhite:0 alpha:kGridDarkThemeCellHighlightColorAlpha]; + styler.tableViewBackgroundColor = [UIColor colorNamed:kGridBackgroundColor]; // To make using the compile guards easier, use a separate method. [self setupRemoteTabsViewControllerForDarkModeWithStyler:styler]; self.remoteTabsViewController.styler = styler; @@ -697,10 +696,13 @@ // override is not available on pre-iOS 13 devices, so the dark mode colors // must be provided manually. if (@available(iOS 13, *)) { + styler.cellHighlightColor = [UIColor colorNamed:kTableViewRowHighlightColor]; self.remoteTabsViewController.overrideUserInterfaceStyle = UIUserInterfaceStyleDark; return; } + styler.cellHighlightColor = + [UIColor colorNamed:kTableViewRowHighlightDarkColor]; styler.cellTitleColor = UIColorFromRGB(kGridDarkThemeCellTitleColor); styler.headerFooterTitleColor = UIColorFromRGB(kGridDarkThemeCellTitleColor); styler.cellDetailColor = UIColorFromRGB(kGridDarkThemeCellDetailColor,
diff --git a/ios/chrome/browser/ui/table_view/table_view_navigation_controller.mm b/ios/chrome/browser/ui/table_view/table_view_navigation_controller.mm index c9ee82b9..c23efe2 100644 --- a/ios/chrome/browser/ui/table_view/table_view_navigation_controller.mm +++ b/ios/chrome/browser/ui/table_view/table_view_navigation_controller.mm
@@ -37,6 +37,7 @@ self.navigationBar.prefersLargeTitles = YES; self.toolbar.translucent = NO; + self.toolbar.barTintColor = UIColor.cr_systemBackgroundColor; } @end
diff --git a/ios/showcase/payments/sc_payments_editor_egtest.mm b/ios/showcase/payments/sc_payments_editor_egtest.mm index fd1c7a41..1a14a972 100644 --- a/ios/showcase/payments/sc_payments_editor_egtest.mm +++ b/ios/showcase/payments/sc_payments_editor_egtest.mm
@@ -98,16 +98,6 @@ @implementation SCPaymentsEditorTestCase -// Per crbug.com/845186, Disable flakey iPad Retina tests that are limited -// to iOS 10.2. -+ (NSArray*)testInvocations { -#if TARGET_IPHONE_SIMULATOR - if ([ChromeEarlGrey isIPadIdiom] && !base::ios::IsRunningOnOrLater(10, 3, 0)) - return @[]; -#endif // TARGET_IPHONE_SIMULATOR - return [super testInvocations]; -} - - (void)setUp { [super setUp]; Open(@"PaymentRequestEditViewController"); @@ -303,7 +293,8 @@ // Tests tapping the return key on every textfield causes the next textfield to // get focus except for the last textfield in which case causes the focus to go // away from the textfield. -- (void)testNavigationByTappingReturn { +// TODO(crbug.com/997938): Test is Flaky on iOS13 iPad. +- (void)FLAKY_testNavigationByTappingReturn { // Tap the name textfield. [[EarlGrey selectElementWithMatcher:grey_accessibilityID(@"Name_textField")] performAction:grey_tap()];
diff --git a/ios/web/navigation/crw_wk_navigation_handler.mm b/ios/web/navigation/crw_wk_navigation_handler.mm index 1182261..34721f9 100644 --- a/ios/web/navigation/crw_wk_navigation_handler.mm +++ b/ios/web/navigation/crw_wk_navigation_handler.mm
@@ -1642,6 +1642,16 @@ // If URL is blocked due to Restriction, do not take any further // action as WKWebView will show a built-in error. if (!web::RequiresContentFilterBlockingWorkaround()) { + // On iOS13, immediately following this navigation, WebKit will + // navigate to an internal failure page. Unfortunately, due to how + // SlimNav session restoration works with same document navigations, + // this page blocked by a content filter puts WebKit into a state + // where all further restoration same-document navigations are 'stuck' + // on this failure page. Instead, avoid restoring this page + // completely. Consider revisiting this if and when a proper session + // restoration API is provided by WKWebView. + self.navigationManagerImpl->SetWKWebViewNextPendingUrlNotSerializable( + navigationContext->GetUrl()); return; } else if (!PageTransitionIsNewNavigation(transition)) { if (transition & ui::PAGE_TRANSITION_RELOAD) {
diff --git a/ios/web/navigation/navigation_item_impl.h b/ios/web/navigation/navigation_item_impl.h index 87e7103..0e1262a 100644 --- a/ios/web/navigation/navigation_item_impl.h +++ b/ios/web/navigation/navigation_item_impl.h
@@ -96,6 +96,11 @@ void SetShouldSkipRepostFormConfirmation(bool skip); bool ShouldSkipRepostFormConfirmation() const; + // Whether or not to bypass serializing this item to session storage. Set to + // YES to skip saving this page (and therefore restoring this page). + void SetShouldSkipSerialization(bool skip); + bool ShouldSkipSerialization() const; + // Data submitted with a POST request, persisted for resubmits. void SetPostData(NSData* post_data); NSData* GetPostData() const; @@ -153,6 +158,7 @@ bool has_state_been_replaced_; bool is_created_from_hash_change_; bool should_skip_repost_form_confirmation_; + bool should_skip_serialization_; NSData* post_data_; ErrorRetryStateMachine error_retry_state_machine_;
diff --git a/ios/web/navigation/navigation_item_impl.mm b/ios/web/navigation/navigation_item_impl.mm index 3653f55..aff1281 100644 --- a/ios/web/navigation/navigation_item_impl.mm +++ b/ios/web/navigation/navigation_item_impl.mm
@@ -48,6 +48,7 @@ has_state_been_replaced_(false), is_created_from_hash_change_(false), should_skip_repost_form_confirmation_(false), + should_skip_serialization_(false), navigation_initiation_type_(web::NavigationInitiationType::NONE), is_untrusted_(false) {} @@ -74,6 +75,7 @@ is_created_from_hash_change_(item.is_created_from_hash_change_), should_skip_repost_form_confirmation_( item.should_skip_repost_form_confirmation_), + should_skip_serialization_(item.should_skip_serialization_), post_data_([item.post_data_ copy]), error_retry_state_machine_(item.error_retry_state_machine_), navigation_initiation_type_(item.navigation_initiation_type_), @@ -281,6 +283,14 @@ return should_skip_repost_form_confirmation_; } +void NavigationItemImpl::SetShouldSkipSerialization(bool skip) { + should_skip_serialization_ = skip; +} + +bool NavigationItemImpl::ShouldSkipSerialization() const { + return should_skip_serialization_; +} + void NavigationItemImpl::SetPostData(NSData* post_data) { post_data_ = post_data; }
diff --git a/ios/web/navigation/navigation_manager_impl.h b/ios/web/navigation/navigation_manager_impl.h index 2e95d36c..ba194ff48 100644 --- a/ios/web/navigation/navigation_manager_impl.h +++ b/ios/web/navigation/navigation_manager_impl.h
@@ -170,6 +170,10 @@ // Applies the workaround for crbug.com/887497. virtual void ApplyWKWebViewForwardHistoryClobberWorkaround(); + // Set ShouldSkipSerialization to true for the next pending item, provided it + // matches |url|. Applies the workaround for crbug.com/997182 + virtual void SetWKWebViewNextPendingUrlNotSerializable(const GURL& url); + // Resets the transient url rewriter list. void RemoveTransientURLRewriters();
diff --git a/ios/web/navigation/navigation_manager_impl.mm b/ios/web/navigation/navigation_manager_impl.mm index 45ab0fc..a0f15ab 100644 --- a/ios/web/navigation/navigation_manager_impl.mm +++ b/ios/web/navigation/navigation_manager_impl.mm
@@ -131,6 +131,11 @@ NOTREACHED(); } +void NavigationManagerImpl::SetWKWebViewNextPendingUrlNotSerializable( + const GURL& url) { + NOTREACHED(); +} + void NavigationManagerImpl::RemoveTransientURLRewriters() { transient_url_rewriters_.clear(); }
diff --git a/ios/web/navigation/session_storage_builder.mm b/ios/web/navigation/session_storage_builder.mm index 2d7957e..6337b2a 100644 --- a/ios/web/navigation/session_storage_builder.mm +++ b/ios/web/navigation/session_storage_builder.mm
@@ -43,8 +43,17 @@ ++index) { web::NavigationItemImpl* item = navigation_manager->GetNavigationItemImplAtIndex(index); + if (item->ShouldSkipSerialization()) { + if (index <= static_cast<size_t>( + navigation_manager->GetLastCommittedItemIndex())) { + session_storage.lastCommittedItemIndex--; + } + continue; + } [item_storages addObject:item_storage_builder.BuildStorage(item)]; } + DCHECK_LT(session_storage.lastCommittedItemIndex, + static_cast<NSInteger>(item_storages.count)); session_storage.itemStorages = item_storages; SessionCertificatePolicyCacheStorageBuilder cert_builder; session_storage.certPolicyCacheStorage = cert_builder.BuildStorage(
diff --git a/ios/web/navigation/wk_based_navigation_manager_impl.h b/ios/web/navigation/wk_based_navigation_manager_impl.h index 3340cb61..b0be92c 100644 --- a/ios/web/navigation/wk_based_navigation_manager_impl.h +++ b/ios/web/navigation/wk_based_navigation_manager_impl.h
@@ -118,6 +118,7 @@ bool IsRestoreSessionInProgress() const override; void SetPendingItemIndex(int index) override; void ApplyWKWebViewForwardHistoryClobberWorkaround() override; + void SetWKWebViewNextPendingUrlNotSerializable(const GURL& url) override; // NavigationManager: BrowserState* GetBrowserState() const override; @@ -300,6 +301,10 @@ // committed item. bool going_to_back_forward_list_item_ = false; + // Set to an URL when the next created pending item should set + // ShouldSkipSerialization to true, provided it matches |url|. + GURL next_pending_url_should_skip_serialization_; + // Non null during the session restoration. Created when session restoration // is started and reset when the restoration is finished. Used to log UMA // histogram that measures session restoration time.
diff --git a/ios/web/navigation/wk_based_navigation_manager_impl.mm b/ios/web/navigation/wk_based_navigation_manager_impl.mm index 167b5fa..d846b9d 100644 --- a/ios/web/navigation/wk_based_navigation_manager_impl.mm +++ b/ios/web/navigation/wk_based_navigation_manager_impl.mm
@@ -170,6 +170,12 @@ GetLastCommittedItemWithUserAgentType(), pending_item_.get()); + if (!next_pending_url_should_skip_serialization_.is_empty() && + url == next_pending_url_should_skip_serialization_) { + pending_item_->SetShouldSkipSerialization(true); + } + next_pending_url_should_skip_serialization_ = GURL::EmptyGURL(); + // No need to detect renderer-initiated back/forward navigation in detached // mode because there is no renderer. if (!web_view_cache_.IsAttachedToWebView()) @@ -636,6 +642,11 @@ UnsafeRestore(/*last_committed_item_index_=*/0, std::move(forward_items)); } +void WKBasedNavigationManagerImpl::SetWKWebViewNextPendingUrlNotSerializable( + const GURL& url) { + next_pending_url_should_skip_serialization_ = url; +} + void WKBasedNavigationManagerImpl::Restore( int last_committed_item_index, std::vector<std::unique_ptr<NavigationItem>> 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 730bd081..4b3fd23 100644 --- a/ios/web/navigation/wk_based_navigation_manager_impl_unittest.mm +++ b/ios/web/navigation/wk_based_navigation_manager_impl_unittest.mm
@@ -1026,4 +1026,29 @@ EXPECT_EQ(url2_, manager_->GetNavigationItemImplAtIndex(2)->GetURL()); } +// Tests that pending item is set to serializable when appropriate. +TEST_F(WKBasedNavigationManagerDetachedModeTest, NotSerializable) { + manager_->AddPendingItem( + GURL("http://www.0.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, + web::NavigationInitiationType::BROWSER_INITIATED, + web::NavigationManager::UserAgentOverrideOption::DESKTOP); + EXPECT_FALSE(manager_->GetPendingItemInCurrentOrRestoredSession() + ->ShouldSkipSerialization()); + + manager_->SetWKWebViewNextPendingUrlNotSerializable(GURL("http://www.1.com")); + manager_->AddPendingItem( + GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, + web::NavigationInitiationType::BROWSER_INITIATED, + web::NavigationManager::UserAgentOverrideOption::DESKTOP); + EXPECT_TRUE(manager_->GetPendingItemInCurrentOrRestoredSession() + ->ShouldSkipSerialization()); + + manager_->AddPendingItem( + GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, + web::NavigationInitiationType::BROWSER_INITIATED, + web::NavigationManager::UserAgentOverrideOption::DESKTOP); + EXPECT_FALSE(manager_->GetPendingItemInCurrentOrRestoredSession() + ->ShouldSkipSerialization()); +} + } // namespace web
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc index 08c606b..ad85ba9 100644 --- a/media/base/media_switches.cc +++ b/media/base/media_switches.cc
@@ -573,6 +573,9 @@ #endif }; +const base::Feature kUseFakeDeviceForMediaStream{ + "use-fake-device-for-media-stream", base::FEATURE_DISABLED_BY_DEFAULT}; + bool IsVideoCaptureAcceleratedJpegDecodingEnabled() { if (base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kDisableAcceleratedMjpegDecode)) {
diff --git a/media/base/media_switches.h b/media/base/media_switches.h index 9728fc17..5c18a90e 100644 --- a/media/base/media_switches.h +++ b/media/base/media_switches.h
@@ -134,6 +134,7 @@ MEDIA_EXPORT extern const base::Feature kUnifiedAutoplay; MEDIA_EXPORT extern const base::Feature kUseAndroidOverlay; MEDIA_EXPORT extern const base::Feature kUseAndroidOverlayAggressively; +MEDIA_EXPORT extern const base::Feature kUseFakeDeviceForMediaStream; MEDIA_EXPORT extern const base::Feature kUseNewMediaCache; MEDIA_EXPORT extern const base::Feature kUseR16Texture; MEDIA_EXPORT extern const base::Feature kUseSurfaceLayerForVideo;
diff --git a/mojo/public/cpp/bindings/associated_receiver.h b/mojo/public/cpp/bindings/associated_receiver.h index 8672cd83..170257f 100644 --- a/mojo/public/cpp/bindings/associated_receiver.h +++ b/mojo/public/cpp/bindings/associated_receiver.h
@@ -200,6 +200,11 @@ // stimulus. void FlushForTesting() { binding_.FlushForTesting(); } + // Allows test code to swap the interface implementation. + ImplPointerType SwapImplForTesting(ImplPointerType new_impl) { + return binding_.SwapImplForTesting(new_impl); + } + private: // TODO(https://crbug.com/875030): Move AssociatedBinding details into this // class.
diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_state.cc index e7f04f42..460b9585 100644 --- a/net/http/transport_security_state.cc +++ b/net/http/transport_security_state.cc
@@ -404,6 +404,10 @@ } TransportSecurityState::TransportSecurityState() + : TransportSecurityState(std::vector<std::string>()) {} + +TransportSecurityState::TransportSecurityState( + std::vector<std::string> hsts_host_bypass_list) : enable_static_pins_(true), enable_static_expect_ct_(true), enable_pkp_bypass_for_local_trust_anchors_(true), @@ -415,6 +419,11 @@ enable_static_pins_ = false; enable_static_expect_ct_ = false; #endif + // Check that there no invalid entries in the static HSTS bypass list. + for (auto& host : hsts_host_bypass_list) { + DCHECK(host.find('.') == std::string::npos); + hsts_host_bypass_list_.insert(host); + } DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); } @@ -1140,7 +1149,8 @@ if (!DecodeHSTSPreload(host, &result)) return false; - if (result.force_https) { + if (hsts_host_bypass_list_.find(host) == hsts_host_bypass_list_.end() && + result.force_https) { sts_result->domain = host.substr(result.hostname_offset); sts_result->include_subdomains = result.sts_include_subdomains; sts_result->last_observed = base::GetBuildTime();
diff --git a/net/http/transport_security_state.h b/net/http/transport_security_state.h index 3488fb6..5758da2 100644 --- a/net/http/transport_security_state.h +++ b/net/http/transport_security_state.h
@@ -334,6 +334,13 @@ static const base::Feature kDynamicExpectCTFeature; TransportSecurityState(); + + // Creates a TransportSecurityState object that will skip the check to force + // HTTPS from static entries for the given set of hosts. All hostnames in the + // bypass list must consist of a single label, i.e. they must be a TLD. + explicit TransportSecurityState( + std::vector<std::string> hsts_host_bypass_list); + ~TransportSecurityState(); // These functions search for static and dynamic STS and PKP states, and @@ -659,6 +666,8 @@ ReportCache sent_hpkp_reports_cache_; ReportCache sent_expect_ct_reports_cache_; + std::set<std::string> hsts_host_bypass_list_; + THREAD_CHECKER(thread_checker_); DISALLOW_COPY_AND_ASSIGN(TransportSecurityState);
diff --git a/net/http/transport_security_state_static_unittest_default.json b/net/http/transport_security_state_static_unittest_default.json index 11a2f4e7..05179e4 100644 --- a/net/http/transport_security_state_static_unittest_default.json +++ b/net/http/transport_security_state_static_unittest_default.json
@@ -36,6 +36,7 @@ "entries": [ { "name": "hsts-preloaded.test", "policy": "test", "mode": "force-https" }, { "name": "include-subdomains-hsts-preloaded.test", "policy": "test", "mode": "force-https", "include_subdomains": true }, + { "name": "example", "policy": "test", "mode": "force-https", "include_subdomains": true }, { "name": "no-rejected-pins-pkp.preloaded.test", "policy": "test", "pins": "withoutRejectedPins" }, { "name": "with-report-uri-pkp.preloaded.test", "policy": "test", "pins": "withReportUri" },
diff --git a/net/http/transport_security_state_unittest.cc b/net/http/transport_security_state_unittest.cc index d8504f24..e40e749 100644 --- a/net/http/transport_security_state_unittest.cc +++ b/net/http/transport_security_state_unittest.cc
@@ -1432,6 +1432,31 @@ EXPECT_FALSE(GetExpectCTState(&state, "simple-entry.example.com", &ct_state)); } +TEST_F(TransportSecurityStateTest, HstsHostBypassList) { + SetTransportSecurityStateSourceForTesting(&test_default::kHSTSSource); + + TransportSecurityState::STSState sts_state; + TransportSecurityState::PKPState pkp_state; + + std::string preloaded_tld = "example"; + std::string subdomain = "sub.example"; + + { + TransportSecurityState state; + // Check that "example" is preloaded with subdomains. + EXPECT_TRUE(state.ShouldUpgradeToSSL(preloaded_tld)); + EXPECT_TRUE(state.ShouldUpgradeToSSL(subdomain)); + } + + { + // Add "example" to the bypass list. + TransportSecurityState state({preloaded_tld}); + EXPECT_FALSE(state.ShouldUpgradeToSSL(preloaded_tld)); + // The preloaded entry should still apply to the subdomain. + EXPECT_TRUE(state.ShouldUpgradeToSSL(subdomain)); + } +} + // Tests that TransportSecurityState always consults the RequireCTDelegate, // if supplied. TEST_F(TransportSecurityStateTest, RequireCTConsultsDelegate) {
diff --git a/net/url_request/url_request_http_job_unittest.cc b/net/url_request/url_request_http_job_unittest.cc index 8e11fabf..eed721f 100644 --- a/net/url_request/url_request_http_job_unittest.cc +++ b/net/url_request/url_request_http_job_unittest.cc
@@ -18,6 +18,7 @@ #include "base/run_loop.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_split.h" +#include "base/test/bind_test_util.h" #include "base/test/metrics/histogram_tester.h" #include "net/base/auth.h" #include "net/base/request_priority.h" @@ -32,6 +33,7 @@ #include "net/socket/next_proto.h" #include "net/socket/socket_test_util.h" #include "net/test/cert_test_util.h" +#include "net/test/embedded_test_server/default_handlers.h" #include "net/test/gtest_util.h" #include "net/test/test_data_directory.h" #include "net/test/test_with_task_environment.h" @@ -1396,6 +1398,91 @@ } } +TEST_F(URLRequestHttpJobTest, HSTSInternalRedirectCallback) { + EmbeddedTestServer https_test(EmbeddedTestServer::TYPE_HTTPS); + https_test.AddDefaultHandlers(base::FilePath()); + ASSERT_TRUE(https_test.Start()); + + TestURLRequestContext context; + context.transport_security_state()->AddHSTS( + "127.0.0.1", base::Time::Now() + base::TimeDelta::FromSeconds(10), true); + ASSERT_TRUE( + context.transport_security_state()->ShouldUpgradeToSSL("127.0.0.1")); + + GURL::Replacements replace_scheme; + replace_scheme.SetSchemeStr("http"); + + { + GURL url( + https_test.GetURL("/echoheader").ReplaceComponents(replace_scheme)); + TestDelegate delegate; + HttpRequestHeaders extra_headers; + extra_headers.SetHeader("X-HSTS-Test", "1"); + + HttpRawRequestHeaders raw_req_headers; + + std::unique_ptr<URLRequest> r(context.CreateRequest( + url, DEFAULT_PRIORITY, &delegate, TRAFFIC_ANNOTATION_FOR_TESTS)); + r->SetExtraRequestHeaders(extra_headers); + r->SetRequestHeadersCallback(base::Bind( + &HttpRawRequestHeaders::Assign, base::Unretained(&raw_req_headers))); + + r->Start(); + delegate.RunUntilRedirect(); + + EXPECT_FALSE(raw_req_headers.headers().empty()); + std::string value; + EXPECT_TRUE(raw_req_headers.FindHeaderForTest("X-HSTS-Test", &value)); + EXPECT_EQ("1", value); + EXPECT_EQ("GET /echoheader HTTP/1.1\r\n", raw_req_headers.request_line()); + + raw_req_headers = HttpRawRequestHeaders(); + + r->FollowDeferredRedirect(base::nullopt /* removed_headers */, + base::nullopt /* modified_headers */); + delegate.RunUntilComplete(); + + EXPECT_FALSE(raw_req_headers.headers().empty()); + } + + { + GURL url(https_test.GetURL("/echoheader?foo=bar") + .ReplaceComponents(replace_scheme)); + TestDelegate delegate; + + HttpRawRequestHeaders raw_req_headers; + + std::unique_ptr<URLRequest> r(context.CreateRequest( + url, DEFAULT_PRIORITY, &delegate, TRAFFIC_ANNOTATION_FOR_TESTS)); + r->SetRequestHeadersCallback(base::Bind( + &HttpRawRequestHeaders::Assign, base::Unretained(&raw_req_headers))); + + r->Start(); + delegate.RunUntilRedirect(); + + EXPECT_EQ("GET /echoheader?foo=bar HTTP/1.1\r\n", + raw_req_headers.request_line()); + } + + { + GURL url( + https_test.GetURL("/echoheader#foo").ReplaceComponents(replace_scheme)); + TestDelegate delegate; + + HttpRawRequestHeaders raw_req_headers; + + std::unique_ptr<URLRequest> r(context.CreateRequest( + url, DEFAULT_PRIORITY, &delegate, TRAFFIC_ANNOTATION_FOR_TESTS)); + r->SetRequestHeadersCallback(base::Bind( + &HttpRawRequestHeaders::Assign, base::Unretained(&raw_req_headers))); + + r->Start(); + delegate.RunUntilRedirect(); + + EXPECT_EQ("GET /echoheader HTTP/1.1\r\n", raw_req_headers.request_line()); + } +} + class URLRequestHttpJobWithBrotliSupportTest : public TestWithTaskEnvironment { protected: URLRequestHttpJobWithBrotliSupportTest()
diff --git a/net/url_request/url_request_redirect_job.cc b/net/url_request/url_request_redirect_job.cc index e59860b5..7cd18fd 100644 --- a/net/url_request/url_request_redirect_job.cc +++ b/net/url_request/url_request_redirect_job.cc
@@ -17,12 +17,14 @@ #include "net/base/load_timing_info.h" #include "net/base/net_errors.h" #include "net/http/http_log_util.h" +#include "net/http/http_raw_request_headers.h" #include "net/http/http_response_headers.h" #include "net/http/http_util.h" #include "net/log/net_log.h" #include "net/log/net_log_event_type.h" #include "net/log/net_log_with_source.h" #include "net/url_request/url_request.h" +#include "net/url_request/url_request_job.h" namespace net { @@ -119,6 +121,20 @@ NetLogEventType::URL_REQUEST_FAKE_RESPONSE_HEADERS_CREATED, fake_headers_.get()); + // Send request headers along if there's a callback + if (request_headers_callback_) { + HttpRawRequestHeaders raw_request_headers; + for (const auto& header : request_headers.GetHeaderVector()) { + raw_request_headers.Add(header.key, header.value); + } + + // Just to make extra sure everyone knows this is an internal header + raw_request_headers.set_request_line( + base::StringPrintf("%s %s HTTP/1.1\r\n", request_->method().c_str(), + request_->url().PathForRequest().c_str())); + request_headers_callback_.Run(std::move(raw_request_headers)); + } + // TODO(mmenke): Consider calling the NetworkDelegate with the headers here. // There's some weirdness about how to handle the case in which the delegate // tries to modify the redirect location, in terms of how IsSafeRedirect @@ -126,4 +142,9 @@ URLRequestJob::NotifyHeadersComplete(); } +void URLRequestRedirectJob::SetRequestHeadersCallback( + RequestHeadersCallback callback) { + request_headers_callback_ = std::move(callback); +} + } // namespace net
diff --git a/net/url_request/url_request_redirect_job.h b/net/url_request/url_request_redirect_job.h index 8d7b861..244de39 100644 --- a/net/url_request/url_request_redirect_job.h +++ b/net/url_request/url_request_redirect_job.h
@@ -10,6 +10,7 @@ #include "base/memory/weak_ptr.h" #include "base/time/time.h" #include "net/base/net_export.h" +#include "net/http/http_raw_request_headers.h" #include "net/http/http_response_info.h" #include "net/url_request/url_request_job.h" @@ -49,6 +50,7 @@ void Start() override; void Kill() override; bool CopyFragmentOnRedirect(const GURL& location) const override; + void SetRequestHeadersCallback(RequestHeadersCallback callback) override; private: void StartAsync(); @@ -61,6 +63,8 @@ scoped_refptr<HttpResponseHeaders> fake_headers_; + RequestHeadersCallback request_headers_callback_; + base::WeakPtrFactory<URLRequestRedirectJob> weak_factory_{this}; };
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc index 447794b..cb008715 100644 --- a/net/url_request/url_request_unittest.cc +++ b/net/url_request/url_request_unittest.cc
@@ -11580,13 +11580,7 @@ EXPECT_TRUE(cert_status & CERT_STATUS_REV_CHECKING_ENABLED); } -// Disabled on NSS ports. See https://crbug.com/431716. -#if defined(USE_NSS_CERTS) -#define MAYBE_RevokedStapled DISABLED_RevokedStapled -#else -#define MAYBE_RevokedStapled RevokedStapled -#endif -TEST_F(HTTPSOCSPTest, MAYBE_RevokedStapled) { +TEST_F(HTTPSOCSPTest, RevokedStapled) { if (!SystemSupportsOCSPStapling()) { LOG(WARNING) << "Skipping test because system doesn't support OCSP stapling"; @@ -11868,13 +11862,7 @@ : public HTTPSOCSPTest, public testing::WithParamInterface<OCSPVerifyTestData> {}; -// TODO(crbug.com/949958): The test is flaky on Mac -#if defined(OS_MACOSX) -#define MAYBE_VerifyResult DISABLED_VerifyResult -#else -#define MAYBE_VerifyResult VerifyResult -#endif -TEST_P(HTTPSOCSPVerifyTest, MAYBE_VerifyResult) { +TEST_P(HTTPSOCSPVerifyTest, VerifyResult) { SpawnedTestServer::SSLOptions ssl_options( SpawnedTestServer::SSLOptions::CERT_AUTO); OCSPVerifyTestData test = GetParam();
diff --git a/printing/backend/print_backend_cups.cc b/printing/backend/print_backend_cups.cc index 30c10ada..909c97b 100644 --- a/printing/backend/print_backend_cups.cc +++ b/printing/backend/print_backend_cups.cc
@@ -93,6 +93,10 @@ return true; } +void PrintBackendCUPS::DestinationDeleter::operator()(cups_dest_t* dest) const { + cupsFreeDests(1, dest); +} + bool PrintBackendCUPS::EnumeratePrinters(PrinterList* printer_list) { DCHECK(printer_list); printer_list->clear(); @@ -133,14 +137,12 @@ bool PrintBackendCUPS::GetPrinterBasicInfo(const std::string& printer_name, PrinterBasicInfo* printer_info) { - cups_dest_t* dest = GetNamedDest(printer_name); + ScopedDestination dest = GetNamedDest(printer_name); if (!dest) return false; DCHECK_EQ(printer_name, dest->name); - bool ret = PrinterBasicInfoFromCUPS(*dest, printer_info); - cupsFreeDests(1, dest); - return ret; + return PrinterBasicInfoFromCUPS(*dest, printer_info); } bool PrintBackendCUPS::GetPrinterSemanticCapsAndDefaults( @@ -191,7 +193,7 @@ const std::string& printer_name) { std::string result; - cups_dest_t* dest = GetNamedDest(printer_name); + ScopedDestination dest = GetNamedDest(printer_name); if (!dest) return result; @@ -200,17 +202,11 @@ cupsGetOption(kDriverNameTagName, dest->num_options, dest->options); if (info) result = *info; - cupsFreeDests(1, dest); return result; } bool PrintBackendCUPS::IsValidPrinter(const std::string& printer_name) { - cups_dest_t* dest = GetNamedDest(printer_name); - if (!dest) - return false; - - cupsFreeDests(1, dest); - return true; + return !!GetNamedDest(printer_name); } #if !defined(OS_CHROMEOS) @@ -291,14 +287,18 @@ return ppd_path; } -cups_dest_t* PrintBackendCUPS::GetNamedDest(const std::string& printer_name) { - // Use default (local) print server. - if (print_server_url_.is_empty()) - return cupsGetNamedDest(CUPS_HTTP_DEFAULT, printer_name.c_str(), nullptr); - - HttpConnectionCUPS http(print_server_url_, cups_encryption_); - http.SetBlocking(blocking_); - return cupsGetNamedDest(http.http(), printer_name.c_str(), nullptr); +PrintBackendCUPS::ScopedDestination PrintBackendCUPS::GetNamedDest( + const std::string& printer_name) { + cups_dest_t* dest; + if (print_server_url_.is_empty()) { + // Use default (local) print server. + dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, printer_name.c_str(), nullptr); + } else { + HttpConnectionCUPS http(print_server_url_, cups_encryption_); + http.SetBlocking(blocking_); + dest = cupsGetNamedDest(http.http(), printer_name.c_str(), nullptr); + } + return ScopedDestination(dest); } } // namespace printing
diff --git a/printing/backend/print_backend_cups.h b/printing/backend/print_backend_cups.h index e1eb435..fb2dadf 100644 --- a/printing/backend/print_backend_cups.h +++ b/printing/backend/print_backend_cups.h
@@ -5,6 +5,7 @@ #ifndef PRINTING_BACKEND_PRINT_BACKEND_CUPS_H_ #define PRINTING_BACKEND_PRINT_BACKEND_CUPS_H_ +#include <memory> #include <string> #include "base/files/file_util.h" @@ -27,6 +28,11 @@ PrinterBasicInfo* printer_info); private: + struct DestinationDeleter { + void operator()(cups_dest_t* dest) const; + }; + using ScopedDestination = std::unique_ptr<cups_dest_t, DestinationDeleter>; + ~PrintBackendCUPS() override {} // PrintBackend implementation. @@ -49,9 +55,8 @@ int GetDests(cups_dest_t** dests); base::FilePath GetPPD(const char* name); - // Wrapper around cupsGetNamedDest(). Returned result should be freed with - // cupsFreeDests(). - cups_dest_t* GetNamedDest(const std::string& printer_name); + // Wrapper around cupsGetNamedDest(). + ScopedDestination GetNamedDest(const std::string& printer_name); GURL print_server_url_; http_encryption_t cups_encryption_;
diff --git a/services/audio/stream_factory.cc b/services/audio/stream_factory.cc index e15e6c2..4f2076f 100644 --- a/services/audio/stream_factory.cc +++ b/services/audio/stream_factory.cc
@@ -11,6 +11,7 @@ #include "base/trace_event/trace_event.h" #include "base/unguessable_token.h" #include "components/crash/core/common/crash_key.h" +#include "media/audio/audio_device_description.h" #include "services/audio/input_stream.h" #include "services/audio/local_muter.h" #include "services/audio/loopback_stream.h" @@ -128,7 +129,11 @@ // See //chromecast/media/cast_audio_manager.h for more information. const std::string device_id_or_group_id = #if defined(IS_CHROMECAST) - (group_id.ToString().empty()) ? output_device_id : group_id.ToString(); + (::media::AudioDeviceDescription::IsCommunicationsDevice( + output_device_id) || + group_id.is_empty()) + ? output_device_id + : group_id.ToString(); #else output_device_id; #endif
diff --git a/services/resource_coordinator/public/mojom/coordination_unit.mojom b/services/resource_coordinator/public/mojom/coordination_unit.mojom index 2acc573..bda67fab 100644 --- a/services/resource_coordinator/public/mojom/coordination_unit.mojom +++ b/services/resource_coordinator/public/mojom/coordination_unit.mojom
@@ -34,20 +34,6 @@ kDefault, }; -// A list of interventions for which policy is communicated from individual -// frames and propagated through the frame tree. As each frame loads it will -// communicate the policy state to the associated FrameCoordinationUnit, and -// these will eventually be aggregated to the parent PageCoordinationUnit and -// applied to an entire frame tree. -// -// TODO(https://crbug.com/999594): Remove this enum once it is no longer -// referenced in C++ code. -enum PolicyControlledIntervention { - // Page lifecycles is a feature that causes pages to transition through - // lifecycle states in an attempt to save/reclaim resources. - kPageLifecycleTransitions, -}; - // Interface used by a blink::Document to communicate state associated with // resource management to the embedder. interface DocumentCoordinationUnit {
diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json index ca338b1..ac5c188 100644 --- a/testing/buildbot/chromium.fyi.json +++ b/testing/buildbot/chromium.fyi.json
@@ -2158,6 +2158,1930 @@ "libANGLE" ] }, + "Win10 Tests x64 1803": { + "gtest_tests": [ + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "accessibility_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "angle_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "app_shell_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "aura_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "base_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "base_util_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "blink_common_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "blink_fuzzer_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "blink_heap_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "blink_platform_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "name": "webkit_unit_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "blink_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "boringssl_crypto_tests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "boringssl_ssl_tests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ], + "shards": 10 + }, + "test": "browser_tests" + }, + { + "args": [ + "--disable-blink-features=HTMLImports,ShadowDOMV0,CustomElementsV0", + "--test-launcher-filter-file=../../testing/buildbot/filters/webui_html_imports_polyfill_browser_tests.filter" + ], + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "name": "webui_html_imports_polyfill_browser_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "browser_tests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "cacheinvalidation_unittests" + }, + { + "args": [ + "--gtest_filter=-*UsingRealWebcam*" + ], + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "capture_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "cast_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "cc_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "chrome_app_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "chrome_cleaner_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "chrome_elf_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "chromedriver_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "components_browsertests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "components_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "compositor_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ], + "shards": 6 + }, + "test": "content_browsertests" + }, + { + "args": [ + "--disable-perfetto", + "--gtest_filter=TracingControllerTest.*:BackgroundTracingManagerBrowserTest.*" + ], + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "name": "nonperfetto_content_browsertests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "content_browsertests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "content_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "courgette_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "crashpad_tests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "cronet_tests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "cronet_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "crypto_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "delayloads_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "device_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "display_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "elevation_service_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "events_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "extensions_browsertests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "extensions_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "filesystem_service_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "gcm_unit_tests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "gcp_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "gfx_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "gin_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "google_apis_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "gpu_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "gwp_asan_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "headless_browsertests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "headless_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "install_static_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "integrity": "high", + "os": "Windows-10-17134" + } + ] + }, + "test": "installer_util_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ], + "shards": 3 + }, + "test": "interactive_ui_tests" + }, + { + "args": [ + "--disable-blink-features=HTMLImports,ShadowDOMV0,CustomElementsV0", + "--test-launcher-filter-file=../../testing/buildbot/filters/webui_html_imports_polyfill_interactive_ui_tests.filter" + ], + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "name": "webui_html_imports_polyfill_interactive_ui_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "interactive_ui_tests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "ipc_tests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "jingle_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "latency_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "leveldb_service_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "libjingle_xmpp_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "media_blink_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "media_service_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "media_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "message_center_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "midi_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "mojo_core_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "mojo_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "nacl_loader_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "native_theme_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "net_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "notification_helper_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "pdf_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "perfetto_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "ppapi_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "printing_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "remoting_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "integrity": "high", + "os": "Windows-10-17134" + } + ] + }, + "test": "sbox_integration_tests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "sbox_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "sbox_validation_tests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "service_manager_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "services_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "integrity": "high", + "os": "Windows-10-17134" + } + ] + }, + "test": "setup_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "shell_dialogs_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "skia_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "snapshot_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "sql_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "storage_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "sync_integration_tests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "traffic_annotation_auditor_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "ui_base_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "ui_touch_selection_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "unit_tests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "url_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "views_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "viz_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "vr_common_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "vr_pixeltests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "wm_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "wtf_unittests" + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + }, + "test": "zucchini_unittests" + } + ], + "isolated_scripts": [ + { + "isolate_name": "blink_python_tests", + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "name": "blink_python_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + } + }, + { + "args": [ + "--test-type=integration" + ], + "isolate_name": "chromedriver_py_tests", + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "name": "chromedriver_py_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + } + }, + { + "isolate_name": "chromedriver_replay_unittests", + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "name": "chromedriver_replay_unittests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + } + }, + { + "args": [ + "--gtest-benchmark-name=components_perftests" + ], + "isolate_name": "components_perftests", + "merge": { + "args": [ + "--smoke-test-mode" + ], + "script": "//tools/perf/process_perf_results.py" + }, + "name": "components_perftests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + } + }, + { + "isolate_name": "content_shell_crash_test", + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "name": "content_shell_crash_test", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + } + }, + { + "isolate_name": "flatbuffers_unittests", + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "name": "flatbuffers_unittests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + } + }, + { + "isolate_name": "grit_python_unittests", + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "name": "grit_python_unittests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + } + }, + { + "isolate_name": "metrics_python_tests", + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "name": "metrics_python_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + } + }, + { + "isolate_name": "mini_installer_tests", + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "name": "mini_installer_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "integrity": "high", + "os": "Windows-10-17134" + } + ] + } + }, + { + "experiment_percentage": 100, + "isolate_name": "polymer_tools_python_unittests", + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "name": "polymer_tools_python_unittests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + } + }, + { + "isolate_name": "telemetry_gpu_unittests", + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "name": "telemetry_gpu_unittests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ], + "idempotent": false + } + }, + { + "isolate_name": "telemetry_perf_unittests", + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "name": "telemetry_perf_unittests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ], + "idempotent": false, + "shards": 12 + } + }, + { + "args": [ + "--jobs=1", + "--extra-browser-args=--disable-gpu" + ], + "isolate_name": "telemetry_unittests", + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "name": "telemetry_unittests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ], + "idempotent": false, + "shards": 4 + } + }, + { + "args": [ + "--gtest-benchmark-name=views_perftests" + ], + "isolate_name": "views_perftests", + "merge": { + "args": [ + "--smoke-test-mode" + ], + "script": "//tools/perf/process_perf_results.py" + }, + "name": "views_perftests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ] + } + }, + { + "args": [ + "--num-retries=3" + ], + "isolate_name": "blink_web_tests_exparchive", + "merge": { + "args": [ + "--verbose" + ], + "script": "//third_party/blink/tools/merge_web_test_results.py" + }, + "name": "webkit_layout_tests", + "results_handler": "layout tests", + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "cpu": "x86-64", + "os": "Windows-10-17134" + } + ], + "shards": 12 + } + } + ], + "scripts": [ + { + "name": "webkit_lint", + "script": "blink_lint_expectations.py", + "swarming": {} + } + ] + }, "Win7 Builder (dbg) Goma Canary": { "additional_compile_targets": [ "all" @@ -5825,6 +7749,50 @@ "additional_compile_targets": [ "chromiumos_preflight" ], + "gtest_tests": [ + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "device_type": "kevin", + "os": "ChromeOS", + "pool": "chrome-cros-dut" + } + ], + "idempotent": false + }, + "test": "chrome_all_tast_tests_informational", + "trigger_script": { + "script": "//testing/trigger_scripts/chromeos_device_trigger.py" + } + }, + { + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_gtest_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "device_type": "kevin", + "os": "ChromeOS", + "pool": "chrome-cros-dut" + } + ], + "idempotent": false + }, + "test": "chrome_login_tast_tests", + "trigger_script": { + "script": "//testing/trigger_scripts/chromeos_device_trigger.py" + } + } + ], "isolated_scripts": [ { "args": [ @@ -13776,8 +15744,10 @@ { "isolate_name": "webdriver_wpt_tests", "merge": { - "args": [], - "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + "args": [ + "--verbose" + ], + "script": "//third_party/blink/tools/merge_web_test_results.py" }, "name": "webdriver_tests_suite", "swarming": { @@ -13786,7 +15756,8 @@ { "os": "Ubuntu-16.04" } - ] + ], + "shards": 4 } }, { @@ -21133,10 +23104,10 @@ "dimension_sets": [ { "gpu": "none", - "os": "Mac-10.10" + "os": "Mac-10.10.5" } ], - "shards": 12 + "shards": 20 } } ] @@ -21161,10 +23132,10 @@ "dimension_sets": [ { "gpu": "none", - "os": "Mac-10.11" + "os": "Mac-10.11.6" } ], - "shards": 12 + "shards": 20 } } ] @@ -21193,7 +23164,7 @@ "os": "Mac-10.12.6" } ], - "shards": 12 + "shards": 20 } } ] @@ -21223,7 +23194,7 @@ } ], "hard_timeout": 900, - "shards": 12 + "shards": 20 } } ] @@ -21253,7 +23224,7 @@ "pool": "Chrome-GPU" } ], - "shards": 12 + "shards": 20 } } ]
diff --git a/testing/buildbot/chromium.linux.json b/testing/buildbot/chromium.linux.json index 4b9b9c8..5f1680e 100644 --- a/testing/buildbot/chromium.linux.json +++ b/testing/buildbot/chromium.linux.json
@@ -5716,8 +5716,10 @@ { "isolate_name": "webdriver_wpt_tests", "merge": { - "args": [], - "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + "args": [ + "--verbose" + ], + "script": "//third_party/blink/tools/merge_web_test_results.py" }, "name": "webdriver_tests_suite", "swarming": { @@ -5726,7 +5728,8 @@ { "os": "Ubuntu-16.04" } - ] + ], + "shards": 4 } }, { @@ -7591,8 +7594,10 @@ { "isolate_name": "webdriver_wpt_tests", "merge": { - "args": [], - "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + "args": [ + "--verbose" + ], + "script": "//third_party/blink/tools/merge_web_test_results.py" }, "name": "webdriver_tests_suite", "swarming": { @@ -7601,7 +7606,8 @@ { "os": "Ubuntu-14.04" } - ] + ], + "shards": 4 } }, {
diff --git a/testing/buildbot/chromium.mac.json b/testing/buildbot/chromium.mac.json index cd59b067..5dba695 100644 --- a/testing/buildbot/chromium.mac.json +++ b/testing/buildbot/chromium.mac.json
@@ -1543,7 +1543,7 @@ "os": "Mac-10.10.5" } ], - "shards": 12 + "shards": 20 } } ] @@ -3080,7 +3080,7 @@ "os": "Mac-10.11.6" } ], - "shards": 12 + "shards": 20 } } ] @@ -4662,7 +4662,7 @@ "os": "Mac-10.12.6" } ], - "shards": 12 + "shards": 20 } } ] @@ -6222,7 +6222,7 @@ "os": "Mac-10.13.6" } ], - "shards": 12 + "shards": 20 } } ],
diff --git a/testing/buildbot/mixins.pyl b/testing/buildbot/mixins.pyl index 58450e72..304b3d7 100644 --- a/testing/buildbot/mixins.pyl +++ b/testing/buildbot/mixins.pyl
@@ -584,6 +584,13 @@ }, }, }, + 'win10-1803': { + 'swarming': { + 'dimensions': { + 'os': 'Windows-10-17134', + }, + }, + }, 'win10_amd_rx_550': { 'swarming': { 'dimensions': {
diff --git a/testing/buildbot/test_suite_exceptions.pyl b/testing/buildbot/test_suite_exceptions.pyl index 7c09e26..5ede085 100644 --- a/testing/buildbot/test_suite_exceptions.pyl +++ b/testing/buildbot/test_suite_exceptions.pyl
@@ -1778,45 +1778,27 @@ }, 'mac10.10-blink-rel-dummy': { 'swarming': { - 'dimension_sets': [ - { # This should match Mac10.10 Tests on chromium.mac. - 'gpu': 'none', - 'os': 'Mac-10.10', - } - ] + 'shards': 20, }, }, 'mac10.11-blink-rel-dummy': { 'swarming': { - 'dimension_sets': [ - { # This should match Mac10.11 Tests on chromium.mac. - 'gpu': 'none', - 'os': 'Mac-10.11', - } - ] + 'shards': 20, }, }, 'mac10.12-blink-rel-dummy': { 'swarming': { - 'dimension_sets': [ - { # This should match Mac10.12 Tests on chromium.mac. - 'gpu': '8086:0a2e', - 'hidpi': '0', - 'os': 'Mac-10.12.6', - }, - ], + 'shards': 20, }, }, 'mac10.13-blink-rel-dummy': { 'swarming': { - 'dimension_sets': [ - { # This should match "Mac10.13 Tests" on the main waterfall. - 'gpu': '8086:0a2e', - 'hidpi': '0', - 'os': 'Mac-10.13.6', - }, - ], - 'shards': 12, + 'shards': 20, + }, + }, + 'mac10.13_retina-blink-rel-dummy': { + 'swarming': { + 'shards': 20, }, }, 'WebKit Linux composite_after_paint Dummy Builder': { @@ -1861,6 +1843,7 @@ 'os': 'Mac-10.10.5', }, ], + 'shards': 20, }, }, 'Mac10.11 Tests': { @@ -1872,11 +1855,12 @@ 'os': 'Mac-10.11.6', }, ], + 'shards': 20, }, }, 'Mac10.12 Tests': { 'swarming': { - 'shards': 12, + 'shards': 20, }, }, 'Mac10.13 Tests': { @@ -1888,7 +1872,7 @@ 'gpu': '8086:0a2e', }, ], - 'shards': 12, + 'shards': 20, }, }, 'Mac10.13 Tests (dbg)': {
diff --git a/testing/buildbot/test_suites.pyl b/testing/buildbot/test_suites.pyl index dd57c2f..87e3ea5 100644 --- a/testing/buildbot/test_suites.pyl +++ b/testing/buildbot/test_suites.pyl
@@ -273,6 +273,19 @@ 'chromedriver_replay_unittests': {}, }, + 'chromeos_device_all_chrome_tast_tests_informational': { + 'chrome_all_tast_tests_informational': { + 'swarming': { + 'idempotent': False, # https://crbug.com/923426#c27 + } + }, + 'chrome_login_tast_tests': { + 'swarming': { + 'idempotent': False, # https://crbug.com/923426#c27 + } + }, + }, + # Tests that run in Chrome OS VMs. # NOTE: We only want a small subset of test suites here, because most # suites assume that they stub out the underlying device hardware. @@ -4171,8 +4184,14 @@ }, 'webdriver_tests_suite': { 'isolate_name': 'webdriver_wpt_tests', + 'merge': { + 'args': [ + '--verbose', + ], + 'script': '//third_party/blink/tools/merge_web_test_results.py', + }, 'swarming': { - 'shards': 1, + 'shards': 4, }, }, },
diff --git a/testing/buildbot/waterfalls.pyl b/testing/buildbot/waterfalls.pyl index 708813a..9768aa5 100644 --- a/testing/buildbot/waterfalls.pyl +++ b/testing/buildbot/waterfalls.pyl
@@ -1521,6 +1521,17 @@ 'libANGLE', ], }, + 'Win10 Tests x64 1803': { + 'mixins': [ + 'x86-64', + 'win10-1803', + ], + 'test_suites': { + 'gtest_tests': 'chromium_win_gtests', + 'isolated_scripts': 'chromium_win_rel_isolated_scripts', + 'scripts': 'chromium_scripts', + }, + }, 'Win7 Builder (dbg) Goma Canary': { 'additional_compile_targets': [ 'all', @@ -1641,6 +1652,7 @@ ], }, 'test_suites': { + 'gtest_tests': 'chromeos_device_all_chrome_tast_tests_informational', 'gpu_telemetry_tests': 'gpu_chromeos_telemetry_tests', }, 'os_type': 'chromeos', @@ -1897,7 +1909,7 @@ }, 'swarming': { 'dimension_sets': [ - { + { # This should match Mac10.10 Tests on chromium.mac. 'gpu': 'none', 'os': 'Mac-10.10.5', } @@ -1910,7 +1922,7 @@ }, 'swarming': { 'dimension_sets': [ - { + { # This should match Mac10.10 Tests on chromium.mac. 'gpu': 'none', 'os': 'Mac-10.11.6', } @@ -1923,8 +1935,9 @@ }, 'swarming': { 'dimension_sets': [ - { - 'gpu': 'none', + { # This should match Mac10.12 Tests on chromium.mac. + 'gpu': '8086:0a2e', + 'hidpi': '0', 'os': 'Mac-10.12.6', } ], @@ -1937,6 +1950,7 @@ # This matches the dimensions for "Chromium Mac10.13" in # chromium_fyi.py. 'gpu': '8086:0a2e', + 'hidpi': '0', 'os': 'Mac-10.13.6', }, ],
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json index 52a746c..6cc32e3 100644 --- a/testing/variations/fieldtrial_testing_config.json +++ b/testing/variations/fieldtrial_testing_config.json
@@ -2251,6 +2251,27 @@ ] } ], + "EnableHistoryFaviconsGoogleServerQuery": [ + { + "platforms": [ + "android", + "android_webview", + "chromeos", + "ios", + "linux", + "mac", + "windows" + ], + "experiments": [ + { + "name": "Enabled", + "enable_features": [ + "EnableHistoryFaviconsGoogleServerQuery" + ] + } + ] + } + ], "EnableMediaRouter": [ { "platforms": [
diff --git a/third_party/blink/renderer/core/animation/css_length_interpolation_type.cc b/third_party/blink/renderer/core/animation/css_length_interpolation_type.cc index 7c6c05d..f07bde52 100644 --- a/third_party/blink/renderer/core/animation/css_length_interpolation_type.cc +++ b/third_party/blink/renderer/core/animation/css_length_interpolation_type.cc
@@ -138,23 +138,22 @@ Length length = To<InterpolableLength>(interpolable_value) .CreateLength(conversion_data, value_range_); if (LengthPropertyFunctions::SetLength(CssProperty(), style, length)) { -#if DCHECK_IS_ON() + // TODO(crbug.com/996037): Turn this block into DCHECK in version 3904 // Assert that setting the length on ComputedStyle directly is identical to // the StyleBuilder code path. This check is useful for catching differences // in clamping behaviour. Length before; Length after; - DCHECK(LengthPropertyFunctions::GetLength(CssProperty(), style, before)); + CHECK(LengthPropertyFunctions::GetLength(CssProperty(), style, before)); StyleBuilder::ApplyProperty(GetProperty().GetCSSProperty(), state, *CSSValue::Create(length, zoom)); - DCHECK(LengthPropertyFunctions::GetLength(CssProperty(), style, after)); - DCHECK(before.IsSpecified()); - DCHECK(after.IsSpecified()); + CHECK(LengthPropertyFunctions::GetLength(CssProperty(), style, after)); + CHECK(before.IsSpecified()); + CHECK(after.IsSpecified()); const float kSlack = 0.1; float delta = FloatValueForLength(after, 100) - FloatValueForLength(before, 100); - DCHECK_LT(std::abs(delta), kSlack); -#endif + CHECK_LT(std::abs(delta), kSlack); return; } StyleBuilder::ApplyProperty(GetProperty().GetCSSProperty(), state,
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc index ed6a9d7..9c98370 100644 --- a/third_party/blink/renderer/core/dom/document.cc +++ b/third_party/blink/renderer/core/dom/document.cc
@@ -2159,14 +2159,14 @@ const AtomicString& Document::dir() { Element* root_element = documentElement(); - if (auto* html = ToHTMLHtmlElementOrNull(root_element)) + if (auto* html = DynamicTo<HTMLHtmlElement>(root_element)) return html->dir(); return g_null_atom; } void Document::setDir(const AtomicString& value) { Element* root_element = documentElement(); - if (auto* html = ToHTMLHtmlElementOrNull(root_element)) + if (auto* html = DynamicTo<HTMLHtmlElement>(root_element)) html->setDir(value); } @@ -2462,7 +2462,7 @@ // <html> root element with no background steals background from its first // <body> child. // Also see LayoutBoxModelObject::BackgroundTransfersToView() - if (body_style && IsHTMLHtmlElement(documentElement()) && + if (body_style && IsA<HTMLHtmlElement>(documentElement()) && IsA<HTMLBodyElement>(body) && !background_style->HasBackground()) { background_style = body_style; } @@ -3737,7 +3737,7 @@ } HTMLElement* Document::body() const { - if (!documentElement() || !IsHTMLHtmlElement(documentElement())) + if (!IsA<HTMLHtmlElement>(documentElement())) return nullptr; for (HTMLElement* child = @@ -3751,7 +3751,7 @@ } HTMLBodyElement* Document::FirstBodyElement() const { - if (!documentElement() || !IsHTMLHtmlElement(documentElement())) + if (!IsA<HTMLHtmlElement>(documentElement())) return nullptr; for (HTMLElement* child = @@ -3835,7 +3835,7 @@ if (!root_style || root_style->IsEnsuredInDisplayNone()) return nullptr; if (body_element && root_style->IsOverflowVisible() && - IsHTMLHtmlElement(*root_element)) + IsA<HTMLHtmlElement>(root_element)) return body_element; return root_element; } @@ -4316,7 +4316,7 @@ if (HaveRenderBlockingResourcesLoaded() && body()) return true; - if (documentElement() && !IsHTMLHtmlElement(*documentElement())) + if (documentElement() && !IsA<HTMLHtmlElement>(documentElement())) return true; return false;
diff --git a/third_party/blink/renderer/core/dom/element_test.cc b/third_party/blink/renderer/core/dom/element_test.cc index c3215cb..8ab66b1 100644 --- a/third_party/blink/renderer/core/dom/element_test.cc +++ b/third_party/blink/renderer/core/dom/element_test.cc
@@ -28,7 +28,7 @@ TEST_F(ElementTest, SupportsFocus) { Document& document = GetDocument(); - DCHECK(IsHTMLHtmlElement(document.documentElement())); + DCHECK(IsA<HTMLHtmlElement>(document.documentElement())); document.setDesignMode("on"); document.View()->UpdateAllLifecyclePhases( DocumentLifecycle::LifecycleUpdateReason::kTest);
diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/renderer/core/dom/range.cc index b040510..44c86ad3 100644 --- a/third_party/blink/renderer/core/dom/range.cc +++ b/third_party/blink/renderer/core/dom/range.cc
@@ -999,7 +999,7 @@ element = node->parentElement(); // Step 2. - if (!element || IsHTMLHtmlElement(element)) { + if (!element || IsA<HTMLHtmlElement>(element)) { Document& document = node->GetDocument(); if (document.IsSVGDocument()) {
diff --git a/third_party/blink/renderer/core/editing/commands/editing_commands_utilities.cc b/third_party/blink/renderer/core/editing/commands/editing_commands_utilities.cc index b6d5c08..574fa2d 100644 --- a/third_party/blink/renderer/core/editing/commands/editing_commands_utilities.cc +++ b/third_party/blink/renderer/core/editing/commands/editing_commands_utilities.cc
@@ -520,7 +520,7 @@ return; Element* const current_root = document.documentElement(); - if (current_root && IsHTMLHtmlElement(current_root)) + if (current_root && IsA<HTMLHtmlElement>(current_root)) return; Element* const existing_head = current_root && IsA<HTMLHeadElement>(current_root) ? current_root
diff --git a/third_party/blink/renderer/core/editing/commands/editing_commands_utilities_test.cc b/third_party/blink/renderer/core/editing/commands/editing_commands_utilities_test.cc index d307928..177d591f 100644 --- a/third_party/blink/renderer/core/editing/commands/editing_commands_utilities_test.cc +++ b/third_party/blink/renderer/core/editing/commands/editing_commands_utilities_test.cc
@@ -61,7 +61,7 @@ GetDocument().AppendChild(body); TidyUpHTMLStructure(GetDocument()); - EXPECT_TRUE(IsHTMLHtmlElement(GetDocument().documentElement())); + EXPECT_TRUE(IsA<HTMLHtmlElement>(GetDocument().documentElement())); EXPECT_EQ(body, GetDocument().body()); EXPECT_EQ(GetDocument().documentElement(), body->parentNode()); } @@ -73,7 +73,7 @@ GetDocument().AppendChild(div); TidyUpHTMLStructure(GetDocument()); - EXPECT_TRUE(IsHTMLHtmlElement(GetDocument().documentElement())); + EXPECT_TRUE(IsA<HTMLHtmlElement>(GetDocument().documentElement())); EXPECT_TRUE(IsA<HTMLBodyElement>(GetDocument().body())); EXPECT_EQ(GetDocument().body(), div->parentNode()); } @@ -85,7 +85,7 @@ GetDocument().AppendChild(head); TidyUpHTMLStructure(GetDocument()); - EXPECT_TRUE(IsHTMLHtmlElement(GetDocument().documentElement())); + EXPECT_TRUE(IsA<HTMLHtmlElement>(GetDocument().documentElement())); EXPECT_TRUE(IsA<HTMLBodyElement>(GetDocument().body())); EXPECT_EQ(GetDocument().documentElement(), head->parentNode()); }
diff --git a/third_party/blink/renderer/core/editing/serializers/serialization.cc b/third_party/blink/renderer/core/editing/serializers/serialization.cc index b0826b1..c94bee9 100644 --- a/third_party/blink/renderer/core/editing/serializers/serialization.cc +++ b/third_party/blink/renderer/core/editing/serializers/serialization.cc
@@ -579,7 +579,7 @@ Element* block = EnclosingBlock(context.StartPosition().NodeAsRangeFirstNode()); bool use_clones_of_enclosing_block = - block && !IsA<HTMLBodyElement>(*block) && !IsHTMLHtmlElement(*block) && + block && !IsA<HTMLBodyElement>(block) && !IsA<HTMLHtmlElement>(block) && block != RootEditableElementOf(context.StartPosition()); Vector<String> list; @@ -695,8 +695,8 @@ Node* next_node = nullptr; for (Node* node = fragment->firstChild(); node; node = next_node) { next_node = node->nextSibling(); - if (IsHTMLHtmlElement(*node) || IsA<HTMLHeadElement>(*node) || - IsA<HTMLBodyElement>(*node)) { + if (IsA<HTMLHtmlElement>(node) || IsA<HTMLHeadElement>(node) || + IsA<HTMLBodyElement>(node)) { auto* element = To<HTMLElement>(node); if (Node* first_child = element->firstChild()) next_node = first_child;
diff --git a/third_party/blink/renderer/core/events/portal_activate_event.h b/third_party/blink/renderer/core/events/portal_activate_event.h index 7e7b67b..51cff48 100644 --- a/third_party/blink/renderer/core/events/portal_activate_event.h +++ b/third_party/blink/renderer/core/events/portal_activate_event.h
@@ -81,7 +81,7 @@ Member<HTMLPortalElement> adopted_portal_; base::UnguessableToken predecessor_portal_token_; - mojo::AssociatedRemote<mojom::blink::Portal> predecessor_portal_; + mojo::PendingAssociatedRemote<mojom::blink::Portal> predecessor_portal_; mojo::PendingAssociatedReceiver<mojom::blink::PortalClient> predecessor_portal_client_receiver_;
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc index b286951e..58e4fbc 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -334,9 +334,8 @@ void WebViewImpl::HandleMouseDown(LocalFrame& main_frame, const WebMouseEvent& event) { - // If there is a popup open, close it as the user is clicking on the page - // (outside of the popup). We also save it so we can prevent a click on an - // element from immediately reopening the same popup. + // Save the popup so we can close it if needed after sending the event to + // the element. // // The popup would not be destroyed in this stack normally as it is owned by // closership from the RenderWidget, which is owned by the browser via the @@ -347,8 +346,6 @@ scoped_refptr<WebPagePopupImpl> page_popup; if (event.button == WebMouseEvent::Button::kLeft) { page_popup = page_popup_; - CancelPagePopup(); - DCHECK(!page_popup_); } // Take capture on a mouse down on a plugin so we can send it mouse events. @@ -378,11 +375,13 @@ main_frame.GetEventHandler().TakeLastMouseDownGestureToken(); } + // If there is a popup open and it is the same as the one we had before + // sending the event to the element it means that the user is clicking outside + // of the popup or on the element which was owning the current opened popup. if (page_popup_ && page_popup && page_popup_->HasSamePopupClient(page_popup.get())) { - // That click triggered a page popup that is the same as the one we just - // closed. It needs to be closed. CancelPagePopup(); + DCHECK(!page_popup_); } // Dispatch the contextmenu event regardless of if the click was swallowed. @@ -546,11 +545,14 @@ targeted_event); } + // If there is a popup open and it is the same as the one we had before + // sending the event to the element it means that the user is tapping + // outside of the popup or on the element which was owning the current + // opened popup. if (page_popup_ && last_hidden_page_popup_ && page_popup_->HasSamePopupClient(last_hidden_page_popup_.get())) { - // The tap triggered a page popup that is the same as the one we just - // closed. It needs to be closed. CancelPagePopup(); + DCHECK(!page_popup_); } // Don't have this value persist outside of a single tap gesture, plus // we're done with it now. @@ -577,14 +579,11 @@ // Touch pinch zoom and scroll on the page (outside of a popup) must hide // the popup. In case of a touch scroll or pinch zoom, this function is // called with GestureTapDown rather than a GSB/GSU/GSE or GPB/GPU/GPE. - // When we close a popup because of a GestureTapDown, we also save it so - // we can prevent the following GestureTap from immediately reopening the - // same popup. + // Save the popup so we can prevent the following GestureTap from + // immediately reopening the same popup and close it if needed then. // This value should not persist outside of a gesture, so is cleared by // GestureTap (where it is used) and by GestureCancel. last_hidden_page_popup_ = page_popup_; - CancelPagePopup(); - DCHECK(!page_popup_); event_result = MainFrameImpl()->GetFrame()->GetEventHandler().HandleGestureEvent( targeted_event);
diff --git a/third_party/blink/renderer/core/frame/visual_viewport_test.cc b/third_party/blink/renderer/core/frame/visual_viewport_test.cc index 57e3515..8995d112 100644 --- a/third_party/blink/renderer/core/frame/visual_viewport_test.cc +++ b/third_party/blink/renderer/core/frame/visual_viewport_test.cc
@@ -1798,7 +1798,7 @@ UpdateAllLifecyclePhases(); LocalDOMWindow* window = web_view_impl->MainFrameImpl()->GetFrame()->DomWindow(); - HTMLElement* html = ToHTMLHtmlElement(window->document()->documentElement()); + auto* html = To<HTMLHtmlElement>(window->document()->documentElement()); ASSERT_EQ(200, window->innerWidth()); ASSERT_EQ(300, window->innerHeight());
diff --git a/third_party/blink/renderer/core/frame/web_frame_serializer_impl.cc b/third_party/blink/renderer/core/frame/web_frame_serializer_impl.cc index 08d1a73..143c242d 100644 --- a/third_party/blink/renderer/core/frame/web_frame_serializer_impl.cc +++ b/third_party/blink/renderer/core/frame/web_frame_serializer_impl.cc
@@ -148,7 +148,7 @@ // serializing DOM. param->skip_meta_element = element; *need_skip = true; - } else if (IsHTMLHtmlElement(*element)) { + } else if (IsA<HTMLHtmlElement>(element)) { // Check something before processing the open tag of HEAD element. // First we add doc type declaration if original document has it. if (!param->have_seen_doc_type) {
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc index f15903c7..3adb6359 100644 --- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc +++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
@@ -662,13 +662,11 @@ void WebFrameWidgetImpl::HandleMouseDown(LocalFrame& main_frame, const WebMouseEvent& event) { WebViewImpl* view_impl = View(); - // If there is a popup open, close it as the user is clicking on the page - // (outside of the popup). We also save it so we can prevent a click on an - // element from immediately reopening the same popup. + // Save the popup so we can close it if needed after sending the event to + // the element. scoped_refptr<WebPagePopupImpl> page_popup; if (event.button == WebMouseEvent::Button::kLeft) { page_popup = view_impl->GetPagePopup(); - view_impl->CancelPagePopup(); } // Take capture on a mouse down on a plugin so we can send it mouse events. @@ -700,10 +698,11 @@ main_frame.GetEventHandler().TakeLastMouseDownGestureToken(); } + // If there is a popup open and it is the same as the one we had before + // sending the event to the element it means that the user is clicking outside + // of the popup or on the element which was owning the current opened popup. if (view_impl->GetPagePopup() && page_popup && view_impl->GetPagePopup()->HasSamePopupClient(page_popup.get())) { - // That click triggered a page popup that is the same as the one we just - // closed. It needs to be closed. view_impl->CancelPagePopup(); }
diff --git a/third_party/blink/renderer/core/html/anchor_element_metrics_sender.cc b/third_party/blink/renderer/core/html/anchor_element_metrics_sender.cc index 9a67c0de..00aa4df7 100644 --- a/third_party/blink/renderer/core/html/anchor_element_metrics_sender.cc +++ b/third_party/blink/renderer/core/html/anchor_element_metrics_sender.cc
@@ -114,7 +114,7 @@ return false; document->GetFrame()->GetInterfaceProvider().GetInterface( - mojo::MakeRequest(&metrics_host_)); + metrics_host_.BindNewPipeAndPassReceiver()); return true; }
diff --git a/third_party/blink/renderer/core/html/anchor_element_metrics_sender.h b/third_party/blink/renderer/core/html/anchor_element_metrics_sender.h index 70cd462..27e43ccc 100644 --- a/third_party/blink/renderer/core/html/anchor_element_metrics_sender.h +++ b/third_party/blink/renderer/core/html/anchor_element_metrics_sender.h
@@ -6,6 +6,7 @@ #define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_ANCHOR_ELEMENT_METRICS_SENDER_H_ #include "base/macros.h" +#include "mojo/public/cpp/bindings/remote.h" #include "third_party/blink/public/mojom/loader/navigation_predictor.mojom-blink.h" #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/frame/local_frame_view.h" @@ -70,7 +71,7 @@ bool AssociateInterface(); // Browser host to which the anchor element metrics are sent. - mojom::blink::AnchorElementMetricsHostPtr metrics_host_; + mojo::Remote<mojom::blink::AnchorElementMetricsHost> metrics_host_; // Collection of anchor elements in the document. Use a HashSet to ensure that // an element is inserted at most once.
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 f13b22b..84911d9c 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
@@ -1980,8 +1980,6 @@ void HTMLSelectElement::ShowPopup() { if (PopupIsVisible()) return; - if (GetDocument().GetPage()->GetChromeClient().HasOpenedPopup()) - return; if (!GetLayoutObject() || !GetLayoutObject()->IsMenuList()) return; if (VisibleBoundsInVisualViewport().IsEmpty())
diff --git a/third_party/blink/renderer/core/html/html_element.cc b/third_party/blink/renderer/core/html/html_element.cc index a6f6cb34..bf4a1b05b 100644 --- a/third_party/blink/renderer/core/html/html_element.cc +++ b/third_party/blink/renderer/core/html/html_element.cc
@@ -214,9 +214,9 @@ // FIXME: Remove the following UseCounter code when we collect enough // data. UseCounter::Count(GetDocument(), WebFeature::kLangAttribute); - if (IsHTMLHtmlElement(*this)) + if (IsA<HTMLHtmlElement>(this)) UseCounter::Count(GetDocument(), WebFeature::kLangAttributeOnHTML); - else if (IsA<HTMLBodyElement>(*this)) + else if (IsA<HTMLBodyElement>(this)) UseCounter::Count(GetDocument(), WebFeature::kLangAttributeOnBody); String html_language = value.GetString(); wtf_size_t first_separator = html_language.find('-');
diff --git a/third_party/blink/renderer/core/html/parser/html_construction_site.cc b/third_party/blink/renderer/core/html/parser/html_construction_site.cc index ba1023e..1435bcf 100644 --- a/third_party/blink/renderer/core/html/parser/html_construction_site.cc +++ b/third_party/blink/renderer/core/html/parser/html_construction_site.cc
@@ -412,7 +412,7 @@ DCHECK(document_); HTMLHtmlElement* element; if (const auto* is_attribute = token->GetAttributeItem(html_names::kIsAttr)) { - element = ToHTMLHtmlElement(document_->CreateElement( + element = To<HTMLHtmlElement>(document_->CreateElement( html_names::kHTMLTag, GetCreateElementFlags(), is_attribute->Value())); } else { element = MakeGarbageCollected<HTMLHtmlElement>(*document_);
diff --git a/third_party/blink/renderer/core/html/parser/html_element_stack.cc b/third_party/blink/renderer/core/html/parser/html_element_stack.cc index 40458c0..f7fd1e2 100644 --- a/third_party/blink/renderer/core/html/parser/html_element_stack.cc +++ b/third_party/blink/renderer/core/html/parser/html_element_stack.cc
@@ -507,7 +507,7 @@ } void HTMLElementStack::RemoveNonTopCommon(Element* element) { - DCHECK(!IsHTMLHtmlElement(element)); + DCHECK(!IsA<HTMLHtmlElement>(element)); DCHECK(!IsA<HTMLBodyElement>(element)); DCHECK_NE(Top(), element); for (ElementRecord* pos = top_.Get(); pos; pos = pos->Next()) {
diff --git a/third_party/blink/renderer/core/html/portal/html_portal_element.cc b/third_party/blink/renderer/core/html/portal/html_portal_element.cc index e9803d2..448a3788d 100644 --- a/third_party/blink/renderer/core/html/portal/html_portal_element.cc +++ b/third_party/blink/renderer/core/html/portal/html_portal_element.cc
@@ -48,7 +48,7 @@ HTMLPortalElement::HTMLPortalElement( Document& document, const base::UnguessableToken& portal_token, - mojo::AssociatedRemote<mojom::blink::Portal> remote_portal, + mojo::PendingAssociatedRemote<mojom::blink::Portal> remote_portal, mojo::PendingAssociatedReceiver<mojom::blink::PortalClient> portal_client_receiver) : HTMLFrameOwnerElement(html_names::kPortalTag, document),
diff --git a/third_party/blink/renderer/core/html/portal/html_portal_element.h b/third_party/blink/renderer/core/html/portal/html_portal_element.h index 4fa8300..7462fd2 100644 --- a/third_party/blink/renderer/core/html/portal/html_portal_element.h +++ b/third_party/blink/renderer/core/html/portal/html_portal_element.h
@@ -35,7 +35,7 @@ explicit HTMLPortalElement( Document& document, const base::UnguessableToken& portal_token = base::UnguessableToken(), - mojo::AssociatedRemote<mojom::blink::Portal> remote_portal = {}, + mojo::PendingAssociatedRemote<mojom::blink::Portal> remote_portal = {}, mojo::PendingAssociatedReceiver<mojom::blink::PortalClient> portal_client_receiver = {}); ~HTMLPortalElement() override;
diff --git a/third_party/blink/renderer/core/layout/layout_block.cc b/third_party/blink/renderer/core/layout/layout_block.cc index 9474cc6..af040312 100644 --- a/third_party/blink/renderer/core/layout/layout_block.cc +++ b/third_party/blink/renderer/core/layout/layout_block.cc
@@ -1441,8 +1441,8 @@ // the flow thread, which will take care of that. const auto* block_flow = DynamicTo<LayoutBlockFlow>(this); if (!block_flow || !block_flow->MultiColumnFlowThread()) { - max_logical_width = LayoutUnit(scrollbar_width); - min_logical_width = LayoutUnit(scrollbar_width); + max_logical_width = min_logical_width = + ContentLogicalWidthForSizeContainment() + LayoutUnit(scrollbar_width); return; } } else if (DisplayLockInducesSizeContainment()) {
diff --git a/third_party/blink/renderer/core/layout/layout_box.cc b/third_party/blink/renderer/core/layout/layout_box.cc index 7ba8cccd..29c0f7e5 100644 --- a/third_party/blink/renderer/core/layout/layout_box.cc +++ b/third_party/blink/renderer/core/layout/layout_box.cc
@@ -2368,6 +2368,7 @@ base::Optional<LayoutUnit> bfc_block_offset = cached_layout_result->BfcBlockOffset(); LayoutUnit block_offset_delta; + NGMarginStrut end_margin_strut = cached_layout_result->EndMarginStrut(); const NGConstraintSpace& old_space = cached_layout_result->GetConstraintSpaceForCaching(); @@ -2388,6 +2389,8 @@ return nullptr; } + bool is_margin_strut_equal = + new_space.MarginStrut() == old_space.MarginStrut(); bool is_exclusion_space_equal = new_space.ExclusionSpace() == old_space.ExclusionSpace(); @@ -2401,6 +2404,7 @@ // layout result. if (!is_new_formatting_context && (!are_bfc_offsets_equal || !is_exclusion_space_equal || + !is_margin_strut_equal || new_space.ClearanceOffset() != old_space.ClearanceOffset())) { DCHECK(!CreatesNewFormattingContext()); @@ -2416,9 +2420,9 @@ DCHECK_EQ(cache_status, NGLayoutCacheStatus::kHit); - if (!MaySkipLayoutWithinBlockFormattingContext(*cached_layout_result, - new_space, &bfc_block_offset, - &block_offset_delta)) + if (!MaySkipLayoutWithinBlockFormattingContext( + *cached_layout_result, new_space, &bfc_block_offset, + &block_offset_delta, &end_margin_strut)) return nullptr; } @@ -2458,7 +2462,7 @@ // We can safely reuse this result if our BFC and "input" exclusion spaces // were equal. if (are_bfc_offsets_equal && is_exclusion_space_equal && - !needs_cached_result_update) { + is_margin_strut_equal && !needs_cached_result_update) { // In order not to rebuild the internal derived-geometry "cache" of float // data, we need to move this to the new "output" exclusion space. cached_layout_result->ExclusionSpace().MoveAndUpdateDerivedGeometry( @@ -2466,9 +2470,10 @@ return cached_layout_result; } - scoped_refptr<const NGLayoutResult> new_result = base::AdoptRef( - new NGLayoutResult(*cached_layout_result, new_space, bfc_line_offset, - bfc_block_offset, block_offset_delta)); + scoped_refptr<const NGLayoutResult> new_result = + base::AdoptRef(new NGLayoutResult(*cached_layout_result, new_space, + end_margin_strut, bfc_line_offset, + bfc_block_offset, block_offset_delta)); if (needs_cached_result_update) SetCachedLayoutResult(*new_result, break_token); @@ -2895,8 +2900,9 @@ void LayoutBox::ComputeLogicalWidth( LogicalExtentComputedValues& computed_values) const { if (ShouldApplySizeContainment()) { - computed_values.extent_ = - BorderAndPaddingLogicalWidth() + ScrollbarLogicalWidth(); + computed_values.extent_ = ContentLogicalWidthForSizeContainment() + + BorderAndPaddingLogicalWidth() + + ScrollbarLogicalWidth(); } else if (DisplayLockInducesSizeContainment()) { computed_values.extent_ = BorderAndPaddingLogicalWidth() + ScrollbarLogicalWidth() + @@ -3401,7 +3407,8 @@ // out what happens here if IsLayoutGrid() is true and size containment is // specified while the box is locked. if (ShouldApplySizeContainment() && !IsLayoutGrid()) { - height = BorderAndPaddingLogicalHeight() + ScrollbarLogicalHeight(); + height = ContentLogicalHeightForSizeContainment() + + BorderAndPaddingLogicalHeight() + ScrollbarLogicalHeight(); } else if (DisplayLockInducesSizeContainment()) { height = BorderAndPaddingLogicalHeight() + ScrollbarLogicalHeight() + GetDisplayLockContext()->GetLockedContentLogicalHeight(); @@ -3542,12 +3549,17 @@ LayoutUnit LayoutBox::ComputeLogicalHeightWithoutLayout() const { LogicalExtentComputedValues computed_values; - if (!SelfNeedsLayout() && !ShouldApplySizeContainment() && - DisplayLockInducesSizeContainment()) { - ComputeLogicalHeight( - BorderAndPaddingLogicalHeight() + - GetDisplayLockContext()->GetLockedContentLogicalHeight(), - LayoutUnit(), computed_values); + if (!SelfNeedsLayout()) { + if (ShouldApplySizeContainment()) { + ComputeLogicalHeight(ContentLogicalHeightForSizeContainment() + + BorderAndPaddingLogicalHeight(), + LayoutUnit(), computed_values); + } else if (DisplayLockInducesSizeContainment()) { + ComputeLogicalHeight( + BorderAndPaddingLogicalHeight() + + GetDisplayLockContext()->GetLockedContentLogicalHeight(), + LayoutUnit(), computed_values); + } } else { // TODO(cbiesinger): We should probably return something other than just // border + padding, but for now we have no good way to do anything else
diff --git a/third_party/blink/renderer/core/layout/layout_box.h b/third_party/blink/renderer/core/layout/layout_box.h index a371103e..4dc16a0 100644 --- a/third_party/blink/renderer/core/layout/layout_box.h +++ b/third_party/blink/renderer/core/layout/layout_box.h
@@ -605,6 +605,43 @@ : ContentWidth(); } + // CSS content-size getters. This property only applies if size containment is + // specified, hence the names have ForSizeContainment suffix to distinguish + // them from above. + bool HasSpecifiedContentSizeForSizeContainment() { + return !StyleRef().GetContentSize().IsNone(); + } + LayoutSize ContentLogicalSizeForSizeContainment() const { + return LayoutSize(ContentLogicalWidthForSizeContainment(), + ContentLogicalHeightForSizeContainment()); + } + LayoutUnit ContentLogicalWidthForSizeContainment() const { + DCHECK(ShouldApplySizeContainment()); + const auto& style = StyleRef(); + const auto& content_size = style.GetContentSize(); + if (content_size.IsNone()) + return LayoutUnit(); + const auto& logical_width = style.IsHorizontalWritingMode() + ? content_size.GetWidth() + : content_size.GetHeight(); + DCHECK(logical_width.IsFixed()); + DCHECK_GE(logical_width.Value(), 0.f); + return LayoutUnit(logical_width.Value()); + } + LayoutUnit ContentLogicalHeightForSizeContainment() const { + DCHECK(ShouldApplySizeContainment()); + const auto& style = StyleRef(); + const auto& content_size = style.GetContentSize(); + if (content_size.IsNone()) + return LayoutUnit(); + const auto& logical_height = style.IsHorizontalWritingMode() + ? content_size.GetHeight() + : content_size.GetWidth(); + DCHECK(logical_height.IsFixed()); + DCHECK_GE(logical_height.Value(), 0.f); + return LayoutUnit(logical_height.Value()); + } + // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlines // (LayoutFlow) to return the remaining width on a given line (and the height // of a single line).
diff --git a/third_party/blink/renderer/core/layout/layout_box_model_object.cc b/third_party/blink/renderer/core/layout/layout_box_model_object.cc index c21d90b5..76de50c 100644 --- a/third_party/blink/renderer/core/layout/layout_box_model_object.cc +++ b/third_party/blink/renderer/core/layout/layout_box_model_object.cc
@@ -1435,7 +1435,7 @@ return false; Element* document_element = GetDocument().documentElement(); - if (!IsHTMLHtmlElement(document_element)) + if (!IsA<HTMLHtmlElement>(document_element)) return false; if (!document_element_style)
diff --git a/third_party/blink/renderer/core/layout/layout_multi_column_flow_thread.cc b/third_party/blink/renderer/core/layout/layout_multi_column_flow_thread.cc index 368f7d2..fa0e2eee 100644 --- a/third_party/blink/renderer/core/layout/layout_multi_column_flow_thread.cc +++ b/third_party/blink/renderer/core/layout/layout_multi_column_flow_thread.cc
@@ -1345,7 +1345,8 @@ DCHECK(!MultiColumnBlockFlow()->DisplayLockInducesSizeContainment()); if (MultiColumnBlockFlow()->ShouldApplySizeContainment()) { - min_preferred_logical_width_ = max_preferred_logical_width_ = LayoutUnit(); + min_preferred_logical_width_ = max_preferred_logical_width_ = + MultiColumnBlockFlow()->ContentLogicalWidthForSizeContainment(); ClearPreferredLogicalWidthsDirty(); } else { // Calculate and set new min_preferred_logical_width_ and
diff --git a/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc index 7c13a6a..afe0d74 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc +++ b/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc
@@ -136,27 +136,6 @@ child_bfc_offset.block_offset - parent_bfc_offset.block_offset}; } -// Stop margin collapsing on one side of a block when -// -webkit-margin-{after,before}-collapse is something other than 'collapse' -// (the initial value) -void StopMarginCollapsing(EMarginCollapse collapse_value, - LayoutUnit this_margin, - LayoutUnit* logical_block_offset, - NGMarginStrut* margin_strut) { - DCHECK_NE(collapse_value, EMarginCollapse::kCollapse); - if (collapse_value == EMarginCollapse::kSeparate) { - // Separate margins between previously adjoining margins and this margin, - // AND between this margin and adjoining margins to come. - *logical_block_offset += margin_strut->Sum() + this_margin; - *margin_strut = NGMarginStrut(); - return; - } - DCHECK_EQ(collapse_value, EMarginCollapse::kDiscard); - // Discard previously adjoining margins, this margin AND all adjoining margins - // to come, so that the sum becomes 0. - margin_strut->discard_margins = true; -} - } // namespace NGBlockLayoutAlgorithm::NGBlockLayoutAlgorithm( @@ -1028,6 +1007,14 @@ // The BFC block offset of this container gets resolved because of this // child. child_determined_bfc_offset = true; + + // The block-start margin of the child will only affect the parent's + // position if it is adjoining. + if (!child_margin_got_separated) { + SetSubtreeModifiedMarginStrutIfNeeded( + &child_style.MarginBeforeUsing(Style())); + } + if (!ResolveBfcBlockOffset(previous_inflow_position, child_bfc_offset_estimate)) { // If we need to abort here, it means that we had preceding unpositioned @@ -1432,6 +1419,7 @@ // present, but we shouldn't apply it (instead preferring the child's new // BFC block-offset). DCHECK(!ConstraintSpace().AncestorHasClearancePastAdjoiningFloats()); + if (!ResolveBfcBlockOffset(previous_inflow_position, bfc_block_offset, /* forced_bfc_block_offset */ base::nullopt)) return false; @@ -1468,6 +1456,10 @@ // do it now to separate the child's collapsed margin from this container. if (!ResolveBfcBlockOffset(previous_inflow_position)) return false; + } else if (layout_result->SubtreeModifiedMarginStrut()) { + // The child doesn't have clearance, and modified its incoming + // margin-strut. Propagate this information up to our parent if needed. + SetSubtreeModifiedMarginStrutIfNeeded(); } bool self_collapsing_child_needs_relayout = false; @@ -1717,6 +1709,7 @@ } else { margin_strut.Append(margins.block_start, child.Style().HasMarginBeforeQuirk()); + SetSubtreeModifiedMarginStrutIfNeeded(&child.Style().MarginBefore()); } NGBfcOffset child_bfc_offset = { @@ -1833,6 +1826,7 @@ (is_self_collapsing && child.Style().HasMarginBeforeQuirk()) || child.Style().HasMarginAfterQuirk(); margin_strut.Append(child_data.margins.block_end, is_quirky); + SetSubtreeModifiedMarginStrutIfNeeded(&child.Style().MarginAfter()); } // This flag is subtle, but in order to determine our size correctly we need @@ -2204,6 +2198,29 @@ return margins; } +// Stop margin collapsing on one side of a block when +// -webkit-margin-{after,before}-collapse is something other than 'collapse' +// (the initial value) +void NGBlockLayoutAlgorithm::StopMarginCollapsing( + EMarginCollapse collapse_value, + LayoutUnit this_margin, + LayoutUnit* logical_block_offset, + NGMarginStrut* margin_strut) { + DCHECK_NE(collapse_value, EMarginCollapse::kCollapse); + if (collapse_value == EMarginCollapse::kSeparate) { + // Separate margins between previously adjoining margins and this margin, + // AND between this margin and adjoining margins to come. + *logical_block_offset += margin_strut->Sum() + this_margin; + *margin_strut = NGMarginStrut(); + return; + } + DCHECK_EQ(collapse_value, EMarginCollapse::kDiscard); + // Discard previously adjoining margins, this margin AND all adjoining margins + // to come, so that the sum becomes 0. + margin_strut->discard_margins = true; + SetSubtreeModifiedMarginStrutIfNeeded(); +} + NGConstraintSpace NGBlockLayoutAlgorithm::CreateConstraintSpaceForChild( const NGLayoutInputNode child, const NGInflowChildData& child_data,
diff --git a/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.h b/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.h index e3177c18..0f3f9ed 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.h +++ b/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.h
@@ -93,6 +93,11 @@ bool is_new_fc, bool* margins_fully_resolved); + void StopMarginCollapsing(EMarginCollapse collapse_value, + LayoutUnit this_margin, + LayoutUnit* logical_block_offset, + NGMarginStrut* margin_strut); + // Creates a new constraint space for the current child. NGConstraintSpace CreateConstraintSpaceForChild( const NGLayoutInputNode child, @@ -282,6 +287,18 @@ NextBorderEdge(*previous_inflow_position)); } + // Mark this fragment as modifying its incoming margin-strut if it hasn't + // resolved its BFC block-offset yet. + void SetSubtreeModifiedMarginStrutIfNeeded(const Length* margin = nullptr) { + if (container_builder_.BfcBlockOffset()) + return; + + if (margin && margin->IsZero()) + return; + + container_builder_.SetSubtreeModifiedMarginStrut(); + } + // Return true if the BFC block offset has changed and this means that we // need to abort layout. bool NeedsAbortOnBfcBlockOffsetChange() const;
diff --git a/third_party/blink/renderer/core/layout/ng/ng_block_node.cc b/third_party/blink/renderer/core/layout/ng/ng_block_node.cc index 3a71cc6..ea60853 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_block_node.cc +++ b/third_party/blink/renderer/core/layout/ng/ng_block_node.cc
@@ -744,7 +744,12 @@ if (LIKELY(is_last_fragment)) intrinsic_content_logical_height -= border_scrollbar_padding.BlockSum(); - box_->SetIntrinsicContentLogicalHeight(intrinsic_content_logical_height); + if (!constraint_space.IsFixedBlockSize()) { + // If we had a fixed block size, our children will have sized themselves + // relative to the fixed size, which would make our intrinsic size + // incorrect (too big). + box_->SetIntrinsicContentLogicalHeight(intrinsic_content_logical_height); + } // TODO(mstensho): This should always be done by the parent algorithm, since // we may have auto margins, which only the parent is able to resolve. Remove @@ -1179,8 +1184,8 @@ old_space.PercentageResolutionSize(); if (needs_cached_result_update) { layout_result = base::AdoptRef(new NGLayoutResult( - *layout_result, constraint_space, layout_result->BfcLineOffset(), - layout_result->BfcBlockOffset(), + *layout_result, constraint_space, layout_result->EndMarginStrut(), + layout_result->BfcLineOffset(), layout_result->BfcBlockOffset(), LayoutUnit() /* block_offset_delta */)); box_->SetCachedLayoutResult(*layout_result, /* break_token */ nullptr); }
diff --git a/third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h b/third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h index 7152d5a..8f8dd379 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h +++ b/third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h
@@ -137,6 +137,13 @@ previous_break_after_ = break_after; } + // Set when this subtree has modified the incoming margin-strut, such that it + // may change our final position. + void SetSubtreeModifiedMarginStrut() { + DCHECK(!BfcBlockOffset()); + subtree_modified_margin_strut_ = true; + } + // Join/"collapse" the previous (stored) break-after value with the next // break-before value, to determine how to deal with breaking between two // in-flow siblings. @@ -254,6 +261,7 @@ bool did_break_; bool has_forced_break_ = false; bool is_new_fc_ = false; + bool subtree_modified_margin_strut_ = false; bool has_seen_all_children_ = false; LayoutUnit consumed_block_size_;
diff --git a/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h b/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h index d359e47..f9c1bca 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h +++ b/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h
@@ -587,8 +587,7 @@ unsigned is_in_column_bfc : 1; bool MaySkipLayout(const RareData& other) const { - return margin_strut == other.margin_strut && - table_cell_borders == other.table_cell_borders && + return table_cell_borders == other.table_cell_borders && table_cell_intrinsic_padding == other.table_cell_intrinsic_padding && fragmentainer_block_size == other.fragmentainer_block_size && @@ -602,8 +601,7 @@ // Must be kept in sync with members checked within |MaySkipLayout|. bool IsInitialForMaySkipLayout() const { - return margin_strut == NGMarginStrut() && - table_cell_borders == NGBoxStrut() && + return table_cell_borders == NGBoxStrut() && table_cell_intrinsic_padding == NGBoxStrut() && fragmentainer_block_size == kIndefiniteSize && fragmentainer_space_at_bfc_start == kIndefiniteSize &&
diff --git a/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.cc b/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.cc index 67bff45..83e33bb 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.cc +++ b/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.cc
@@ -76,9 +76,9 @@ LogicalSize* aspect_ratio) const { DCHECK(IsReplaced()); if (ShouldApplySizeContainment()) { - *computed_inline_size = LayoutUnit(); - *computed_block_size = LayoutUnit(); - *aspect_ratio = LogicalSize(LayoutUnit(), LayoutUnit()); + *computed_inline_size = ContentInlineSizeForSizeContainment(); + *computed_block_size = ContentBlockSizeForSizeContainment(); + *aspect_ratio = LogicalSize(**computed_inline_size, **computed_block_size); return; } if (DisplayLockInducesSizeContainment()) {
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 44db8b2e..d5a0da8 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
@@ -177,6 +177,12 @@ bool ShouldApplySizeContainment() const { return box_->ShouldApplySizeContainment(); } + LayoutUnit ContentInlineSizeForSizeContainment() const { + return box_->ContentLogicalWidthForSizeContainment(); + } + LayoutUnit ContentBlockSizeForSizeContainment() const { + return box_->ContentLogicalHeightForSizeContainment(); + } // Display locking functionality. const DisplayLockContext& GetDisplayLockContext() const {
diff --git a/third_party/blink/renderer/core/layout/ng/ng_layout_result.cc b/third_party/blink/renderer/core/layout/ng/ng_layout_result.cc index c60b969..495711087 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_layout_result.cc +++ b/third_party/blink/renderer/core/layout/ng/ng_layout_result.cc
@@ -42,6 +42,8 @@ /* cache_space */ true) { bitfields_.is_initial_block_size_indefinite = builder->is_initial_block_size_indefinite_; + bitfields_.subtree_modified_margin_strut = + builder->subtree_modified_margin_strut_; intrinsic_block_size_ = builder->intrinsic_block_size_; if (builder->minimal_space_shortage_ != LayoutUnit::Max()) EnsureRareData()->minimal_space_shortage = builder->minimal_space_shortage_; @@ -77,6 +79,7 @@ NGLayoutResult::NGLayoutResult(const NGLayoutResult& other, const NGConstraintSpace& new_space, + const NGMarginStrut& new_end_margin_strut, LayoutUnit bfc_line_offset, base::Optional<LayoutUnit> bfc_block_offset, LayoutUnit block_offset_delta) @@ -108,6 +111,9 @@ } else { space_.ExclusionSpace().MoveDerivedGeometry(new_exclusion_space); } + + if (new_end_margin_strut != NGMarginStrut() || HasRareData()) + EnsureRareData()->end_margin_strut = new_end_margin_strut; } NGLayoutResult::NGLayoutResult( @@ -221,6 +227,9 @@ DCHECK_EQ(bitfields_.adjoining_object_types, other.bitfields_.adjoining_object_types); + DCHECK_EQ(bitfields_.subtree_modified_margin_strut, + other.bitfields_.subtree_modified_margin_strut); + DCHECK_EQ(bitfields_.initial_break_before, other.bitfields_.initial_break_before); DCHECK_EQ(bitfields_.final_break_after, other.bitfields_.final_break_after);
diff --git a/third_party/blink/renderer/core/layout/ng/ng_layout_result.h b/third_party/blink/renderer/core/layout/ng/ng_layout_result.h index d4166fe..ae90f2a 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_layout_result.h +++ b/third_party/blink/renderer/core/layout/ng/ng_layout_result.h
@@ -47,6 +47,7 @@ // still replaced with |nullopt|. NGLayoutResult(const NGLayoutResult& other, const NGConstraintSpace& new_space, + const NGMarginStrut& new_end_margin_strut, LayoutUnit bfc_line_offset, base::Optional<LayoutUnit> bfc_block_offset, LayoutUnit block_offset_delta); @@ -184,6 +185,12 @@ return bitfields_.has_descendant_that_depends_on_percentage_block_size; } + // Returns true if this subtree modified the incoming margin-strut (i.e. + // appended a non-zero margin). + bool SubtreeModifiedMarginStrut() const { + return bitfields_.subtree_modified_margin_strut; + } + // Returns true if the space stored with this layout result, is valid. bool HasValidConstraintSpaceForCaching() const { return bitfields_.has_valid_space; @@ -330,6 +337,7 @@ is_initial_block_size_indefinite(false), has_descendant_that_depends_on_percentage_block_size( has_descendant_that_depends_on_percentage_block_size), + subtree_modified_margin_strut(false), initial_break_before(static_cast<unsigned>(EBreakBetween::kAuto)), final_break_after(static_cast<unsigned>(EBreakBetween::kAuto)), status(static_cast<unsigned>(kSuccess)) {} @@ -349,6 +357,8 @@ unsigned is_initial_block_size_indefinite : 1; unsigned has_descendant_that_depends_on_percentage_block_size : 1; + unsigned subtree_modified_margin_strut : 1; + unsigned initial_break_before : 4; // EBreakBetween unsigned final_break_after : 4; // EBreakBetween
diff --git a/third_party/blink/renderer/core/layout/ng/ng_layout_result_caching_test.cc b/third_party/blink/renderer/core/layout/ng/ng_layout_result_caching_test.cc index e88eebe..8690534 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_layout_result_caching_test.cc +++ b/third_party/blink/renderer/core/layout/ng/ng_layout_result_caching_test.cc
@@ -122,6 +122,38 @@ NGBfcOffset(LayoutUnit(100), LayoutUnit::Max())); } +TEST_F(NGLayoutResultCachingTest, HitDifferentBFCOffsetSameMarginStrut) { + ScopedLayoutNGFragmentCachingForTest layout_ng_fragment_caching(true); + + // Different BFC offset, same margin-strut. + SetBodyInnerHTML(R"HTML( + <style> + .bfc { display: flow-root; width: 300px; height: 300px; } + </style> + <div class="bfc"> + <div style="height: 50px; margin-bottom: 20px;"></div> + <div id="test" style="height: 20px;"></div> + </div> + <div class="bfc"> + <div style="height: 40px; margin-bottom: 20px;"></div> + <div id="src" style="height: 20px;"></div> + </div> + )HTML"); + + auto* test = To<LayoutBlockFlow>(GetLayoutObjectByElementId("test")); + auto* src = To<LayoutBlockFlow>(GetLayoutObjectByElementId("src")); + + NGLayoutCacheStatus cache_status; + base::Optional<NGFragmentGeometry> fragment_geometry; + const NGConstraintSpace& space = + src->GetCachedLayoutResult()->GetConstraintSpaceForCaching(); + scoped_refptr<const NGLayoutResult> result = test->CachedLayoutResult( + space, nullptr, &fragment_geometry, &cache_status); + + EXPECT_EQ(cache_status, NGLayoutCacheStatus::kHit); + EXPECT_NE(result.get(), nullptr); +} + TEST_F(NGLayoutResultCachingTest, MissDescendantAboveBlockStart1) { ScopedLayoutNGFragmentCachingForTest layout_ng_fragment_caching(true); @@ -1113,5 +1145,284 @@ EXPECT_EQ(result.get(), nullptr); } +TEST_F(NGLayoutResultCachingTest, MarginStrutMovementSelfCollapsing) { + ScopedLayoutNGFragmentCachingForTest layout_ng_fragment_caching(true); + + SetBodyInnerHTML(R"HTML( + <style> + .bfc { display: flow-root; width: 300px; height: 300px; } + </style> + <div class="bfc"> + <div style="margin-top: 10px;"> + <div id="test1"> + <div></div> + </div> + </div> + </div> + <div class="bfc"> + <div style="margin-top: 5px;"> + <div id="src1"> + <div></div> + </div> + </div> + </div> + <div class="bfc"> + <div style="margin-top: 10px;"> + <div id="test2"> + <div style="margin-bottom: 8px;"></div> + </div> + </div> + </div> + <div class="bfc"> + <div style="margin-top: 5px;"> + <div id="src2"> + <div style="margin-bottom: 8px;"></div> + </div> + </div> + </div> + )HTML"); + + auto* test1 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("test1")); + auto* test2 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("test2")); + auto* src1 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("src1")); + auto* src2 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("src2")); + + NGLayoutCacheStatus cache_status; + base::Optional<NGFragmentGeometry> fragment_geometry; + + NGConstraintSpace space = + src1->GetCachedLayoutResult()->GetConstraintSpaceForCaching(); + scoped_refptr<const NGLayoutResult> result = test1->CachedLayoutResult( + space, nullptr, &fragment_geometry, &cache_status); + + // Case 1: We can safely re-use this fragment as it doesn't append anything + // to the margin-strut within the sub-tree. + EXPECT_EQ(cache_status, NGLayoutCacheStatus::kHit); + EXPECT_NE(result.get(), nullptr); + + // The "end" margin-strut should be updated. + NGMarginStrut expected_margin_strut; + expected_margin_strut.Append(LayoutUnit(5), false /* is_quirky */); + EXPECT_EQ(expected_margin_strut, result->EndMarginStrut()); + + fragment_geometry.reset(); + space = src2->GetCachedLayoutResult()->GetConstraintSpaceForCaching(); + result = test2->CachedLayoutResult(space, nullptr, &fragment_geometry, + &cache_status); + + // Case 2: We can't re-use this fragment as it appended a non-zero value to + // the margin-strut within the sub-tree. + EXPECT_EQ(cache_status, NGLayoutCacheStatus::kNeedsLayout); + EXPECT_EQ(result.get(), nullptr); +} + +TEST_F(NGLayoutResultCachingTest, MarginStrutMovementInFlow) { + ScopedLayoutNGFragmentCachingForTest layout_ng_fragment_caching(true); + + SetBodyInnerHTML(R"HTML( + <style> + .bfc { display: flow-root; width: 300px; height: 300px; } + </style> + <div class="bfc"> + <div style="margin-top: 10px;"> + <div id="test1"> + <div>text</div> + </div> + </div> + </div> + <div class="bfc"> + <div style="margin-top: 5px;"> + <div id="src1"> + <div>text</div> + </div> + </div> + </div> + <div class="bfc"> + <div style="margin-top: 10px;"> + <div id="test2"> + <div style="margin-top: 8px;">text</div> + </div> + </div> + </div> + <div class="bfc"> + <div style="margin-top: 5px;"> + <div id="src2"> + <div style="margin-top: 8px;">text</div> + </div> + </div> + </div> + <div class="bfc"> + <div style="margin-top: 10px;"> + <div id="test3"> + <div> + <div style="margin-top: 8px;"></div> + </div> + <div>text</div> + </div> + </div> + </div> + <div class="bfc"> + <div style="margin-top: 5px;"> + <div id="src3"> + <div> + <div style="margin-top: 8px;"></div> + </div> + <div>text</div> + </div> + </div> + </div> + )HTML"); + + auto* test1 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("test1")); + auto* test2 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("test2")); + auto* test3 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("test3")); + auto* src1 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("src1")); + auto* src2 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("src2")); + auto* src3 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("src3")); + + NGLayoutCacheStatus cache_status; + base::Optional<NGFragmentGeometry> fragment_geometry; + + NGConstraintSpace space = + src1->GetCachedLayoutResult()->GetConstraintSpaceForCaching(); + scoped_refptr<const NGLayoutResult> result = test1->CachedLayoutResult( + space, nullptr, &fragment_geometry, &cache_status); + + // Case 1: We can safely re-use this fragment as it doesn't append anything + // to the margin-strut within the sub-tree. + EXPECT_EQ(cache_status, NGLayoutCacheStatus::kHit); + EXPECT_NE(result.get(), nullptr); + + fragment_geometry.reset(); + space = src2->GetCachedLayoutResult()->GetConstraintSpaceForCaching(); + result = test2->CachedLayoutResult(space, nullptr, &fragment_geometry, + &cache_status); + + // Case 2: We can't re-use this fragment as it appended a non-zero value to + // the margin-strut within the sub-tree. + EXPECT_EQ(cache_status, NGLayoutCacheStatus::kNeedsLayout); + EXPECT_EQ(result.get(), nullptr); + + fragment_geometry.reset(); + space = src3->GetCachedLayoutResult()->GetConstraintSpaceForCaching(); + result = test3->CachedLayoutResult(space, nullptr, &fragment_geometry, + &cache_status); + + // Case 3: We can't re-use this fragment as a (inner) self-collapsing block + // appended a non-zero value to the margin-strut within the sub-tree. + EXPECT_EQ(cache_status, NGLayoutCacheStatus::kNeedsLayout); + EXPECT_EQ(result.get(), nullptr); +} + +TEST_F(NGLayoutResultCachingTest, MarginStrutMovementPercentage) { + ScopedLayoutNGFragmentCachingForTest layout_ng_fragment_caching(true); + + SetBodyInnerHTML(R"HTML( + <style> + .bfc { display: flow-root; width: 300px; height: 300px; } + </style> + <div class="bfc"> + <div style="margin-top: 10px;"> + <div id="test1" style="width: 0px;"> + <div style="margin-top: 50%;">text</div> + </div> + </div> + </div> + <div class="bfc"> + <div style="margin-top: 5px;"> + <div id="src1" style="width: 0px;"> + <div style="margin-top: 50%;">text</div> + </div> + </div> + </div> + )HTML"); + + auto* test1 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("test1")); + auto* src1 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("src1")); + + NGLayoutCacheStatus cache_status; + base::Optional<NGFragmentGeometry> fragment_geometry; + + NGConstraintSpace space = + src1->GetCachedLayoutResult()->GetConstraintSpaceForCaching(); + scoped_refptr<const NGLayoutResult> result = test1->CachedLayoutResult( + space, nullptr, &fragment_geometry, &cache_status); + + // We can't re-use this fragment as it appended a non-zero value (50%) to the + // margin-strut within the sub-tree. + EXPECT_EQ(cache_status, NGLayoutCacheStatus::kNeedsLayout); + EXPECT_EQ(result.get(), nullptr); +} + +TEST_F(NGLayoutResultCachingTest, MarginStrutMovementDiscard) { + ScopedLayoutNGFragmentCachingForTest layout_ng_fragment_caching(true); + + SetBodyInnerHTML(R"HTML( + <style> + .bfc { display: flow-root; width: 300px; height: 300px; } + </style> + <div class="bfc"> + <div style="margin-top: 10px;"> + <div id="test1"> + <div style="-webkit-margin-top-collapse: discard;">text</div> + </div> + </div> + </div> + <div class="bfc"> + <div style="margin-top: 5px;"> + <div id="src1"> + <div style="-webkit-margin-top-collapse: discard;">text</div> + </div> + </div> + </div> + <div class="bfc"> + <div style="margin-top: 10px;"> + <div id="test2"> + <div> + <div style="-webkit-margin-bottom-collapse: discard;"></div> + </div> + <div>text</div> + </div> + </div> + </div> + <div class="bfc"> + <div style="margin-top: 5px;"> + <div id="src2"> + <div> + <div style="-webkit-margin-bottom-collapse: discard;"></div> + </div> + <div>text</div> + </div> + </div> + </div> + )HTML"); + + auto* test1 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("test1")); + auto* test2 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("test2")); + auto* src1 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("src1")); + auto* src2 = To<LayoutBlockFlow>(GetLayoutObjectByElementId("src2")); + + NGLayoutCacheStatus cache_status; + base::Optional<NGFragmentGeometry> fragment_geometry; + + NGConstraintSpace space = + src1->GetCachedLayoutResult()->GetConstraintSpaceForCaching(); + scoped_refptr<const NGLayoutResult> result = test1->CachedLayoutResult( + space, nullptr, &fragment_geometry, &cache_status); + + // Case 1: We can't re-use this fragment as the sub-tree discards margins. + EXPECT_EQ(cache_status, NGLayoutCacheStatus::kNeedsLayout); + EXPECT_EQ(result.get(), nullptr); + + fragment_geometry.reset(); + space = src2->GetCachedLayoutResult()->GetConstraintSpaceForCaching(); + result = test2->CachedLayoutResult(space, nullptr, &fragment_geometry, + &cache_status); + + // Case 2: Also check a self-collapsing block with a block-end discard. + EXPECT_EQ(cache_status, NGLayoutCacheStatus::kNeedsLayout); + EXPECT_EQ(result.get(), nullptr); +} + } // namespace } // namespace blink
diff --git a/third_party/blink/renderer/core/layout/ng/ng_layout_utils.cc b/third_party/blink/renderer/core/layout/ng/ng_layout_utils.cc index 831afef..9df4faa0 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_layout_utils.cc +++ b/third_party/blink/renderer/core/layout/ng/ng_layout_utils.cc
@@ -369,15 +369,20 @@ const NGLayoutResult& cached_layout_result, const NGConstraintSpace& new_space, base::Optional<LayoutUnit>* bfc_block_offset, - LayoutUnit* block_offset_delta) { + LayoutUnit* block_offset_delta, + NGMarginStrut* end_margin_strut) { DCHECK_EQ(cached_layout_result.Status(), NGLayoutResult::kSuccess); DCHECK(cached_layout_result.HasValidConstraintSpaceForCaching()); DCHECK(bfc_block_offset); DCHECK(block_offset_delta); + DCHECK(end_margin_strut); const NGConstraintSpace& old_space = cached_layout_result.GetConstraintSpaceForCaching(); + bool is_margin_strut_equal = + old_space.MarginStrut() == new_space.MarginStrut(); + LayoutUnit old_clearance_offset = old_space.ClearanceOffset(); LayoutUnit new_clearance_offset = new_space.ClearanceOffset(); @@ -386,6 +391,10 @@ if (is_pushed_by_floats) { DCHECK(old_space.HasFloats()); + // We don't attempt to reuse the cached result if our margins have changed. + if (!is_margin_strut_equal) + return false; + // We don't attempt to reuse the cached result if the clearance offset // differs from the final BFC-block-offset. // @@ -410,6 +419,16 @@ } } + // We can't reuse the layout result if the subtree modified its incoming + // margin-strut, and the incoming margin-strut has changed. E.g. + // <div style="margin-top: 5px;"> <!-- changes to 15px --> + // <div style="margin-top: 10px;"></div> + // text + // </div> + if (cached_layout_result.SubtreeModifiedMarginStrut() && + !is_margin_strut_equal) + return false; + const auto& physical_fragment = cached_layout_result.PhysicalFragment(); // Check we have a descendant that *may* be positioned above the block-start @@ -449,6 +468,15 @@ // "resolved" BFC block-offset on their layout result. *bfc_block_offset = new_space.ForcedBfcBlockOffset(); + // If this sub-tree didn't append any margins to the incoming margin-strut, + // the new "start" margin-strut becomes the new "end" margin-strut (as we + // are self-collapsing). + if (!cached_layout_result.SubtreeModifiedMarginStrut()) { + *end_margin_strut = new_space.MarginStrut(); + } else { + DCHECK(is_margin_strut_equal); + } + return true; } @@ -482,13 +510,30 @@ return false; if (is_pushed_by_floats || ancestor_has_clearance_past_adjoining_floats) { + // If we've been pushed by floats, we assume the new clearance offset. DCHECK_EQ(**bfc_block_offset, old_clearance_offset); *block_offset_delta = new_clearance_offset - old_clearance_offset; *bfc_block_offset = new_clearance_offset; - } else { + } else if (is_margin_strut_equal) { + // If our incoming margin-strut is equal, we are just shifted by the BFC + // block-offset amount. *block_offset_delta = new_space.BfcOffset().block_offset - old_space.BfcOffset().block_offset; *bfc_block_offset = **bfc_block_offset + *block_offset_delta; + } else { + // If our incoming margin-strut isn't equal, we need to account for the + // difference in the incoming margin-struts. +#if DCHECK_IS_ON() + DCHECK(!cached_layout_result.SubtreeModifiedMarginStrut()); + LayoutUnit old_bfc_block_offset = + old_space.BfcOffset().block_offset + old_space.MarginStrut().Sum(); + DCHECK_EQ(old_bfc_block_offset, **bfc_block_offset); +#endif + + LayoutUnit new_bfc_block_offset = + new_space.BfcOffset().block_offset + new_space.MarginStrut().Sum(); + *block_offset_delta = new_bfc_block_offset - **bfc_block_offset; + *bfc_block_offset = **bfc_block_offset + *block_offset_delta; } // Check if the new position intersects with any floats.
diff --git a/third_party/blink/renderer/core/layout/ng/ng_layout_utils.h b/third_party/blink/renderer/core/layout/ng/ng_layout_utils.h index 0cc811c0..3989312d 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_layout_utils.h +++ b/third_party/blink/renderer/core/layout/ng/ng_layout_utils.h
@@ -48,16 +48,19 @@ // affected by clearance, or floats, and therefore might be able to skip // layout. // Additionally (if this function returns true) it will calculate the new -// |bfc_block_offset|, and |block_offset_delta| for the layout result. +// |bfc_block_offset|, |block_offset_delta|, and |end_margin_strut| for the +// layout result. +// // |bfc_block_offset| may still be |base::nullopt| if not previously set. // -// If this function returns false, both |bfc_block_offset|, and -// |block_offset_delta| are in an undefined state and should not be used. +// If this function returns false, |bfc_block_offset|, |block_offset_delta|, +// and |end_margin_strut| are in an undefined state and should not be used. bool MaySkipLayoutWithinBlockFormattingContext( const NGLayoutResult& cached_layout_result, const NGConstraintSpace& new_space, base::Optional<LayoutUnit>* bfc_block_offset, - LayoutUnit* block_offset_delta); + LayoutUnit* block_offset_delta, + NGMarginStrut* end_margin_strut); // Return true if layout is considered complete. In some cases we require more // than one layout pass.
diff --git a/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc b/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc index 2dcae1e..c2ad384 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc +++ b/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc
@@ -1223,9 +1223,12 @@ const NGBoxStrut& border_scrollbar_padding, LayoutUnit current_intrinsic_block_size) { // With contain: size, we ignore intrinsic sizing. If the block-size was - // specified as auto, its content-box size will become 0. - if (node.ShouldApplySizeContainment()) - return border_scrollbar_padding.BlockSum(); + // specified as auto, its content-box size will become 0, unless overridden by + // content-size. + if (node.ShouldApplySizeContainment()) { + return node.ContentBlockSizeForSizeContainment() + + border_scrollbar_padding.BlockSum(); + } // If display locking induces size containment, then we replace its content // size with the locked content size. @@ -1246,8 +1249,10 @@ sizes += border_scrollbar_padding.InlineSum(); // Size contained elements don't consider children for intrinsic sizing. - if (node.ShouldApplySizeContainment()) + if (node.ShouldApplySizeContainment()) { + sizes += node.ContentInlineSizeForSizeContainment(); return sizes; + } // Display locked elements override the content size, without considering // children. Note that contain: size (above) takes precedence over display
diff --git a/third_party/blink/renderer/core/layout/ng/ng_simplified_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/ng_simplified_layout_algorithm.cc index 440b0ad..375fc73d7 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_simplified_layout_algorithm.cc +++ b/third_party/blink/renderer/core/layout/ng/ng_simplified_layout_algorithm.cc
@@ -48,6 +48,9 @@ DCHECK_EQ(ConstraintSpace().BfcOffset(), previous_result_.GetConstraintSpaceForCaching().BfcOffset()); + if (result.SubtreeModifiedMarginStrut()) + container_builder_.SetSubtreeModifiedMarginStrut(); + container_builder_.SetBfcLineOffset(result.BfcLineOffset()); if (result.BfcBlockOffset()) container_builder_.SetBfcBlockOffset(*result.BfcBlockOffset());
diff --git a/third_party/blink/renderer/core/page/spatial_navigation_controller.cc b/third_party/blink/renderer/core/page/spatial_navigation_controller.cc index fc5202cb..4315f0e 100644 --- a/third_party/blink/renderer/core/page/spatial_navigation_controller.cc +++ b/third_party/blink/renderer/core/page/spatial_navigation_controller.cc
@@ -501,7 +501,7 @@ // issues since the document/body will likely contain most of the other // content on the page. if (frame->IsMainFrame()) { - if (IsHTMLHtmlElement(element) || IsA<HTMLBodyElement>(element)) + if (IsA<HTMLHtmlElement>(element) || IsA<HTMLBodyElement>(element)) return false; }
diff --git a/third_party/blink/renderer/core/xml/parser/xml_document_parser.cc b/third_party/blink/renderer/core/xml/parser/xml_document_parser.cc index f7aae421..d7daa5b1 100644 --- a/third_party/blink/renderer/core/xml/parser/xml_document_parser.cc +++ b/third_party/blink/renderer/core/xml/parser/xml_document_parser.cc
@@ -1026,8 +1026,9 @@ // Note: |insertedByParser| will perform dispatching if this is an // HTMLHtmlElement. - if (IsHTMLHtmlElement(*new_element) && is_first_element) { - ToHTMLHtmlElement(*new_element).InsertedByParser(); + auto* html_html_element = DynamicTo<HTMLHtmlElement>(new_element); + if (html_html_element && is_first_element) { + html_html_element->InsertedByParser(); } else if (!parsing_fragment_ && is_first_element && GetDocument()->GetFrame()) { GetDocument()->GetFrame()->Loader().DispatchDocumentElementAvailable();
diff --git a/third_party/blink/renderer/devtools/front_end/Tests.js b/third_party/blink/renderer/devtools/front_end/Tests.js index b7931ed..33dc3a0 100644 --- a/third_party/blink/renderer/devtools/front_end/Tests.js +++ b/third_party/blink/renderer/devtools/front_end/Tests.js
@@ -1093,7 +1093,6 @@ case 2: // HSTS internal redirect test.assertTrue(networkRequest.url().startsWith('http://')); - test.assertEquals(undefined, networkRequest.requestHeadersText()); test.assertEquals(307, networkRequest.statusCode); test.assertEquals('Internal Redirect', networkRequest.statusText); test.assertEquals('HSTS', networkRequest.responseHeaderValue('Non-Authoritative-Reason'));
diff --git a/third_party/blink/renderer/devtools/front_end/audits/AuditsStartView.js b/third_party/blink/renderer/devtools/front_end/audits/AuditsStartView.js index 035fffca..736a8364 100644 --- a/third_party/blink/renderer/devtools/front_end/audits/AuditsStartView.js +++ b/third_party/blink/renderer/devtools/front_end/audits/AuditsStartView.js
@@ -75,8 +75,8 @@ _render() { this._startButton = UI.createTextButton( - ls`Run audits`, () => this._controller.dispatchEventToListeners(Audits.Events.RequestAuditStart), - 'audits-start-button', true /* primary */); + ls`Run audits`, () => this._controller.dispatchEventToListeners(Audits.Events.RequestAuditStart), '', + true /* primary */); this.setDefaultFocusedElement(this._startButton); const deviceIcon = UI.Icon.create('largeicon-phone');
diff --git a/third_party/blink/renderer/devtools/front_end/audits/auditsStartView.css b/third_party/blink/renderer/devtools/front_end/audits/auditsStartView.css index 55f30d7..e7ea4ab 100644 --- a/third_party/blink/renderer/devtools/front_end/audits/auditsStartView.css +++ b/third_party/blink/renderer/devtools/front_end/audits/auditsStartView.css
@@ -99,10 +99,6 @@ align-items: center; } -.audits-start-button { - max-width: 100px; -} - .audits-start-view .toolbar-dropdown-arrow { display: none; }
diff --git a/third_party/blink/renderer/devtools/front_end/sdk/NetworkManager.js b/third_party/blink/renderer/devtools/front_end/sdk/NetworkManager.js index 9fdad45..16f1d66 100644 --- a/third_party/blink/renderer/devtools/front_end/sdk/NetworkManager.js +++ b/third_party/blink/renderer/devtools/front_end/sdk/NetworkManager.js
@@ -280,6 +280,8 @@ this._inflightRequestsById = {}; /** @type {!Object<string, !SDK.NetworkRequest>} */ this._inflightRequestsByURL = {}; + /** @type {!Map<string, !RedirectExtraInfoBuilder>} */ + this._requestIdToRedirectExtraInfoBuilder = new Map(); } /** @@ -319,12 +321,16 @@ networkRequest.mimeType = response.mimeType; networkRequest.statusCode = response.status; networkRequest.statusText = response.statusText; - networkRequest.responseHeaders = this._headersMapToHeadersArray(response.headers); + if (!networkRequest.hasExtraResponseInfo()) + networkRequest.responseHeaders = this._headersMapToHeadersArray(response.headers); + if (response.encodedDataLength >= 0) networkRequest.setTransferSize(response.encodedDataLength); - if (response.headersText) - networkRequest.responseHeadersText = response.headersText; - if (response.requestHeaders) { + + if (response.requestHeaders && !networkRequest.hasExtraRequestInfo()) { + // TODO(http://crbug.com/991471): Stop using response.requestHeaders and + // response.requestHeadersText once service workers and shared workers + // emit Network.*ExtraInfo events for their network requests. networkRequest.setRequestHeaders(this._headersMapToHeadersArray(response.requestHeaders)); networkRequest.setRequestHeadersText(response.requestHeadersText || ''); } @@ -477,6 +483,8 @@ networkRequest.setResourceType( resourceType ? Common.resourceTypes[resourceType] : Protocol.Network.ResourceType.Other); + this._getExtraInfoBuilder(requestId).addRequest(networkRequest); + this._startNetworkRequest(networkRequest); } @@ -576,6 +584,7 @@ networkRequest = this._maybeAdoptMainResourceRequest(requestId); if (!networkRequest) return; + this._getExtraInfoBuilder(requestId).finished(); this._finishNetworkRequest(networkRequest, finishTime, encodedDataLength, shouldReportCorbBlocking); } @@ -605,6 +614,7 @@ } } networkRequest.localizedFailDescription = localizedDescription; + this._getExtraInfoBuilder(requestId).finished(); this._finishNetworkRequest(networkRequest, time, -1); } @@ -773,8 +783,12 @@ * @param {!Protocol.Network.Headers} headers */ requestWillBeSentExtraInfo(requestId, blockedCookies, headers) { - // TODO(http://crbug.com/868407): Populate request info with these new raw headers - // TODO(http://crbug.com/856777): Populate request info with blocked cookies + /** @type {!SDK.NetworkRequest.ExtraRequestInfo} */ + const extraRequestInfo = { + blockedRequestCookies: blockedCookies, + requestHeaders: this._headersMapToHeadersArray(headers) + }; + this._getExtraInfoBuilder(requestId).addRequestExtraInfo(extraRequestInfo); } /** @@ -785,8 +799,27 @@ * @param {string=} headersText */ responseReceivedExtraInfo(requestId, blockedCookies, headers, headersText) { - // TODO(http://crbug.com/868407): Populate request info with these new raw headers - // TODO(http://crbug.com/856777): Populate request info with blocked cookies + /** @type {!SDK.NetworkRequest.ExtraResponseInfo} */ + const extraResponseInfo = { + blockedResponseCookies: blockedCookies, + responseHeaders: this._headersMapToHeadersArray(headers), + responseHeadersText: headersText + }; + this._getExtraInfoBuilder(requestId).addResponseExtraInfo(extraResponseInfo); + } + + /** + * @param {string} requestId + * @return {!RedirectExtraInfoBuilder} + */ + _getExtraInfoBuilder(requestId) { + if (!this._requestIdToRedirectExtraInfoBuilder.get(requestId)) { + const deleteCallback = () => { + this._requestIdToRedirectExtraInfoBuilder.delete(requestId); + }; + this._requestIdToRedirectExtraInfoBuilder.set(requestId, new RedirectExtraInfoBuilder(deleteCallback)); + } + return this._requestIdToRedirectExtraInfoBuilder.get(requestId); } /** @@ -1358,6 +1391,97 @@ } }; +/** + * Helper class to match requests created from requestWillBeSent with + * requestWillBeSentExtraInfo and responseReceivedExtraInfo when they have the + * same requestId due to redirects. + */ +class RedirectExtraInfoBuilder { + /** + * @param {function()} deleteCallback + */ + constructor(deleteCallback) { + /** @type {!Array<!SDK.NetworkRequest>} */ + this._requests = []; + /** @type {!Array<?SDK.NetworkRequest.ExtraRequestInfo>} */ + this._requestExtraInfos = []; + /** @type {!Array<?SDK.NetworkRequest.ExtraResponseInfo>} */ + this._responseExtraInfos = []; + /** @type {boolean} */ + this._finished = false; + /** @type {boolean} */ + this._hasExtraInfo = false; + /** @type {function()} */ + this._deleteCallback = deleteCallback; + } + + /** + * @param {!SDK.NetworkRequest} req + */ + addRequest(req) { + this._requests.push(req); + this._sync(this._requests.length - 1); + } + + /** + * @param {!SDK.NetworkRequest.ExtraRequestInfo} info + */ + addRequestExtraInfo(info) { + this._hasExtraInfo = true; + this._requestExtraInfos.push(info); + this._sync(this._requestExtraInfos.length - 1); + } + + /** + * @param {!SDK.NetworkRequest.ExtraResponseInfo} info + */ + addResponseExtraInfo(info) { + this._responseExtraInfos.push(info); + this._sync(this._responseExtraInfos.length - 1); + } + + finished() { + this._finished = true; + this._deleteIfComplete(); + } + + /** + * @param {number} index + */ + _sync(index) { + const req = this._requests[index]; + if (!req) + return; + + const requestExtraInfo = this._requestExtraInfos[index]; + if (requestExtraInfo) { + req.addExtraRequestInfo(requestExtraInfo); + this._requestExtraInfos[index] = null; + } + + const responseExtraInfo = this._responseExtraInfos[index]; + if (responseExtraInfo) { + req.addExtraResponseInfo(responseExtraInfo); + this._responseExtraInfos[index] = null; + } + + this._deleteIfComplete(); + } + + _deleteIfComplete() { + if (!this._finished) + return; + + if (this._hasExtraInfo) { + // if we haven't gotten the last responseExtraInfo event, we have to wait for it. + if (!this._requests.peekLast().hasExtraResponseInfo()) + return; + } + + this._deleteCallback(); + } +} + /** @typedef {!{urlPattern: string, interceptionStage: !Protocol.Network.InterceptionStage}} */ SDK.MultitargetNetworkManager.InterceptionPattern;
diff --git a/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js b/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js index bea48362..8ec9250 100644 --- a/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js +++ b/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js
@@ -112,6 +112,11 @@ // Assume no body initially /** @type {?Promise<?string>} */ this._requestFormDataPromise = /** @type {?Promise<?string>} */ (Promise.resolve(null)); + + /** @type {boolean} */ + this._hasExtraRequestInfo = false; + /** @type {boolean} */ + this._hasExtraResponseInfo = false; } /** @@ -1290,6 +1295,57 @@ return null; } + + /** + * @param {!SDK.NetworkRequest.ExtraRequestInfo} extraRequestInfo + */ + addExtraRequestInfo(extraRequestInfo) { + this._blockedRequestCookies = extraRequestInfo.blockedRequestCookies; + this.setRequestHeaders(extraRequestInfo.requestHeaders); + this._hasExtraRequestInfo = true; + this.setRequestHeadersText(''); // Mark request headers as non-provisional + } + + /** + * @return {boolean} + */ + hasExtraRequestInfo() { + return this._hasExtraRequestInfo; + } + + /** + * @param {!SDK.NetworkRequest.ExtraResponseInfo} extraResponseInfo + */ + addExtraResponseInfo(extraResponseInfo) { + this._blockedResponseCookies = extraResponseInfo.blockedResponseCookies; + this.responseHeaders = extraResponseInfo.responseHeaders; + + if (extraResponseInfo.responseHeadersText) { + this.responseHeadersText = extraResponseInfo.responseHeadersText; + + if (!this.requestHeadersText()) { + // Generate request headers text from raw headers in extra request info because + // Network.requestWillBeSentExtraInfo doesn't include headers text. + let requestHeadersText = `${this.requestMethod} ${this.parsedURL.path}`; + if (this.parsedURL.queryParams) + requestHeadersText += `?${this.parsedURL.queryParams}`; + requestHeadersText += ` HTTP/1.1\r\n`; + + for (const {name, value} of this.requestHeaders()) + requestHeadersText += `${name}: ${value}\r\n`; + this.setRequestHeadersText(requestHeadersText); + } + } + + this._hasExtraResponseInfo = true; + } + + /** + * @return {boolean} + */ + hasExtraResponseInfo() { + return this._hasExtraResponseInfo; + } }; /** @enum {symbol} */ @@ -1331,3 +1387,20 @@ /** @typedef {!{error: ?string, content: ?string, encoded: boolean}} */ SDK.NetworkRequest.ContentData; + +/** + * @typedef {!{ + * blockedRequestCookies: !Array<!Protocol.Network.BlockedCookieWithReason>, + * requestHeaders: !Array<!SDK.NetworkRequest.NameValue> + * }} + */ +SDK.NetworkRequest.ExtraRequestInfo; + +/** + * @typedef {!{ + * blockedResponseCookies: !Array<!Protocol.Network.BlockedSetCookieWithReason>, + * responseHeaders: !Array<!SDK.NetworkRequest.NameValue>, + * responseHeadersText: (string|undefined) + * }} + */ +SDK.NetworkRequest.ExtraResponseInfo;
diff --git a/third_party/blink/renderer/modules/accessibility/ax_node_object.cc b/third_party/blink/renderer/modules/accessibility/ax_node_object.cc index 5fa7d12..50b5318 100644 --- a/third_party/blink/renderer/modules/accessibility/ax_node_object.cc +++ b/third_party/blink/renderer/modules/accessibility/ax_node_object.cc
@@ -674,7 +674,7 @@ // The HTML element should not be exposed as an element. That's what the // LayoutView element does. - if (IsHTMLHtmlElement(*GetNode())) + if (IsA<HTMLHtmlElement>(GetNode())) return ax::mojom::Role::kIgnored; // Treat <iframe> and <frame> the same.
diff --git a/third_party/blink/renderer/modules/vr/vr_eye_parameters.cc b/third_party/blink/renderer/modules/vr/vr_eye_parameters.cc index 9deae25..729055b 100644 --- a/third_party/blink/renderer/modules/vr/vr_eye_parameters.cc +++ b/third_party/blink/renderer/modules/vr/vr_eye_parameters.cc
@@ -4,15 +4,20 @@ #include "third_party/blink/renderer/modules/vr/vr_eye_parameters.h" +#include "third_party/blink/renderer/platform/transforms/transformation_matrix.h" + namespace blink { VREyeParameters::VREyeParameters( const device::mojom::blink::VREyeParametersPtr& eye_parameters, double render_scale) { + // This only works if the transform only has the translation component. + // However, WebVR never worked with angled screens anyways. + const TransformationMatrix matrix(eye_parameters->head_from_eye.matrix()); offset_ = DOMFloat32Array::Create(3); - offset_->Data()[0] = eye_parameters->offset.x(); - offset_->Data()[1] = eye_parameters->offset.y(); - offset_->Data()[2] = eye_parameters->offset.z(); + offset_->Data()[0] = matrix.M41(); // x translation + offset_->Data()[1] = matrix.M42(); // y translation + offset_->Data()[2] = matrix.M43(); // z translation field_of_view_ = MakeGarbageCollected<VRFieldOfView>(); field_of_view_->SetUpDegrees(eye_parameters->field_of_view->up_degrees);
diff --git a/third_party/blink/renderer/modules/xr/xr_session.cc b/third_party/blink/renderer/modules/xr/xr_session.cc index cae37c3..54c599d1 100644 --- a/third_party/blink/renderer/modules/xr/xr_session.cc +++ b/third_party/blink/renderer/modules/xr/xr_session.cc
@@ -83,7 +83,8 @@ fov->left_degrees * kDegToRad, fov->right_degrees * kDegToRad, depth_near, depth_far); - view.UpdateOffset(eye->offset.x(), eye->offset.y(), eye->offset.z()); + const TransformationMatrix matrix(eye->head_from_eye.matrix()); + view.SetHeadFromEyeTransform(matrix); } // Returns the session feature corresponding to the given reference space type. @@ -980,7 +981,6 @@ } else { if (views_.IsEmpty()) { views_.emplace_back(XRView::kEyeNone); - views_[kMonoOrStereoLeftView].UpdateOffset(0, 0, 0); } float aspect = 1.0f;
diff --git a/third_party/blink/renderer/modules/xr/xr_view.cc b/third_party/blink/renderer/modules/xr/xr_view.cc index 02b5e8ee..35a1381ce 100644 --- a/third_party/blink/renderer/modules/xr/xr_view.cc +++ b/third_party/blink/renderer/modules/xr/xr_view.cc
@@ -23,7 +23,8 @@ default: eye_string_ = "none"; } - transform_ = MakeGarbageCollected<XRRigidTransform>(view_data.Transform()); + ref_space_from_eye_ = + MakeGarbageCollected<XRRigidTransform>(view_data.Transform()); projection_matrix_ = transformationMatrixToDOMFloat32Array(view_data.ProjectionMatrix()); } @@ -80,10 +81,6 @@ inv_projection_dirty_ = true; } -void XRViewData::UpdateOffset(float x, float y, float z) { - offset_.Set(x, y, z); -} - TransformationMatrix XRViewData::UnprojectPointer(double x, double y, double canvas_width, @@ -129,19 +126,26 @@ return inv_pointer.Inverse(); } -void XRViewData::UpdatePoseMatrix(const TransformationMatrix& pose_matrix) { - transform_ = pose_matrix; - transform_.Translate3d(offset_.X(), offset_.Y(), offset_.Z()); +void XRViewData::SetHeadFromEyeTransform( + const TransformationMatrix& head_from_eye) { + head_from_eye_ = head_from_eye; +} + +// ref_space_from_eye_ = ref_space_from_head * head_from_eye_ +void XRViewData::UpdatePoseMatrix( + const TransformationMatrix& ref_space_from_head) { + ref_space_from_eye_ = ref_space_from_head; + ref_space_from_eye_.Multiply(head_from_eye_); } XRRigidTransform* XRView::transform() const { - return transform_; + return ref_space_from_eye_; } void XRView::Trace(blink::Visitor* visitor) { visitor->Trace(session_); visitor->Trace(projection_matrix_); - visitor->Trace(transform_); + visitor->Trace(ref_space_from_eye_); ScriptWrappable::Trace(visitor); }
diff --git a/third_party/blink/renderer/modules/xr/xr_view.h b/third_party/blink/renderer/modules/xr/xr_view.h index 596433b..b89cdd0 100644 --- a/third_party/blink/renderer/modules/xr/xr_view.h +++ b/third_party/blink/renderer/modules/xr/xr_view.h
@@ -41,7 +41,7 @@ XREye eye_; String eye_string_; Member<XRSession> session_; - Member<XRRigidTransform> transform_; + Member<XRRigidTransform> ref_space_from_eye_; Member<DOMFloat32Array> projection_matrix_; }; @@ -49,7 +49,7 @@ public: XRViewData(XRView::XREye eye) : eye_(eye) {} - void UpdatePoseMatrix(const TransformationMatrix& pose_matrix); + void UpdatePoseMatrix(const TransformationMatrix& ref_space_from_head); void UpdateProjectionMatrixFromFoV(float up_rad, float down_rad, float left_rad, @@ -61,9 +61,7 @@ float near_depth, float far_depth); - // TODO(bajones): Should eventually represent this as a full transform. - const FloatPoint3D& offset() const { return offset_; } - void UpdateOffset(float x, float y, float z); + void SetHeadFromEyeTransform(const TransformationMatrix& head_from_eye); TransformationMatrix UnprojectPointer(double x, double y, @@ -71,17 +69,17 @@ double canvas_height); XRView::XREye Eye() const { return eye_; } - const TransformationMatrix& Transform() const { return transform_; } + const TransformationMatrix& Transform() const { return ref_space_from_eye_; } const TransformationMatrix& ProjectionMatrix() const { return projection_matrix_; } private: const XRView::XREye eye_; - TransformationMatrix transform_; - FloatPoint3D offset_; + TransformationMatrix ref_space_from_eye_; TransformationMatrix projection_matrix_; TransformationMatrix inv_projection_; + TransformationMatrix head_from_eye_; bool inv_projection_dirty_ = true; };
diff --git a/third_party/blink/renderer/modules/xr/xr_view_test.cc b/third_party/blink/renderer/modules/xr/xr_view_test.cc index b34233f..ce75856 100644 --- a/third_party/blink/renderer/modules/xr/xr_view_test.cc +++ b/third_party/blink/renderer/modules/xr/xr_view_test.cc
@@ -18,7 +18,10 @@ TEST(XRViewTest, UpdatePoseMatrix) { XRViewData view(XRView::kEyeLeft); - view.UpdateOffset(-1.0, 2.0, 3.0); + + TransformationMatrix head_from_eye; + head_from_eye.Translate3d(-1.0, 2.0, 3.0); + view.SetHeadFromEyeTransform(head_from_eye); DOMPointInit* position = MakePointForTest(1.0, -1.0, 4.0, 1.0); DOMPointInit* orientation =
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 index be563f2..553bcfa0 100644 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -829,7 +829,7 @@ // Modifies LayoutShiftTracker to use O(n log n) sweep line algorithm for // computing the area of the layout shift region. name: "JankTrackingSweepLine", - status: "experimental", + status: "stable", }, { name: "JSONModules",
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations index c61897e..ea2cbc0 100644 --- a/third_party/blink/web_tests/TestExpectations +++ b/third_party/blink/web_tests/TestExpectations
@@ -3253,7 +3253,6 @@ # ====== New tests from wpt-importer added here ====== crbug.com/626703 [ Mac10.10 ] virtual/omt-worker-fetch/external/wpt/resource-timing/resource_timing_buffer_full_eventually.html [ Timeout ] crbug.com/626703 [ Retina ] virtual/omt-worker-fetch/external/wpt/resource-timing/resource_timing_buffer_full_eventually.html [ Timeout ] -crbug.com/626703 [ Linux ] virtual/omt-service-worker-startup/external/wpt/service-workers/service-worker/interfaces-sw.https.html [ Failure Crash ] crbug.com/626703 [ Linux ] external/wpt/css/mediaqueries/aspect-ratio-006.html [ Failure ] crbug.com/626703 [ Mac ] external/wpt/css/mediaqueries/aspect-ratio-006.html [ Failure ] crbug.com/626703 [ Win ] external/wpt/css/mediaqueries/aspect-ratio-006.html [ Failure ] @@ -6514,8 +6513,6 @@ crbug.com/999473 external/wpt/streams/writable-streams/properties.any.worker.html [ Pass Failure ] crbug.com/1000051 [ Mac ] virtual/audio-service/media/controls/volume-slider.html [ Failure Timeout Pass ] -crbug.com/1000124 [ Mac ] compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers.html [ Crash ] -crbug.com/1000124 [ Mac ] virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers.html [ Crash ] # Sheriff 2019-09-03 crbug.com/999799 [ Mac Linux ] external/wpt/html/rendering/dimension-attributes.html [ Pass Timeout ] @@ -6531,6 +6528,11 @@ crbug.com/1000336 [ Linux ] http/tests/devtools/a11y-axe-core/sources/source-navigator-network-a11y-test.js [ Pass Failure ] crbug.com/1000336 [ Linux ] http/tests/devtools/a11y-axe-core/sources/sources-editor-pane-a11y-test.js [ Pass Failure ] crbug.com/1000396 [ Win ] virtual/audio-service/media/video-remove-insert-repaints.html [ Pass Failure ] +crbug.com/1000396 [ Win ] media/video-remove-insert-repaints.html [ Pass Failure ] +crbug.com/1000768 [ Linux ] external/wpt/web-locks/idlharness.tentative.https.any.html [ Pass Failure ] +crbug.com/1000768 [ Linux ] external/wpt/geolocation-API/idlharness.window.html [ Pass Failure ] +crbug.com/1000768 [ Linux ] external/wpt/web-share/idlharness.https.window.html [ Pass Failure ] +crbug.com/1000768 [ Linux ] external/wpt/storage/idlharness.https.any.html [ Pass Failure ] # Partial fix to avoid a regression on eval(string) with Trusted Types enabled in Chrome 77. crbug.com/992424 external/wpt/trusted-types/block-eval.tentative.html [ Failure ]
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json index 5ff1e83..2ba6ee87 100644 --- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json +++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json
@@ -6463,12 +6463,6 @@ {} ] ], - "pointerevents/extension/pointerevent_coalesced_events_attributes-manual.html": [ - [ - "pointerevents/extension/pointerevent_coalesced_events_attributes-manual.html", - {} - ] - ], "pointerevents/extension/pointerevent_getPredictedEvents_when_pointerlocked-manual.html": [ [ "pointerevents/extension/pointerevent_getPredictedEvents_when_pointerlocked-manual.html", @@ -48863,6 +48857,18 @@ {} ] ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-008.html": [ + [ + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-008.html", + [ + [ + "/css/css-grid/reference/grid-block-axis-alignment-auto-margins-008-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-grid/alignment/grid-content-distribution-001.html": [ [ "css/css-grid/alignment/grid-content-distribution-001.html", @@ -49607,6 +49613,18 @@ {} ] ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-008.html": [ + [ + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-008.html", + [ + [ + "/css/css-grid/reference/grid-inline-axis-alignment-auto-margins-008-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-grid/alignment/grid-self-alignment-stretch-input-range.html": [ [ "css/css-grid/alignment/grid-self-alignment-stretch-input-range.html", @@ -58403,6 +58421,18 @@ {} ] ], + "css/css-multicol/with-custom-layout-on-same-element.https.html": [ + [ + "css/css-multicol/with-custom-layout-on-same-element.https.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "css/css-multicol/zero-column-width-layout.html": [ [ "css/css-multicol/zero-column-width-layout.html", @@ -118717,6 +118747,18 @@ {} ] ], + "mathml/relations/html5-tree/css-inline-style-dynamic.tentative.html": [ + [ + "mathml/relations/html5-tree/css-inline-style-dynamic.tentative.html", + [ + [ + "/mathml/relations/html5-tree/css-inline-style-dynamic.tentative-ref.html", + "==" + ] + ], + {} + ] + ], "mathml/relations/html5-tree/dynamic-1.html": [ [ "mathml/relations/html5-tree/dynamic-1.html", @@ -125554,12 +125596,6 @@ "BackgroundSync/META.yml": [ [] ], - "BackgroundSync/idlharness.https.any-expected.txt": [ - [] - ], - "BackgroundSync/idlharness.https.any.worker-expected.txt": [ - [] - ], "BackgroundSync/service_workers/sw.js": [ [] ], @@ -125590,12 +125626,6 @@ "FileAPI/historical.https-expected.txt": [ [] ], - "FileAPI/idlharness-expected.txt": [ - [] - ], - "FileAPI/idlharness.worker-expected.txt": [ - [] - ], "FileAPI/reading-data-section/filereader_events.any-expected.txt": [ [] ], @@ -125662,24 +125692,12 @@ "IndexedDB/README.md": [ [] ], - "IndexedDB/idbobjectstore_createIndex15-autoincrement-expected.txt": [ - [] - ], "IndexedDB/idbworker.js": [ [] ], - "IndexedDB/idlharness.any-expected.txt": [ - [] - ], "IndexedDB/idlharness.any.serviceworker-expected.txt": [ [] ], - "IndexedDB/idlharness.any.sharedworker-expected.txt": [ - [] - ], - "IndexedDB/idlharness.any.worker-expected.txt": [ - [] - ], "IndexedDB/interleaved-cursors-common.js": [ [] ], @@ -125899,9 +125917,6 @@ "WebCryptoAPI/generateKey/successes_AES-KW.https.worker-expected.txt": [ [] ], - "WebCryptoAPI/idlharness.https.any-expected.txt": [ - [] - ], "WebCryptoAPI/idlharness.https.any.worker-expected.txt": [ [] ], @@ -126202,18 +126217,12 @@ "appmanifest/META.yml": [ [] ], - "appmanifest/idlharness.window-expected.txt": [ - [] - ], "audio-output/META.yml": [ [] ], "audio-output/OWNERS": [ [] ], - "audio-output/idlharness.https.window-expected.txt": [ - [] - ], "audio-output/setSinkId.https-expected.txt": [ [] ], @@ -126226,15 +126235,9 @@ "background-fetch/fetch.https.window-expected.txt": [ [] ], - "background-fetch/idlharness.https.any-expected.txt": [ - [] - ], "background-fetch/idlharness.https.any.serviceworker-expected.txt": [ [] ], - "background-fetch/idlharness.https.any.sharedworker-expected.txt": [ - [] - ], "background-fetch/idlharness.https.any.worker-expected.txt": [ [] ], @@ -126274,9 +126277,6 @@ "battery-status/battery-insecure-context-expected.txt": [ [] ], - "battery-status/battery-interface-idlharness.https.window-expected.txt": [ - [] - ], "battery-status/support-iframe.html": [ [] ], @@ -126316,12 +126316,6 @@ "beacon/headers/header-referrer.js": [ [] ], - "beacon/idlharness.any-expected.txt": [ - [] - ], - "beacon/idlharness.any.worker-expected.txt": [ - [] - ], "beacon/resources/beacon.py": [ [] ], @@ -126907,9 +126901,6 @@ "content-security-policy/connect-src/support/worker-make-xhr.sub.js": [ [] ], - "content-security-policy/embedded-enforcement/idlharness.window-expected.txt": [ - [] - ], "content-security-policy/embedded-enforcement/support/echo-allow-csp-from.py": [ [] ], @@ -127645,9 +127636,6 @@ "cookie-store/README.md": [ [] ], - "cookie-store/idlharness.tentative.https-expected.txt": [ - [] - ], "cookie-store/idlharness_serviceworker.js": [ [] ], @@ -129214,9 +129202,6 @@ "credential-management/federatedcredential-framed-get.sub.https-expected.txt": [ [] ], - "credential-management/idlharness.https.window-expected.txt": [ - [] - ], "credential-management/passwordcredential-framed-get.sub.https-expected.txt": [ [] ], @@ -133456,6 +133441,12 @@ "css/css-contain/reference/ref-if-there-is-no-red.xht": [ [] ], + "css/css-contain/support/60x60-green.png": [ + [] + ], + "css/css-contain/support/60x60-red.png": [ + [] + ], "css/css-contain/support/blue-100x100.png": [ [] ], @@ -140053,6 +140044,9 @@ "css/css-grid/reference/grid-auto-repeat-multiple-values-001-ref.html": [ [] ], + "css/css-grid/reference/grid-block-axis-alignment-auto-margins-008-ref.html": [ + [] + ], "css/css-grid/reference/grid-different-gutters-ref.html": [ [] ], @@ -140065,6 +140059,9 @@ "css/css-grid/reference/grid-first-letter-green-margin-no-collapse-ref.html": [ [] ], + "css/css-grid/reference/grid-inline-axis-alignment-auto-margins-008-ref.html": [ + [] + ], "css/css-grid/reference/grid-layout-auto-tracks-ref.html": [ [] ], @@ -142321,36 +142318,12 @@ "css/css-shapes/shape-outside/values/shape-margin-002-expected.txt": [ [] ], - "css/css-shapes/shape-outside/values/shape-margin-003-expected.txt": [ - [] - ], "css/css-shapes/shape-outside/values/shape-margin-005-expected.txt": [ [] ], - "css/css-shapes/shape-outside/values/shape-outside-circle-010-expected.txt": [ - [] - ], - "css/css-shapes/shape-outside/values/shape-outside-circle-011-expected.txt": [ - [] - ], - "css/css-shapes/shape-outside/values/shape-outside-ellipse-010-expected.txt": [ - [] - ], - "css/css-shapes/shape-outside/values/shape-outside-ellipse-011-expected.txt": [ - [] - ], "css/css-shapes/shape-outside/values/shape-outside-inset-001-expected.txt": [ [] ], - "css/css-shapes/shape-outside/values/shape-outside-inset-008-expected.txt": [ - [] - ], - "css/css-shapes/shape-outside/values/shape-outside-inset-009-expected.txt": [ - [] - ], - "css/css-shapes/shape-outside/values/shape-outside-polygon-006-expected.txt": [ - [] - ], "css/css-shapes/shape-outside/values/support/parsing-utils.js": [ [] ], @@ -145912,9 +145885,6 @@ "css/css-transforms/transform3d-translatez-ref.html": [ [] ], - "css/css-transforms/transforms-support-calc-expected.txt": [ - [] - ], "css/css-transforms/translate-ref.html": [ [] ], @@ -147286,9 +147256,6 @@ "css/css-values/OWNERS": [ [] ], - "css/css-values/calc-background-position-002-expected.txt": [ - [] - ], "css/css-values/calc-background-position-003-expected.txt": [ [] ], @@ -149953,9 +149920,6 @@ "css/filter-effects/idlharness.any-expected.txt": [ [] ], - "css/filter-effects/idlharness.any.worker-expected.txt": [ - [] - ], "css/filter-effects/interfaces.any-expected.txt": [ [] ], @@ -150193,9 +150157,6 @@ "css/motion/offset-rotate-ref.html": [ [] ], - "css/motion/offset-supports-calc-expected.txt": [ - [] - ], "css/motion/parsing/offset-path-parsing-valid-expected.txt": [ [] ], @@ -152185,15 +152146,6 @@ "dom/historical-expected.txt": [ [] ], - "dom/idlharness.any.serviceworker-expected.txt": [ - [] - ], - "dom/idlharness.any.sharedworker-expected.txt": [ - [] - ], - "dom/idlharness.any.worker-expected.txt": [ - [] - ], "dom/idlharness.window_exclude=Node-expected.txt": [ [] ], @@ -152560,6 +152512,9 @@ "domxpath/OWNERS": [ [] ], + "domxpath/README.md": [ + [] + ], "domxpath/xml_xpath_tests.xml": [ [] ], @@ -154843,18 +154798,6 @@ "fetch/corb/resources/subframe-that-posts-html-containing-blob-url-to-parent.html": [ [] ], - "fetch/cors-rfc1918/idlharness.tentative.any-expected.txt": [ - [] - ], - "fetch/cors-rfc1918/idlharness.tentative.any.serviceworker-expected.txt": [ - [] - ], - "fetch/cors-rfc1918/idlharness.tentative.any.sharedworker-expected.txt": [ - [] - ], - "fetch/cors-rfc1918/idlharness.tentative.any.worker-expected.txt": [ - [] - ], "fetch/cross-origin-resource-policy/OWNERS": [ [] ], @@ -155590,9 +155533,6 @@ "fullscreen/api/resources/report-fullscreen-enabled.html": [ [] ], - "fullscreen/idlharness.window-expected.txt": [ - [] - ], "fullscreen/rendering/fullscreen-pseudo-class-manual-expected.txt": [ [] ], @@ -155629,9 +155569,6 @@ "generic-sensor/generic-sensor-tests.js": [ [] ], - "generic-sensor/idlharness.https.window-expected.txt": [ - [] - ], "generic-sensor/resources/iframe_sensor_handler.html": [ [] ], @@ -155734,18 +155671,6 @@ "hr-time/OWNERS": [ [] ], - "hr-time/idlharness.any-expected.txt": [ - [] - ], - "hr-time/idlharness.any.serviceworker-expected.txt": [ - [] - ], - "hr-time/idlharness.any.sharedworker-expected.txt": [ - [] - ], - "hr-time/idlharness.any.worker-expected.txt": [ - [] - ], "hr-time/resources/now_frame.html": [ [] ], @@ -156907,6 +156832,9 @@ "html/cross-origin-opener-policy/coep.https.html.headers": [ [] ], + "html/cross-origin-opener-policy/coop-navigated-popup.https-expected.txt": [ + [] + ], "html/cross-origin-opener-policy/coop-navigated-popup.https.html.headers": [ [] ], @@ -161302,9 +161230,6 @@ "html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub.html.headers": [ [] ], - "html/semantics/embedded-content/the-img-element/invalid-src-expected.txt": [ - [] - ], "html/semantics/embedded-content/the-img-element/ismap/img-ismap-coordinates-iframe-after.html": [ [] ], @@ -161392,12 +161317,42 @@ "html/semantics/forms/attributes-common-to-form-controls/dirname-ltr-iframe.html": [ [] ], + "html/semantics/forms/autofocus/first-reconnected-expected.txt": [ + [] + ], "html/semantics/forms/autofocus/first-when-later-but-before-expected.txt": [ [] ], + "html/semantics/forms/autofocus/focusable-area-in-top-document-expected.txt": [ + [] + ], "html/semantics/forms/autofocus/resources/child-autofocus.html": [ [] ], + "html/semantics/forms/autofocus/resources/erase-first.css": [ + [] + ], + "html/semantics/forms/autofocus/resources/frame-with-autofocus-element.html": [ + [] + ], + "html/semantics/forms/autofocus/resources/moving-autofocus-to-parent.html": [ + [] + ], + "html/semantics/forms/autofocus/resources/utils.js": [ + [] + ], + "html/semantics/forms/autofocus/skip-document-with-fragment-expected.txt": [ + [] + ], + "html/semantics/forms/autofocus/skip-non-focusable-expected.txt": [ + [] + ], + "html/semantics/forms/autofocus/supported-elements-expected.txt": [ + [] + ], + "html/semantics/forms/autofocus/update-the-rendering-expected.txt": [ + [] + ], "html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt": [ [] ], @@ -162136,12 +162091,6 @@ "html/semantics/scripting-1/the-script-element/module/nested-missing-export.js": [ [] ], - "html/semantics/scripting-1/the-script-element/module/referrer-origin-when-cross-origin.sub-expected.txt": [ - [] - ], - "html/semantics/scripting-1/the-script-element/module/referrer-same-origin.sub-expected.txt": [ - [] - ], "html/semantics/scripting-1/the-script-element/module/resources/404-but-js.asis": [ [] ], @@ -163012,9 +162961,6 @@ "idle-detection/idlharness.https.any-expected.txt": [ [] ], - "idle-detection/idlharness.https.any.worker-expected.txt": [ - [] - ], "idle-detection/mock.js": [ [] ], @@ -163072,9 +163018,6 @@ "images/broken.png": [ [] ], - "images/canvas-line.png": [ - [] - ], "images/clear-100x50.png": [ [] ], @@ -163351,9 +163294,15 @@ "infrastructure/expected-fail/failing-test-expected.txt": [ [] ], + "infrastructure/expected-fail/uncaught-exception-expected.txt": [ + [] + ], "infrastructure/metadata/infrastructure/assumptions/allowed-to-play.html.ini": [ [] ], + "infrastructure/metadata/infrastructure/assumptions/document-fonts-ready.html.ini": [ + [] + ], "infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini": [ [] ], @@ -163363,6 +163312,9 @@ "infrastructure/metadata/infrastructure/expected-fail/timeout.html.ini": [ [] ], + "infrastructure/metadata/infrastructure/expected-fail/uncaught-exception.html.ini": [ + [] + ], "infrastructure/metadata/infrastructure/reftest/reftest_and_fail.html.ini": [ [] ], @@ -163411,6 +163363,12 @@ "infrastructure/metadata/infrastructure/server/title.any.js.ini": [ [] ], + "infrastructure/metadata/infrastructure/server/wpt-server-http.sub.html.ini": [ + [] + ], + "infrastructure/metadata/infrastructure/server/wpt-server-websocket.sub.html.ini": [ + [] + ], "infrastructure/metadata/infrastructure/testdriver/actions/actionsWithKeyPressed.html.ini": [ [] ], @@ -163984,9 +163942,6 @@ "keyboard-lock/OWNERS": [ [] ], - "keyboard-lock/idlharness.https.window-expected.txt": [ - [] - ], "keyboard-lock/resources/iframe-lock-helper.html": [ [] ], @@ -163996,9 +163951,6 @@ "keyboard-map/OWNERS": [ [] ], - "keyboard-map/idlharness.https.window-expected.txt": [ - [] - ], "keyboard-map/resources/iframe-keyboard-map-helper.html": [ [] ], @@ -164413,6 +164365,9 @@ "mathml/relations/html5-tree/color-attributes-1-ref.html": [ [] ], + "mathml/relations/html5-tree/css-inline-style-dynamic.tentative-ref.html": [ + [] + ], "mathml/relations/html5-tree/dynamic-1-ref.html": [ [] ], @@ -164533,9 +164488,6 @@ "media-playback-quality/META.yml": [ [] ], - "media-playback-quality/idlharness.window-expected.txt": [ - [] - ], "media-source/META.yml": [ [] ], @@ -164872,9 +164824,6 @@ "mediacapture-image/getPhotoSettings-expected.txt": [ [] ], - "mediacapture-image/idlharness.window-expected.txt": [ - [] - ], "mediacapture-image/resources/imagecapture-helpers.js": [ [] ], @@ -164917,9 +164866,6 @@ "mediacapture-streams/historical.https-expected.txt": [ [] ], - "mediacapture-streams/idlharness.https.window-expected.txt": [ - [] - ], "mediacapture-streams/idlharness.window-expected.txt": [ [] ], @@ -165073,6 +165019,9 @@ "mixed-content/generic/sanity-checker.js": [ [] ], + "mixed-content/generic/test-case.sub.js": [ + [] + ], "mixed-content/generic/tools/__init__.py": [ [] ], @@ -165628,12 +165577,6 @@ "netinfo/OWNERS": [ [] ], - "netinfo/idlharness.any-expected.txt": [ - [] - ], - "netinfo/idlharness.any.worker-expected.txt": [ - [] - ], "network-error-logging/META.yml": [ [] ], @@ -165703,18 +165646,9 @@ "notifications/event-onshow-expected.txt": [ [] ], - "notifications/idlharness.https.any-expected.txt": [ - [] - ], "notifications/idlharness.https.any.serviceworker-expected.txt": [ [] ], - "notifications/idlharness.https.any.sharedworker-expected.txt": [ - [] - ], - "notifications/idlharness.https.any.worker-expected.txt": [ - [] - ], "notifications/instance-expected.txt": [ [] ], @@ -165844,9 +165778,6 @@ "orientation-event/horizontal-surface-manual.https-expected.txt": [ [] ], - "orientation-event/idlharness.https.window-expected.txt": [ - [] - ], "orientation-sensor/AbsoluteOrientationSensor-disabled-by-feature-policy.https.html.headers": [ [] ], @@ -165898,9 +165829,6 @@ "page-visibility/OWNERS": [ [] ], - "page-visibility/idlharness.window-expected.txt": [ - [] - ], "page-visibility/prerender_call-expected.txt": [ [] ], @@ -165967,9 +165895,6 @@ "payment-handler/can-make-payment-event.https-expected.txt": [ [] ], - "payment-handler/idlharness.https.any-expected.txt": [ - [] - ], "payment-handler/idlharness.https.any.serviceworker-expected.txt": [ [] ], @@ -166105,18 +166030,9 @@ "permissions/META.yml": [ [] ], - "permissions/idlharness.any-expected.txt": [ - [] - ], - "permissions/idlharness.any.worker-expected.txt": [ - [] - ], "picture-in-picture/META.yml": [ [] ], - "picture-in-picture/idlharness.window-expected.txt": [ - [] - ], "picture-in-picture/resources/picture-in-picture-helpers.js": [ [] ], @@ -166129,7 +166045,7 @@ "pointerevents/README.md": [ [] ], - "pointerevents/extension/pointerevent_coalesced_events_attributes-manual-expected.txt": [ + "pointerevents/extension/pointerevent_coalesced_events_attributes-expected.txt": [ [] ], "pointerevents/idlharness.window-expected.txt": [ @@ -166171,9 +166087,6 @@ "pointerlock/OWNERS": [ [] ], - "pointerlock/idlharness.window-expected.txt": [ - [] - ], "portals/META.yml": [ [] ], @@ -166396,9 +166309,6 @@ "presentation-api/controlling-ua/common.js": [ [] ], - "presentation-api/controlling-ua/idlharness.https-expected.txt": [ - [] - ], "presentation-api/controlling-ua/support/iframe.html": [ [] ], @@ -166471,15 +166381,6 @@ "push-api/META.yml": [ [] ], - "push-api/idlharness.https.any-expected.txt": [ - [] - ], - "push-api/idlharness.https.any.serviceworker-expected.txt": [ - [] - ], - "push-api/idlharness.https.any.sharedworker-expected.txt": [ - [] - ], "push-api/idlharness.https.any.worker-expected.txt": [ [] ], @@ -166567,6 +166468,9 @@ "referrer-policy/generic/sanity-checker.js": [ [] ], + "referrer-policy/generic/test-case.sub.js": [ + [] + ], "referrer-policy/generic/tools/__init__.py": [ [] ], @@ -168241,9 +168145,6 @@ "remote-playback/README.md": [ [] ], - "remote-playback/idlharness.window-expected.txt": [ - [] - ], "reporting/META.yml": [ [] ], @@ -168256,9 +168157,6 @@ "requestidlecallback/OWNERS": [ [] ], - "requestidlecallback/idlharness.window-expected.txt": [ - [] - ], "requestidlecallback/resources/post_name_on_load.html": [ [] ], @@ -168292,12 +168190,6 @@ "resource-timing/SyntheticResponse.py": [ [] ], - "resource-timing/idlharness.any-expected.txt": [ - [] - ], - "resource-timing/idlharness.any.worker-expected.txt": [ - [] - ], "resource-timing/no-entries-for-cross-origin-css-fetched.sub-expected.txt": [ [] ], @@ -168691,9 +168583,6 @@ "screen-capture/getdisplaymedia.https-expected.txt": [ [] ], - "screen-capture/idlharness.https.window-expected.txt": [ - [] - ], "screen-orientation/META.yml": [ [] ], @@ -168703,9 +168592,6 @@ "screen-orientation/event-before-promise-expected.txt": [ [] ], - "screen-orientation/idlharness.window-expected.txt": [ - [] - ], "screen-orientation/lock-basic-expected.txt": [ [] ], @@ -168760,18 +168646,6 @@ "secure-contexts/basic-shared-worker.https-expected.txt": [ [] ], - "secure-contexts/idlharness.any-expected.txt": [ - [] - ], - "secure-contexts/idlharness.any.serviceworker-expected.txt": [ - [] - ], - "secure-contexts/idlharness.any.sharedworker-expected.txt": [ - [] - ], - "secure-contexts/idlharness.any.worker-expected.txt": [ - [] - ], "secure-contexts/postMessage-helper.html": [ [] ], @@ -168829,9 +168703,6 @@ "selection/extend.js": [ [] ], - "selection/idlharness.window-expected.txt": [ - [] - ], "selection/removeRange-expected.txt": [ [] ], @@ -169633,9 +169504,6 @@ "service-workers/service-worker/interfaces-sw.https-expected.txt": [ [] ], - "service-workers/service-worker/interfaces-window.https-expected.txt": [ - [] - ], "service-workers/service-worker/local-url-inherit-controller.https-expected.txt": [ [] ], @@ -170983,12 +170851,6 @@ "sms/README.md": [ [] ], - "sms/idlharness.https.any-expected.txt": [ - [] - ], - "sms/idlharness.https.any.worker-expected.txt": [ - [] - ], "sms/resources/iframe.html": [ [] ], @@ -171043,12 +170905,6 @@ "storage/helpers.js": [ [] ], - "storage/idlharness.https.any-expected.txt": [ - [] - ], - "storage/idlharness.https.any.worker-expected.txt": [ - [] - ], "storage/persist-permission-manual.https-expected.txt": [ [] ], @@ -171412,9 +171268,6 @@ "subresource-integrity/ed25519-style.css.headers": [ [] ], - "subresource-integrity/idlharness.window-expected.txt": [ - [] - ], "subresource-integrity/image.png": [ [] ], @@ -171775,6 +171628,12 @@ "svg/struct/reftests/reference/green-100x100.svg": [ [] ], + "svg/struct/scripted/autofocus-attribute-expected.txt": [ + [] + ], + "svg/struct/scripted/blank.svg": [ + [] + ], "svg/styling/render/transform-box-ref.svg": [ [] ], @@ -175714,9 +175573,6 @@ "trusted-types/block-string-assignment-to-HTMLElement-generic.tentative-expected.txt": [ [] ], - "trusted-types/idlharness.window-expected.txt": [ - [] - ], "trusted-types/support/WorkerGlobalScope-importScripts.https.js": [ [] ], @@ -175729,6 +175585,15 @@ "trusted-types/support/worker.js": [ [] ], + "trusted-types/trusted-types-eval-reporting-no-unsafe-eval.tentative.https.html.headers": [ + [] + ], + "trusted-types/trusted-types-eval-reporting-report-only.tentative.https.html.headers": [ + [] + ], + "trusted-types/trusted-types-eval-reporting.tentative.https.html.headers": [ + [] + ], "trusted-types/trusted-types-report-only.tentative.https.html.headers": [ [] ], @@ -176119,9 +175984,6 @@ "vibration/OWNERS": [ [] ], - "vibration/idlharness.window-expected.txt": [ - [] - ], "vibration/silent-ignore-expected.txt": [ [] ], @@ -176143,12 +176005,6 @@ "wake-lock/OWNERS": [ [] ], - "wake-lock/idlharness.https.any-expected.txt": [ - [] - ], - "wake-lock/idlharness.https.any.worker-expected.txt": [ - [] - ], "wake-lock/resources/page1.html": [ [] ], @@ -176428,6 +176284,18 @@ "web-animations/timing-model/animations/canceling-an-animation-expected.txt": [ [] ], + "web-animations/timing-model/animations/pausing-an-animation-expected.txt": [ + [] + ], + "web-animations/timing-model/animations/reversing-an-animation-expected.txt": [ + [] + ], + "web-animations/timing-model/animations/setting-the-start-time-of-an-animation-expected.txt": [ + [] + ], + "web-animations/timing-model/animations/setting-the-target-effect-of-an-animation-expected.txt": [ + [] + ], "web-animations/timing-model/animations/setting-the-timeline-of-an-animation-expected.txt": [ [] ], @@ -176443,18 +176311,6 @@ "web-locks/clientids.tentative.https-expected.txt": [ [] ], - "web-locks/idlharness.tentative.https.any-expected.txt": [ - [] - ], - "web-locks/idlharness.tentative.https.any.serviceworker-expected.txt": [ - [] - ], - "web-locks/idlharness.tentative.https.any.sharedworker-expected.txt": [ - [] - ], - "web-locks/idlharness.tentative.https.any.worker-expected.txt": [ - [] - ], "web-locks/resources/helpers.js": [ [] ], @@ -176494,9 +176350,6 @@ "web-share/OWNERS": [ [] ], - "web-share/idlharness.https.window-expected.txt": [ - [] - ], "web-share/resources/manual-helper.js": [ [] ], @@ -177601,9 +177454,6 @@ "webstorage/event_setattribute.js": [ [] ], - "webstorage/idlharness.window-expected.txt": [ - [] - ], "webstorage/resources/event_body_handler.html": [ [] ], @@ -179092,9 +178942,6 @@ "webxr/OWNERS": [ [] ], - "webxr/idlharness.https.window-expected.txt": [ - [] - ], "webxr/resources/webxr_check.html": [ [] ], @@ -179869,27 +179716,15 @@ "worklets/animation-worklet-credentials.https-expected.txt": [ [] ], - "worklets/animation-worklet-referrer.https-expected.txt": [ - [] - ], "worklets/audio-worklet-credentials.https-expected.txt": [ [] ], - "worklets/audio-worklet-referrer.https-expected.txt": [ - [] - ], "worklets/layout-worklet-credentials.https-expected.txt": [ [] ], - "worklets/layout-worklet-referrer.https-expected.txt": [ - [] - ], "worklets/paint-worklet-credentials.https-expected.txt": [ [] ], - "worklets/paint-worklet-referrer.https-expected.txt": [ - [] - ], "worklets/resources/addmodule-window.html": [ [] ], @@ -180031,9 +179866,6 @@ "xhr/folder.txt": [ [] ], - "xhr/idlharness.any-expected.txt": [ - [] - ], "xhr/idlharness.any.sharedworker-expected.txt": [ [] ], @@ -180427,9 +180259,6 @@ "xslt/externalScript.js": [ [] ], - "xslt/idlharness.tentative.window-expected.txt": [ - [] - ], "xslt/transformToFragment.tentative.window-expected.txt": [ [] ] @@ -187462,7 +187291,9 @@ "IndexedDB/idbobjectstore_createIndex15-autoincrement.htm": [ [ "IndexedDB/idbobjectstore_createIndex15-autoincrement.htm", - {} + { + "timeout": "long" + } ] ], "IndexedDB/idbobjectstore_createIndex2.htm": [ @@ -196010,14 +195841,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196039,14 +195862,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196068,14 +195883,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196097,14 +195904,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196126,14 +195925,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196155,14 +195946,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196184,14 +195967,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196213,14 +195988,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196242,14 +196009,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196271,14 +196030,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196300,14 +196051,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196329,14 +196072,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196358,14 +196093,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196387,14 +196114,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196416,14 +196135,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196445,14 +196156,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196474,14 +196177,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196503,14 +196198,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196532,14 +196219,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196561,14 +196240,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196590,14 +196261,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196619,14 +196282,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196648,14 +196303,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196677,14 +196324,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196706,14 +196345,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196735,14 +196366,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196764,14 +196387,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196793,14 +196408,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196822,14 +196429,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196851,14 +196450,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196880,14 +196471,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196909,14 +196492,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196938,14 +196513,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196967,14 +196534,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -196996,14 +196555,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197025,14 +196576,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197054,14 +196597,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197083,14 +196618,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197112,14 +196639,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197141,14 +196660,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197170,14 +196681,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197608,14 +197111,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197637,14 +197132,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197666,14 +197153,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197695,14 +197174,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197724,14 +197195,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197753,14 +197216,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197782,14 +197237,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197811,14 +197258,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197840,14 +197279,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197869,14 +197300,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197898,14 +197321,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197927,14 +197342,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197956,14 +197363,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -197985,14 +197384,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198014,14 +197405,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198043,14 +197426,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198112,14 +197487,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198141,14 +197508,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198170,14 +197529,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198199,14 +197550,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198228,14 +197571,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198257,14 +197592,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198286,14 +197613,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198315,14 +197634,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198344,14 +197655,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198373,14 +197676,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198402,14 +197697,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198431,14 +197718,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198460,14 +197739,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198489,14 +197760,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198518,14 +197781,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198547,14 +197802,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198576,14 +197823,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198605,14 +197844,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198634,14 +197865,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198663,14 +197886,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198692,14 +197907,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198721,14 +197928,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198750,14 +197949,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198779,14 +197970,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198808,14 +197991,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198837,14 +198012,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198914,14 +198081,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198943,14 +198102,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -198972,14 +198123,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199001,14 +198144,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199030,14 +198165,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199059,14 +198186,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199088,14 +198207,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199149,14 +198260,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199178,14 +198281,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199207,14 +198302,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199236,14 +198323,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199265,14 +198344,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199294,14 +198365,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199323,14 +198386,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199352,14 +198407,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199381,14 +198428,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199410,14 +198449,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -199439,14 +198470,6 @@ "script_metadata": [ [ "script", - "/resources/testharness.js" - ], - [ - "script", - "/resources/testharnessreport.js" - ], - [ - "script", "/resources/testdriver.js" ], [ @@ -203446,6 +202469,12 @@ {} ] ], + "css/CSS2/linebox/video-needs-layout-crash.html": [ + [ + "css/CSS2/linebox/video-needs-layout-crash.html", + {} + ] + ], "css/CSS2/normal-flow/auto-margins-root-element.html": [ [ "css/CSS2/normal-flow/auto-margins-root-element.html", @@ -204346,6 +203375,12 @@ {} ] ], + "css/css-animations/keyframes-remove-documentElement-crash.html": [ + [ + "css/css-animations/keyframes-remove-documentElement-crash.html", + {} + ] + ], "css/css-animations/parsing/animation-delay-computed.html": [ [ "css/css-animations/parsing/animation-delay-computed.html", @@ -207634,6 +206669,48 @@ {} ] ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-001.html": [ + [ + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-001.html", + {} + ] + ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-002.html": [ + [ + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-002.html", + {} + ] + ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-003.html": [ + [ + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-003.html", + {} + ] + ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-004.html": [ + [ + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-004.html", + {} + ] + ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-005.html": [ + [ + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-005.html", + {} + ] + ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-006.html": [ + [ + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-006.html", + {} + ] + ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-007.html": [ + [ + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-007.html", + {} + ] + ], "css/css-grid/alignment/grid-column-axis-alignment-positioned-items-001.html": [ [ "css/css-grid/alignment/grid-column-axis-alignment-positioned-items-001.html", @@ -207796,6 +206873,48 @@ {} ] ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-001.html": [ + [ + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-001.html", + {} + ] + ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-002.html": [ + [ + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-002.html", + {} + ] + ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-003.html": [ + [ + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-003.html", + {} + ] + ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-004.html": [ + [ + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-004.html", + {} + ] + ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-005.html": [ + [ + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-005.html", + {} + ] + ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-006.html": [ + [ + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-006.html", + {} + ] + ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-007.html": [ + [ + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-007.html", + {} + ] + ], "css/css-grid/alignment/grid-row-axis-alignment-positioned-items-001.html": [ [ "css/css-grid/alignment/grid-row-axis-alignment-positioned-items-001.html", @@ -210202,6 +209321,12 @@ {} ] ], + "css/css-multicol/with-custom-layout-on-same-element-crash.https.html": [ + [ + "css/css-multicol/with-custom-layout-on-same-element-crash.https.html", + {} + ] + ], "css/css-multicol/zero-column-width-computed-style.html": [ [ "css/css-multicol/zero-column-width-computed-style.html", @@ -214810,6 +213935,12 @@ {} ] ], + "css/css-text/overflow-wrap/overflow-wrap-break-word-white-space-crash.html": [ + [ + "css/css-text/overflow-wrap/overflow-wrap-break-word-white-space-crash.html", + {} + ] + ], "css/css-text/overflow-wrap/word-wrap-alias.html": [ [ "css/css-text/overflow-wrap/word-wrap-alias.html", @@ -224478,12 +223609,6 @@ {} ] ], - "domxpath/interfaces.tentative.html": [ - [ - "domxpath/interfaces.tentative.html", - {} - ] - ], "domxpath/xml_xpath_runner.html": [ [ "domxpath/xml_xpath_runner.html", @@ -247126,6 +246251,18 @@ {} ] ], + "html/semantics/forms/autofocus/autofocus-on-stable-document.html": [ + [ + "html/semantics/forms/autofocus/autofocus-on-stable-document.html", + {} + ] + ], + "html/semantics/forms/autofocus/first-reconnected.html": [ + [ + "html/semantics/forms/autofocus/first-reconnected.html", + {} + ] + ], "html/semantics/forms/autofocus/first-when-later-but-before.html": [ [ "html/semantics/forms/autofocus/first-when-later-but-before.html", @@ -247144,6 +246281,12 @@ {} ] ], + "html/semantics/forms/autofocus/focusable-area-in-top-document.html": [ + [ + "html/semantics/forms/autofocus/focusable-area-in-top-document.html", + {} + ] + ], "html/semantics/forms/autofocus/no-cross-origin-autofocus.html": [ [ "html/semantics/forms/autofocus/no-cross-origin-autofocus.html", @@ -247152,12 +246295,66 @@ } ] ], + "html/semantics/forms/autofocus/no-sandboxed-automatic-features.html": [ + [ + "html/semantics/forms/autofocus/no-sandboxed-automatic-features.html", + {} + ] + ], "html/semantics/forms/autofocus/not-on-first-task.html": [ [ "html/semantics/forms/autofocus/not-on-first-task.html", {} ] ], + "html/semantics/forms/autofocus/queue-non-focusable.html": [ + [ + "html/semantics/forms/autofocus/queue-non-focusable.html", + {} + ] + ], + "html/semantics/forms/autofocus/skip-another-top-level-browsing-context.html": [ + [ + "html/semantics/forms/autofocus/skip-another-top-level-browsing-context.html", + {} + ] + ], + "html/semantics/forms/autofocus/skip-document-with-fragment.html": [ + [ + "html/semantics/forms/autofocus/skip-document-with-fragment.html", + {} + ] + ], + "html/semantics/forms/autofocus/skip-non-focusable.html": [ + [ + "html/semantics/forms/autofocus/skip-non-focusable.html", + {} + ] + ], + "html/semantics/forms/autofocus/skip-not-fully-active.html": [ + [ + "html/semantics/forms/autofocus/skip-not-fully-active.html", + {} + ] + ], + "html/semantics/forms/autofocus/spin-by-blocking-style-sheet.html": [ + [ + "html/semantics/forms/autofocus/spin-by-blocking-style-sheet.html", + {} + ] + ], + "html/semantics/forms/autofocus/supported-elements.html": [ + [ + "html/semantics/forms/autofocus/supported-elements.html", + {} + ] + ], + "html/semantics/forms/autofocus/update-the-rendering.html": [ + [ + "html/semantics/forms/autofocus/update-the-rendering.html", + {} + ] + ], "html/semantics/forms/constraints/form-validation-checkValidity.html": [ [ "html/semantics/forms/constraints/form-validation-checkValidity.html", @@ -254132,7 +253329,9 @@ "import-maps/bare.sub.tentative.html": [ [ "import-maps/bare.sub.tentative.html", - {} + { + "timeout": "long" + } ] ], "import-maps/builtin-empty.tentative.html": [ @@ -254387,6 +253586,12 @@ {} ] ], + "infrastructure/expected-fail/uncaught-exception.html": [ + [ + "infrastructure/expected-fail/uncaught-exception.html", + {} + ] + ], "infrastructure/server/context.any.js": [ [ "infrastructure/server/context.any.html", @@ -271362,6 +270567,14 @@ } ] ], + "pointerevents/extension/pointerevent_coalesced_events_attributes.html": [ + [ + "pointerevents/extension/pointerevent_coalesced_events_attributes.html", + { + "testdriver": true + } + ] + ], "pointerevents/extension/pointerevent_constructor.html": [ [ "pointerevents/extension/pointerevent_constructor.html", @@ -283280,6 +282493,52 @@ } ] ], + "screen_enumeration/requestDisplays.tentative.https.any.js": [ + [ + "screen_enumeration/requestDisplays.tentative.https.any.html", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,sharedworker,serviceworker" + ] + ] + } + ], + [ + "screen_enumeration/requestDisplays.tentative.https.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,sharedworker,serviceworker" + ] + ] + } + ], + [ + "screen_enumeration/requestDisplays.tentative.https.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,sharedworker,serviceworker" + ] + ] + } + ], + [ + "screen_enumeration/requestDisplays.tentative.https.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,sharedworker,serviceworker" + ] + ] + } + ] + ], "scroll-animations/constructor-no-document.html": [ [ "scroll-animations/constructor-no-document.html", @@ -293967,6 +293226,12 @@ {} ] ], + "svg/struct/scripted/autofocus-attribute.svg": [ + [ + "svg/struct/scripted/autofocus-attribute.svg", + {} + ] + ], "svg/styling/required-properties.svg": [ [ "svg/styling/required-properties.svg", @@ -294700,6 +293965,24 @@ } ] ], + "trusted-types/trusted-types-eval-reporting-no-unsafe-eval.tentative.https.html": [ + [ + "trusted-types/trusted-types-eval-reporting-no-unsafe-eval.tentative.https.html", + {} + ] + ], + "trusted-types/trusted-types-eval-reporting-report-only.tentative.https.html": [ + [ + "trusted-types/trusted-types-eval-reporting-report-only.tentative.https.html", + {} + ] + ], + "trusted-types/trusted-types-eval-reporting.tentative.https.html": [ + [ + "trusted-types/trusted-types-eval-reporting.tentative.https.html", + {} + ] + ], "trusted-types/trusted-types-report-only.tentative.https.html": [ [ "trusted-types/trusted-types-report-only.tentative.https.html", @@ -320072,7 +319355,7 @@ "support" ], "2dcontext/building-paths/canvas_complexshapes_arcto_001-ref.htm": [ - "6fc212ea482063bfeb88cff14d9829fdd2684669", + "31ddfcafd9d1e4ba0c29b4297d7f2050f5cc8435", "support" ], "2dcontext/building-paths/canvas_complexshapes_arcto_001.htm": [ @@ -320080,7 +319363,7 @@ "reftest" ], "2dcontext/building-paths/canvas_complexshapes_beziercurveto_001-ref.htm": [ - "935e84c5c85229fe95582575124feb8b87a20664", + "6be08c0b3c8378cf73e2d115f44b5a46529ddb27", "support" ], "2dcontext/building-paths/canvas_complexshapes_beziercurveto_001.htm": [ @@ -324471,18 +323754,10 @@ "e5e6a2361f0d0716a27e5e7c5bf63a5527ea5ca8", "support" ], - "BackgroundSync/idlharness.https.any-expected.txt": [ - "9882a5f89efa8844bdcf291e8aa503ef06c25917", - "support" - ], "BackgroundSync/idlharness.https.any.js": [ "989139e99041d6ec8dd64181de7a994e4b88112c", "testharness" ], - "BackgroundSync/idlharness.https.any.worker-expected.txt": [ - "9882a5f89efa8844bdcf291e8aa503ef06c25917", - "support" - ], "BackgroundSync/periodicsync.https.window.js": [ "4c8d2eb5f4241e5ecdf6efd85a24056bf575d8b0", "testharness" @@ -324623,18 +323898,10 @@ "4f841f1763945946a4e2445a85a23b5d4326c386", "testharness" ], - "FileAPI/idlharness-expected.txt": [ - "4684710997d0a5b991870028aceadb74238067d4", - "support" - ], "FileAPI/idlharness.html": [ "db6592e6220d02b608f504f8f2a654779c8b0241", "testharness" ], - "FileAPI/idlharness.worker-expected.txt": [ - "8349f0565b75eaf012de6280bae1173b276496bf", - "support" - ], "FileAPI/idlharness.worker.js": [ "5bf82e0b890327d0f389b5cbe95b39eacadb42dd", "testharness" @@ -325827,12 +325094,8 @@ "a0ec288cb3808d7e32e3100bb9c537d30895bbd5", "testharness" ], - "IndexedDB/idbobjectstore_createIndex15-autoincrement-expected.txt": [ - "0b3617772ed1c524ad180352ce41aa8ad6c5511e", - "support" - ], "IndexedDB/idbobjectstore_createIndex15-autoincrement.htm": [ - "87ea39ce3d240c38359c17b324b11a08441368ee", + "c66b81548adb1ef287b2ba075e66d6dbb8e6360b", "testharness" ], "IndexedDB/idbobjectstore_createIndex2.htm": [ @@ -326075,10 +325338,6 @@ "359f6fb69119b5c6605047f0e0c38ef6fe847009", "support" ], - "IndexedDB/idlharness.any-expected.txt": [ - "c717e8bd63fd15f780df7cf75837f935420aa970", - "support" - ], "IndexedDB/idlharness.any.js": [ "efb84661e8044d146ab0704f18a6a3805ff3c803", "testharness" @@ -326087,14 +325346,6 @@ "c717e8bd63fd15f780df7cf75837f935420aa970", "support" ], - "IndexedDB/idlharness.any.sharedworker-expected.txt": [ - "c717e8bd63fd15f780df7cf75837f935420aa970", - "support" - ], - "IndexedDB/idlharness.any.worker-expected.txt": [ - "c717e8bd63fd15f780df7cf75837f935420aa970", - "support" - ], "IndexedDB/index_sort_order.htm": [ "6249c4204897ffd9f292908ca50dae6f8655c02e", "testharness" @@ -326743,10 +325994,6 @@ "dd970ebfa60cdc96c64da1c9d7f326bc1bcaad01", "testharness" ], - "WebCryptoAPI/idlharness.https.any-expected.txt": [ - "7f6b75abaff55c7bbcebb5892874a83a74718dfa", - "support" - ], "WebCryptoAPI/idlharness.https.any.js": [ "b0ccebd9f48999284ec36dbfb11a35314efa3135", "testharness" @@ -327348,7 +326595,7 @@ "testharness" ], "animation-worklet/idlharness.any-expected.txt": [ - "d31746b20fe8c012b008f0500ddd9808015ca180", + "f21be8b3774defb29745b68ef3890856a0cf277e", "support" ], "animation-worklet/idlharness.any.js": [ @@ -327356,7 +326603,7 @@ "testharness" ], "animation-worklet/idlharness.any.worker-expected.txt": [ - "d31746b20fe8c012b008f0500ddd9808015ca180", + "910bda1d8173359a021ea0fbec68d59cb0324162", "support" ], "animation-worklet/inactive-timeline.https.html": [ @@ -327555,10 +326802,6 @@ "0b9c714df2a45545212397d7e391655f3e1091cf", "support" ], - "appmanifest/idlharness.window-expected.txt": [ - "d2186c025f7acad0057354533836f65d68e0171f", - "support" - ], "appmanifest/idlharness.window.js": [ "55e8b9871e794c944f329e0e9df6ec140124c660", "testharness" @@ -327571,10 +326814,6 @@ "ebf84dd43fe17d345f7db7cd736470d403ff6c99", "support" ], - "audio-output/idlharness.https.window-expected.txt": [ - "e4b69030cf37936290f54af068a7f90dcf16e8a3", - "support" - ], "audio-output/idlharness.https.window.js": [ "c13b167296d8059b96bfa4704714051e341ee987", "testharness" @@ -327627,10 +326866,6 @@ "cb678e692d8db0c17ecfd795998babffeb2a2d87", "testharness" ], - "background-fetch/idlharness.https.any-expected.txt": [ - "a2d9cba8d2926d2b344dc690f304e6ca5e6f7b72", - "support" - ], "background-fetch/idlharness.https.any.js": [ "f9744c8f944fcefe5a6a21e9a7644cf88644c173", "testharness" @@ -327639,10 +326874,6 @@ "a2d9cba8d2926d2b344dc690f304e6ca5e6f7b72", "support" ], - "background-fetch/idlharness.https.any.sharedworker-expected.txt": [ - "a2d9cba8d2926d2b344dc690f304e6ca5e6f7b72", - "support" - ], "background-fetch/idlharness.https.any.worker-expected.txt": [ "a2d9cba8d2926d2b344dc690f304e6ca5e6f7b72", "support" @@ -327731,10 +326962,6 @@ "9d2c9fd1d41dc299a59c4e374c954302db1ac502", "testharness" ], - "battery-status/battery-interface-idlharness.https.window-expected.txt": [ - "103a302c10a41119d7449b8387486adbcd68a212", - "support" - ], "battery-status/battery-interface-idlharness.https.window.js": [ "b33c82e426c7fe35c6c54a649d12685d3419d9e7", "testharness" @@ -327895,18 +327122,10 @@ "ebd67df1d767636a5044cec105ee5d3b1a3e606a", "support" ], - "beacon/idlharness.any-expected.txt": [ - "23bf13b5c3cac13adc17d66eeadb98b35218132d", - "support" - ], "beacon/idlharness.any.js": [ "bf267ab8bdce52ce32df4ea3a53b30b6d35c8000", "testharness" ], - "beacon/idlharness.any.worker-expected.txt": [ - "23bf13b5c3cac13adc17d66eeadb98b35218132d", - "support" - ], "beacon/resources/beacon.py": [ "5f2553d3c4d506f7e292cfb73d81930a83a12d76", "support" @@ -327932,167 +327151,167 @@ "support" ], "bluetooth/adapter/adapter-absent-getAvailability.https.window.js": [ - "cec09c38b138653297ee1df6ab0811a0575978bc", + "a9f540ecd34331271e27b99f74e155f40b41f6ec", "testharness" ], "bluetooth/adapter/adapter-added-getAvailability.https.window.js": [ - "d5e9d1f2b6ffbb009b03d0cde8155144aeee630b", + "30c47201f072206e548cc5ea3417c91383fffcc7", "testharness" ], "bluetooth/adapter/adapter-powered-off-getAvailability.https.window.js": [ - "8fe9265a46ed22a9bb0e0480f045135b323565f0", + "b760d4bc2728212a025b7d8fd1a34c002e62840b", "testharness" ], "bluetooth/adapter/adapter-powered-on-getAvailability.https.window.js": [ - "8b9256a4c35680722ad2ee00784de6649b703611", + "f98a88eea9e1d2e0adb21d616802931af09c2481", "testharness" ], "bluetooth/adapter/adapter-powered-on-off-on-getAvailability.https.window.js": [ - "b8b49121fc0170eb9dc95614b5c3b19ef16bd02b", + "ac664a8981267007ada522bfd610209995dbfe16", "testharness" ], "bluetooth/adapter/adapter-removed-getAvailability.https.window.js": [ - "cc2c33d1d4c2bf2cdad0cd0874a739b462ff90ec", + "00425aa56f25fb208503c46cb12a2f422ee141f5", "testharness" ], "bluetooth/adapter/cross-origin-iframe-getAvailability.sub.https.window.js": [ - "bf5e4226e08d44e521b533f020c0deaa95851983", + "ce633c63f981921cbb9ea2ab5f2f71a839cb8acb", "testharness" ], "bluetooth/characteristic/characteristicProperties.https.window.js": [ - "abe9f79ce26ed7cc9f5c17cfd2f0e1e70d1d3657", + "5239accab97942ea1ff8e1cccd3bc383977e915d", "testharness" ], "bluetooth/characteristic/getDescriptor/gen-characteristic-is-removed.https.window.js": [ - "97256a4533007d9c52ec395ba5a811c212aaf48c", + "eb91e972c4e537f6eea30c844358ef4a30d911eb", "testharness" ], "bluetooth/characteristic/getDescriptor/gen-descriptor-get-same-object.https.window.js": [ - "8847efab3c1565150110155f3fcbf11c54003846", + "4cff64bbdad180314b76784ea4f0720ba6df83fd", "testharness" ], "bluetooth/characteristic/getDescriptor/gen-service-is-removed.https.window.js": [ - "b9dc92482ab6f4f564c322c2fa9b19198e576e33", + "f5d1761994abc3800dbc6e62ee4357fbceeb26f5", "testharness" ], "bluetooth/characteristic/getDescriptors/gen-characteristic-is-removed-with-uuid.https.window.js": [ - "25bde7cecc5fbfa7d83bf5fd5c29f551598a2d43", + "7405a8ee6e3a5fc4a78061b30f98608b2946f545", "testharness" ], "bluetooth/characteristic/getDescriptors/gen-characteristic-is-removed.https.window.js": [ - "c3ff9f6a05c625da3ffc4ab5bdab3a6bab82f524", + "470f7043be314bf6e7c0678806c948cb0591e2ed", "testharness" ], "bluetooth/characteristic/getDescriptors/gen-descriptor-get-same-object.https.window.js": [ - "c997d7afda2c1faef8fe2e33ac430286334edd4d", + "1dc58aea155206df60f567bbba3560887d6f24a0", "testharness" ], "bluetooth/characteristic/getDescriptors/gen-service-is-removed-with-uuid.https.window.js": [ - "03bb51239dccd4ca479f8159052086c2c0c1c285", + "5ee7e0d24943bc939ee2a2b9bbf7940d212d1218", "testharness" ], "bluetooth/characteristic/getDescriptors/gen-service-is-removed.https.window.js": [ - "762f9cc99554aa206f7cf4c767c2db5dbdb0634c", + "24a2087e938fed32a63c9b0fed8ca20b437be6b4", "testharness" ], "bluetooth/characteristic/notifications/characteristic-is-removed.https.window.js": [ - "6b5d3e22a121e64c75e217e73631c7cd6ad86865", + "2ab165d9044520d62f4d4fb334b4f148c865ecab", "testharness" ], "bluetooth/characteristic/notifications/service-is-removed.https.window.js": [ - "29bc671c5d4c9e27e4fc59b4dee520a494770cd8", + "d2456934d83dc75720dff84429932a157094cf56", "testharness" ], "bluetooth/characteristic/readValue/add-multiple-event-listeners.https.window.js": [ - "7e6e4159bb11234b01162b3daf080143c0055252", + "13709ea941ed5ca54f6b2e38d4017afa3c9995c2", "testharness" ], "bluetooth/characteristic/readValue/characteristic-is-removed.https.window.js": [ - "07678e6e037b211ee9560a6c1af02465e7cc4e11", + "269f2cb4a1f010a972a156090763ebb152fcb5c2", "testharness" ], "bluetooth/characteristic/readValue/event-is-fired.https.window.js": [ - "eee34d0612d3611121d219c0b4098937df507ece", + "03b8f2b4cee8ec0c77630d15dbb7df711921f6c4", "testharness" ], "bluetooth/characteristic/readValue/gen-characteristic-is-removed.https.window.js": [ - "a2de3c39e20626b617926618da10acfb5f81a83d", + "26efe8b306b4a99e7ac4a34f153c1b909f029cf7", "testharness" ], "bluetooth/characteristic/readValue/read-succeeds.https.window.js": [ - "aeece7d11f480e5cf7122ef97bc9eb098a7da883", + "82be128f31242ccc55a761c09a992a1132064faa", "testharness" ], "bluetooth/characteristic/readValue/read-updates-value.https.window.js": [ - "45da8af25020374c8b876984017fbefc95f4b8f1", + "34da455ddff4a91ee16f969b096f7821fb2d00bc", "testharness" ], "bluetooth/characteristic/readValue/service-is-removed.https.window.js": [ - "07e9701d3c321dfdf166195ec4eab6c2f354f216", + "20dd4ba1c05e5850f16234d693c32dab0350bd4e", "testharness" ], "bluetooth/characteristic/service-same-from-2-characteristics.https.window.js": [ - "e3bc5d0e103d66368db4b294e3e09d8a9018b792", + "b34b3b9216abec77727dcda84a83e07f3eedb210", "testharness" ], "bluetooth/characteristic/service-same-object.https.window.js": [ - "6b1f543ae5e9944d4792a01209417016f4566a2e", + "b58902ae51957b91ee63eb4f53acd1c0e353f7ef", "testharness" ], "bluetooth/characteristic/startNotifications/gen-characteristic-is-removed.https.window.js": [ - "76b2d42a481f1f73ba869e2350627c080531bf7e", + "af27f933d8f10207caf1574befa6d9f64767fc45", "testharness" ], "bluetooth/characteristic/writeValue/buffer-is-detached.https.window.js": [ - "35347e3bcf8fdc3c895e6daea5d9b7247cbcfcac", + "cefbb6ee8c349d80d0dd8bc20fe370a771d02916", "testharness" ], "bluetooth/characteristic/writeValue/characteristic-is-removed.https.window.js": [ - "33a963bed0950485a06685df8a601025bd4c419c", + "c0f5a3e6509c91efb5dae8cb9a3b07875ab6051b", "testharness" ], "bluetooth/characteristic/writeValue/gen-characteristic-is-removed.https.window.js": [ - "00c50894e5bb1e444ecc02c441d6bd6343ccdd58", + "d5ac10fc611443cdde02761448e6f479390bf790", "testharness" ], "bluetooth/characteristic/writeValue/service-is-removed.https.window.js": [ - "a9f812c137f236ac088fbf42886c44e92eabafc4", + "e7a2837c389a1076b548dc5256fe78eaa1059162", "testharness" ], "bluetooth/characteristic/writeValue/write-succeeds.https.window.js": [ - "1472c619a2dbdf5c8536e240ff024349a6e938ea", + "cdda9cec345b81297966b74ab2152f02010ec6b7", "testharness" ], "bluetooth/descriptor/readValue/gen-service-is-removed.https.window.js": [ - "3b6c78a97c586fd02da2ccd53c81291b79512f8c", + "aa95687094b50340503d8cc5bcdeaec7e5bf3bdf", "testharness" ], "bluetooth/descriptor/readValue/read-succeeds.https.window.js": [ - "5f3c5f8f084c11639ea86f7332d03f56e7c72b4e", + "fc1facaf58e37550c4fb9a4d5b66f2180072cbe8", "testharness" ], "bluetooth/descriptor/writeValue/buffer-is-detached.https.window.js": [ - "23ea2329a64f4da8a4cc5cd4a9de7ed0a7b6047e", + "2ff277ec9496e73961c9f8efa903f465d2fa776b", "testharness" ], "bluetooth/descriptor/writeValue/gen-service-is-removed.https.window.js": [ - "ca75ebaba8867c0ede9ed743537ace2b702f095d", + "a486819b55a114e9e4bbde31b709cf00c7aae1c5", "testharness" ], "bluetooth/device/gattserverdisconnected-event/disconnected.https.window.js": [ - "245e43d31504a555af42971b87978a4f48c949a2", + "dab54d5da2961eae72d6bd05eb15023dd8a2a46a", "testharness" ], "bluetooth/device/gattserverdisconnected-event/disconnected_gc.https.window.js": [ - "69e30443ee6f505fbd2a4623457251ac564bcb4b", + "a15cc943f4e1180ea092e24db9112658b40c5b99", "testharness" ], "bluetooth/device/gattserverdisconnected-event/one-event-per-disconnection.https.window.js": [ - "317eddee9ba86d6b1357ce6a845b2b99c78d15da", + "f5e45f99755dbd05f24cbca9584d67e5e6654c32", "testharness" ], "bluetooth/device/gattserverdisconnected-event/reconnect-during-disconnected-event.https.window.js": [ - "93a46eeb934f0ebef9ff378ed7f9e59379d9d094", + "8f264c7b02524a84ac67e6fbe343045ae8eb07a6", "testharness" ], "bluetooth/generate.py": [ @@ -328124,7 +327343,7 @@ "testharness" ], "bluetooth/idl/idlharness.tentative.https.window-expected.txt": [ - "23bf13b5c3cac13adc17d66eeadb98b35218132d", + "f1827c946b4909af8e25a3b90f2b6fcb8b21874f", "support" ], "bluetooth/idl/idlharness.tentative.https.window.js": [ @@ -328292,7 +327511,7 @@ "support" ], "bluetooth/script-tests/base_test_js.template": [ - "56971d2c6c98faaf479f3a89fb0757e85bf9b42c", + "c0fa4aed552db72575b8344c7e495680eac84916", "support" ], "bluetooth/script-tests/characteristic/characteristic-is-removed.js": [ @@ -328436,67 +327655,67 @@ "testharness" ], "bluetooth/server/getPrimaryService/gen-disconnect-called-before.https.window.js": [ - "2d94b41e0207689824be914a21ef7fab4f866d10", + "1eb62d3a3118e9c63decb6d82aeb0aa906e396f3", "testharness" ], "bluetooth/server/getPrimaryService/gen-disconnect-called-during-error.https.window.js": [ - "0d6e8a7a179070c7d4a023ad550d8b25f3a3bcdf", + "c7c80244193016db84dbbf8e9f3441e2a4937b96", "testharness" ], "bluetooth/server/getPrimaryService/gen-disconnect-called-during-success.https.window.js": [ - "18af59d7f803a5a7adbcf1658a4449302b5d8291", + "5655d8ee41cd1765f105772f42dcacfcf0a27e6f", "testharness" ], "bluetooth/server/getPrimaryService/gen-disconnect-invalidates-objects.https.window.js": [ - "5cfe893f5d81ca2a6c07ec02e4c29ab96b594175", + "c95f8b921a74eeedf06f8c987bd233ca97c060fb", "testharness" ], "bluetooth/server/getPrimaryService/gen-disconnected-device.https.window.js": [ - "622f2cf3212cf66f11545e157e0fa389c7f5f3d8", + "e610b715b3aae554bec472cc5fcc74d3fc4fb7ad", "testharness" ], "bluetooth/server/getPrimaryService/gen-discovery-complete-no-permission-absent-service.https.window.js": [ - "5afb0262658249caee332d8988f62a5da8829865", + "ee3cf97f4db9f68cffac91c55bf282ab54b8906b", "testharness" ], "bluetooth/server/getPrimaryService/gen-discovery-complete-service-not-found.https.window.js": [ - "86fa5e9b011b8c4c08ffad135a5e893c138c4e4b", + "5bf720cd48eb0eeec5f89488384f078ce37c9cd6", "testharness" ], "bluetooth/server/getPrimaryService/gen-garbage-collection-ran-during-error.https.window.js": [ - "2c35c1b7556297c4d595f451662ed6df7d09df77", + "4c3111720c2c69d8e5e867bf4a3288ea1aba8115", "testharness" ], "bluetooth/server/getPrimaryService/gen-garbage-collection-ran-during-success.https.window.js": [ - "cca8c2c5d2f2bf0c5f758b4299d54ca2a1f76e4d", + "fe7d749063d8d75da9c389fffbe9dc68af9a30a2", "testharness" ], "bluetooth/server/getPrimaryService/gen-get-different-service-after-reconnection.https.window.js": [ - "a0f073d8a314ea9574a9187a6b97c39fd7c1fdad", + "301658c73bb8e4db78433c4072b83aa5f99d629a", "testharness" ], "bluetooth/server/getPrimaryService/gen-get-same-object.https.window.js": [ - "3deb387406e4fd197890422d77c1b0e288b9ad3a", + "c46a1a52c031373b16718d3687a013109f45da62", "testharness" ], "bluetooth/server/getPrimaryService/gen-invalid-service-name.https.window.js": [ - "d59e202d71cc3d4b8876ebbdef188170fdaa339f", + "704ab8bb2dac944d1a3e2a33b57c225edc994225", "testharness" ], "bluetooth/server/getPrimaryService/gen-no-permission-absent-service.https.window.js": [ - "89ca46884478194b5e0b447bbe51810ea8217cd7", + "8daab29eaf94bbae9e28a921a5a650f858ccdd7a", "testharness" ], "bluetooth/server/getPrimaryService/gen-no-permission-for-any-service.https.window.js": [ - "fec0055dcdb7ab1c11b44388d2ea4b2972e19910", + "d55dee753cf8b000089f1d8a5a21f383587427cd", "testharness" ], "bluetooth/server/getPrimaryService/gen-no-permission-present-service.https.window.js": [ - "a0161a0446b37b00ba351eaff67ba5f6c4a53cda", + "d357a214dfd68723571c014d29f8f2e65773a245", "testharness" ], "bluetooth/server/getPrimaryService/gen-service-not-found.https.window.js": [ - "60fb4f2c529443eb06e28118cf506d5fff12bfd8", + "32350e779dce890573bcf519ac74023818296f3e", "testharness" ], "bluetooth/server/getPrimaryService/service-found.https.html": [ @@ -328520,107 +327739,107 @@ "testharness" ], "bluetooth/server/getPrimaryServices/gen-disconnect-called-before-with-uuid.https.window.js": [ - "86a346d14839efc6a5baa913c430328517780d67", + "ad446499cbabf6efa98a8d4fb65aeebc1dc22da5", "testharness" ], "bluetooth/server/getPrimaryServices/gen-disconnect-called-before.https.window.js": [ - "97e9f77d12e668021ca6303eb669666ec16b787d", + "485dbb30421e31108e256cd2f7a57ad2a27bfab5", "testharness" ], "bluetooth/server/getPrimaryServices/gen-disconnect-called-during-error-with-uuid.https.window.js": [ - "37394075d80cf113bec492d02c48e7e2ba394651", + "230325a8c76169a545010fb784999599e77463ad", "testharness" ], "bluetooth/server/getPrimaryServices/gen-disconnect-called-during-error.https.window.js": [ - "9c7aac67a4a3e1fba531a817973daf211e5e9fab", + "dce13c5d0065b26c082d042cb92c0cc2ac01f63e", "testharness" ], "bluetooth/server/getPrimaryServices/gen-disconnect-called-during-success-with-uuid.https.window.js": [ - "bffcea4e9fb3b1e6367bbc353f36dd4ccd7d3855", + "8e2e32ba4fddc843378c901e0ce933c54105a539", "testharness" ], "bluetooth/server/getPrimaryServices/gen-disconnect-called-during-success.https.window.js": [ - "162a61f3eb5f15a1b152eb8d6d4d3b0463beea3c", + "78dcffdcbb1861df8cfd7dc6108b40bbb9f57d1e", "testharness" ], "bluetooth/server/getPrimaryServices/gen-disconnect-invalidates-objects-with-uuid.https.window.js": [ - "05dce42424d02d7dd6a47d867189be3fdd827ea3", + "d9f61674671bf0c31776af26c6c477578e6760b6", "testharness" ], "bluetooth/server/getPrimaryServices/gen-disconnect-invalidates-objects.https.window.js": [ - "e17162a71987c291060199dd156e64033d6829b7", + "b1c9688cc14e68069eac95e8a9b1cc272cf1f527", "testharness" ], "bluetooth/server/getPrimaryServices/gen-disconnected-device-with-uuid.https.window.js": [ - "3bfa60d8ccb3e6e5403b06d0d1d1fa82a52fc284", + "8d64dafb760e2d04d4d9dd3c2f9db7e167ffe718", "testharness" ], "bluetooth/server/getPrimaryServices/gen-disconnected-device.https.window.js": [ - "7072b3efb1f7aeeb8d07eb2c5ff01f045859dad4", + "9c411120a0446017e85ce151b96f31bdabb9b8f9", "testharness" ], "bluetooth/server/getPrimaryServices/gen-discovery-complete-no-permission-absent-service-with-uuid.https.window.js": [ - "589ebe386444f2f50820034a737c8a30cdbe5060", + "130657d228f4c7cada6d27a2ad8ff7fee403d9e0", "testharness" ], "bluetooth/server/getPrimaryServices/gen-discovery-complete-service-not-found-with-uuid.https.window.js": [ - "15b8b978040129b6bc416d838b317ca97fc1219b", + "3817a1a5a38723ce08e1650155c5fcd81ff54bdb", "testharness" ], "bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-error-with-uuid.https.window.js": [ - "17495d24ebadcd9752b06201a7035f45cfcb3635", + "c986835ce31dcf5049e54bf553c3b12dac7151d5", "testharness" ], "bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-error.https.window.js": [ - "741cd2171f894c99bdfa9fa506a62e1bd2488218", + "bd438db09e350a0d7ee330a6c3eaa54f1fea02ba", "testharness" ], "bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-success-with-uuid.https.window.js": [ - "1ee4f21ccba63ef5806840934248c7a6d6def35f", + "3b441cedeff36c6b854bc4ea4e7952eac6284d1a", "testharness" ], "bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-success.https.window.js": [ - "285b774c4e70557f8f14b05c4d9de2b8276a945f", + "1b3302a1ba6ffe049e44228280c652bf74310a50", "testharness" ], "bluetooth/server/getPrimaryServices/gen-get-different-service-after-reconnection-with-uuid.https.window.js": [ - "eb20e6f4b2f8fc2193b2f566eb8b7952747c495c", + "378ade0c90b5d7c49c31bb58efaa835b4c502d95", "testharness" ], "bluetooth/server/getPrimaryServices/gen-get-different-service-after-reconnection.https.window.js": [ - "14fc656c70dd4352aa4d2ab53e98015dd2704978", + "bdef5aa2f20ae4971784a566135ecc6b71fc03ca", "testharness" ], "bluetooth/server/getPrimaryServices/gen-get-same-object-with-uuid.https.window.js": [ - "f3fc4906b44eec68feebcd289320a54fba682246", + "aca34e58ff06dd92d15b0bb1d09f81aa8c77402c", "testharness" ], "bluetooth/server/getPrimaryServices/gen-get-same-object.https.window.js": [ - "c7c488a18b9413e488680b431361981beacb5c1a", + "0ea805e339d4dff1dea445e99cc8d661a7f8404a", "testharness" ], "bluetooth/server/getPrimaryServices/gen-invalid-service-name.https.window.js": [ - "025f1ccdf7c832343d6631e7a85452f7390c5c16", + "eeb6dd4dcf867345ff4cfad28b19a9ffa3fb509b", "testharness" ], "bluetooth/server/getPrimaryServices/gen-no-permission-absent-service-with-uuid.https.window.js": [ - "6f1bb251723a6fda193fe3f0428d730da416506c", + "c755dd7129df5ac3825e07d7c7b3d11e2a227f12", "testharness" ], "bluetooth/server/getPrimaryServices/gen-no-permission-for-any-service-with-uuid.https.window.js": [ - "4bbddeae56ef7fa18656133191abc0e6b2bce1ca", + "03b7f2329c8d90fb326bf851c5275f42d2dc2007", "testharness" ], "bluetooth/server/getPrimaryServices/gen-no-permission-for-any-service.https.window.js": [ - "40b8b576ff4fc57b53a544a5c863985630bbe5ea", + "e50c6d56128489fdde8475979ff8868f41d365a1", "testharness" ], "bluetooth/server/getPrimaryServices/gen-no-permission-present-service-with-uuid.https.window.js": [ - "6f737ecf889d9f96c0e28851c2eb9f5782522fd9", + "c703d0a936394d951a84d03ace7bc0b4d80abc7c", "testharness" ], "bluetooth/server/getPrimaryServices/gen-service-not-found-with-uuid.https.window.js": [ - "33946d281bd8219f4dd07a7a2166f626187c10cf", + "9dc1877f9f2753862d106c4dad9830fddd6898f4", "testharness" ], "bluetooth/server/getPrimaryServices/services-found-with-uuid.https.html": [ @@ -328648,31 +327867,31 @@ "testharness" ], "bluetooth/service/getCharacteristic/gen-blocklisted-characteristic.https.window.js": [ - "04176f1ecdadcdfa6214468973d9d52c2f074c90", + "72b9bac63a437b7367f10e772f4f598d491b2823", "testharness" ], "bluetooth/service/getCharacteristic/gen-characteristic-not-found.https.window.js": [ - "cfec509c49205dd407cfe5b114800d1c65f87c8a", + "a8b2ef892c768476675c79f70fb3d546d019c4b1", "testharness" ], "bluetooth/service/getCharacteristic/gen-garbage-collection-ran-during-error.https.window.js": [ - "9543a5e56337ad970a2ab29ef7d2cd2b3ad5c584", + "7457161faa09235acfdc609df7e8e4d39fa4ebf7", "testharness" ], "bluetooth/service/getCharacteristic/gen-get-same-object.https.window.js": [ - "73691befa52f79c6739f2e1763569afce4a61c46", + "54ab061deb9eb522dbed1f3d95d1ad485a26ea04", "testharness" ], "bluetooth/service/getCharacteristic/gen-invalid-characteristic-name.https.window.js": [ - "d21dcf561224906c05e7dacd323f81bab7e408d1", + "8f44ecb08be4ff6ec2cc563b32038622dfc8f26d", "testharness" ], "bluetooth/service/getCharacteristic/gen-reconnect-during.https.window.js": [ - "6f86214246457a68fe383ff2aa148f533f547a72", + "da5462a8bfa53a7a124a87c46fe9d30c7aedb83b", "testharness" ], "bluetooth/service/getCharacteristic/gen-service-is-removed.https.window.js": [ - "b6d6a9df96e73b53008c2655bf524c0d1fe2f687", + "0fe5b01146ebbc57172435dfe49e887ac6ad2d1b", "testharness" ], "bluetooth/service/getCharacteristics/blocklisted-characteristics.https.html": [ @@ -328692,47 +327911,47 @@ "testharness" ], "bluetooth/service/getCharacteristics/gen-blocklisted-characteristic-with-uuid.https.window.js": [ - "3afd294d5b12755b4401287d2ff818e4c50f7f38", + "cd8a6fa380aade14eb256fb8440d15b6e7352ca2", "testharness" ], "bluetooth/service/getCharacteristics/gen-characteristic-not-found-with-uuid.https.window.js": [ - "549f6b2671940e0a132fa3b2123ae24be9a912c7", + "fff2bd038a82698748acadaa3e85047bd77c79f1", "testharness" ], "bluetooth/service/getCharacteristics/gen-garbage-collection-ran-during-error-with-uuid.https.window.js": [ - "643e2f839efabbc2e907e20b062903e13dc2be92", + "925786c74deab9ad66080391652b60eba00598ee", "testharness" ], "bluetooth/service/getCharacteristics/gen-garbage-collection-ran-during-error.https.window.js": [ - "b7db67f613f65f43dcb078740302d2fed08c4ded", + "d0ecff89f706b1bb4251232a369ea45b70e2e517", "testharness" ], "bluetooth/service/getCharacteristics/gen-get-same-object-with-uuid.https.window.js": [ - "15b552af4913a45235ac196111692764f07691ef", + "fb3346dc4e4c1ca8cb601c41e8f120ccfdb149c3", "testharness" ], "bluetooth/service/getCharacteristics/gen-get-same-object.https.window.js": [ - "df30d514f39adaa3e6d42747cf7c13a247011992", + "576e0831501faa8b838081a96ef437abda2ed668", "testharness" ], "bluetooth/service/getCharacteristics/gen-invalid-characteristic-name.https.window.js": [ - "f980ac03d5f4e5c2c9e1036eda709245c2836d27", + "5b2bd39d3e052cb689bc2f668e87515563d4fa33", "testharness" ], "bluetooth/service/getCharacteristics/gen-reconnect-during-with-uuid.https.window.js": [ - "eb4233764aaadc4389ebe9518b1eb89c882ce68c", + "95f22b11fcf8a5237c7bf0c2b3c40a3d2932b5be", "testharness" ], "bluetooth/service/getCharacteristics/gen-reconnect-during.https.window.js": [ - "a6d38805973a7638c36dfd09af6d566280576b44", + "184632f1d0581e76aed99bcb9a645c837b88af1f", "testharness" ], "bluetooth/service/getCharacteristics/gen-service-is-removed-with-uuid.https.window.js": [ - "527eb76527696505dde06078b11985499cb74ed1", + "6ff7b4f3631e669cf192e3864fe5bbef1d27f23c", "testharness" ], "bluetooth/service/getCharacteristics/gen-service-is-removed.https.window.js": [ - "466503241ed098f063b59b6317e112434ac04c47", + "b4492885b83016d719161f705a33f7ada8a6d9c2", "testharness" ], "clear-site-data/META.yml": [ @@ -329160,7 +328379,7 @@ "support" ], "common/security-features/README.md": [ - "a2ae9aa8e16bcd30328a37721d7ec7adf5ebbfbf", + "deac1ccd8953beccee632625690275d2fa180b8c", "support" ], "common/security-features/resources/common.js": [ @@ -329284,11 +328503,11 @@ "support" ], "common/security-features/tools/generate.py": [ - "0b18a391a62279680e2cbb6905d41084a622f236", + "0cf7fab42ec199b5f93926a5133ff149bff93c8c", "support" ], "common/security-features/tools/spec_validator.py": [ - "2c9664788699676a27e2715344ba581f35c89ad7", + "fff4c5dd6f688a733c1a48c5fe818f7f2979c8dd", "support" ], "common/security-features/tools/template/disclaimer.template": [ @@ -329308,7 +328527,7 @@ "support" ], "common/security-features/tools/util.py": [ - "fc8d3b30ef71ca3b63c325837cf58f768f5805f4", + "57e95fea0784d94452b7bb437c5ddebedd95c721", "support" ], "common/sleep.py": [ @@ -329380,7 +328599,7 @@ "testharness" ], "compat/idlharness.window-expected.txt": [ - "b6f88da48844ced12ba0b17f6c34888440385cd1", + "6deefcc139986cd0068208e6baa4f1accc6ac70f", "support" ], "compat/idlharness.window.js": [ @@ -329743,10 +328962,6 @@ "a806caf456ff894ec14000ab7e0ae9c2a15e3382", "testharness" ], - "content-security-policy/embedded-enforcement/idlharness.window-expected.txt": [ - "0f2f0eb348fab2e702d67e0681da33516b489e14", - "support" - ], "content-security-policy/embedded-enforcement/idlharness.window.js": [ "2845f82c955139e5a5640195af49ece555fe3faa", "testharness" @@ -331856,7 +331071,7 @@ "testharness" ], "content-security-policy/style-src/inline-style-allowed-while-cloning-objects.sub.html": [ - "7c95f47aff880d5818331b5020dacf39a5fc6839", + "d222743049e3777cbece37b6bbc3b717b6eca262", "testharness" ], "content-security-policy/style-src/inline-style-allowed.sub.html": [ @@ -332539,10 +331754,6 @@ "8a10e358ef6de72d5476ae8dc8a571482881d7ef", "testharness" ], - "cookie-store/idlharness.tentative.https-expected.txt": [ - "7cc5f60008e217ef8099507bdf5de53b042618d4", - "support" - ], "cookie-store/idlharness.tentative.https.html": [ "fafe79ad57028a4e6505b8d6e6801a6525a2adf7", "testharness" @@ -334971,10 +334182,6 @@ "08688ab440bbfdf76896da5353bdddb3e9876c34", "testharness" ], - "credential-management/idlharness.https.window-expected.txt": [ - "bd900e726903a9d18a14f76c87bc48998e2918b4", - "support" - ], "credential-management/idlharness.https.window.js": [ "789643e2369fca0baed12579bc0cfb23f943f61e", "testharness" @@ -339235,6 +338442,10 @@ "21451a04fa5e9618276e0e518e82bbb7bb64b21d", "reftest" ], + "css/CSS2/linebox/video-needs-layout-crash.html": [ + "b8c52edf8272abc6f7c30372b1d37e9545d08c74", + "testharness" + ], "css/CSS2/normal-flow/auto-margins-root-element.html": [ "8d9aaf443a498ee450e5b4c649e11069952902f6", "testharness" @@ -350372,7 +349583,7 @@ "testharness" ], "css/css-animations/idlharness-expected.txt": [ - "86842f61ee20476e7115010114d7c4a5e1f6f3d2", + "58a11c556127b891a9ea47fd57de0d151280bb7b", "support" ], "css/css-animations/idlharness.html": [ @@ -350383,6 +349594,10 @@ "6e7697b9d81db6888077318389e1d70964241b3c", "testharness" ], + "css/css-animations/keyframes-remove-documentElement-crash.html": [ + "aba7f9c6edd71d4a2b9446fb6de890866c41da64", + "testharness" + ], "css/css-animations/parsing/animation-delay-computed.html": [ "832466ac0642616c28bdb4aebad8833e6a4c92d0", "testharness" @@ -354324,7 +353539,7 @@ "testharness" ], "css/css-box/parsing/margin-computed.html": [ - "f22f6cdc0f503488418b7741f12ec5554f213477", + "6c3b321c720ddf44ad30b43429e20fbad24943be", "testharness" ], "css/css-box/parsing/margin-invalid.html": [ @@ -356340,27 +355555,27 @@ "reftest" ], "css/css-contain/contain-size-replaced-004-ref.html": [ - "eba5e8cb9a81b14895af3e6a9b5b2f425e23d74a", + "56ca5d2e50e73e38f57c4b4332c8bf02225502d2", "support" ], "css/css-contain/contain-size-replaced-004.html": [ - "511edadc4f8f1130802b2c179448bad6e7552593", + "9f84481504660e4129f10532c761b04fc2030f3f", "reftest" ], "css/css-contain/contain-size-replaced-005-ref.html": [ - "a5328c79ac60e24fc05f8c8027247ad9fb8d619c", + "178e137cb72a1dec8724265e23ccf8b1820e7628", "support" ], "css/css-contain/contain-size-replaced-005.html": [ - "e889dcc903cc47f4fc59cd65ab313912b8d6e72c", + "754f3608e3a8bf17cbfa12cd7418e12f79f12fa0", "reftest" ], "css/css-contain/contain-size-replaced-006-ref.html": [ - "2f638d7fe428efe8f326a1ba34337853243d6937", + "d6753c0694b1ae145f50c39cee1ec64abdf2ea5e", "support" ], "css/css-contain/contain-size-replaced-006.html": [ - "dccb799ea87433e0442539e11c3a5934e4b59e2e", + "f716ce42a89202a9a4209fed18de407d8ed15ce7", "reftest" ], "css/css-contain/contain-size-scrollbars-001.html": [ @@ -356739,6 +355954,14 @@ "a5b4e9f47a8e60ad0bede1ac81e02b3542c80f3b", "support" ], + "css/css-contain/support/60x60-green.png": [ + "b3c8cf3eb4c89bd8f2d1ffde051856f375e3a3de", + "support" + ], + "css/css-contain/support/60x60-red.png": [ + "823f125b8e4a60f780f00443c9c9a10b9fa1f447", + "support" + ], "css/css-contain/support/blue-100x100.png": [ "3b72d5ce53c07b68fe508bb57aa61a933dbda768", "support" @@ -361108,7 +360331,7 @@ "testharness" ], "css/css-font-loading/idlharness.https-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", + "04294ca6d96a415b81c91be5aec1480ac76db4f8", "support" ], "css/css-font-loading/idlharness.https.html": [ @@ -369867,6 +369090,38 @@ "c7e65dcc2fb56db1acf0290d326a4db072594a4d", "testharness" ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-001.html": [ + "a1cc22a41d3f89045eae41e80adb39387464be66", + "testharness" + ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-002.html": [ + "052836c9e9f8069012dbc1e8f0b75c5e4dbd3563", + "testharness" + ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-003.html": [ + "6ff7e3d423e6dfcc708083598753fc99ac8b6b8a", + "testharness" + ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-004.html": [ + "6d80fac7bdb2c265c9a643720b1df5dee3691e8c", + "testharness" + ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-005.html": [ + "f1fd9e22a00f4d6a9595d9d655a01e02be2b9349", + "testharness" + ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-006.html": [ + "0ceaf7c62e6ca539840836f95d0d6f9f92e1911d", + "testharness" + ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-007.html": [ + "d9b5632f12a49c378f0b0c00d0df2c77fca57edc", + "testharness" + ], + "css/css-grid/alignment/grid-block-axis-alignment-auto-margins-008.html": [ + "e757728f7a14bd1dae4952bf000ee8f8449bab74", + "reftest" + ], "css/css-grid/alignment/grid-column-axis-alignment-positioned-items-001.html": [ "7268b612545e4cbd513ce453489112aaf35b65fc", "testharness" @@ -370223,6 +369478,38 @@ "e72814725d2cb90fba6f3bd4d1e8370f37382fbb", "reftest" ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-001.html": [ + "d1fb13aa491739a8ccf391d8c065c2c117a48ac9", + "testharness" + ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-002.html": [ + "f17afa71e3ee859dc5fb33ac6886d9db6e4d1203", + "testharness" + ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-003.html": [ + "6500a2961f35d3b31062ba86ea3a395c97e24c7c", + "testharness" + ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-004.html": [ + "af9c27e95a19f71f1410106da8ab60581f426b44", + "testharness" + ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-005.html": [ + "fdd58c72faa9f101f5e90d78c3d21b252bf6ac1d", + "testharness" + ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-006.html": [ + "ea4748f0ed1d742d171bab350f3e96cd659daccb", + "testharness" + ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-007.html": [ + "7954e88f987f1ab5bcc4acd45b67ac04b811d558", + "testharness" + ], + "css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-008.html": [ + "e71e30687ef133d7b9fb661814949f395f80a988", + "reftest" + ], "css/css-grid/alignment/grid-row-axis-alignment-positioned-items-001.html": [ "967b0e4be967e9b3619e24cdf372aefcfd6b4f24", "testharness" @@ -370720,7 +370007,7 @@ "reftest" ], "css/css-grid/animation/grid-template-columns-interpolation-expected.txt": [ - "dad4474d40e35885731e96b2b0dad4d9c60a4844", + "15f1181cd76f1e35a4d5c47c2d36405c1b1a7b03", "support" ], "css/css-grid/animation/grid-template-columns-interpolation.html": [ @@ -370736,7 +370023,7 @@ "reftest" ], "css/css-grid/animation/grid-template-rows-interpolation-expected.txt": [ - "2a2a6d8389188041751a5108b76a300dd66fee8c", + "497a536c806dfe9857df48299460175d0fb43cfa", "support" ], "css/css-grid/animation/grid-template-rows-interpolation.html": [ @@ -371891,6 +371178,10 @@ "0b8ef6d39bf6f01d994f6025f34c0136cc2908cf", "support" ], + "css/css-grid/reference/grid-block-axis-alignment-auto-margins-008-ref.html": [ + "720bf55f2a2d2cb74511da6865739b9ec091d020", + "support" + ], "css/css-grid/reference/grid-different-gutters-ref.html": [ "57d27ff3aaea88eaeeed6f34f8ac49623b409fd2", "support" @@ -371907,6 +371198,10 @@ "cf3c6f28b7c93981a4c5ad35147b85cba129d953", "support" ], + "css/css-grid/reference/grid-inline-axis-alignment-auto-margins-008-ref.html": [ + "78d199004fb8a78c530d96cb2a138b3aafa205ca", + "support" + ], "css/css-grid/reference/grid-layout-auto-tracks-ref.html": [ "9f2f91cf7fa0fd3da5b24fe2f72cfdfc8929f4a1", "support" @@ -372180,7 +371475,7 @@ "testharness" ], "css/css-images/parsing/object-position-computed.html": [ - "37b198c52e9a289c5f4ad41a709142cebca81fd7", + "97489149e922e3cb0bc5cec88af61afe74fd8f59", "testharness" ], "css/css-images/parsing/object-position-invalid.html": [ @@ -372396,11 +371691,11 @@ "support" ], "css/css-inline/inheritance-expected.txt": [ - "86e56d979fe0b5966cc654ca163697705bae97d0", + "04a22e0fee19d37384921ec696fe9e6148e04bdc", "support" ], "css/css-inline/inheritance.html": [ - "7728f67e159eabbcb9dcc87d1a1db1d14b370cb3", + "6723c2a6e2ff38cb0af2ab13baf5ef9a9af0f18a", "testharness" ], "css/css-inline/inline-crash-chrome-001.html": [ @@ -376815,6 +376110,14 @@ "59843ae54b64f6ce4f7e616d4be491c911ea84cf", "support" ], + "css/css-multicol/with-custom-layout-on-same-element-crash.https.html": [ + "7e1c804258ab54290047a4b712f0bff613acd168", + "testharness" + ], + "css/css-multicol/with-custom-layout-on-same-element.https.html": [ + "5388b08cde3936088978f09ccb0fd438347421e1", + "reftest" + ], "css/css-multicol/zero-column-width-computed-style.html": [ "46d876f1a150c257be9c37d25a4a4c34d2f1d73d", "testharness" @@ -377572,7 +376875,7 @@ "reftest" ], "css/css-paint-api/idlharness-expected.txt": [ - "227ab1bb63dff94780e20ff94d32a0ee0055d673", + "e71217c3cbc8ed2feef0a75ab6f069ba5ee2c0ad", "support" ], "css/css-paint-api/idlharness.html": [ @@ -379064,7 +378367,7 @@ "reftest" ], "css/css-pseudo/idlharness-expected.txt": [ - "fa8495c3714a21562298ecc685840d2e04fa3b2a", + "977415282ae39a096e46008e91d55452f5244b02", "support" ], "css/css-pseudo/idlharness.html": [ @@ -381067,10 +380370,6 @@ "4cb0c69ba78c410712da74b7b809416dc37c3540", "testharness" ], - "css/css-shapes/shape-outside/values/shape-margin-003-expected.txt": [ - "104e0bb978653db65bf16fbc5ce0552dfce44f6c", - "support" - ], "css/css-shapes/shape-outside/values/shape-margin-003.html": [ "7a6998447b3889f42e5e3796ef7c430d7deaa479", "testharness" @@ -381131,18 +380430,10 @@ "ff5dc83d353dcd5f44850c860de1df27dc825778", "testharness" ], - "css/css-shapes/shape-outside/values/shape-outside-circle-010-expected.txt": [ - "f6d4093fb00555dffe00a4fa6601887fa0b6fbf1", - "support" - ], "css/css-shapes/shape-outside/values/shape-outside-circle-010.html": [ "b255825bea632dbd62029bf941b70723c66a285e", "testharness" ], - "css/css-shapes/shape-outside/values/shape-outside-circle-011-expected.txt": [ - "823faea146d58624135b8be1d3e8b40392964e68", - "support" - ], "css/css-shapes/shape-outside/values/shape-outside-circle-011.html": [ "7f0571cdd6f3ad67391435f294ede7efaae7f47e", "testharness" @@ -381195,18 +380486,10 @@ "af3a46a0004a8054ce0df7bc0aa6e02427fc9e6f", "testharness" ], - "css/css-shapes/shape-outside/values/shape-outside-ellipse-010-expected.txt": [ - "b7f5a6c7be2e69c534a7c29347d142527510ad2d", - "support" - ], "css/css-shapes/shape-outside/values/shape-outside-ellipse-010.html": [ "e5673b07cc4ac8e367e327b1f1187d04f61393e4", "testharness" ], - "css/css-shapes/shape-outside/values/shape-outside-ellipse-011-expected.txt": [ - "9bb0068dc08e35d94a98fbeccda87d7119f64c33", - "support" - ], "css/css-shapes/shape-outside/values/shape-outside-ellipse-011.html": [ "ad01bb60ea43a06b8513e1bd9ea1abcd595c4453", "testharness" @@ -381251,18 +380534,10 @@ "8c4a76451380814203990398489798de070da5ff", "testharness" ], - "css/css-shapes/shape-outside/values/shape-outside-inset-008-expected.txt": [ - "b969e062ea7e2350987cb41b776cfb60010610e8", - "support" - ], "css/css-shapes/shape-outside/values/shape-outside-inset-008.html": [ "158898d7785ab3d765d8e4128e44d31fd2251d71", "testharness" ], - "css/css-shapes/shape-outside/values/shape-outside-inset-009-expected.txt": [ - "4a387910582b289d12e908f71614c77c223a171a", - "support" - ], "css/css-shapes/shape-outside/values/shape-outside-inset-009.html": [ "c131783d1ea3eb2992c30e54ca0d9b2c2943e188", "testharness" @@ -381291,10 +380566,6 @@ "de861bdcb736a6d0f207fc76265cc96faf453c5d", "testharness" ], - "css/css-shapes/shape-outside/values/shape-outside-polygon-006-expected.txt": [ - "f6747faa635680d2f1aaf812f0eb0f972d221057", - "support" - ], "css/css-shapes/shape-outside/values/shape-outside-polygon-006.html": [ "a5f18d9bec3a7e1377cfdaa4e3548a8329cb619e", "testharness" @@ -387291,6 +386562,10 @@ "39426d0420287a730dcac47696bd69520e8a6b72", "testharness" ], + "css/css-text/overflow-wrap/overflow-wrap-break-word-white-space-crash.html": [ + "2bea6aed780679f9eb0de3130e3acf4ffa2b9e98", + "testharness" + ], "css/css-text/overflow-wrap/overflow-wrap-cluster-001.html": [ "7911a1b214c04490e16418e71ff733f8f228b45c", "reftest" @@ -390548,7 +389823,7 @@ "reftest" ], "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-004.html": [ - "becd4638eb068b26c00851390e393026796d7675", + "aa048b512e940511030631f2c379aaa995e6b868", "reftest" ], "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-005.html": [ @@ -395719,10 +394994,6 @@ "aea375796316b34b73584d00fa6980947f6d986f", "reftest" ], - "css/css-transforms/transforms-support-calc-expected.txt": [ - "3e16e0ca86bde1b0371515ac76f51630fb8249bc", - "support" - ], "css/css-transforms/transforms-support-calc.html": [ "1ad1bcc4b68c5419e2fa0651dad1a3386223e36b", "testharness" @@ -396728,7 +395999,7 @@ "testharness" ], "css/css-transitions/event-dispatch.tentative-expected.txt": [ - "c8c022abaea6d065ffb0495605c9f5eebe93c335", + "3216888a9ef85e95c6ad59c8ca1454dfa3668f33", "support" ], "css/css-transitions/event-dispatch.tentative.html": [ @@ -396768,7 +396039,7 @@ "testharness" ], "css/css-transitions/idlharness-expected.txt": [ - "68b9245da1487a1e4e7e71ef69e3c36a88831ec1", + "24f1f45e2da22cb3cc49dded606136a2161c27f3", "support" ], "css/css-transitions/idlharness.html": [ @@ -397460,7 +396731,7 @@ "testharness" ], "css/css-typed-om/idlharness-expected.txt": [ - "7d2cc38aa1ac60517b80bb07122f56413dc4c102", + "24e1caa9834da817fab540fa7bd2dbc93b7554e8", "support" ], "css/css-typed-om/idlharness.html": [ @@ -401967,10 +401238,6 @@ "e41beaff211b87dd74dd6fee6f05d894ba03988d", "testharness" ], - "css/css-values/calc-background-position-002-expected.txt": [ - "d2d0ec0cb5d8785efc4624f7c326e04ee317decb", - "support" - ], "css/css-values/calc-background-position-002.html": [ "c1dad2eb03b45ead60e7a8f57ba29fc226e63d4d", "testharness" @@ -402960,7 +402227,7 @@ "testharness" ], "css/css-variables/vars-font-shorthand-001.html": [ - "3c280547fb353a959bc6df95ad690445835ded98", + "e10aa87c4947c6d99ae7d331c7e42aa23e496d31", "reftest" ], "css/css-variables/wide-keyword-fallback-ref.html": [ @@ -404156,7 +403423,7 @@ "reftest" ], "css/css-writing-modes/available-size-003.html": [ - "c938c905ae0aa7462a593308d9652a910069bf50", + "70a61a9e34441b4a017241b364a6b1793ff2026b", "reftest" ], "css/css-writing-modes/available-size-004.html": [ @@ -404164,7 +403431,7 @@ "reftest" ], "css/css-writing-modes/available-size-005.html": [ - "ee324898ffea542da389b8d3a7e86dbffc8a6a0a", + "5eb832ff36e4bf8c48f6c220d80cdd236137ba45", "reftest" ], "css/css-writing-modes/available-size-006.html": [ @@ -404180,7 +403447,7 @@ "reftest" ], "css/css-writing-modes/available-size-009.html": [ - "5e26975999ea1c07716d6c989ea695c6fbd9c579", + "94f083af58497d37ce65648a15c53526da6352bf", "reftest" ], "css/css-writing-modes/available-size-010.html": [ @@ -404196,11 +403463,11 @@ "reftest" ], "css/css-writing-modes/available-size-013.html": [ - "1ffd6564ad0d81c1c4f1107616905145056bc68e", + "4cb6b237285a9da5060a5c28a02807675d3a6eeb", "reftest" ], "css/css-writing-modes/available-size-014.html": [ - "e0e41fb6b1a8c38bd17bf90386cd90a17822a091", + "8e955cf59029050c62060b2597f3a3e3b94bec88", "reftest" ], "css/css-writing-modes/available-size-015.html": [ @@ -404208,7 +403475,7 @@ "reftest" ], "css/css-writing-modes/available-size-016.html": [ - "15038868b80534a55bfc77f7e3fc74a7552cc0cf", + "ba398032ba7554fcbf6a2037aafe4ad0820283da", "reftest" ], "css/css-writing-modes/available-size-017.html": [ @@ -410588,7 +409855,7 @@ "testharness" ], "css/cssom/idlharness-expected.txt": [ - "49014ccbcaac4703b76d0ce84c447120772747bd", + "c364cca8132816f617bfd155208ace3450f02d68", "support" ], "css/cssom/idlharness.html": [ @@ -411656,17 +410923,13 @@ "reftest" ], "css/filter-effects/idlharness.any-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", + "4fc02f16719d0733e4cba87d8d229fe6ed15e6aa", "support" ], "css/filter-effects/idlharness.any.js": [ "e7de16e8d62904986610a484b046a4caf0f161e3", "testharness" ], - "css/filter-effects/idlharness.any.worker-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", - "support" - ], "css/filter-effects/inheritance.html": [ "acb811bfad154e5a0b18eaddb799fc5dc679b114", "testharness" @@ -412599,10 +411862,6 @@ "ec22768e96a1cd1efab206781b985cec8f006686", "support" ], - "css/motion/offset-supports-calc-expected.txt": [ - "c7772419a5144fddb7316cd9413e20d352352324", - "support" - ], "css/motion/offset-supports-calc.html": [ "907694f7fc32ebb1c44787fcfbf5980627d2919e", "testharness" @@ -420591,24 +419850,12 @@ "5119f9f975414e4ef930026da6b83bbb1394017b", "testharness" ], - "dom/idlharness.any.serviceworker-expected.txt": [ - "4df2fa23798bf3e3004468e4602653d454824453", - "support" - ], - "dom/idlharness.any.sharedworker-expected.txt": [ - "4df2fa23798bf3e3004468e4602653d454824453", - "support" - ], - "dom/idlharness.any.worker-expected.txt": [ - "4df2fa23798bf3e3004468e4602653d454824453", - "support" - ], "dom/idlharness.window.js": [ - "7d87aeaa337ed7709875428641f78107395d9317", + "24b56cf05ada3722c30a7a1427d1cbb324ec366a", "testharness" ], "dom/idlharness.window_exclude=Node-expected.txt": [ - "f9945d209ed8029baca93eadc716d00c331671fc", + "42cd0e0da09ef90ea71e2901ee238f18aca9e6d3", "support" ], "dom/idlharness.window_include=Node-expected.txt": [ @@ -422175,6 +421422,10 @@ "5c2ac186c8c9d2c6befccda3e0f1f901e9df885b", "support" ], + "domxpath/README.md": [ + "918997b1646d73d71a79c302953ab9f0f8ed69cc", + "support" + ], "domxpath/document.tentative.html": [ "b75c0f0d66dacb47a825ae2aa00bb63a19616433", "testharness" @@ -422187,10 +421438,6 @@ "c7c102945d070a4ea65cae0e30ea6ec64bb82c95", "testharness" ], - "domxpath/interfaces.tentative.html": [ - "9036ad834a764798d2871a71a8b5734051949d8d", - "testharness" - ], "domxpath/xml_xpath_runner.html": [ "42404562a3c95b3004c7b0b7402ea366faeb4d83", "testharness" @@ -426192,7 +425439,7 @@ "support" ], "feature-policy/idlharness.window-expected.txt": [ - "534dc5c05463483acf09e9ed4c4b5beb17290b90", + "c9b2434301e97955c54c5d972386d58d4ca76739", "support" ], "feature-policy/idlharness.window.js": [ @@ -427036,7 +426283,7 @@ "support" ], "fetch/api/idlharness.any-expected.txt": [ - "39dc3f9292801783f7ea4aeeddd170770eec4ea0", + "8bf325d7fd92e68889470ac6d61d474f49ac56d1", "support" ], "fetch/api/idlharness.any.js": [ @@ -427044,15 +426291,15 @@ "testharness" ], "fetch/api/idlharness.any.serviceworker-expected.txt": [ - "39dc3f9292801783f7ea4aeeddd170770eec4ea0", + "7f9da6eeccc591484330b525f8195e03f78057a0", "support" ], "fetch/api/idlharness.any.sharedworker-expected.txt": [ - "39dc3f9292801783f7ea4aeeddd170770eec4ea0", + "7f9da6eeccc591484330b525f8195e03f78057a0", "support" ], "fetch/api/idlharness.any.worker-expected.txt": [ - "39dc3f9292801783f7ea4aeeddd170770eec4ea0", + "7f9da6eeccc591484330b525f8195e03f78057a0", "support" ], "fetch/api/policies/csp-blocked-worker-expected.txt": [ @@ -427556,7 +426803,7 @@ "support" ], "fetch/api/resources/preflight.py": [ - "1843c74c88e200986af1ac0ecf5921456020ffe0", + "d2249606db624892dab96fc9484a9e274947b859", "support" ], "fetch/api/resources/redirect-empty-location.py": [ @@ -427943,26 +427190,10 @@ "c99eb053d61862260891ebdf04338a841f49d2cf", "testharness" ], - "fetch/cors-rfc1918/idlharness.tentative.any-expected.txt": [ - "4340903609a9f07187961b0b6d1223ebbcfb3590", - "support" - ], "fetch/cors-rfc1918/idlharness.tentative.any.js": [ "88468dc19a38a64e6ebdb19b4e92ddf23a3247fc", "testharness" ], - "fetch/cors-rfc1918/idlharness.tentative.any.serviceworker-expected.txt": [ - "4340903609a9f07187961b0b6d1223ebbcfb3590", - "support" - ], - "fetch/cors-rfc1918/idlharness.tentative.any.sharedworker-expected.txt": [ - "4340903609a9f07187961b0b6d1223ebbcfb3590", - "support" - ], - "fetch/cors-rfc1918/idlharness.tentative.any.worker-expected.txt": [ - "4340903609a9f07187961b0b6d1223ebbcfb3590", - "support" - ], "fetch/cross-origin-resource-policy/OWNERS": [ "42d5155b66317b0067f81189e31a9168d13ca2f0", "support" @@ -429439,10 +428670,6 @@ "ee8d4cfab70246d75066a224c1045d1b4f5dae6f", "support" ], - "fullscreen/idlharness.window-expected.txt": [ - "34b5bd96bce341a0d4932fdc78c1b0e12631cf59", - "support" - ], "fullscreen/idlharness.window.js": [ "a60b7fe838eba4c7ba4fc7970940debbf37b702f", "testharness" @@ -429520,7 +428747,7 @@ "support" ], "gamepad/idlharness.window-expected.txt": [ - "0d821873b497385adb3794ecd85c02799b546591", + "915af06444db6fc8d6b7b3254057b2eacea971b8", "support" ], "gamepad/idlharness.window.js": [ @@ -429555,10 +428782,6 @@ "a48b4c59aa89d0f1a0c7855f93bd80ce0f33fbf0", "support" ], - "generic-sensor/idlharness.https.window-expected.txt": [ - "c78b7069f5e04ce7fb11eb6e5e7cb0f72020e1f8", - "support" - ], "generic-sensor/idlharness.https.window.js": [ "f591d755209e386f34610a429e5bdcd85e9c0ac0", "testharness" @@ -429871,26 +429094,10 @@ "364dd81a3448188bd76f6ff410807bfcca93177d", "testharness" ], - "hr-time/idlharness.any-expected.txt": [ - "c717e8bd63fd15f780df7cf75837f935420aa970", - "support" - ], "hr-time/idlharness.any.js": [ "4e266c09e3358034e6fac6fb282bbeb138e4278a", "testharness" ], - "hr-time/idlharness.any.serviceworker-expected.txt": [ - "c717e8bd63fd15f780df7cf75837f935420aa970", - "support" - ], - "hr-time/idlharness.any.sharedworker-expected.txt": [ - "c717e8bd63fd15f780df7cf75837f935420aa970", - "support" - ], - "hr-time/idlharness.any.worker-expected.txt": [ - "c717e8bd63fd15f780df7cf75837f935420aa970", - "support" - ], "hr-time/monotonic-clock.any.js": [ "c53b04d844e4f587891595c09c56e336f3893f9b", "testharness" @@ -430008,7 +429215,7 @@ "manual" ], "html-media-capture/idlharness.window-expected.txt": [ - "0d977e0fc11b500184ecab4a452761cd413e2390", + "c8248ba917fd886a519cc6cf2bfa29912dfc1675", "support" ], "html-media-capture/idlharness.window.js": [ @@ -432959,8 +432166,12 @@ "63b60e490f47f4db77d33d7a4ca2f5b9a4181de8", "support" ], + "html/cross-origin-opener-policy/coop-navigated-popup.https-expected.txt": [ + "66b2fb564b7063988271105b3d50aa73b8e5e0ff", + "support" + ], "html/cross-origin-opener-policy/coop-navigated-popup.https.html": [ - "0b51512c221d9035bac5a99b83b661af2fc65d5a", + "9a92dd9bde885e9e3ee19c6e4ef93a0e7b82e418", "testharness" ], "html/cross-origin-opener-policy/coop-navigated-popup.https.html.headers": [ @@ -434172,11 +433383,11 @@ "testharness" ], "html/dom/idlharness.https_exclude=(Document_Window_HTML._)-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", + "234075d837628a57d387b1c9527d6f1851c8561f", "support" ], "html/dom/idlharness.https_include=(Document_Window)-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", + "8213dc41405702cd91b1654923ed051ca539d772", "support" ], "html/dom/idlharness.https_include=HTML._-expected.txt": [ @@ -434184,7 +433395,7 @@ "support" ], "html/dom/idlharness.worker-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", + "7354ff66a2a7b2a348999a8117445dc5f6c013cb", "support" ], "html/dom/idlharness.worker.js": [ @@ -443279,12 +442490,8 @@ "4fbf3f5adddbcb8ec95fc0e2192f4da841e93b8c", "support" ], - "html/semantics/embedded-content/the-img-element/invalid-src-expected.txt": [ - "4b8f9770143f1120cc6b2842593d6b59e151589d", - "support" - ], "html/semantics/embedded-content/the-img-element/invalid-src.html": [ - "c3c57ee3c0a05019be4db6650eeefdd53648401e", + "37ea8ce754a3feaa3e305f10899632d231c92363", "testharness" ], "html/semantics/embedded-content/the-img-element/ismap/img-ismap-coordinates-iframe-after.html": [ @@ -443583,34 +442790,122 @@ "82798eaa84f533cdc675c653ef22fcb12b52137e", "testharness" ], + "html/semantics/forms/autofocus/autofocus-on-stable-document.html": [ + "47e3e3fd0abdc93e8447c099314935f8cdc31c42", + "testharness" + ], + "html/semantics/forms/autofocus/first-reconnected-expected.txt": [ + "b056ed018821f61c2360ca260264f0fb08eef458", + "support" + ], + "html/semantics/forms/autofocus/first-reconnected.html": [ + "99ee9198d1b0a39605ee7115ba71b1178e815943", + "testharness" + ], "html/semantics/forms/autofocus/first-when-later-but-before-expected.txt": [ - "587c981b35acc108db0268d3c41a67e98d0c10dc", + "535ad230cc676aef3b046fee9c022610b657a6cb", "support" ], "html/semantics/forms/autofocus/first-when-later-but-before.html": [ - "0267f46627f6db579ee639355d6e265e52bc305f", + "f361463401b555f4c90cc25f195dd8b6c7e03b0b", "testharness" ], "html/semantics/forms/autofocus/first-when-later.html": [ - "9ced437f4a9456ff9076feb3965172ddb9d4a694", + "1d64b863a16e8a0745c4f207d5a92e80175ee34f", "testharness" ], "html/semantics/forms/autofocus/first.html": [ - "de56cf74eda506c55460cc6da85923b5b7001381", + "02ebb79a3e9dff0f1b0211eb187b7a91f7de8c17", + "testharness" + ], + "html/semantics/forms/autofocus/focusable-area-in-top-document-expected.txt": [ + "f8760c98f9030e0670d9b790f5a9d4e4b4781f32", + "support" + ], + "html/semantics/forms/autofocus/focusable-area-in-top-document.html": [ + "327040eeeeb7da9bf134cb7120b60c7d1e76d5c7", "testharness" ], "html/semantics/forms/autofocus/no-cross-origin-autofocus.html": [ "c3974bd02a3655cef5513258e81f65e2f86e07d3", "testharness" ], + "html/semantics/forms/autofocus/no-sandboxed-automatic-features.html": [ + "991373d3363a195bde7c7e4e9ad255026e173e47", + "testharness" + ], "html/semantics/forms/autofocus/not-on-first-task.html": [ "50efc176935c710f43a42c31ecc0b7676e96b833", "testharness" ], + "html/semantics/forms/autofocus/queue-non-focusable.html": [ + "e3b556035d35f6ea18d51cd3772651a22940d161", + "testharness" + ], "html/semantics/forms/autofocus/resources/child-autofocus.html": [ "afd5601a523ff0a1d60d37b171b2098a38600ace", "support" ], + "html/semantics/forms/autofocus/resources/erase-first.css": [ + "bbbcf799393fc047dae6d47836c3696868df8fb7", + "support" + ], + "html/semantics/forms/autofocus/resources/frame-with-autofocus-element.html": [ + "985cba41494919525031081d236e4409aace453c", + "support" + ], + "html/semantics/forms/autofocus/resources/moving-autofocus-to-parent.html": [ + "fc6c298a46e376cf45089f168cf841cab59ffd5c", + "support" + ], + "html/semantics/forms/autofocus/resources/utils.js": [ + "0eeb5a9f0adf1d09959227241cd71fe32ebb485c", + "support" + ], + "html/semantics/forms/autofocus/skip-another-top-level-browsing-context.html": [ + "d392b903f075276a03189207e57d789608523de1", + "testharness" + ], + "html/semantics/forms/autofocus/skip-document-with-fragment-expected.txt": [ + "699bc679602616f62cd4ca43d65c93855fee2034", + "support" + ], + "html/semantics/forms/autofocus/skip-document-with-fragment.html": [ + "a4301e13516634e9fc09d1b8084091a2697b1f24", + "testharness" + ], + "html/semantics/forms/autofocus/skip-non-focusable-expected.txt": [ + "eaeff36ab1187f7997cb01fd5f8fbb60c6d215a8", + "support" + ], + "html/semantics/forms/autofocus/skip-non-focusable.html": [ + "008371d8e163fbdec937e29435fe61dffd520cde", + "testharness" + ], + "html/semantics/forms/autofocus/skip-not-fully-active.html": [ + "32008b3019e905488c35ea432de396a2641cb61a", + "testharness" + ], + "html/semantics/forms/autofocus/spin-by-blocking-style-sheet.html": [ + "22a4c3573cccf909d3a5675db2aab97a4f366bc0", + "testharness" + ], + "html/semantics/forms/autofocus/supported-elements-expected.txt": [ + "ad7ebdf4030bb18050572fe331813b401393d905", + "support" + ], + "html/semantics/forms/autofocus/supported-elements.html": [ + "398577e7d51edf10ea2571ec4e220394208f6931", + "testharness" + ], + "html/semantics/forms/autofocus/update-the-rendering-expected.txt": [ + "5f907cc883352c0fe1b48523da2c440f2c31a22f", + "support" + ], + "html/semantics/forms/autofocus/update-the-rendering.html": [ + "afaf0926f5b55e4f1925010c7262ed26a616d3be", + "testharness" + ], "html/semantics/forms/constraints/form-validation-checkValidity.html": [ "2e790c75d82dec2f60f64199ea4e1cba1164bc63", "testharness" @@ -443636,15 +442931,15 @@ "testharness" ], "html/semantics/forms/constraints/form-validation-validity-rangeOverflow.html": [ - "ca423ef9ed737f9f630db489ec2003393ec24b18", + "fedf2ea4e4f0aa5018db5bb24ec3bf0e15333992", "testharness" ], "html/semantics/forms/constraints/form-validation-validity-rangeUnderflow.html": [ - "d6bf86060b1ae641f5c49c9cd381d2d68f683a35", + "8ac3aae1279c0f6df2203251aae26854ba551b57", "testharness" ], "html/semantics/forms/constraints/form-validation-validity-stepMismatch.html": [ - "174ecaf33a21e972c1464579a0fc444c9556b112", + "6d8192bfbfeb6f0b1c472fe55eee58af6b4b9e1c", "testharness" ], "html/semantics/forms/constraints/form-validation-validity-tooLong.html": [ @@ -446859,10 +446154,6 @@ "e50c7b525b495dd8cb1ce3540396a14aecec86af", "testharness" ], - "html/semantics/scripting-1/the-script-element/module/referrer-origin-when-cross-origin.sub-expected.txt": [ - "cd990f903e1f91b67aff18d537ca62d3ab58ab9a", - "support" - ], "html/semantics/scripting-1/the-script-element/module/referrer-origin-when-cross-origin.sub.html": [ "3623ac2ccb2c5daa2a9f1294c1279083ddaa8ad5", "testharness" @@ -446871,10 +446162,6 @@ "f512982a451b1d24d47965437162213dff919ec5", "testharness" ], - "html/semantics/scripting-1/the-script-element/module/referrer-same-origin.sub-expected.txt": [ - "6720439ba95b710d893477cdf946710ab7a38abb", - "support" - ], "html/semantics/scripting-1/the-script-element/module/referrer-same-origin.sub.html": [ "67b055c217dd384fa66e27111254109957683960", "testharness" @@ -449576,7 +448863,7 @@ "manual" ], "html/webappapis/scripting/events/event-handler-all-global-events-expected.txt": [ - "3ef65dcebf31486feddbbec7b023d8496351fc48", + "d36897687510194fefa9bf509bdb18a9582ff3a3", "support" ], "html/webappapis/scripting/events/event-handler-all-global-events.html": [ @@ -449584,7 +448871,7 @@ "testharness" ], "html/webappapis/scripting/events/event-handler-attributes-body-window-expected.txt": [ - "2f8c2372baa28c9356fbbbc7c3d55fba0cccff58", + "e317caa2eed655788bc1829e5d9fe136a1a958cb", "support" ], "html/webappapis/scripting/events/event-handler-attributes-body-window.html": [ @@ -449592,7 +448879,7 @@ "testharness" ], "html/webappapis/scripting/events/event-handler-attributes-frameset-window-expected.txt": [ - "873ce5bc0827753cd401e023357814a54e1a04d5", + "c4e1cb872f0b7645b46d61ffc9d1011a7d235e00", "support" ], "html/webappapis/scripting/events/event-handler-attributes-frameset-window.html": [ @@ -450147,10 +449434,6 @@ "e6aa2f91bfee747649aeb63ca845a2eef8fec55b", "testharness" ], - "idle-detection/idlharness.https.any.worker-expected.txt": [ - "7834d00a4f8813881e0fb8241c25f5440d380615", - "support" - ], "idle-detection/interceptor.https.html": [ "f47a9e7f8cad9c6faac8bfaf0c20c83e3d4cf111", "testharness" @@ -450279,10 +449562,6 @@ "f2581017b43d44664e7137a78c0803554b50f3b1", "support" ], - "images/canvas-line.png": [ - "30f8f4540560939e1295cccb0c665b9ced908ad4", - "support" - ], "images/clear-100x50.png": [ "eeedd0ff05889ffd4468bf19a2e8e9e0a094201c", "support" @@ -450480,7 +449759,7 @@ "testharness" ], "import-maps/bare.sub.tentative.html": [ - "5bfb6b52072338568397a8dfac3a98a90c70b34b", + "cf99589f9bd56730423880d6fd4f93df293e6ddf", "testharness" ], "import-maps/bare/__dir__.headers": [ @@ -450588,7 +449867,7 @@ "testharness" ], "import-maps/imported/parsing-schema.tentative-expected.txt": [ - "61cafd0186ee6a68877a8e84425b1aad9adb2caf", + "afb5a364707553f4249cc11466a95284b3ba7b76", "support" ], "import-maps/imported/parsing-schema.tentative.html": [ @@ -450684,7 +449963,7 @@ "support" ], "import-maps/resources/jest-test-helper.js": [ - "86556ed3dd9585c95d258cbfabc8bb81ed5bc90d", + "8d9236a84d81f838a50acefffca105b44eb5025f", "support" ], "import-maps/resources/log.js": [ @@ -450851,12 +450130,24 @@ "29ff348a9af645ff59d860e91af9534e64a606c5", "testharness" ], + "infrastructure/expected-fail/uncaught-exception-expected.txt": [ + "1765dd9a78463a3870edf2bf464943e9b5c788f0", + "support" + ], + "infrastructure/expected-fail/uncaught-exception.html": [ + "4442d513753112fac2e35855268d0b246f01fa09", + "testharness" + ], "infrastructure/metadata/infrastructure/assumptions/allowed-to-play.html.ini": [ "f9be6a64bdfd7ca033fda2a9cd1bdb105836df20", "support" ], + "infrastructure/metadata/infrastructure/assumptions/document-fonts-ready.html.ini": [ + "d074292053b6d580efda36155c1d82af699494bc", + "support" + ], "infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini": [ - "5bb1bf554ccbc73a605f4364c59b91aa59a7ee87", + "4be883a5cf7ab6869e2e9235acca37549a9045b8", "support" ], "infrastructure/metadata/infrastructure/expected-fail/failing-test.html.ini": [ @@ -450867,6 +450158,10 @@ "53b281f8358c4f90aab96c731076439ccb5567b4", "support" ], + "infrastructure/metadata/infrastructure/expected-fail/uncaught-exception.html.ini": [ + "0bcdd374f2521b6534208ab750a1c0d36e7dd7ca", + "support" + ], "infrastructure/metadata/infrastructure/reftest/reftest_and_fail.html.ini": [ "81aef049cd122f7332c66f5a087947e512a59d0e", "support" @@ -450912,11 +450207,11 @@ "support" ], "infrastructure/metadata/infrastructure/server/context.any.js.ini": [ - "ff57a138029ca49e7e63d9dd27e25288709c61f3", + "9667d4d251e8b1915ae2c979766343babd3a0235", "support" ], "infrastructure/metadata/infrastructure/server/order-of-metas.any.js.ini": [ - "e4a96de0e8f60fbbd48676deb59bd8ba85f99133", + "a62ae82b9bec778832cea5e3a95ea069b11b49fc", "support" ], "infrastructure/metadata/infrastructure/server/order-of-metas.window.js.ini": [ @@ -450924,15 +450219,23 @@ "support" ], "infrastructure/metadata/infrastructure/server/secure-context.https.any.js.ini": [ - "f483bca13f6b372774e1494c75455cd075ba0313", + "0a602b9ae264d92c75a06e79085c20faf4a65e5d", "support" ], "infrastructure/metadata/infrastructure/server/title.any.js.ini": [ - "cbae6b15410e13433c4a9fadd8c2a8cc5fbc4fdc", + "6f7fed9dc062dbde3d73ea233f18f0f56d8e056c", + "support" + ], + "infrastructure/metadata/infrastructure/server/wpt-server-http.sub.html.ini": [ + "e2f26c7e4b697c77c5ee195cad763279bd1ecde0", + "support" + ], + "infrastructure/metadata/infrastructure/server/wpt-server-websocket.sub.html.ini": [ + "2cc364b610987ad5938c822287eb76079c2af2a3", "support" ], "infrastructure/metadata/infrastructure/testdriver/actions/actionsWithKeyPressed.html.ini": [ - "ee1217860b88bab3aa41966f4034c99c124cdb46", + "c34584ceec64be446532118dd12853106880c76f", "support" ], "infrastructure/metadata/infrastructure/testdriver/actions/elementPosition.html.ini": [ @@ -450940,23 +450243,23 @@ "support" ], "infrastructure/metadata/infrastructure/testdriver/actions/eventOrder.html.ini": [ - "bcd78da24446a9802755a13525be90e3fa0f43fc", + "894f4a11df81be8e164898ab2091e1cc64175290", "support" ], "infrastructure/metadata/infrastructure/testdriver/actions/multiDevice.html.ini": [ - "04b97a7198c75ba941d315716483aad216e1a283", + "baf2116bad6b5cd258e07d29e2115c6aab11e099", "support" ], "infrastructure/metadata/infrastructure/testdriver/actions/pause.html.ini": [ - "da47a2a0b6f7b7b019c3ae20e349f37c00b8e0bc", + "657d2a2492605557dcc62f02dca36364cf3007fd", "support" ], "infrastructure/metadata/infrastructure/testdriver/file_upload.sub.html.ini": [ - "42c98117c58bbe7b9201d1883e0c1649898b5570", + "a39640b714b838a391f227ac58278ba991fbce66", "support" ], "infrastructure/metadata/infrastructure/testdriver/generate_test_report.html.ini": [ - "0b01c8369a56495d0dbf07540efb9d7a8d979790", + "3e43b63af9545f2828efd2f7ce510bbc9a87bbfc", "support" ], "infrastructure/reftest-wait-ref.html": [ @@ -451292,7 +450595,7 @@ "support" ], "interfaces/InputDeviceCapabilities.idl": [ - "17f74b6855d4dfcf365e95bb01a537754669780b", + "cb5d2827e40554fdc43890bf52915c6a0efffbe3", "support" ], "interfaces/META.yml": [ @@ -451308,7 +450611,7 @@ "support" ], "interfaces/SVG.idl": [ - "8894f7b33363509d015a0d04e71f623805a19082", + "97871c2f023039788d7379bd1968f75dc3d3bee9", "support" ], "interfaces/WebCryptoAPI.idl": [ @@ -451332,7 +450635,7 @@ "support" ], "interfaces/appmanifest.idl": [ - "ddfe82dc34d31868ea044befa667a8c9987e5678", + "4a6425829f23da3cd1f78f74ff52a18635f7af7c", "support" ], "interfaces/audio-output.idl": [ @@ -451448,7 +450751,7 @@ "support" ], "interfaces/dom.idl": [ - "91157033c82335d4eb835907680210bb2141fdb4", + "03a0201b16fed569429c6cfc709063ed31681422", "support" ], "interfaces/element-timing.idl": [ @@ -451524,7 +450827,7 @@ "support" ], "interfaces/html.idl": [ - "98c633af212238cb3507dba7f7a53fee6299aab0", + "d856cd578aa0a0d15f09d0c95bebf48b0f95c0d6", "support" ], "interfaces/image-capture.idl": [ @@ -451788,7 +451091,7 @@ "support" ], "interfaces/web-nfc.idl": [ - "76ed6f0d959e1bfcc31325ce8aff657b06fa9de7", + "8c77339ae865fbe2a67dd6c1247c797a5bab058d", "support" ], "interfaces/web-share.idl": [ @@ -452115,10 +451418,6 @@ "af150a3341e92bab51a8510d8ff83cf04f36e3d4", "support" ], - "keyboard-lock/idlharness.https.window-expected.txt": [ - "4be7529d0fda1f769b6af63ec9592ac03ed75d20", - "support" - ], "keyboard-lock/idlharness.https.window.js": [ "7a20d8b544dfdbf55f556410b28698a86f14061e", "testharness" @@ -452159,10 +451458,6 @@ "25f44dc0c06932dd392c81b750d943cd8722a2d4", "support" ], - "keyboard-map/idlharness.https.window-expected.txt": [ - "f3cf5bd12b0806d118813d8fd0bc09dcf8f4d1b9", - "support" - ], "keyboard-map/idlharness.https.window.js": [ "18421368f347cba955a46994e05fd3d49f0daa13", "testharness" @@ -453603,6 +452898,14 @@ "585aebaf393d85187b644a97f6e7f28535fa9095", "reftest" ], + "mathml/relations/html5-tree/css-inline-style-dynamic.tentative-ref.html": [ + "13f0139273690992825daa68fcc0666679590490", + "support" + ], + "mathml/relations/html5-tree/css-inline-style-dynamic.tentative.html": [ + "ca3e679491951d9a573a0f754491cf549a565953", + "reftest" + ], "mathml/relations/html5-tree/css-inline-style-interface.tentative.html": [ "b82f98e28b70cbfbadf7f585c9a2c8a2612ba05f", "testharness" @@ -453836,7 +453139,7 @@ "testharness" ], "media-capabilities/idlharness.any-expected.txt": [ - "687751cd4239c3406f3223861c167f63a8a54a8b", + "55528510878a994cb7e6a2dc7c70a629797e2f1c", "support" ], "media-capabilities/idlharness.any.js": [ @@ -453844,17 +453147,13 @@ "testharness" ], "media-capabilities/idlharness.any.worker-expected.txt": [ - "e9ec6a38c7531a5816e39a274379967a9a31c923", + "405b3bafbc0b7969ae696c5c245951a03e309819", "support" ], "media-playback-quality/META.yml": [ "51b1b4e07ed2654d67d6e42083ed936e9d78848e", "support" ], - "media-playback-quality/idlharness.window-expected.txt": [ - "c770047ee8097b4e6d324bd7b7a9ccb539c01286", - "support" - ], "media-playback-quality/idlharness.window.js": [ "2444e30c704457353145c252dcd7adf3432d35f0", "testharness" @@ -453928,7 +453227,7 @@ "support" ], "media-source/idlharness.window-expected.txt": [ - "ad9883c3e14fcac10f0f4ee964efaabdf547e2d0", + "21a2eec7cff59b5ef3acf27c6feb4b7956e063f9", "support" ], "media-source/idlharness.window.js": [ @@ -454584,7 +453883,7 @@ "testharness" ], "mediacapture-fromelement/idlharness.window-expected.txt": [ - "ef7061c2d7a52c26121f06984d0ce770fe82aaa5", + "e2149ce949cb54bf34daf519d0ece6f17d8d2565", "support" ], "mediacapture-fromelement/idlharness.window.js": [ @@ -454667,10 +453966,6 @@ "2344bca9f337ad839356b92b22a5866991e0c561", "testharness" ], - "mediacapture-image/idlharness.window-expected.txt": [ - "73dc3c527ca445ee70b882efb3ddae82bebbbbf2", - "support" - ], "mediacapture-image/idlharness.window.js": [ "9d8f7eefb84dcc16534f1311c3b3c3d68e84572d", "testharness" @@ -454740,7 +454035,7 @@ "support" ], "mediacapture-record/idlharness.window-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", + "743e4725f34b4b2945b20d468da3f8569fb116b4", "support" ], "mediacapture-record/idlharness.window.js": [ @@ -454860,11 +454155,11 @@ "testharness" ], "mediacapture-streams/MediaStream-removetrack.https-expected.txt": [ - "09d4d669e9d914eac68d59681c299d189c5c6033", + "59a51268f3a3ede5d0d8c903f20e0bb7b5a83a68", "support" ], "mediacapture-streams/MediaStream-removetrack.https.html": [ - "b934397914f39cee6bb9a52915959233c0ca84ca", + "1e9ebbcefa800d3a2662ea90f2f040a7d0554285", "testharness" ], "mediacapture-streams/MediaStream-supported-by-feature-policy.html": [ @@ -454931,10 +454226,6 @@ "9437c51552abf1d3e72e9697c4d30ec47e508e29", "testharness" ], - "mediacapture-streams/idlharness.https.window-expected.txt": [ - "506bdb634fcfc37db606ed75961ae1a5f7a2044d", - "support" - ], "mediacapture-streams/idlharness.https.window.js": [ "594e1121b005ea3cd7ef1f30aa15fbed07dff1a4", "testharness" @@ -454956,7 +454247,7 @@ "support" ], "mediasession/idlharness.window-expected.txt": [ - "45298ab216229186c2c2f331f4a703af278b23b9", + "96abe20c3383370374570be8156a3b6ef7eaa391", "support" ], "mediasession/idlharness.window.js": [ @@ -455475,6 +454766,10 @@ "55a103adf0f29c615d40bc47943be1aec25c8f1e", "support" ], + "mixed-content/generic/test-case.sub.js": [ + "d25986e5c26745976e13d2d683c3bece3ac2ccc0", + "support" + ], "mixed-content/generic/tools/__init__.py": [ "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", "support" @@ -455484,7 +454779,7 @@ "support" ], "mixed-content/generic/tools/generate.py": [ - "9c911aa6c4102a411c1b134e33afeab69f600647", + "b80bc8df6bbebe969b88fd48d52abc7819ac9a3c", "support" ], "mixed-content/generic/tools/regenerate": [ @@ -456360,11 +455655,11 @@ "testharness" ], "mixed-content/spec.src.json": [ - "95dc2d318f54fcff89d5ad4fbd15656f32608288", + "e4844a8016b6f3242a1b8dc1110461cd39ff1e33", "support" ], "mixed-content/spec_json.js": [ - "0868df220fb9fbe3eb5700f662c2321d708ea9ca", + "009a853077b5c37c6eeae9f87f0be75109c584fd", "support" ], "mixed-content/video-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html": [ @@ -457947,18 +457242,10 @@ "6e5cf50f0b91407a34fb199a055ed8cc2a62e0d3", "support" ], - "netinfo/idlharness.any-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", - "support" - ], "netinfo/idlharness.any.js": [ "96b114fdb56d38935c085b8fd5f4f4689dad9858", "testharness" ], - "netinfo/idlharness.any.worker-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", - "support" - ], "netinfo/netinfo-basics.html": [ "7d08e12280a881508c862ebaaeaa40a099cf8e35", "testharness" @@ -458143,10 +457430,6 @@ "a4b288fa5976d035f40a673c7c7da465454ecfe6", "manual" ], - "notifications/idlharness.https.any-expected.txt": [ - "9882a5f89efa8844bdcf291e8aa503ef06c25917", - "support" - ], "notifications/idlharness.https.any.js": [ "0b9a71ba85ad09d6ab2068c70ff61c337eb0b1a0", "testharness" @@ -458155,14 +457438,6 @@ "9882a5f89efa8844bdcf291e8aa503ef06c25917", "support" ], - "notifications/idlharness.https.any.sharedworker-expected.txt": [ - "9882a5f89efa8844bdcf291e8aa503ef06c25917", - "support" - ], - "notifications/idlharness.https.any.worker-expected.txt": [ - "9882a5f89efa8844bdcf291e8aa503ef06c25917", - "support" - ], "notifications/instance-expected.txt": [ "a464abfcf651c9296a251d854dcd8cbb562a8a94", "support" @@ -464687,10 +463962,6 @@ "0b7302e704018f2b412c0565b7f134bb08c0b9df", "manual" ], - "orientation-event/idlharness.https.window-expected.txt": [ - "b177b51b54ec8f4372f8c94db70c75ade25a1c6a", - "support" - ], "orientation-event/idlharness.https.window.js": [ "55cfed9276b480d7f70c616fa8d815f6ec925d66", "testharness" @@ -464907,10 +464178,6 @@ "7124712de3869cb417579d73d8751445b4704722", "support" ], - "page-visibility/idlharness.window-expected.txt": [ - "2e3579516daad5814621550f8e064542ebb3d60c", - "support" - ], "page-visibility/idlharness.window.js": [ "8cc2f83095c1ce7ad04a06406a0d79b876aee32b", "testharness" @@ -465127,24 +464394,20 @@ "56690d2b26ed671f773a16853463126e57735f77", "manual" ], - "payment-handler/idlharness.https.any-expected.txt": [ - "c3a62e81e9ecfe253793b922b7a7a794c2040a67", - "support" - ], "payment-handler/idlharness.https.any.js": [ "878114ec7ed878d3e754341cbffa138092fee129", "testharness" ], "payment-handler/idlharness.https.any.serviceworker-expected.txt": [ - "c3a62e81e9ecfe253793b922b7a7a794c2040a67", + "d568ca4cfe48142036b7e347b2f840180af1a11f", "support" ], "payment-handler/idlharness.https.any.sharedworker-expected.txt": [ - "c3a62e81e9ecfe253793b922b7a7a794c2040a67", + "9f716c5e598f7c177728f85dc5036c86e8750d4a", "support" ], "payment-handler/idlharness.https.any.worker-expected.txt": [ - "c3a62e81e9ecfe253793b922b7a7a794c2040a67", + "9f716c5e598f7c177728f85dc5036c86e8750d4a", "support" ], "payment-handler/manifest.json": [ @@ -465416,7 +464679,7 @@ "testharness" ], "payment-request/idlharness.https.window-expected.txt": [ - "b8f707a9edd31abadadf8709425bd999266d93bf", + "62e7edfb041df6a6cd15e356cf642cd51bd7f8e2", "support" ], "payment-request/idlharness.https.window.js": [ @@ -465779,18 +465042,10 @@ "b055f50f636848ceb7b1750484cc12328a121398", "support" ], - "permissions/idlharness.any-expected.txt": [ - "11d4d700290e41f80997f8fc56722e8f8b987a42", - "support" - ], "permissions/idlharness.any.js": [ "ff0a969badace39c3c4466c4528e30c21355e132", "testharness" ], - "permissions/idlharness.any.worker-expected.txt": [ - "11d4d700290e41f80997f8fc56722e8f8b987a42", - "support" - ], "permissions/test-background-fetch-permission.html": [ "c824ecf1d2b47630f8ebcef3ed42c8c908c8e9eb", "testharness" @@ -465815,10 +465070,6 @@ "c8d76f5244a41754e4a8a5b0c9fd01d056caee96", "testharness" ], - "picture-in-picture/idlharness.window-expected.txt": [ - "fc66edd656f2770844bee4a44ed9ee4345d2f675", - "support" - ], "picture-in-picture/idlharness.window.js": [ "31cd4a14177bccd277023a98ea5956e5f018e2e1", "testharness" @@ -465875,13 +465126,13 @@ "895a89109c6d75d287b8508f0d1a10fa3189a671", "testharness" ], - "pointerevents/extension/pointerevent_coalesced_events_attributes-manual-expected.txt": [ - "e84ebdb4f0f0bf13d750e29669974d68c8317e8d", + "pointerevents/extension/pointerevent_coalesced_events_attributes-expected.txt": [ + "e9ecdaa4bfe35a4e711c10c960d3d7124c389537", "support" ], - "pointerevents/extension/pointerevent_coalesced_events_attributes-manual.html": [ - "89149468a5d23d494f6b09d4142b43c8d1d2289c", - "manual" + "pointerevents/extension/pointerevent_coalesced_events_attributes.html": [ + "fa68124c829f46d24c4a2cda789890d27f11fe73", + "testharness" ], "pointerevents/extension/pointerevent_constructor.html": [ "6971dcecfdebf3a113ef4ef9c9e8bd7bdf88ea02", @@ -465896,7 +465147,7 @@ "manual" ], "pointerevents/extension/pointerevent_pointerrawupdate.html": [ - "0d317010621d005b32631ad26a4f3b3ca08b181a", + "0f46583c9b5d83517a3028bfa735072ec306cccd", "testharness" ], "pointerevents/extension/pointerevent_pointerrawupdate_in_pointerlock-manual.html": [ @@ -465932,7 +465183,7 @@ "manual" ], "pointerevents/idlharness.window-expected.txt": [ - "fbd91e365b8b8761637a7425200a69121a44e935", + "e0ed9cea2b41d3770ace3e16d0c64b05f03aae82", "support" ], "pointerevents/idlharness.window.js": [ @@ -465968,7 +465219,7 @@ "testharness" ], "pointerevents/pointerevent_boundary_events_in_capturing.html": [ - "1ed26eb6dcfcd728440a0eae5ddede45fe9a8dcf", + "3d2ff7079b82decb8779ed6c5040180de19c963f", "testharness" ], "pointerevents/pointerevent_capture_mouse.html": [ @@ -465984,7 +465235,7 @@ "testharness" ], "pointerevents/pointerevent_click_during_capture.html": [ - "7f63283b61a4bedac614914b3fda14364abd14ad", + "2acd5dc1287bb6b47a37b9fb23821fa1ebbbd517", "testharness" ], "pointerevents/pointerevent_constructor.html": [ @@ -465992,11 +465243,11 @@ "testharness" ], "pointerevents/pointerevent_disabled_form_control.html": [ - "cf44677c759e6e2d3278ddefdc8deac7e11ff69b", + "13f6e31cb41c5fe6cdb8eee6928174debe06a5ed", "testharness" ], "pointerevents/pointerevent_element_haspointercapture.html": [ - "c9690a688c5cbf5c5333d63c1aae2f856aaa1af0", + "3db6acf8e57b0524c4b55f58faa1761927f41499", "testharness" ], "pointerevents/pointerevent_fractional_coordinates-manual.html": [ @@ -466020,7 +465271,7 @@ "testharness" ], "pointerevents/pointerevent_pointercancel_touch.html": [ - "a645033a247437604d6b1c4614079c9193c28e9d", + "b09ddd740a6d6775806731c8e069a4674e3b12e3", "testharness" ], "pointerevents/pointerevent_pointercapture_in_frame-expected.txt": [ @@ -466032,11 +465283,11 @@ "testharness" ], "pointerevents/pointerevent_pointerenter_does_not_bubble.html": [ - "7d38de7446938de3715b19f4585d747a18912d77", + "a8153c256fcb2f88c946b0b68123ff01799a3516", "testharness" ], "pointerevents/pointerevent_pointerleave_after_pointercancel_touch.html": [ - "555e5feb010aa3277c454e8396d2b976f552dbb8", + "8425667a104a3c783285a868196cbb2b255b6f20", "testharness" ], "pointerevents/pointerevent_pointerleave_descendant_over.html": [ @@ -466044,7 +465295,7 @@ "testharness" ], "pointerevents/pointerevent_pointerleave_descendants.html": [ - "fe121a8409d802f26e97bd6c5f788397d7267aa2", + "6133b05c649fcc6ebbe6388b30777e2e27eb3e64", "testharness" ], "pointerevents/pointerevent_pointerleave_does_not_bubble.html": [ @@ -466056,23 +465307,23 @@ "manual" ], "pointerevents/pointerevent_pointermove.html": [ - "4b168439a4ee1455e5a5960b48a0c3192e767edf", + "c7e798b087eaf41874e526740cd880b746f6c499", "testharness" ], "pointerevents/pointerevent_pointermove_isprimary_same_as_pointerdown.html": [ - "46bfe40b69e0d3726ef522870e0b1172fa6d50eb", + "3073076a49fde1d926548a2d076176b50fc8ecc6", "testharness" ], "pointerevents/pointerevent_pointermove_on_chorded_mouse_button.html": [ - "f65512832c8fa78a461562a41755e617159dc521", + "06bb5f0e8951886d66d947053e4f54086973861c", "testharness" ], "pointerevents/pointerevent_pointerout_after_pointercancel_touch.html": [ - "13e7ffaebc1a80ba7bef12d32088aca1c250cde2", + "782289384ab3cdb6257c142eb9ff9da674d0d8bf", "testharness" ], "pointerevents/pointerevent_pointerout_pen.html": [ - "a718468c49a965eefee134cc6e6ec4051042cb49", + "210055e6539a369461aa30e609489310891570fd", "testharness" ], "pointerevents/pointerevent_pointerout_received_once.html": [ @@ -466080,7 +465331,7 @@ "testharness" ], "pointerevents/pointerevent_releasepointercapture_events_to_original_target.html": [ - "12e31cdb234d1bbb5cc43b436415e44b12daaef2", + "6f6d30e16e1c5376a1a5b57c0c65bc683e075334", "testharness" ], "pointerevents/pointerevent_releasepointercapture_invalid_pointerid.html": [ @@ -466088,7 +465339,7 @@ "testharness" ], "pointerevents/pointerevent_releasepointercapture_onpointercancel_touch.html": [ - "493236150dd32d0c6713b5b2dff123d1eefd5f7b", + "c54ee2a9d4ebb242b33f89c2b436753dfff6dbbc", "testharness" ], "pointerevents/pointerevent_releasepointercapture_onpointerup_mouse.html": [ @@ -466104,7 +465355,7 @@ "testharness" ], "pointerevents/pointerevent_sequence_at_implicit_release_on_click.html": [ - "0c6e2c532f9cc5ae410f6bd399340c55e937859d", + "4b424f27643a95f4170da5d7fb794ca3dbef1ce4", "testharness" ], "pointerevents/pointerevent_sequence_at_implicit_release_on_drag.html": [ @@ -466116,7 +465367,7 @@ "testharness" ], "pointerevents/pointerevent_setpointercapture_inactive_button_mouse.html": [ - "7d0b00d47bc276dbba5ae3076bfbed0a912ea327", + "fa9a5fb3c5b8ae7df867159aab8fc3ad7a6c77e2", "testharness" ], "pointerevents/pointerevent_setpointercapture_invalid_pointerid.html": [ @@ -466136,11 +465387,11 @@ "support" ], "pointerevents/pointerevent_suppress_compat_events_on_click.html": [ - "341a82d97a8e0ff4ffbe2d87b817fce807dd39b6", + "2f99e7a976ac8006cff25b9cde1ee1e29b6a14d1", "testharness" ], "pointerevents/pointerevent_suppress_compat_events_on_drag_mouse.html": [ - "6ed75ab4cbcda3c673b3328a826019bdade4db5d", + "6ed19c24678aa03c82633af7aa146fba80232c0b", "testharness" ], "pointerevents/pointerevent_touch-action-auto-css_touch.html": [ @@ -466168,7 +465419,7 @@ "testharness" ], "pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-y_touch.html": [ - "704b4188979f8d39e6812b5b4a0e8900d62d7e6f", + "99677313de57238767c32302a6d81d708a459e0e", "testharness" ], "pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch.html": [ @@ -466295,10 +465546,6 @@ "8c43cf6dafcf9ac9e9a9203e266472f7eecd47e5", "testharness" ], - "pointerlock/idlharness.window-expected.txt": [ - "a00760684d52c0e091c9ba64fba5d519199477ed", - "support" - ], "pointerlock/idlharness.window.js": [ "f176343a487de4d71bda196657c7958ac62f1553", "testharness" @@ -466903,10 +466150,6 @@ "daa0a0ff14dac884abef2a91c4fada1f262d6385", "testharness" ], - "presentation-api/controlling-ua/idlharness.https-expected.txt": [ - "ab746150dc58c8680373909b2df321cf052f6133", - "support" - ], "presentation-api/controlling-ua/idlharness.https.html": [ "52aa8c55328c7b9226581779793955b62b4d5126", "testharness" @@ -467095,22 +466338,10 @@ "2f5a866d940363a9e514590d496e2fec4f3a3440", "support" ], - "push-api/idlharness.https.any-expected.txt": [ - "a4772fd012417cdc02e5ef58e693b45818920a28", - "support" - ], "push-api/idlharness.https.any.js": [ "16c0826a7592a4636caa70c53ec7a6bfb0f7b1c3", "testharness" ], - "push-api/idlharness.https.any.serviceworker-expected.txt": [ - "a4772fd012417cdc02e5ef58e693b45818920a28", - "support" - ], - "push-api/idlharness.https.any.sharedworker-expected.txt": [ - "a4772fd012417cdc02e5ef58e693b45818920a28", - "support" - ], "push-api/idlharness.https.any.worker-expected.txt": [ "a4772fd012417cdc02e5ef58e693b45818920a28", "support" @@ -467456,7 +466687,7 @@ "support" ], "referrer-policy/generic/referrer-policy-test-case.sub.js": [ - "d10a03212bd23dd31e568685c68c73067047a3cb", + "4722b0b1b8b373d4bc9ae4c7c41912e693dd9d1b", "support" ], "referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html": [ @@ -467503,6 +466734,10 @@ "8afbf1db237130d6c8258b755ceac5258f6500fa", "testharness" ], + "referrer-policy/generic/test-case.sub.js": [ + "356f8054f6eca86f7e6f651ab1040ad0c39994a9", + "support" + ], "referrer-policy/generic/tools/__init__.py": [ "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", "support" @@ -467512,7 +466747,7 @@ "support" ], "referrer-policy/generic/tools/generate.py": [ - "ba1e963787bef98bdd0a3eb2016296995f631f97", + "480603b9bd870d3e1abd577de31f3f6192caa2e8", "support" ], "referrer-policy/generic/tools/regenerate": [ @@ -472364,11 +471599,11 @@ "testharness" ], "referrer-policy/spec.src.json": [ - "f69c289526ab79acdebc872725c00a847685591a", + "ab02dcc1b16e0621ef241b375654a3cd41345e31", "support" ], "referrer-policy/spec_json.js": [ - "346a6218f9e278c550d8829e9089a7da4d8be247", + "1b507dbcf14ed32abdf0953f0e0abdaecd73efe9", "support" ], "referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/a-tag/no-redirect/cross-insecure.http.html": [ @@ -476119,10 +475354,6 @@ "3c21f017b48293f778eca1061a7215187fda9eac", "testharness" ], - "remote-playback/idlharness.window-expected.txt": [ - "e4b69030cf37936290f54af068a7f90dcf16e8a3", - "support" - ], "remote-playback/idlharness.window.js": [ "73bc998f7433be4ea77fc18a62c7445d9688d907", "testharness" @@ -476219,10 +475450,6 @@ "9fb77d65dc5163988c922583db9d717312cef53d", "testharness" ], - "requestidlecallback/idlharness.window-expected.txt": [ - "f53fe3261c7d78c641d9c285f00dc86ae859722d", - "support" - ], "requestidlecallback/idlharness.window.js": [ "69cd5a49b0432a65db9da267248a6f97d93cd0b9", "testharness" @@ -476371,18 +475598,10 @@ "8a1c433a5c3a7b79d92b797ee1057c624d4a9866", "testharness" ], - "resource-timing/idlharness.any-expected.txt": [ - "eda8abd670b17928ef4be29284f16ca438173801", - "support" - ], "resource-timing/idlharness.any.js": [ "a7542f191c10ea7b42110b5fc80e7abf43174bb5", "testharness" ], - "resource-timing/idlharness.any.worker-expected.txt": [ - "eda8abd670b17928ef4be29284f16ca438173801", - "support" - ], "resource-timing/nested-context-navigations-embed.html": [ "bbba46c50edf21f50b49099c779dd5a8792faa0f", "testharness" @@ -477064,7 +476283,7 @@ "support" ], "resources/webidl2/lib/webidl2.js": [ - "98216ab750dea05d0282287b597b2c2c96719223", + "c60a456c3241655d05a7e40f82b19d8735d017d4", "support" ], "resources/webidl2/lib/webidl2.js.headers": [ @@ -477099,10 +476318,6 @@ "d510bc42089b8b386b9469c3ce99ba810ae37b63", "testharness" ], - "screen-capture/idlharness.https.window-expected.txt": [ - "e75bd5fe82361a46a8010f4cb46315cc623f54c4", - "support" - ], "screen-capture/idlharness.https.window.js": [ "527565ea9632e69a6de62efd2be3729c974b93e4", "testharness" @@ -477127,10 +476342,6 @@ "51b41e19357141d5bf9699d41f8968378dcc8956", "testharness" ], - "screen-orientation/idlharness.window-expected.txt": [ - "5d4d3494ef645e6e3db14b98c89d5ed7436d1007", - "support" - ], "screen-orientation/idlharness.window.js": [ "115f6ccb1e393586f4076884c01443d4944bb413", "testharness" @@ -477195,6 +476406,10 @@ "e1b50f670105f3a05dacd3518d62770685121c67", "support" ], + "screen_enumeration/requestDisplays.tentative.https.any.js": [ + "e2a5bc427deb96275a1441141d53e2ffc7f8cd99", + "testharness" + ], "scroll-animations/META.yml": [ "c53f1f432fe1ec2887e30af396a1f1574b76b95d", "support" @@ -477299,26 +476514,10 @@ "e7c78383a8266bd160dcfc9747b69ebe56530295", "testharness" ], - "secure-contexts/idlharness.any-expected.txt": [ - "c717e8bd63fd15f780df7cf75837f935420aa970", - "support" - ], "secure-contexts/idlharness.any.js": [ "5bd1d44d6f7d9c299ff41c241802652924ce77b2", "testharness" ], - "secure-contexts/idlharness.any.serviceworker-expected.txt": [ - "c717e8bd63fd15f780df7cf75837f935420aa970", - "support" - ], - "secure-contexts/idlharness.any.sharedworker-expected.txt": [ - "c717e8bd63fd15f780df7cf75837f935420aa970", - "support" - ], - "secure-contexts/idlharness.any.worker-expected.txt": [ - "c717e8bd63fd15f780df7cf75837f935420aa970", - "support" - ], "secure-contexts/postMessage-helper.html": [ "8971c86b279b3134ee56f74c5414cc3a207e3d41", "support" @@ -477527,10 +476726,6 @@ "ea119f2fc40c11884f7602a685c1094282884214", "testharness" ], - "selection/idlharness.window-expected.txt": [ - "7a270e037f7cab1963ced799f38f9ba714754b18", - "support" - ], "selection/idlharness.window.js": [ "543fcb3eff5bb4fd0c51c7e4cc1e5338a0b74cbc", "testharness" @@ -478812,7 +478007,7 @@ "testharness" ], "service-workers/service-worker/activation.https.html": [ - "5755758e5716dbc608e7e773bf9b83ab3f2f7e91", + "007ecaad76c95935dd57470c660575305dc6bae1", "testharness" ], "service-workers/service-worker/active.https.html": [ @@ -478952,7 +478147,7 @@ "support" ], "service-workers/service-worker/detached-context.https.html": [ - "5ae4de8cc81e0c3650eaaf6b5656193d4a2cf8b0", + "f96370d201000d20a950166dccf2caf72bd473c1", "testharness" ], "service-workers/service-worker/embed-and-object-are-not-intercepted.https.html": [ @@ -479260,17 +478455,13 @@ "testharness" ], "service-workers/service-worker/interfaces-sw.https-expected.txt": [ - "401cb4a88b25ded633f719f8aa431fa6f34e51f3", + "ea3fd1a0adbd367cde459749a2c364a403571345", "support" ], "service-workers/service-worker/interfaces-sw.https.html": [ "7bff6ac107e3de0ae1207f477b9f940ad404cd21", "testharness" ], - "service-workers/service-worker/interfaces-window.https-expected.txt": [ - "9d94267331002c05ba5e732a584e129098263c97", - "support" - ], "service-workers/service-worker/interfaces-window.https.html": [ "cc3bdaf11fc7bc174eef555a60263e192efdc539", "testharness" @@ -482227,20 +481418,12 @@ "7cd98964c24979d427b51c095e178b0622efa971", "support" ], - "sms/idlharness.https.any-expected.txt": [ - "df3b8715570ccee790d32b2d90d631ee6b39d2d5", - "support" - ], "sms/idlharness.https.any.js": [ "0c31744937c6dbc9b292586ab8ce5f10b268f3ed", "testharness" ], - "sms/idlharness.https.any.worker-expected.txt": [ - "df3b8715570ccee790d32b2d90d631ee6b39d2d5", - "support" - ], "sms/interceptor.https.html": [ - "86b21922284f946a16bcd295a87851bee7569f9a", + "39b749b6d32c32a3254043067deb4dc695a0ad4d", "testharness" ], "sms/resources/iframe.html": [ @@ -482252,11 +481435,11 @@ "testharness" ], "sms/sms_provider.js": [ - "4506135551c771d056dc202f06a4c00a7c31089f", + "11fd8466e986bd9e723791ea6d06f507a17e1247", "support" ], "sms/sms_receiver.idl": [ - "b71b6a3e0db2b74b127e4332cd83f218bb39d6aa", + "64048523f901f8509e85e4dc1ddc1f7c59ab3489", "support" ], "speech-api/META.yml": [ @@ -482455,18 +481638,10 @@ "fbc746a30b6dfa6d00fc2db747c78ec09a7beefc", "support" ], - "storage/idlharness.https.any-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", - "support" - ], "storage/idlharness.https.any.js": [ "0ce4d5a0c8fccf07f6908a7a9ac9ac5ab5df6624", "testharness" ], - "storage/idlharness.https.any.worker-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", - "support" - ], "storage/opaque-origin.https.window.js": [ "3e101dde6759b2b8c379d6adc95190742328630f", "testharness" @@ -483227,10 +482402,6 @@ "de1416372cd4431147ad40206c54e5ecf5273aec", "support" ], - "subresource-integrity/idlharness.window-expected.txt": [ - "66572cedf0b6c893d8e478943efdbb5132d1445b", - "support" - ], "subresource-integrity/idlharness.window.js": [ "d2997e562fadfd208d202ce3d60d11cd937ea779", "testharness" @@ -484192,7 +483363,7 @@ "testharness" ], "svg/idlharness.window-expected.txt": [ - "5b85a02603d0bc4ca1b7caa03eb2b471ff71d5c8", + "85b399ff6c594f38f4fdc4b71220fce907f4fb5e", "support" ], "svg/idlharness.window.js": [ @@ -485291,6 +484462,18 @@ "9c1fd49083ae55b5a6743c9da4b4ecab46683b2c", "reftest" ], + "svg/struct/scripted/autofocus-attribute-expected.txt": [ + "653e39d7191c8b377d156bd403be4a873a5f0cac", + "support" + ], + "svg/struct/scripted/autofocus-attribute.svg": [ + "d8f25741ee40cc488d504065548342c095cbc4c3", + "testharness" + ], + "svg/struct/scripted/blank.svg": [ + "9e560bdc5feddc1ae76e3950e89efc1c31dc9269", + "support" + ], "svg/styling/render/transform-box-ref.svg": [ "b41f8bb2a7baac19d907c378a0e269b9a8e914fb", "support" @@ -490900,7 +490083,7 @@ "testharness" ], "touch-events/idlharness.window-expected.txt": [ - "c498dc5719712365708121e57e0706789d9a792e", + "10ad2905fd59718ccc4b2d2ab618bab978894250", "support" ], "touch-events/idlharness.window.js": [ @@ -491072,7 +490255,7 @@ "testharness" ], "trusted-types/block-eval.tentative.html": [ - "e1a6a69accd1fa8ddaddd1c49970755a275bd8eb", + "cd4f5827c5331318a86dc71a42bc9eb037eb5b95", "testharness" ], "trusted-types/block-string-assignment-to-DOMParser-parseFromString.tentative.html": [ @@ -491140,13 +490323,9 @@ "testharness" ], "trusted-types/eval-with-permissive-csp.tentative.html": [ - "68d119a520121f2c5a3f88028abcf657799b9123", + "25b4948c039c68c425e22f5e30ae4338327b6ce2", "testharness" ], - "trusted-types/idlharness.window-expected.txt": [ - "f306478a3e85797257d5554617277022f9435877", - "support" - ], "trusted-types/idlharness.window.js": [ "de13697764ed487060de3dd425cd39cba73ff13b", "testharness" @@ -491167,6 +490346,30 @@ "4079f7e9c7933cf9ee195fe0e7a54e0f56f184ab", "support" ], + "trusted-types/trusted-types-eval-reporting-no-unsafe-eval.tentative.https.html": [ + "f60bb9fe5140297b324e7e618c6c0230890feb30", + "testharness" + ], + "trusted-types/trusted-types-eval-reporting-no-unsafe-eval.tentative.https.html.headers": [ + "4bc0bd3c1ab29d551a5e9988bde5a9dc8f6fa1a7", + "support" + ], + "trusted-types/trusted-types-eval-reporting-report-only.tentative.https.html": [ + "1fb65459468d96f86e4a467aa8da2f3be489ae31", + "testharness" + ], + "trusted-types/trusted-types-eval-reporting-report-only.tentative.https.html.headers": [ + "ba26c77fbf498385424205b8bff0c404f0f5357b", + "support" + ], + "trusted-types/trusted-types-eval-reporting.tentative.https.html": [ + "309873cb1f8028ecb071ec5db3dfda62337e6b43", + "testharness" + ], + "trusted-types/trusted-types-eval-reporting.tentative.https.html.headers": [ + "2e935f73a48c42346b6352fa6cd16d12294eebd8", + "support" + ], "trusted-types/trusted-types-report-only.tentative.https.html": [ "f33183b4906975f03ebb3f3a21adb63839c89adb", "testharness" @@ -492187,10 +491390,6 @@ "64e6e9b548233809b217c03e2709f7fbf12fdce9", "manual" ], - "vibration/idlharness.window-expected.txt": [ - "23bf13b5c3cac13adc17d66eeadb98b35218132d", - "support" - ], "vibration/idlharness.window.js": [ "fbe14daa6119a8213ca58e2233345af015353a1b", "testharness" @@ -492339,18 +491538,10 @@ "776c59be658f749fcdd0a8ea6a92ac82c88d344e", "support" ], - "wake-lock/idlharness.https.any-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", - "support" - ], "wake-lock/idlharness.https.any.js": [ "2ad9980dae53727ea328e942dead029a936875cc", "testharness" ], - "wake-lock/idlharness.https.any.worker-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", - "support" - ], "wake-lock/resources/page1.html": [ "7fc080d380c4bd46dfb011910e570ee412561b92", "support" @@ -492872,7 +492063,7 @@ "testharness" ], "web-animations/animation-model/animation-types/addition-per-property-expected.txt": [ - "260c457085f23f4a14491349dbddb58d8878a8b3", + "bc5e8c857560e9a7aa498c48c66b5e8e49a86dfc", "support" ], "web-animations/animation-model/animation-types/addition-per-property.html": [ @@ -492884,7 +492075,7 @@ "testharness" ], "web-animations/animation-model/animation-types/interpolation-per-property-expected.txt": [ - "c611fb484228cdc280bc1e24e5b47aa2b81b54c2", + "c62109d89a32329e396b34c89a7b2dc6f532f86a", "support" ], "web-animations/animation-model/animation-types/interpolation-per-property.html": [ @@ -493008,7 +492199,7 @@ "testharness" ], "web-animations/interfaces/Animation/finished-expected.txt": [ - "9f0b8e60003c33ba7fe9b376ce4beb83de25aa19", + "32a633f961b42cf942501d2ee95dc1b564b2c4d7", "support" ], "web-animations/interfaces/Animation/finished.html": [ @@ -493020,7 +492211,7 @@ "testharness" ], "web-animations/interfaces/Animation/idlharness.window-expected.txt": [ - "91e59deaa04e60929e15e3b4802f191b9582e9d8", + "75523c9b443df97e04b0b5359747a982d0773617", "support" ], "web-animations/interfaces/Animation/idlharness.window.js": [ @@ -493128,7 +492319,7 @@ "testharness" ], "web-animations/interfaces/KeyframeEffect/idlharness.window-expected.txt": [ - "66fc2d274b8b41653373219436e2ba982ae1f565", + "8c8f9cb96b8da5a3518e8f0305125c327f6fe392", "support" ], "web-animations/interfaces/KeyframeEffect/idlharness.window.js": [ @@ -493239,6 +492430,10 @@ "779bee184b8dbde227db6ae72dc7ff83a79c4176", "testharness" ], + "web-animations/timing-model/animations/pausing-an-animation-expected.txt": [ + "7872703ef81da2e10b78ca1295553693a7d3e111", + "support" + ], "web-animations/timing-model/animations/pausing-an-animation.html": [ "bcec609d14206567ee25855f6dd7e684c69485ba", "testharness" @@ -493251,6 +492446,10 @@ "1477261e6bc6227598b4e80475a66aa95fe5d15c", "testharness" ], + "web-animations/timing-model/animations/reversing-an-animation-expected.txt": [ + "227a28acd3e8b45d7a5b3856a62705988c059912", + "support" + ], "web-animations/timing-model/animations/reversing-an-animation.html": [ "75fd9876c0495a8bd0096d2f976a920d3d7e5a05", "testharness" @@ -493267,10 +492466,18 @@ "9d07d53df46164d53b1a3c8f4a10787608c5f014", "testharness" ], + "web-animations/timing-model/animations/setting-the-start-time-of-an-animation-expected.txt": [ + "5677028f1a13bc273443b1d8f1c989cf7f2ded47", + "support" + ], "web-animations/timing-model/animations/setting-the-start-time-of-an-animation.html": [ "a1727994bdb9b8da10bfdd36baa3d8e0ccc4ef1d", "testharness" ], + "web-animations/timing-model/animations/setting-the-target-effect-of-an-animation-expected.txt": [ + "5f0650b0b820adec0439a5b9429974dd15a74dd4", + "support" + ], "web-animations/timing-model/animations/setting-the-target-effect-of-an-animation.html": [ "60ea1850fc5c15ea91c075d8929d8a3dce2b4f89", "testharness" @@ -493343,26 +492550,10 @@ "7fc4c7354054c08a70e6b1ad050958c0303af5fa", "testharness" ], - "web-locks/idlharness.tentative.https.any-expected.txt": [ - "3bb4ac9019df3d7c6a4a90d0be71fb27aefe6873", - "support" - ], "web-locks/idlharness.tentative.https.any.js": [ "168f57328b839ed7f9dbf17e98bbbd5deedc146a", "testharness" ], - "web-locks/idlharness.tentative.https.any.serviceworker-expected.txt": [ - "3bb4ac9019df3d7c6a4a90d0be71fb27aefe6873", - "support" - ], - "web-locks/idlharness.tentative.https.any.sharedworker-expected.txt": [ - "3bb4ac9019df3d7c6a4a90d0be71fb27aefe6873", - "support" - ], - "web-locks/idlharness.tentative.https.any.worker-expected.txt": [ - "3bb4ac9019df3d7c6a4a90d0be71fb27aefe6873", - "support" - ], "web-locks/ifAvailable.tentative.https.any.js": [ "cfd1004000acd561ccac59599f3a5ee482cf551e", "testharness" @@ -493488,7 +492679,7 @@ "support" ], "web-nfc/idlharness.https.window-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", + "4abf6fc50bdb4d54cf177138645773909320f0a8", "support" ], "web-nfc/idlharness.https.window.js": [ @@ -493523,10 +492714,6 @@ "bb263e542559d8676c2dd94b7521ecf345dc712e", "testharness" ], - "web-share/idlharness.https.window-expected.txt": [ - "23bf13b5c3cac13adc17d66eeadb98b35218132d", - "support" - ], "web-share/idlharness.https.window.js": [ "1520387caf133dc43c5f036bbf24a99ef73a7f3c", "testharness" @@ -493636,7 +492823,7 @@ "testharness" ], "webaudio/idlharness.https.window-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", + "29a7407d0cea2b8823bd4b0dc7251190a2c1432f", "support" ], "webaudio/idlharness.https.window.js": [ @@ -494344,7 +493531,7 @@ "testharness" ], "webaudio/the-audio-api/the-convolvernode-interface/ctor-convolver.html": [ - "935ceeb715edd2ffdeb7979d6824736fa82b6d2f", + "97684b2131277f61095c414230f76f06db85d06e", "testharness" ], "webaudio/the-audio-api/the-convolvernode-interface/realtime-conv.html": [ @@ -496316,7 +495503,7 @@ "support" ], "webmidi/idlharness.https.window-expected.txt": [ - "23bf13b5c3cac13adc17d66eeadb98b35218132d", + "5cc4ad6b48f1b3969b29d101ff52f7543ceb8e7e", "support" ], "webmidi/idlharness.https.window.js": [ @@ -496652,7 +495839,7 @@ "testharness" ], "webrtc/RTCPeerConnection-iceConnectionState.https.html": [ - "c0ce25eb76bfe3464863ec42b31842cfbb88b8de", + "8e853e4acbc1eee978ce6b482f514b2ac39a1994", "testharness" ], "webrtc/RTCPeerConnection-iceGatheringState-expected.txt": [ @@ -497032,7 +496219,7 @@ "testharness" ], "webrtc/idlharness.https.window-expected.txt": [ - "ff203f90942491b4108a14180737aa59a55c4e12", + "e6a1d72ea93e391dc0fbb9955bc2fa46425e588a", "support" ], "webrtc/idlharness.https.window.js": [ @@ -498363,10 +497550,6 @@ "8070938baf26dbd0bfdc46ef60082cfbb30f5a8e", "support" ], - "webstorage/idlharness.window-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", - "support" - ], "webstorage/idlharness.window.js": [ "177eb607f7b7774a20e0cde57032720b8efde520", "testharness" @@ -498552,7 +497735,7 @@ "support" ], "webusb/idlharness.https.any-expected.txt": [ - "11d4d700290e41f80997f8fc56722e8f8b987a42", + "506f932711233d182a849c6b98d3441611e8ac0d", "support" ], "webusb/idlharness.https.any.js": [ @@ -498560,7 +497743,7 @@ "testharness" ], "webusb/idlharness.https.any.worker-expected.txt": [ - "11d4d700290e41f80997f8fc56722e8f8b987a42", + "d097c0df8df5b4c542ad31c964c0c42018c1ac2a", "support" ], "webusb/insecure-context.any.js": [ @@ -498892,7 +498075,7 @@ "testharness" ], "webvtt/api/idlharness.window-expected.txt": [ - "adb6cc436c169f4b230d0ba23c9a9541d585ecf0", + "194df34ff569a2d0c967d677a43cf84d234f7d3d", "support" ], "webvtt/api/idlharness.window.js": [ @@ -501851,10 +501034,6 @@ "c8545999080892701858b425d8141ae0d3b3c469", "testharness" ], - "webxr/idlharness.https.window-expected.txt": [ - "6def90d49d69815b18972681042946ebdbee9a21", - "support" - ], "webxr/idlharness.https.window.js": [ "3e54e367787cb95dada398790fe23b10174df29f", "testharness" @@ -504119,10 +503298,6 @@ "98b56d36250f2f02a38e6fb066b9abbe7b0cf902", "testharness" ], - "worklets/animation-worklet-referrer.https-expected.txt": [ - "d605c7563fa39501b27a0d574fc611c9a2084356", - "support" - ], "worklets/animation-worklet-referrer.https.html": [ "494e06a8472795016e2ee346397d7c227477809c", "testharness" @@ -504147,10 +503322,6 @@ "cff063a4361bd0244ee7a7a352be849f1b7118a6", "testharness" ], - "worklets/audio-worklet-referrer.https-expected.txt": [ - "d605c7563fa39501b27a0d574fc611c9a2084356", - "support" - ], "worklets/audio-worklet-referrer.https.html": [ "f258cd5a452d57002d041211cb44ee6f27f0b3aa", "testharness" @@ -504179,10 +503350,6 @@ "a2f57c221b7f6f020dda72bb9b2395cfd05d5c03", "testharness" ], - "worklets/layout-worklet-referrer.https-expected.txt": [ - "d605c7563fa39501b27a0d574fc611c9a2084356", - "support" - ], "worklets/layout-worklet-referrer.https.html": [ "cb383a935a2a6d154d804595e78275e289076a4c", "testharness" @@ -504207,10 +503374,6 @@ "68e926c8c18868b84069bf18eb0bae6a37a77ce4", "testharness" ], - "worklets/paint-worklet-referrer.https-expected.txt": [ - "d605c7563fa39501b27a0d574fc611c9a2084356", - "support" - ], "worklets/paint-worklet-referrer.https.html": [ "a4b5a6f498c2755d498fd22afc1ab7398fab56ec", "testharness" @@ -504859,20 +504022,16 @@ "4af3da9f54ce50752568bb0fb340961b771ce1f8", "testharness" ], - "xhr/idlharness.any-expected.txt": [ - "b137646fe7af0e97d8ca506bee0d41bdea0995d9", - "support" - ], "xhr/idlharness.any.js": [ "f36f0ce02967ec873bc8231669da22177fa39f75", "testharness" ], "xhr/idlharness.any.sharedworker-expected.txt": [ - "382e3cdac5f996b2ea788005d69d666fa9335827", + "3405f42e3c73f48bbe52619a962cbd57bf56fa03", "support" ], "xhr/idlharness.any.worker-expected.txt": [ - "382e3cdac5f996b2ea788005d69d666fa9335827", + "3405f42e3c73f48bbe52619a962cbd57bf56fa03", "support" ], "xhr/loadstart-and-state.html": [ @@ -506127,10 +505286,6 @@ "7a2bf3622554937bf483a3b3afa9f16187fdabf6", "support" ], - "xslt/idlharness.tentative.window-expected.txt": [ - "47fa44f511b9bd72b138d2c4e80fba009d06bdf1", - "support" - ], "xslt/idlharness.tentative.window.js": [ "1da8db8cb208aa278527bbe9192944b68e19340b", "testharness"
diff --git a/third_party/blink/web_tests/external/wpt/2dcontext/building-paths/canvas_complexshapes_arcto_001-ref.htm b/third_party/blink/web_tests/external/wpt/2dcontext/building-paths/canvas_complexshapes_arcto_001-ref.htm index 6fc212ea..31ddfca 100644 --- a/third_party/blink/web_tests/external/wpt/2dcontext/building-paths/canvas_complexshapes_arcto_001-ref.htm +++ b/third_party/blink/web_tests/external/wpt/2dcontext/building-paths/canvas_complexshapes_arcto_001-ref.htm
@@ -3,9 +3,20 @@ <head> <title>HTML5 Canvas Test: arcTo() adds to subpath if same point</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com" /> + <script type="text/javascript"> + function runTest() + { + var canvas = document.getElementById("canvas1"); + var ctx = canvas.getContext("2d"); + ctx.moveTo(0, 50); + + ctx.lineTo(100, 50); + ctx.stroke(); + } + </script> </head> - <body> + <body onload="runTest()"> <p>Description: If x1,y1 and x2,y2 are the same point, then arcTo must add x1,y1 to the subpath, and connect that point to x0,y0 with a straight line.</p> - <div><img src="/images/canvas-line.png" alt="line" /></div> + <canvas id="canvas1" width="300" height="150">Browser does not support HTML5 Canvas (test ref).</canvas> </body> </html>
diff --git a/third_party/blink/web_tests/external/wpt/2dcontext/building-paths/canvas_complexshapes_beziercurveto_001-ref.htm b/third_party/blink/web_tests/external/wpt/2dcontext/building-paths/canvas_complexshapes_beziercurveto_001-ref.htm index 935e84c..6be08c0 100644 --- a/third_party/blink/web_tests/external/wpt/2dcontext/building-paths/canvas_complexshapes_beziercurveto_001-ref.htm +++ b/third_party/blink/web_tests/external/wpt/2dcontext/building-paths/canvas_complexshapes_beziercurveto_001-ref.htm
@@ -3,9 +3,30 @@ <head> <title>HTML5 Canvas Test: bezierCurveTo() must ensure subpaths</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com" /> + <script type="text/javascript"> + function runTest() + { + var canvas = document.getElementById("canvas1"); + var ctx = canvas.getContext("2d"); + + ctx.moveTo(65,25) + ctx.bezierCurveTo(65, 25, 65, 25, 65, 65); + ctx.stroke(); + ctx.beginPath(); + + ctx.moveTo(35,25) + ctx.bezierCurveTo(35, 25, 35, 25, 35, 65); + ctx.stroke(); + ctx.beginPath(); + + ctx.moveTo(0,75) + ctx.bezierCurveTo(0, 75, 50, 150, 100, 75); + ctx.stroke(); + } + </script> </head> - <body> + <body onload="runTest()"> <p>Description: bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) must ensure there is a subpath for the point (cp1x,cp1y) if the context has no subpaths, then it must connect the last point in the subpath to the point (x,y).</p> - <div><img src='/images/smiley.png' alt='smiley' /></div> + <canvas id="canvas1" width="300" height="150">Browser does not support HTML5 Canvas (ref test).</canvas> </body> </html>
diff --git a/third_party/blink/web_tests/external/wpt/BackgroundSync/idlharness.https.any-expected.txt b/third_party/blink/web_tests/external/wpt/BackgroundSync/idlharness.https.any-expected.txt deleted file mode 100644 index 9882a5f8..0000000 --- a/third_party/blink/web_tests/external/wpt/BackgroundSync/idlharness.https.any-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface ServiceWorkerRegistration: original interface defined -PASS Partial interface ServiceWorkerGlobalScope: original interface defined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/BackgroundSync/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/BackgroundSync/idlharness.https.any.worker-expected.txt deleted file mode 100644 index 9882a5f8..0000000 --- a/third_party/blink/web_tests/external/wpt/BackgroundSync/idlharness.https.any.worker-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface ServiceWorkerRegistration: original interface defined -PASS Partial interface ServiceWorkerGlobalScope: original interface defined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/FileAPI/idlharness-expected.txt b/third_party/blink/web_tests/external/wpt/FileAPI/idlharness-expected.txt deleted file mode 100644 index 4684710..0000000 --- a/third_party/blink/web_tests/external/wpt/FileAPI/idlharness-expected.txt +++ /dev/null
@@ -1,63 +0,0 @@ -This is a testharness.js-based test. -Found 57 tests; 55 PASS, 2 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface URL: original interface defined assert_true: Original interface should be defined expected true got false -PASS Blob interface: existence and properties of interface object -PASS Blob interface object length -PASS Blob interface object name -PASS Blob interface: existence and properties of interface prototype object -PASS Blob interface: existence and properties of interface prototype object's "constructor" property -PASS Blob interface: existence and properties of interface prototype object's @@unscopables property -PASS Blob interface: attribute size -PASS Blob interface: attribute type -PASS Blob interface: operation slice(long long, long long, DOMString) -PASS Blob interface: operation stream() -PASS Blob interface: operation text() -PASS Blob interface: operation arrayBuffer() -PASS File interface: existence and properties of interface object -PASS File interface object length -PASS File interface object name -PASS File interface: existence and properties of interface prototype object -PASS File interface: existence and properties of interface prototype object's "constructor" property -PASS File interface: existence and properties of interface prototype object's @@unscopables property -PASS File interface: attribute name -PASS File interface: attribute lastModified -PASS FileList interface: existence and properties of interface object -PASS FileList interface object length -PASS FileList interface object name -PASS FileList interface: existence and properties of interface prototype object -PASS FileList interface: existence and properties of interface prototype object's "constructor" property -PASS FileList interface: existence and properties of interface prototype object's @@unscopables property -PASS FileList interface: operation item(unsigned long) -PASS FileList interface: attribute length -PASS FileReader interface: existence and properties of interface object -PASS FileReader interface object length -PASS FileReader interface object name -PASS FileReader interface: existence and properties of interface prototype object -PASS FileReader interface: existence and properties of interface prototype object's "constructor" property -PASS FileReader interface: existence and properties of interface prototype object's @@unscopables property -PASS FileReader interface: operation readAsArrayBuffer(Blob) -PASS FileReader interface: operation readAsBinaryString(Blob) -PASS FileReader interface: operation readAsText(Blob, DOMString) -PASS FileReader interface: operation readAsDataURL(Blob) -PASS FileReader interface: operation abort() -PASS FileReader interface: constant EMPTY on interface object -PASS FileReader interface: constant EMPTY on interface prototype object -PASS FileReader interface: constant LOADING on interface object -PASS FileReader interface: constant LOADING on interface prototype object -PASS FileReader interface: constant DONE on interface object -PASS FileReader interface: constant DONE on interface prototype object -PASS FileReader interface: attribute readyState -PASS FileReader interface: attribute result -PASS FileReader interface: attribute error -PASS FileReader interface: attribute onloadstart -PASS FileReader interface: attribute onprogress -PASS FileReader interface: attribute onload -PASS FileReader interface: attribute onabort -PASS FileReader interface: attribute onerror -PASS FileReader interface: attribute onloadend -PASS FileReaderSync interface: existence and properties of interface object -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/FileAPI/idlharness.worker-expected.txt b/third_party/blink/web_tests/external/wpt/FileAPI/idlharness.worker-expected.txt deleted file mode 100644 index 8349f056..0000000 --- a/third_party/blink/web_tests/external/wpt/FileAPI/idlharness.worker-expected.txt +++ /dev/null
@@ -1,72 +0,0 @@ -This is a testharness.js-based test. -Found 66 tests; 64 PASS, 2 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface URL: original interface defined assert_true: Original interface should be defined expected true got false -PASS Blob interface: existence and properties of interface object -PASS Blob interface object length -PASS Blob interface object name -PASS Blob interface: existence and properties of interface prototype object -PASS Blob interface: existence and properties of interface prototype object's "constructor" property -PASS Blob interface: existence and properties of interface prototype object's @@unscopables property -PASS Blob interface: attribute size -PASS Blob interface: attribute type -PASS Blob interface: operation slice(long long, long long, DOMString) -PASS Blob interface: operation stream() -PASS Blob interface: operation text() -PASS Blob interface: operation arrayBuffer() -PASS File interface: existence and properties of interface object -PASS File interface object length -PASS File interface object name -PASS File interface: existence and properties of interface prototype object -PASS File interface: existence and properties of interface prototype object's "constructor" property -PASS File interface: existence and properties of interface prototype object's @@unscopables property -PASS File interface: attribute name -PASS File interface: attribute lastModified -PASS FileList interface: existence and properties of interface object -PASS FileList interface object length -PASS FileList interface object name -PASS FileList interface: existence and properties of interface prototype object -PASS FileList interface: existence and properties of interface prototype object's "constructor" property -PASS FileList interface: existence and properties of interface prototype object's @@unscopables property -PASS FileList interface: operation item(unsigned long) -PASS FileList interface: attribute length -PASS FileReader interface: existence and properties of interface object -PASS FileReader interface object length -PASS FileReader interface object name -PASS FileReader interface: existence and properties of interface prototype object -PASS FileReader interface: existence and properties of interface prototype object's "constructor" property -PASS FileReader interface: existence and properties of interface prototype object's @@unscopables property -PASS FileReader interface: operation readAsArrayBuffer(Blob) -PASS FileReader interface: operation readAsBinaryString(Blob) -PASS FileReader interface: operation readAsText(Blob, DOMString) -PASS FileReader interface: operation readAsDataURL(Blob) -PASS FileReader interface: operation abort() -PASS FileReader interface: constant EMPTY on interface object -PASS FileReader interface: constant EMPTY on interface prototype object -PASS FileReader interface: constant LOADING on interface object -PASS FileReader interface: constant LOADING on interface prototype object -PASS FileReader interface: constant DONE on interface object -PASS FileReader interface: constant DONE on interface prototype object -PASS FileReader interface: attribute readyState -PASS FileReader interface: attribute result -PASS FileReader interface: attribute error -PASS FileReader interface: attribute onloadstart -PASS FileReader interface: attribute onprogress -PASS FileReader interface: attribute onload -PASS FileReader interface: attribute onabort -PASS FileReader interface: attribute onerror -PASS FileReader interface: attribute onloadend -PASS FileReaderSync interface: existence and properties of interface object -PASS FileReaderSync interface object length -PASS FileReaderSync interface object name -PASS FileReaderSync interface: existence and properties of interface prototype object -PASS FileReaderSync interface: existence and properties of interface prototype object's "constructor" property -PASS FileReaderSync interface: existence and properties of interface prototype object's @@unscopables property -PASS FileReaderSync interface: operation readAsArrayBuffer(Blob) -PASS FileReaderSync interface: operation readAsBinaryString(Blob) -PASS FileReaderSync interface: operation readAsText(Blob, DOMString) -PASS FileReaderSync interface: operation readAsDataURL(Blob) -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/IndexedDB/idbobjectstore_createIndex15-autoincrement.htm b/third_party/blink/web_tests/external/wpt/IndexedDB/idbobjectstore_createIndex15-autoincrement.htm index 98fb99db..c66b815 100644 --- a/third_party/blink/web_tests/external/wpt/IndexedDB/idbobjectstore_createIndex15-autoincrement.htm +++ b/third_party/blink/web_tests/external/wpt/IndexedDB/idbobjectstore_createIndex15-autoincrement.htm
@@ -1,6 +1,7 @@ <!DOCTYPE html> <meta charset=utf-8> <title>IDBObjectStore.createIndex() - AutoIncrement in Compound Index</title> +<meta name="timeout" content="long"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="support.js"></script>
diff --git a/third_party/blink/web_tests/external/wpt/IndexedDB/idlharness.any-expected.txt b/third_party/blink/web_tests/external/wpt/IndexedDB/idlharness.any-expected.txt deleted file mode 100644 index c717e8b..0000000 --- a/third_party/blink/web_tests/external/wpt/IndexedDB/idlharness.any-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/IndexedDB/idlharness.any.sharedworker-expected.txt b/third_party/blink/web_tests/external/wpt/IndexedDB/idlharness.any.sharedworker-expected.txt deleted file mode 100644 index c717e8b..0000000 --- a/third_party/blink/web_tests/external/wpt/IndexedDB/idlharness.any.sharedworker-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/IndexedDB/idlharness.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/IndexedDB/idlharness.any.worker-expected.txt deleted file mode 100644 index c717e8b..0000000 --- a/third_party/blink/web_tests/external/wpt/IndexedDB/idlharness.any.worker-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/WebCryptoAPI/idlharness.https.any-expected.txt b/third_party/blink/web_tests/external/wpt/WebCryptoAPI/idlharness.https.any-expected.txt deleted file mode 100644 index 7f6b75ab..0000000 --- a/third_party/blink/web_tests/external/wpt/WebCryptoAPI/idlharness.https.any-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -PASS Crypto interface: existence and properties of interface object -PASS Crypto interface object length -PASS Crypto interface object name -PASS Crypto interface: existence and properties of interface prototype object -PASS Crypto interface: existence and properties of interface prototype object's "constructor" property -PASS Crypto interface: existence and properties of interface prototype object's @@unscopables property -PASS Crypto interface: attribute subtle -PASS Crypto interface: operation getRandomValues(ArrayBufferView) -PASS CryptoKey interface: existence and properties of interface object -PASS CryptoKey interface object length -PASS CryptoKey interface object name -PASS CryptoKey interface: existence and properties of interface prototype object -PASS CryptoKey interface: existence and properties of interface prototype object's "constructor" property -PASS CryptoKey interface: existence and properties of interface prototype object's @@unscopables property -PASS CryptoKey interface: attribute type -PASS CryptoKey interface: attribute extractable -PASS CryptoKey interface: attribute algorithm -PASS CryptoKey interface: attribute usages -PASS SubtleCrypto interface: existence and properties of interface object -PASS SubtleCrypto interface object length -PASS SubtleCrypto interface object name -PASS SubtleCrypto interface: existence and properties of interface prototype object -PASS SubtleCrypto interface: existence and properties of interface prototype object's "constructor" property -PASS SubtleCrypto interface: existence and properties of interface prototype object's @@unscopables property -PASS SubtleCrypto interface: operation encrypt(AlgorithmIdentifier, CryptoKey, BufferSource) -PASS SubtleCrypto interface: operation decrypt(AlgorithmIdentifier, CryptoKey, BufferSource) -PASS SubtleCrypto interface: operation sign(AlgorithmIdentifier, CryptoKey, BufferSource) -PASS SubtleCrypto interface: operation verify(AlgorithmIdentifier, CryptoKey, BufferSource, BufferSource) -PASS SubtleCrypto interface: operation digest(AlgorithmIdentifier, BufferSource) -PASS SubtleCrypto interface: operation generateKey(AlgorithmIdentifier, boolean, [object Object]) -PASS SubtleCrypto interface: operation deriveKey(AlgorithmIdentifier, CryptoKey, AlgorithmIdentifier, boolean, [object Object]) -PASS SubtleCrypto interface: operation deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) -PASS SubtleCrypto interface: operation importKey(KeyFormat, [object Object],[object Object], AlgorithmIdentifier, boolean, [object Object]) -PASS SubtleCrypto interface: operation exportKey(KeyFormat, CryptoKey) -PASS SubtleCrypto interface: operation wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier) -PASS SubtleCrypto interface: operation unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, [object Object]) -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/animation-worklet/idlharness.any-expected.txt b/third_party/blink/web_tests/external/wpt/animation-worklet/idlharness.any-expected.txt index d31746b2..f21be8b 100644 --- a/third_party/blink/web_tests/external/wpt/animation-worklet/idlharness.any-expected.txt +++ b/third_party/blink/web_tests/external/wpt/animation-worklet/idlharness.any-expected.txt
@@ -1,7 +1,22 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial namespace CSS: original namespace defined assert_true: Original namespace should be defined expected true got false +PASS idl_test setup +PASS Partial namespace CSS: original namespace defined +PASS Partial namespace CSS: valid exposure set +PASS AnimationWorkletGlobalScope interface: existence and properties of interface object +PASS WorkletAnimationEffect interface: existence and properties of interface object +FAIL WorkletAnimation interface: existence and properties of interface object assert_equals: prototype of WorkletAnimation is not Animation expected function "function Animation() { [native code] }" but got function "function () { [native code] }" +FAIL WorkletAnimation interface object length assert_equals: wrong value for WorkletAnimation.length expected 1 but got 2 +PASS WorkletAnimation interface object name +FAIL WorkletAnimation interface: existence and properties of interface prototype object assert_equals: prototype of WorkletAnimation.prototype is not Animation.prototype expected object "[object Animation]" but got object "[object Object]" +PASS WorkletAnimation interface: existence and properties of interface prototype object's "constructor" property +PASS WorkletAnimation interface: existence and properties of interface prototype object's @@unscopables property +PASS WorkletAnimation interface: attribute animatorName +FAIL WorkletAnimation must be primary interface of new WorkletAnimation("name") assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'WorkletAnimation': 2 arguments required, but only 1 present." +FAIL Stringification of new WorkletAnimation("name") assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'WorkletAnimation': 2 arguments required, but only 1 present." +FAIL WorkletAnimation interface: new WorkletAnimation("name") must inherit property "animatorName" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'WorkletAnimation': 2 arguments required, but only 1 present." +PASS WorkletGroupEffect interface: existence and properties of interface object +PASS WorkletGlobalScope interface: existence and properties of interface object +PASS CSS namespace: operation escape(CSSOMString) +FAIL CSS namespace: attribute animationWorklet assert_own_property: CSS does not have property "animationWorklet" expected property "animationWorklet" missing Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/animation-worklet/idlharness.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/animation-worklet/idlharness.any.worker-expected.txt index d31746b2..910bda1 100644 --- a/third_party/blink/web_tests/external/wpt/animation-worklet/idlharness.any.worker-expected.txt +++ b/third_party/blink/web_tests/external/wpt/animation-worklet/idlharness.any.worker-expected.txt
@@ -1,7 +1,18 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial namespace CSS: original namespace defined assert_true: Original namespace should be defined expected true got false +PASS idl_test setup +PASS Partial namespace CSS: original namespace defined +PASS Partial namespace CSS: valid exposure set +PASS AnimationWorkletGlobalScope interface: existence and properties of interface object +PASS WorkletAnimationEffect interface: existence and properties of interface object +PASS WorkletAnimation interface: existence and properties of interface object +FAIL WorkletAnimation must be primary interface of new WorkletAnimation("name") assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: WorkletAnimation is not defined" +FAIL Stringification of new WorkletAnimation("name") assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: WorkletAnimation is not defined" +FAIL WorkletAnimation interface: new WorkletAnimation("name") must not have property "animatorName" assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: WorkletAnimation is not defined" +PASS WorkletGroupEffect interface: existence and properties of interface object +PASS WorkletGlobalScope interface: existence and properties of interface object +PASS Worklet interface: existence and properties of interface object +PASS Animation interface: existence and properties of interface object +FAIL CSS namespace: operation escape(CSSOMString) Cannot read property 'hasOwnProperty' of undefined +FAIL CSS namespace: attribute animationWorklet Cannot read property 'hasOwnProperty' of undefined Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/appmanifest/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/appmanifest/idlharness.window-expected.txt deleted file mode 100644 index d2186c0..0000000 --- a/third_party/blink/web_tests/external/wpt/appmanifest/idlharness.window-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Window: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/audio-output/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/audio-output/idlharness.https.window-expected.txt deleted file mode 100644 index e4b69030..0000000 --- a/third_party/blink/web_tests/external/wpt/audio-output/idlharness.https.window-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface HTMLMediaElement: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/background-fetch/idlharness.https.any-expected.txt b/third_party/blink/web_tests/external/wpt/background-fetch/idlharness.https.any-expected.txt deleted file mode 100644 index a2d9cba..0000000 --- a/third_party/blink/web_tests/external/wpt/background-fetch/idlharness.https.any-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface ServiceWorkerGlobalScope: original interface defined -PASS Partial interface ServiceWorkerRegistration: original interface defined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/background-fetch/idlharness.https.any.sharedworker-expected.txt b/third_party/blink/web_tests/external/wpt/background-fetch/idlharness.https.any.sharedworker-expected.txt deleted file mode 100644 index a2d9cba..0000000 --- a/third_party/blink/web_tests/external/wpt/background-fetch/idlharness.https.any.sharedworker-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface ServiceWorkerGlobalScope: original interface defined -PASS Partial interface ServiceWorkerRegistration: original interface defined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/battery-status/battery-interface-idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/battery-status/battery-interface-idlharness.https.window-expected.txt deleted file mode 100644 index 103a302c..0000000 --- a/third_party/blink/web_tests/external/wpt/battery-status/battery-interface-idlharness.https.window-expected.txt +++ /dev/null
@@ -1,21 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -PASS BatteryManager interface: existence and properties of interface object -PASS BatteryManager interface object length -PASS BatteryManager interface object name -PASS BatteryManager interface: existence and properties of interface prototype object -PASS BatteryManager interface: existence and properties of interface prototype object's "constructor" property -PASS BatteryManager interface: existence and properties of interface prototype object's @@unscopables property -PASS BatteryManager interface: attribute charging -PASS BatteryManager interface: attribute chargingTime -PASS BatteryManager interface: attribute dischargingTime -PASS BatteryManager interface: attribute level -PASS BatteryManager interface: attribute onchargingchange -PASS BatteryManager interface: attribute onchargingtimechange -PASS BatteryManager interface: attribute ondischargingtimechange -PASS BatteryManager interface: attribute onlevelchange -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/beacon/idlharness.any-expected.txt b/third_party/blink/web_tests/external/wpt/beacon/idlharness.any-expected.txt deleted file mode 100644 index 23bf13b5..0000000 --- a/third_party/blink/web_tests/external/wpt/beacon/idlharness.any-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/beacon/idlharness.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/beacon/idlharness.any.worker-expected.txt deleted file mode 100644 index 23bf13b5..0000000 --- a/third_party/blink/web_tests/external/wpt/beacon/idlharness.any.worker-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-absent-getAvailability.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-absent-getAvailability.https.window.js index cec09c3..a9f540e 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-absent-getAvailability.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-absent-getAvailability.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-added-getAvailability.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-added-getAvailability.https.window.js index d5e9d1f..30c4720 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-added-getAvailability.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-added-getAvailability.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-powered-off-getAvailability.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-powered-off-getAvailability.https.window.js index 8fe9265..b760d4b 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-powered-off-getAvailability.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-powered-off-getAvailability.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-powered-on-getAvailability.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-powered-on-getAvailability.https.window.js index 8b9256a4..f98a88e 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-powered-on-getAvailability.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-powered-on-getAvailability.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-powered-on-off-on-getAvailability.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-powered-on-off-on-getAvailability.https.window.js index b8b4912..ac664a89 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-powered-on-off-on-getAvailability.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-powered-on-off-on-getAvailability.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-removed-getAvailability.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-removed-getAvailability.https.window.js index cc2c33d..00425aa 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-removed-getAvailability.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/adapter/adapter-removed-getAvailability.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/adapter/cross-origin-iframe-getAvailability.sub.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/adapter/cross-origin-iframe-getAvailability.sub.https.window.js index bf5e422..ce633c6 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/adapter/cross-origin-iframe-getAvailability.sub.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/adapter/cross-origin-iframe-getAvailability.sub.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/characteristicProperties.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/characteristicProperties.https.window.js index abe9f79..5239acc 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/characteristicProperties.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/characteristicProperties.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptor/gen-characteristic-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptor/gen-characteristic-is-removed.https.window.js index 97256a4..eb91e97 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptor/gen-characteristic-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptor/gen-characteristic-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptor/gen-descriptor-get-same-object.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptor/gen-descriptor-get-same-object.https.window.js index 8847efa..4cff64b 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptor/gen-descriptor-get-same-object.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptor/gen-descriptor-get-same-object.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptor/gen-service-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptor/gen-service-is-removed.https.window.js index b9dc9248..f5d17619 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptor/gen-service-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptor/gen-service-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-characteristic-is-removed-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-characteristic-is-removed-with-uuid.https.window.js index 25bde7c..7405a8e 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-characteristic-is-removed-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-characteristic-is-removed-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-characteristic-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-characteristic-is-removed.https.window.js index c3ff9f6a..470f704 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-characteristic-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-characteristic-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-descriptor-get-same-object.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-descriptor-get-same-object.https.window.js index c997d7af..1dc58ae 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-descriptor-get-same-object.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-descriptor-get-same-object.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-service-is-removed-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-service-is-removed-with-uuid.https.window.js index 03bb5123..5ee7e0d 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-service-is-removed-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-service-is-removed-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-service-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-service-is-removed.https.window.js index 762f9cc9..24a2087 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-service-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/getDescriptors/gen-service-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/notifications/characteristic-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/notifications/characteristic-is-removed.https.window.js index 6b5d3e22..2ab165d9 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/notifications/characteristic-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/notifications/characteristic-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/notifications/service-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/notifications/service-is-removed.https.window.js index 29bc671..d2456934 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/notifications/service-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/notifications/service-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/add-multiple-event-listeners.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/add-multiple-event-listeners.https.window.js index 7e6e4159b..13709ea9 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/add-multiple-event-listeners.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/add-multiple-event-listeners.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/characteristic-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/characteristic-is-removed.https.window.js index 07678e6..269f2cb 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/characteristic-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/characteristic-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/event-is-fired.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/event-is-fired.https.window.js index eee34d0..03b8f2b 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/event-is-fired.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/event-is-fired.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/gen-characteristic-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/gen-characteristic-is-removed.https.window.js index a2de3c3..26efe8b 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/gen-characteristic-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/gen-characteristic-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/read-succeeds.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/read-succeeds.https.window.js index aeece7d..82be128f3 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/read-succeeds.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/read-succeeds.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/read-updates-value.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/read-updates-value.https.window.js index 45da8af..34da455d 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/read-updates-value.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/read-updates-value.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/service-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/service-is-removed.https.window.js index 07e9701d..20dd4ba 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/service-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/readValue/service-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/service-same-from-2-characteristics.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/service-same-from-2-characteristics.https.window.js index e3bc5d0..b34b3b9 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/service-same-from-2-characteristics.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/service-same-from-2-characteristics.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/service-same-object.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/service-same-object.https.window.js index 6b1f543..b58902a 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/service-same-object.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/service-same-object.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/startNotifications/gen-characteristic-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/startNotifications/gen-characteristic-is-removed.https.window.js index 76b2d42a..af27f93 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/startNotifications/gen-characteristic-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/startNotifications/gen-characteristic-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/buffer-is-detached.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/buffer-is-detached.https.window.js index 35347e3..cefbb6ee 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/buffer-is-detached.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/buffer-is-detached.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/characteristic-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/characteristic-is-removed.https.window.js index 33a963b..c0f5a3e 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/characteristic-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/characteristic-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/gen-characteristic-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/gen-characteristic-is-removed.https.window.js index 00c50894..d5ac10fc 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/gen-characteristic-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/gen-characteristic-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/service-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/service-is-removed.https.window.js index a9f812c1..e7a2837c 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/service-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/service-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/write-succeeds.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/write-succeeds.https.window.js index 1472c61..cdda9ce 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/write-succeeds.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/characteristic/writeValue/write-succeeds.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/readValue/gen-service-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/readValue/gen-service-is-removed.https.window.js index 3b6c78a..aa95687 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/readValue/gen-service-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/readValue/gen-service-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/readValue/read-succeeds.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/readValue/read-succeeds.https.window.js index 5f3c5f8..fc1faca 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/readValue/read-succeeds.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/readValue/read-succeeds.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/writeValue/buffer-is-detached.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/writeValue/buffer-is-detached.https.window.js index 23ea2329..2ff277e 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/writeValue/buffer-is-detached.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/writeValue/buffer-is-detached.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/writeValue/gen-service-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/writeValue/gen-service-is-removed.https.window.js index ca75eba..a486819 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/writeValue/gen-service-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/descriptor/writeValue/gen-service-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/disconnected.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/disconnected.https.window.js index 245e43d..dab54d5 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/disconnected.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/disconnected.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/disconnected_gc.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/disconnected_gc.https.window.js index 69e3044..a15cc943 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/disconnected_gc.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/disconnected_gc.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/one-event-per-disconnection.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/one-event-per-disconnection.https.window.js index 317edde..f5e45f9 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/one-event-per-disconnection.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/one-event-per-disconnection.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/reconnect-during-disconnected-event.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/reconnect-during-disconnected-event.https.window.js index 93a46eeb..8f264c7 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/reconnect-during-disconnected-event.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/device/gattserverdisconnected-event/reconnect-during-disconnected-event.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/idl/idlharness.tentative.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/bluetooth/idl/idlharness.tentative.https.window-expected.txt index 23bf13b5..f1827c9 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/idl/idlharness.tentative.https.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/bluetooth/idl/idlharness.tentative.https.window-expected.txt
@@ -1,7 +1,189 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false +Found 185 tests; 128 PASS, 57 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface Navigator: original interface defined +PASS Bluetooth interface: existence and properties of interface object +PASS Bluetooth interface object length +PASS Bluetooth interface object name +PASS Bluetooth interface: existence and properties of interface prototype object +PASS Bluetooth interface: existence and properties of interface prototype object's "constructor" property +PASS Bluetooth interface: existence and properties of interface prototype object's @@unscopables property +PASS Bluetooth interface: operation getAvailability() +FAIL Bluetooth interface: attribute onavailabilitychanged assert_true: The prototype object must have a property "onavailabilitychanged" expected true got false +FAIL Bluetooth interface: attribute referringDevice assert_true: The prototype object must have a property "referringDevice" expected true got false +PASS Bluetooth interface: operation requestDevice(RequestDeviceOptions) +PASS Bluetooth interface: attribute onadvertisementreceived +FAIL Bluetooth interface: attribute ongattserverdisconnected assert_true: The prototype object must have a property "ongattserverdisconnected" expected true got false +FAIL Bluetooth interface: attribute oncharacteristicvaluechanged assert_true: The prototype object must have a property "oncharacteristicvaluechanged" expected true got false +FAIL Bluetooth interface: attribute onserviceadded assert_true: The prototype object must have a property "onserviceadded" expected true got false +FAIL Bluetooth interface: attribute onservicechanged assert_true: The prototype object must have a property "onservicechanged" expected true got false +FAIL Bluetooth interface: attribute onserviceremoved assert_true: The prototype object must have a property "onserviceremoved" expected true got false +PASS Bluetooth must be primary interface of navigator.bluetooth +PASS Stringification of navigator.bluetooth +PASS Bluetooth interface: navigator.bluetooth must inherit property "getAvailability()" with the proper type +FAIL Bluetooth interface: navigator.bluetooth must inherit property "onavailabilitychanged" with the proper type assert_inherits: property "onavailabilitychanged" not found in prototype chain +FAIL Bluetooth interface: navigator.bluetooth must inherit property "referringDevice" with the proper type assert_inherits: property "referringDevice" not found in prototype chain +PASS Bluetooth interface: navigator.bluetooth must inherit property "requestDevice(RequestDeviceOptions)" with the proper type +PASS Bluetooth interface: calling requestDevice(RequestDeviceOptions) on navigator.bluetooth with too few arguments must throw TypeError +PASS Bluetooth interface: navigator.bluetooth must inherit property "onadvertisementreceived" with the proper type +FAIL Bluetooth interface: navigator.bluetooth must inherit property "ongattserverdisconnected" with the proper type assert_inherits: property "ongattserverdisconnected" not found in prototype chain +FAIL Bluetooth interface: navigator.bluetooth must inherit property "oncharacteristicvaluechanged" with the proper type assert_inherits: property "oncharacteristicvaluechanged" not found in prototype chain +FAIL Bluetooth interface: navigator.bluetooth must inherit property "onserviceadded" with the proper type assert_inherits: property "onserviceadded" not found in prototype chain +FAIL Bluetooth interface: navigator.bluetooth must inherit property "onservicechanged" with the proper type assert_inherits: property "onservicechanged" not found in prototype chain +FAIL Bluetooth interface: navigator.bluetooth must inherit property "onserviceremoved" with the proper type assert_inherits: property "onserviceremoved" not found in prototype chain +FAIL BluetoothPermissionResult interface: existence and properties of interface object assert_own_property: self does not have own property "BluetoothPermissionResult" expected property "BluetoothPermissionResult" missing +FAIL BluetoothPermissionResult interface object length assert_own_property: self does not have own property "BluetoothPermissionResult" expected property "BluetoothPermissionResult" missing +FAIL BluetoothPermissionResult interface object name assert_own_property: self does not have own property "BluetoothPermissionResult" expected property "BluetoothPermissionResult" missing +FAIL BluetoothPermissionResult interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BluetoothPermissionResult" expected property "BluetoothPermissionResult" missing +FAIL BluetoothPermissionResult interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BluetoothPermissionResult" expected property "BluetoothPermissionResult" missing +FAIL BluetoothPermissionResult interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "BluetoothPermissionResult" expected property "BluetoothPermissionResult" missing +FAIL BluetoothPermissionResult interface: attribute devices assert_own_property: self does not have own property "BluetoothPermissionResult" expected property "BluetoothPermissionResult" missing +FAIL ValueEvent interface: existence and properties of interface object assert_own_property: self does not have own property "ValueEvent" expected property "ValueEvent" missing +FAIL ValueEvent interface object length assert_own_property: self does not have own property "ValueEvent" expected property "ValueEvent" missing +FAIL ValueEvent interface object name assert_own_property: self does not have own property "ValueEvent" expected property "ValueEvent" missing +FAIL ValueEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "ValueEvent" expected property "ValueEvent" missing +FAIL ValueEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "ValueEvent" expected property "ValueEvent" missing +FAIL ValueEvent interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "ValueEvent" expected property "ValueEvent" missing +FAIL ValueEvent interface: attribute value assert_own_property: self does not have own property "ValueEvent" expected property "ValueEvent" missing +PASS BluetoothDevice interface: existence and properties of interface object +PASS BluetoothDevice interface object length +PASS BluetoothDevice interface object name +PASS BluetoothDevice interface: existence and properties of interface prototype object +PASS BluetoothDevice interface: existence and properties of interface prototype object's "constructor" property +PASS BluetoothDevice interface: existence and properties of interface prototype object's @@unscopables property +PASS BluetoothDevice interface: attribute id +PASS BluetoothDevice interface: attribute name +PASS BluetoothDevice interface: attribute gatt +FAIL BluetoothDevice interface: operation watchAdvertisements() assert_own_property: interface prototype object missing non-static operation expected property "watchAdvertisements" missing +FAIL BluetoothDevice interface: operation unwatchAdvertisements() assert_own_property: interface prototype object missing non-static operation expected property "unwatchAdvertisements" missing +FAIL BluetoothDevice interface: attribute watchingAdvertisements assert_true: The prototype object must have a property "watchingAdvertisements" expected true got false +FAIL BluetoothDevice interface: attribute onadvertisementreceived assert_true: The prototype object must have a property "onadvertisementreceived" expected true got false +PASS BluetoothDevice interface: attribute ongattserverdisconnected +FAIL BluetoothDevice interface: attribute oncharacteristicvaluechanged assert_true: The prototype object must have a property "oncharacteristicvaluechanged" expected true got false +FAIL BluetoothDevice interface: attribute onserviceadded assert_true: The prototype object must have a property "onserviceadded" expected true got false +FAIL BluetoothDevice interface: attribute onservicechanged assert_true: The prototype object must have a property "onservicechanged" expected true got false +FAIL BluetoothDevice interface: attribute onserviceremoved assert_true: The prototype object must have a property "onserviceremoved" expected true got false +PASS BluetoothManufacturerDataMap interface: existence and properties of interface object +PASS BluetoothManufacturerDataMap interface object length +PASS BluetoothManufacturerDataMap interface object name +PASS BluetoothManufacturerDataMap interface: existence and properties of interface prototype object +PASS BluetoothManufacturerDataMap interface: existence and properties of interface prototype object's "constructor" property +PASS BluetoothManufacturerDataMap interface: existence and properties of interface prototype object's @@unscopables property +PASS BluetoothServiceDataMap interface: existence and properties of interface object +PASS BluetoothServiceDataMap interface object length +PASS BluetoothServiceDataMap interface object name +PASS BluetoothServiceDataMap interface: existence and properties of interface prototype object +PASS BluetoothServiceDataMap interface: existence and properties of interface prototype object's "constructor" property +PASS BluetoothServiceDataMap interface: existence and properties of interface prototype object's @@unscopables property +PASS BluetoothAdvertisingEvent interface: existence and properties of interface object +FAIL BluetoothAdvertisingEvent interface object length assert_equals: wrong value for BluetoothAdvertisingEvent.length expected 2 but got 0 +PASS BluetoothAdvertisingEvent interface object name +PASS BluetoothAdvertisingEvent interface: existence and properties of interface prototype object +PASS BluetoothAdvertisingEvent interface: existence and properties of interface prototype object's "constructor" property +PASS BluetoothAdvertisingEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS BluetoothAdvertisingEvent interface: attribute device +PASS BluetoothAdvertisingEvent interface: attribute uuids +PASS BluetoothAdvertisingEvent interface: attribute name +PASS BluetoothAdvertisingEvent interface: attribute appearance +PASS BluetoothAdvertisingEvent interface: attribute txPower +PASS BluetoothAdvertisingEvent interface: attribute rssi +PASS BluetoothAdvertisingEvent interface: attribute manufacturerData +PASS BluetoothAdvertisingEvent interface: attribute serviceData +FAIL BluetoothAdvertisingEvent must be primary interface of event assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL Stringification of event assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL BluetoothAdvertisingEvent interface: event must inherit property "device" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL BluetoothAdvertisingEvent interface: event must inherit property "uuids" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL BluetoothAdvertisingEvent interface: event must inherit property "name" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL BluetoothAdvertisingEvent interface: event must inherit property "appearance" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL BluetoothAdvertisingEvent interface: event must inherit property "txPower" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL BluetoothAdvertisingEvent interface: event must inherit property "rssi" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL BluetoothAdvertisingEvent interface: event must inherit property "manufacturerData" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL BluetoothAdvertisingEvent interface: event must inherit property "serviceData" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +PASS BluetoothRemoteGATTServer interface: existence and properties of interface object +PASS BluetoothRemoteGATTServer interface object length +PASS BluetoothRemoteGATTServer interface object name +PASS BluetoothRemoteGATTServer interface: existence and properties of interface prototype object +PASS BluetoothRemoteGATTServer interface: existence and properties of interface prototype object's "constructor" property +PASS BluetoothRemoteGATTServer interface: existence and properties of interface prototype object's @@unscopables property +PASS BluetoothRemoteGATTServer interface: attribute device +PASS BluetoothRemoteGATTServer interface: attribute connected +PASS BluetoothRemoteGATTServer interface: operation connect() +PASS BluetoothRemoteGATTServer interface: operation disconnect() +PASS BluetoothRemoteGATTServer interface: operation getPrimaryService(BluetoothServiceUUID) +PASS BluetoothRemoteGATTServer interface: operation getPrimaryServices(BluetoothServiceUUID) +FAIL BluetoothRemoteGATTService interface: existence and properties of interface object assert_equals: prototype of BluetoothRemoteGATTService is not EventTarget expected function "function EventTarget() { [native code] }" but got function "function () { [native code] }" +PASS BluetoothRemoteGATTService interface object length +PASS BluetoothRemoteGATTService interface object name +FAIL BluetoothRemoteGATTService interface: existence and properties of interface prototype object assert_equals: prototype of BluetoothRemoteGATTService.prototype is not EventTarget.prototype expected object "[object EventTarget]" but got object "[object Object]" +PASS BluetoothRemoteGATTService interface: existence and properties of interface prototype object's "constructor" property +PASS BluetoothRemoteGATTService interface: existence and properties of interface prototype object's @@unscopables property +PASS BluetoothRemoteGATTService interface: attribute device +PASS BluetoothRemoteGATTService interface: attribute uuid +PASS BluetoothRemoteGATTService interface: attribute isPrimary +PASS BluetoothRemoteGATTService interface: operation getCharacteristic(BluetoothCharacteristicUUID) +PASS BluetoothRemoteGATTService interface: operation getCharacteristics(BluetoothCharacteristicUUID) +FAIL BluetoothRemoteGATTService interface: operation getIncludedService(BluetoothServiceUUID) assert_own_property: interface prototype object missing non-static operation expected property "getIncludedService" missing +FAIL BluetoothRemoteGATTService interface: operation getIncludedServices(BluetoothServiceUUID) assert_own_property: interface prototype object missing non-static operation expected property "getIncludedServices" missing +FAIL BluetoothRemoteGATTService interface: attribute oncharacteristicvaluechanged assert_true: The prototype object must have a property "oncharacteristicvaluechanged" expected true got false +FAIL BluetoothRemoteGATTService interface: attribute onserviceadded assert_true: The prototype object must have a property "onserviceadded" expected true got false +FAIL BluetoothRemoteGATTService interface: attribute onservicechanged assert_true: The prototype object must have a property "onservicechanged" expected true got false +FAIL BluetoothRemoteGATTService interface: attribute onserviceremoved assert_true: The prototype object must have a property "onserviceremoved" expected true got false +PASS BluetoothRemoteGATTCharacteristic interface: existence and properties of interface object +PASS BluetoothRemoteGATTCharacteristic interface object length +PASS BluetoothRemoteGATTCharacteristic interface object name +PASS BluetoothRemoteGATTCharacteristic interface: existence and properties of interface prototype object +PASS BluetoothRemoteGATTCharacteristic interface: existence and properties of interface prototype object's "constructor" property +PASS BluetoothRemoteGATTCharacteristic interface: existence and properties of interface prototype object's @@unscopables property +PASS BluetoothRemoteGATTCharacteristic interface: attribute service +PASS BluetoothRemoteGATTCharacteristic interface: attribute uuid +PASS BluetoothRemoteGATTCharacteristic interface: attribute properties +PASS BluetoothRemoteGATTCharacteristic interface: attribute value +PASS BluetoothRemoteGATTCharacteristic interface: operation getDescriptor(BluetoothDescriptorUUID) +PASS BluetoothRemoteGATTCharacteristic interface: operation getDescriptors(BluetoothDescriptorUUID) +PASS BluetoothRemoteGATTCharacteristic interface: operation readValue() +PASS BluetoothRemoteGATTCharacteristic interface: operation writeValue(BufferSource) +FAIL BluetoothRemoteGATTCharacteristic interface: operation writeValueWithResponse(BufferSource) assert_own_property: interface prototype object missing non-static operation expected property "writeValueWithResponse" missing +FAIL BluetoothRemoteGATTCharacteristic interface: operation writeValueWithoutResponse(BufferSource) assert_own_property: interface prototype object missing non-static operation expected property "writeValueWithoutResponse" missing +PASS BluetoothRemoteGATTCharacteristic interface: operation startNotifications() +PASS BluetoothRemoteGATTCharacteristic interface: operation stopNotifications() +PASS BluetoothRemoteGATTCharacteristic interface: attribute oncharacteristicvaluechanged +PASS BluetoothCharacteristicProperties interface: existence and properties of interface object +PASS BluetoothCharacteristicProperties interface object length +PASS BluetoothCharacteristicProperties interface object name +PASS BluetoothCharacteristicProperties interface: existence and properties of interface prototype object +PASS BluetoothCharacteristicProperties interface: existence and properties of interface prototype object's "constructor" property +PASS BluetoothCharacteristicProperties interface: existence and properties of interface prototype object's @@unscopables property +PASS BluetoothCharacteristicProperties interface: attribute broadcast +PASS BluetoothCharacteristicProperties interface: attribute read +PASS BluetoothCharacteristicProperties interface: attribute writeWithoutResponse +PASS BluetoothCharacteristicProperties interface: attribute write +PASS BluetoothCharacteristicProperties interface: attribute notify +PASS BluetoothCharacteristicProperties interface: attribute indicate +PASS BluetoothCharacteristicProperties interface: attribute authenticatedSignedWrites +PASS BluetoothCharacteristicProperties interface: attribute reliableWrite +PASS BluetoothCharacteristicProperties interface: attribute writableAuxiliaries +PASS BluetoothRemoteGATTDescriptor interface: existence and properties of interface object +PASS BluetoothRemoteGATTDescriptor interface object length +PASS BluetoothRemoteGATTDescriptor interface object name +PASS BluetoothRemoteGATTDescriptor interface: existence and properties of interface prototype object +PASS BluetoothRemoteGATTDescriptor interface: existence and properties of interface prototype object's "constructor" property +PASS BluetoothRemoteGATTDescriptor interface: existence and properties of interface prototype object's @@unscopables property +PASS BluetoothRemoteGATTDescriptor interface: attribute characteristic +PASS BluetoothRemoteGATTDescriptor interface: attribute uuid +PASS BluetoothRemoteGATTDescriptor interface: attribute value +PASS BluetoothRemoteGATTDescriptor interface: operation readValue() +PASS BluetoothRemoteGATTDescriptor interface: operation writeValue(BufferSource) +PASS BluetoothUUID interface: existence and properties of interface object +PASS BluetoothUUID interface object length +PASS BluetoothUUID interface object name +PASS BluetoothUUID interface: existence and properties of interface prototype object +PASS BluetoothUUID interface: existence and properties of interface prototype object's "constructor" property +PASS BluetoothUUID interface: existence and properties of interface prototype object's @@unscopables property +PASS BluetoothUUID interface: operation getService([object Object],[object Object]) +PASS BluetoothUUID interface: operation getCharacteristic([object Object],[object Object]) +PASS BluetoothUUID interface: operation getDescriptor([object Object],[object Object]) +PASS BluetoothUUID interface: operation canonicalUUID(unsigned long) +PASS Navigator interface: attribute bluetooth +PASS Navigator interface: navigator must inherit property "bluetooth" with the proper type Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/script-tests/base_test_js.template b/third_party/blink/web_tests/external/wpt/bluetooth/script-tests/base_test_js.template index 56971d2..c0fa4ae 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/script-tests/base_test_js.template +++ b/third_party/blink/web_tests/external/wpt/bluetooth/script-tests/base_test_js.template
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-called-before.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-called-before.https.window.js index 2d94b41e..1eb62d3 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-called-before.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-called-before.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-called-during-error.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-called-during-error.https.window.js index 0d6e8a7a..c7c8024 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-called-during-error.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-called-during-error.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-called-during-success.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-called-during-success.https.window.js index 18af59d..5655d8e 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-called-during-success.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-called-during-success.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-invalidates-objects.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-invalidates-objects.https.window.js index 5cfe893..c95f8b9 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-invalidates-objects.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnect-invalidates-objects.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnected-device.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnected-device.https.window.js index 622f2cf..e610b715 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnected-device.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-disconnected-device.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-discovery-complete-no-permission-absent-service.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-discovery-complete-no-permission-absent-service.https.window.js index 5afb0262..ee3cf97 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-discovery-complete-no-permission-absent-service.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-discovery-complete-no-permission-absent-service.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-discovery-complete-service-not-found.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-discovery-complete-service-not-found.https.window.js index 86fa5e9..5bf720c 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-discovery-complete-service-not-found.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-discovery-complete-service-not-found.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-garbage-collection-ran-during-error.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-garbage-collection-ran-during-error.https.window.js index 2c35c1b..4c31117 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-garbage-collection-ran-during-error.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-garbage-collection-ran-during-error.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-garbage-collection-ran-during-success.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-garbage-collection-ran-during-success.https.window.js index cca8c2c..fe7d7490 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-garbage-collection-ran-during-success.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-garbage-collection-ran-during-success.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-get-different-service-after-reconnection.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-get-different-service-after-reconnection.https.window.js index a0f073d..301658c 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-get-different-service-after-reconnection.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-get-different-service-after-reconnection.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-get-same-object.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-get-same-object.https.window.js index 3deb387..c46a1a5 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-get-same-object.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-get-same-object.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-invalid-service-name.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-invalid-service-name.https.window.js index d59e202..704ab8b 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-invalid-service-name.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-invalid-service-name.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-no-permission-absent-service.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-no-permission-absent-service.https.window.js index 89ca4688..8daab29 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-no-permission-absent-service.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-no-permission-absent-service.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-no-permission-for-any-service.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-no-permission-for-any-service.https.window.js index fec0055..d55dee7 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-no-permission-for-any-service.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-no-permission-for-any-service.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-no-permission-present-service.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-no-permission-present-service.https.window.js index a0161a0..d357a21 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-no-permission-present-service.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-no-permission-present-service.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-service-not-found.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-service-not-found.https.window.js index 60fb4f2..32350e77 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-service-not-found.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryService/gen-service-not-found.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-before-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-before-with-uuid.https.window.js index 86a346d1..ad44649 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-before-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-before-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-before.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-before.https.window.js index 97e9f77d..485dbb30 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-before.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-before.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-error-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-error-with-uuid.https.window.js index 3739407..230325a 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-error-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-error-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-error.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-error.https.window.js index 9c7aac6..dce13c5 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-error.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-error.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-success-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-success-with-uuid.https.window.js index bffcea4e..8e2e32b 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-success-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-success-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-success.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-success.https.window.js index 162a61f..78dcffdc 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-success.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-called-during-success.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-invalidates-objects-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-invalidates-objects-with-uuid.https.window.js index 05dce42..d9f61674 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-invalidates-objects-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-invalidates-objects-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-invalidates-objects.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-invalidates-objects.https.window.js index e17162a..b1c9688 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-invalidates-objects.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnect-invalidates-objects.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnected-device-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnected-device-with-uuid.https.window.js index 3bfa60d..8d64daf 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnected-device-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnected-device-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnected-device.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnected-device.https.window.js index 7072b3ef..9c41112 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnected-device.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-disconnected-device.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-discovery-complete-no-permission-absent-service-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-discovery-complete-no-permission-absent-service-with-uuid.https.window.js index 589ebe3..130657d 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-discovery-complete-no-permission-absent-service-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-discovery-complete-no-permission-absent-service-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-discovery-complete-service-not-found-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-discovery-complete-service-not-found-with-uuid.https.window.js index 15b8b97..3817a1a5a 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-discovery-complete-service-not-found-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-discovery-complete-service-not-found-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-error-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-error-with-uuid.https.window.js index 17495d2..c986835 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-error-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-error-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-error.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-error.https.window.js index 741cd21..bd438db 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-error.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-error.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-success-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-success-with-uuid.https.window.js index 1ee4f21..3b441ce 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-success-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-success-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-success.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-success.https.window.js index 285b774c..1b3302a 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-success.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-garbage-collection-ran-during-success.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-different-service-after-reconnection-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-different-service-after-reconnection-with-uuid.https.window.js index eb20e6f4..378ade0 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-different-service-after-reconnection-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-different-service-after-reconnection-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-different-service-after-reconnection.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-different-service-after-reconnection.https.window.js index 14fc656..bdef5aa 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-different-service-after-reconnection.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-different-service-after-reconnection.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-same-object-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-same-object-with-uuid.https.window.js index f3fc490..aca34e58 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-same-object-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-same-object-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-same-object.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-same-object.https.window.js index c7c488a..0ea805e3 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-same-object.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-get-same-object.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-invalid-service-name.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-invalid-service-name.https.window.js index 025f1ccdf..eeb6dd4 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-invalid-service-name.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-invalid-service-name.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-absent-service-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-absent-service-with-uuid.https.window.js index 6f1bb251..c755dd7 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-absent-service-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-absent-service-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-for-any-service-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-for-any-service-with-uuid.https.window.js index 4bbddeae..03b7f23 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-for-any-service-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-for-any-service-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-for-any-service.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-for-any-service.https.window.js index 40b8b57..e50c6d5 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-for-any-service.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-for-any-service.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-present-service-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-present-service-with-uuid.https.window.js index 6f737ec..c703d0a9 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-present-service-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-no-permission-present-service-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-service-not-found-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-service-not-found-with-uuid.https.window.js index 33946d2..9dc1877 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-service-not-found-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/server/getPrimaryServices/gen-service-not-found-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-blocklisted-characteristic.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-blocklisted-characteristic.https.window.js index 04176f1e..72b9bac 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-blocklisted-characteristic.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-blocklisted-characteristic.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-characteristic-not-found.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-characteristic-not-found.https.window.js index cfec509..a8b2ef8 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-characteristic-not-found.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-characteristic-not-found.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-garbage-collection-ran-during-error.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-garbage-collection-ran-during-error.https.window.js index 9543a5e5..7457161 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-garbage-collection-ran-during-error.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-garbage-collection-ran-during-error.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-get-same-object.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-get-same-object.https.window.js index 73691be..54ab061 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-get-same-object.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-get-same-object.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-invalid-characteristic-name.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-invalid-characteristic-name.https.window.js index d21dcf5..8f44ecb 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-invalid-characteristic-name.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-invalid-characteristic-name.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-reconnect-during.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-reconnect-during.https.window.js index 6f86214..da5462a 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-reconnect-during.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-reconnect-during.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-service-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-service-is-removed.https.window.js index b6d6a9df..0fe5b01 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-service-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristic/gen-service-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-blocklisted-characteristic-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-blocklisted-characteristic-with-uuid.https.window.js index 3afd294d..cd8a6fa 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-blocklisted-characteristic-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-blocklisted-characteristic-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-characteristic-not-found-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-characteristic-not-found-with-uuid.https.window.js index 549f6b26..fff2bd0 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-characteristic-not-found-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-characteristic-not-found-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-garbage-collection-ran-during-error-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-garbage-collection-ran-during-error-with-uuid.https.window.js index 643e2f8..925786c7 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-garbage-collection-ran-during-error-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-garbage-collection-ran-during-error-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-garbage-collection-ran-during-error.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-garbage-collection-ran-during-error.https.window.js index b7db67f..d0ecff8 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-garbage-collection-ran-during-error.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-garbage-collection-ran-during-error.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-get-same-object-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-get-same-object-with-uuid.https.window.js index 15b552a..fb3346d 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-get-same-object-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-get-same-object-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-get-same-object.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-get-same-object.https.window.js index df30d51..576e083 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-get-same-object.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-get-same-object.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-invalid-characteristic-name.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-invalid-characteristic-name.https.window.js index f980ac03..5b2bd39 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-invalid-characteristic-name.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-invalid-characteristic-name.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-reconnect-during-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-reconnect-during-with-uuid.https.window.js index eb42337..95f22b1 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-reconnect-during-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-reconnect-during-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-reconnect-during.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-reconnect-during.https.window.js index a6d3880..184632f 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-reconnect-during.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-reconnect-during.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-service-is-removed-with-uuid.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-service-is-removed-with-uuid.https.window.js index 527eb76..6ff7b4f 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-service-is-removed-with-uuid.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-service-is-removed-with-uuid.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-service-is-removed.https.window.js b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-service-is-removed.https.window.js index 46650324..b449288 100644 --- a/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-service-is-removed.https.window.js +++ b/third_party/blink/web_tests/external/wpt/bluetooth/service/getCharacteristics/gen-service-is-removed.https.window.js
@@ -1,5 +1,3 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js // META: script=/bluetooth/resources/bluetooth-helpers.js
diff --git a/third_party/blink/web_tests/external/wpt/compat/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/compat/idlharness.window-expected.txt index b6f88da..6deefcc 100644 --- a/third_party/blink/web_tests/external/wpt/compat/idlharness.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/compat/idlharness.window-expected.txt
@@ -1,8 +1,12 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Window: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface HTMLBodyElement: original interface defined assert_true: Original interface should be defined expected true got false +PASS idl_test setup +PASS Partial interface Window: original interface defined +PASS Partial interface HTMLBodyElement: original interface defined +FAIL HTMLBodyElement interface: attribute onorientationchange assert_true: The prototype object must have a property "onorientationchange" expected true got false +FAIL HTMLBodyElement interface: document.body must inherit property "onorientationchange" with the proper type assert_inherits: property "onorientationchange" not found in prototype chain +FAIL Window interface: attribute orientation assert_own_property: The global object must have a property "orientation" expected property "orientation" missing +FAIL Window interface: attribute onorientationchange assert_own_property: The global object must have a property "onorientationchange" expected property "onorientationchange" missing +FAIL Window interface: window must inherit property "orientation" with the proper type assert_own_property: expected property "orientation" missing +FAIL Window interface: window must inherit property "onorientationchange" with the proper type assert_own_property: expected property "onorientationchange" missing Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/content-security-policy/embedded-enforcement/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/content-security-policy/embedded-enforcement/idlharness.window-expected.txt deleted file mode 100644 index 0f2f0eb..0000000 --- a/third_party/blink/web_tests/external/wpt/content-security-policy/embedded-enforcement/idlharness.window-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface HTMLIFrameElement: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/content-security-policy/style-src/inline-style-allowed-while-cloning-objects.sub.html b/third_party/blink/web_tests/external/wpt/content-security-policy/style-src/inline-style-allowed-while-cloning-objects.sub.html index 7c95f47..d2227430 100644 --- a/third_party/blink/web_tests/external/wpt/content-security-policy/style-src/inline-style-allowed-while-cloning-objects.sub.html +++ b/third_party/blink/web_tests/external/wpt/content-security-policy/style-src/inline-style-allowed-while-cloning-objects.sub.html
@@ -111,6 +111,14 @@ test(function() { assert_equals(ops.id, clonedOps.id) }); + test(function() { + let el = document.getElementById("svg"); + assert_equals(el.getAttribute("style"), ""); + el.style.background = violetOps.style.background; + assert_not_equals(el.style.background, ""); + let clone = el.cloneNode(true); + assert_equals(el.style.background, clone.style.background) + }, "non-HTML namespace"); } </script> @@ -131,6 +139,7 @@ <div id="violetOps"> Yet another div. </div> + <svg id="svg" style="background: rgb(238, 130, 238)"></svg> <div id="log"></div> </body>
diff --git a/third_party/blink/web_tests/external/wpt/cookie-store/idlharness.tentative.https-expected.txt b/third_party/blink/web_tests/external/wpt/cookie-store/idlharness.tentative.https-expected.txt deleted file mode 100644 index 7cc5f60..0000000 --- a/third_party/blink/web_tests/external/wpt/cookie-store/idlharness.tentative.https-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Window: original interface defined assert_true: Original interface should be defined expected true got false -PASS Partial interface ServiceWorkerGlobalScope: original interface defined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/credential-management/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/credential-management/idlharness.https.window-expected.txt deleted file mode 100644 index bd900e7..0000000 --- a/third_party/blink/web_tests/external/wpt/credential-management/idlharness.https.window-expected.txt +++ /dev/null
@@ -1,48 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -PASS Partial dictionary CredentialRequestOptions: original dictionary defined -PASS Partial dictionary CredentialCreationOptions: original dictionary defined -PASS Partial dictionary CredentialRequestOptions[2]: original dictionary defined -PASS Partial dictionary CredentialCreationOptions[2]: original dictionary defined -PASS Credential interface: existence and properties of interface object -PASS Credential interface object length -PASS Credential interface object name -PASS Credential interface: existence and properties of interface prototype object -PASS Credential interface: existence and properties of interface prototype object's "constructor" property -PASS Credential interface: existence and properties of interface prototype object's @@unscopables property -PASS Credential interface: attribute id -PASS Credential interface: attribute type -PASS CredentialsContainer interface: existence and properties of interface object -PASS CredentialsContainer interface object length -PASS CredentialsContainer interface object name -PASS CredentialsContainer interface: existence and properties of interface prototype object -PASS CredentialsContainer interface: existence and properties of interface prototype object's "constructor" property -PASS CredentialsContainer interface: existence and properties of interface prototype object's @@unscopables property -PASS CredentialsContainer interface: operation get(CredentialRequestOptions) -PASS CredentialsContainer interface: operation store(Credential) -PASS CredentialsContainer interface: operation create(CredentialCreationOptions) -PASS CredentialsContainer interface: operation preventSilentAccess() -PASS PasswordCredential interface: existence and properties of interface object -PASS PasswordCredential interface object length -PASS PasswordCredential interface object name -PASS PasswordCredential interface: existence and properties of interface prototype object -PASS PasswordCredential interface: existence and properties of interface prototype object's "constructor" property -PASS PasswordCredential interface: existence and properties of interface prototype object's @@unscopables property -PASS PasswordCredential interface: attribute password -PASS PasswordCredential interface: attribute name -PASS PasswordCredential interface: attribute iconURL -PASS FederatedCredential interface: existence and properties of interface object -PASS FederatedCredential interface object length -PASS FederatedCredential interface object name -PASS FederatedCredential interface: existence and properties of interface prototype object -PASS FederatedCredential interface: existence and properties of interface prototype object's "constructor" property -PASS FederatedCredential interface: existence and properties of interface prototype object's @@unscopables property -PASS FederatedCredential interface: attribute provider -PASS FederatedCredential interface: attribute protocol -PASS FederatedCredential interface: attribute name -PASS FederatedCredential interface: attribute iconURL -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/css/css-animations/idlharness-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-animations/idlharness-expected.txt index 86842f61..58a11c55 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-animations/idlharness-expected.txt +++ b/third_party/blink/web_tests/external/wpt/css/css-animations/idlharness-expected.txt
@@ -1,8 +1,74 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface CSSRule: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface mixin GlobalEventHandlers: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false +Found 70 tests; 61 PASS, 9 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface CSSRule: original interface defined +PASS Partial interface mixin GlobalEventHandlers: original interface mixin defined +PASS AnimationEvent interface: existence and properties of interface object +PASS AnimationEvent interface object length +PASS AnimationEvent interface object name +PASS AnimationEvent interface: existence and properties of interface prototype object +PASS AnimationEvent interface: existence and properties of interface prototype object's "constructor" property +PASS AnimationEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS AnimationEvent interface: attribute animationName +PASS AnimationEvent interface: attribute elapsedTime +PASS AnimationEvent interface: attribute pseudoElement +PASS AnimationEvent must be primary interface of new AnimationEvent("animationstart") +PASS Stringification of new AnimationEvent("animationstart") +PASS AnimationEvent interface: new AnimationEvent("animationstart") must inherit property "animationName" with the proper type +PASS AnimationEvent interface: new AnimationEvent("animationstart") must inherit property "elapsedTime" with the proper type +PASS AnimationEvent interface: new AnimationEvent("animationstart") must inherit property "pseudoElement" with the proper type +PASS CSSKeyframeRule interface: existence and properties of interface object +PASS CSSKeyframeRule interface object length +PASS CSSKeyframeRule interface object name +PASS CSSKeyframeRule interface: existence and properties of interface prototype object +PASS CSSKeyframeRule interface: existence and properties of interface prototype object's "constructor" property +PASS CSSKeyframeRule interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSKeyframeRule interface: attribute keyText +PASS CSSKeyframeRule interface: attribute style +PASS CSSKeyframeRule must be primary interface of keyframes.cssRules[0] +PASS Stringification of keyframes.cssRules[0] +PASS CSSKeyframeRule interface: keyframes.cssRules[0] must inherit property "keyText" with the proper type +PASS CSSKeyframeRule interface: keyframes.cssRules[0] must inherit property "style" with the proper type +PASS CSSRule interface: keyframes.cssRules[0] must inherit property "KEYFRAMES_RULE" with the proper type +PASS CSSRule interface: keyframes.cssRules[0] must inherit property "KEYFRAME_RULE" with the proper type +PASS CSSKeyframesRule interface: existence and properties of interface object +PASS CSSKeyframesRule interface object length +PASS CSSKeyframesRule interface object name +PASS CSSKeyframesRule interface: existence and properties of interface prototype object +PASS CSSKeyframesRule interface: existence and properties of interface prototype object's "constructor" property +PASS CSSKeyframesRule interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSKeyframesRule interface: attribute name +PASS CSSKeyframesRule interface: attribute cssRules +PASS CSSKeyframesRule interface: operation appendRule(CSSOMString) +PASS CSSKeyframesRule interface: operation deleteRule(CSSOMString) +PASS CSSKeyframesRule interface: operation findRule(CSSOMString) +PASS CSSKeyframesRule must be primary interface of keyframes +PASS Stringification of keyframes +PASS CSSKeyframesRule interface: keyframes must inherit property "name" with the proper type +PASS CSSKeyframesRule interface: keyframes must inherit property "cssRules" with the proper type +PASS CSSKeyframesRule interface: keyframes must inherit property "appendRule(CSSOMString)" with the proper type +PASS CSSKeyframesRule interface: calling appendRule(CSSOMString) on keyframes with too few arguments must throw TypeError +PASS CSSKeyframesRule interface: keyframes must inherit property "deleteRule(CSSOMString)" with the proper type +PASS CSSKeyframesRule interface: calling deleteRule(CSSOMString) on keyframes with too few arguments must throw TypeError +PASS CSSKeyframesRule interface: keyframes must inherit property "findRule(CSSOMString)" with the proper type +PASS CSSKeyframesRule interface: calling findRule(CSSOMString) on keyframes with too few arguments must throw TypeError +PASS CSSRule interface: keyframes must inherit property "KEYFRAMES_RULE" with the proper type +PASS CSSRule interface: keyframes must inherit property "KEYFRAME_RULE" with the proper type +FAIL HTMLElement interface: attribute onanimationstart assert_true: The prototype object must have a property "onanimationstart" expected true got false +FAIL HTMLElement interface: attribute onanimationiteration assert_true: The prototype object must have a property "onanimationiteration" expected true got false +FAIL HTMLElement interface: attribute onanimationend assert_true: The prototype object must have a property "onanimationend" expected true got false +FAIL HTMLElement interface: attribute onanimationcancel assert_true: The prototype object must have a property "onanimationcancel" expected true got false +PASS Window interface: attribute onanimationstart +PASS Window interface: attribute onanimationiteration +PASS Window interface: attribute onanimationend +FAIL Window interface: attribute onanimationcancel assert_own_property: The global object must have a property "onanimationcancel" expected property "onanimationcancel" missing +FAIL Document interface: attribute onanimationstart assert_true: The prototype object must have a property "onanimationstart" expected true got false +FAIL Document interface: attribute onanimationiteration assert_true: The prototype object must have a property "onanimationiteration" expected true got false +FAIL Document interface: attribute onanimationend assert_true: The prototype object must have a property "onanimationend" expected true got false +FAIL Document interface: attribute onanimationcancel assert_true: The prototype object must have a property "onanimationcancel" expected true got false +PASS CSSRule interface: constant KEYFRAMES_RULE on interface object +PASS CSSRule interface: constant KEYFRAMES_RULE on interface prototype object +PASS CSSRule interface: constant KEYFRAME_RULE on interface object +PASS CSSRule interface: constant KEYFRAME_RULE on interface prototype object Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/css/css-box/parsing/margin-computed.html b/third_party/blink/web_tests/external/wpt/css/css-box/parsing/margin-computed.html index f22f6cd..6c3b321 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-box/parsing/margin-computed.html +++ b/third_party/blink/web_tests/external/wpt/css/css-box/parsing/margin-computed.html
@@ -23,14 +23,23 @@ <div id="target"></div> </div> <script> +const target = document.getElementById("target"); + test_computed_value("margin", "10px"); test_computed_value("margin", "10px 20px 30px 40px"); test_computed_value("margin", "calc(0.5em + 10px)", "30px"); test_computed_value("margin", "30%", "60px"); +// Since what should the margin be in presence of other margins is a bit +// unclear (https://github.com/w3c/csswg-drafts/issues/2328), reset the margin +// before testing. +target.style.margin = "0"; test_computed_value("margin-top", "10px"); +target.style.margin = "0"; test_computed_value("margin-right", "20px"); +target.style.margin = "0"; test_computed_value("margin-bottom", "30px"); +target.style.margin = "0"; test_computed_value("margin-left", "40px"); </script> </body>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-004-ref.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-004-ref.html index eba5e8c..56ca5d2e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-004-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-004-ref.html
@@ -15,9 +15,9 @@ <div>abc</div> <video></video><br> <video controls></video><br> -<img src="../support/60x60-green.png"><br> +<img src="support/60x60-green.png"><br> <picture> -<source srcset="../support/60x60-green.png"> +<source srcset="support/60x60-green.png"> <img> </picture><br> <canvas></canvas><br>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-004.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-004.html index 511edadc..9f844815 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-004.html
@@ -18,9 +18,9 @@ <div>abc</div> <video></video><br> <video controls></video><br> -<img src="../support/60x60-green.png"><br> +<img src="support/60x60-green.png"><br> <picture> -<source srcset="../support/60x60-green.png"> +<source srcset="support/60x60-green.png"> <img> </picture><br> <canvas></canvas><br>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-005-ref.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-005-ref.html index a5328c7..178e137 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-005-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-005-ref.html
@@ -16,9 +16,9 @@ <div>abc</div> <video></video><br> <video controls></video><br> -<img src="../support/60x60-green.png"><br> +<img src="support/60x60-green.png"><br> <picture> -<source srcset="../support/60x60-green.png"> +<source srcset="support/60x60-green.png"> <img> </picture><br> <canvas></canvas><br>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-005.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-005.html index e889dcc..754f360 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-005.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-005.html
@@ -19,9 +19,9 @@ <div>abc</div> <video></video><br> <video controls></video><br> -<img src="../support/60x60-green.png"><br> +<img src="support/60x60-green.png"><br> <picture> -<source srcset="../support/60x60-green.png"> +<source srcset="support/60x60-green.png"> <img> </picture><br> <canvas></canvas><br>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-006-ref.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-006-ref.html index 2f638d7..d6753c0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-006-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-006-ref.html
@@ -2,9 +2,8 @@ <meta charset="utf-8"> <title>CSS Containment Reference: Size containment replaced elements intrinsic size</title> <style> - body > div, video, audio, img, canvas, svg, iframe { + div, video, audio, img, canvas, svg, iframe { border: 3px solid orange; - contain: size; margin-bottom: 15px; width: 25px; height: 35px; @@ -15,9 +14,9 @@ <div>abc</div> <video></video><br> <video controls></video><br> -<img src="../support/60x60-green.png"><br> +<img src="support/60x60-green.png"><br> <picture> -<source srcset="../support/60x60-green.png"> +<source srcset="support/60x60-green.png"> <img> </picture><br> <canvas></canvas><br>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-006.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-006.html index dccb799..f716ce4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-006.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-replaced-006.html
@@ -20,9 +20,9 @@ <div>abc</div> <video></video><br> <video controls></video><br> -<img src="../support/60x60-green.png"><br> +<img src="support/60x60-green.png"><br> <picture> -<source srcset="../support/60x60-green.png"> +<source srcset="support/60x60-green.png"> <img> </picture><br> <canvas></canvas><br>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/support/60x60-green.png b/third_party/blink/web_tests/external/wpt/css/css-contain/support/60x60-green.png new file mode 100644 index 0000000..b3c8cf3eb --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/support/60x60-green.png Binary files differ
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/support/60x60-red.png b/third_party/blink/web_tests/external/wpt/css/css-contain/support/60x60-red.png new file mode 100644 index 0000000..823f125 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/support/60x60-red.png Binary files differ
diff --git a/third_party/blink/web_tests/external/wpt/css/css-flexbox/flex-wrap-006.html b/third_party/blink/web_tests/external/wpt/css/css-flexbox/flex-wrap-006.html new file mode 100644 index 0000000..e616412c --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-flexbox/flex-wrap-006.html
@@ -0,0 +1,32 @@ +<!DOCTYPE html> +<title>CSS Flexbox Test: Tests correct block size with percentages and dynamic changes</title> +<link rel="author" title="Google LLC" href="http://www.google.com"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=999253" /> +<link rel="help" href="https://drafts.csswg.org/css-flexbox/#cross-sizing" /> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> + +<!-- Each item should stretch to the size of the flex line. Because the first + item has no explicit height, the percentage should resolve to zero in + the line height calculation stage, so the second item should determine + the total height (500px at first, 100px after the change). When the first + item gets relaid out for stretching, the percentage can resolve. + The bug that motivated this testcase resolved the line height using + the previous post-stretching height of the first flex item (and + therefore resolves the percentage against 500px), which is incorrect. + --> +<div id="flex" style="display: flex; flex-wrap: wrap;"> + <div> + <div style="height: 100%; background: green; width: 100px;"></div> + </div> + <div style="height: 500px;" id="item"></div> +</div> + +<script> +var flex = document.getElementById("flex"); +flex.offsetHeight; +var item2 = document.getElementById("item"); +item2.style.height = "100px"; +</script> +
diff --git a/third_party/blink/web_tests/external/wpt/css/css-font-loading/idlharness.https-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-font-loading/idlharness.https-expected.txt index adb6cc43..04294ca6 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-font-loading/idlharness.https-expected.txt +++ b/third_party/blink/web_tests/external/wpt/css/css-font-loading/idlharness.https-expected.txt
@@ -1,6 +1,82 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 78 tests; 59 PASS, 19 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS FontFace interface: existence and properties of interface object +PASS FontFace interface object length +PASS FontFace interface object name +PASS FontFace interface: existence and properties of interface prototype object +PASS FontFace interface: existence and properties of interface prototype object's "constructor" property +PASS FontFace interface: existence and properties of interface prototype object's @@unscopables property +PASS FontFace interface: attribute family +PASS FontFace interface: attribute style +PASS FontFace interface: attribute weight +PASS FontFace interface: attribute stretch +PASS FontFace interface: attribute unicodeRange +PASS FontFace interface: attribute variant +PASS FontFace interface: attribute featureSettings +FAIL FontFace interface: attribute variationSettings assert_true: The prototype object must have a property "variationSettings" expected true got false +PASS FontFace interface: attribute display +PASS FontFace interface: attribute status +PASS FontFace interface: operation load() +PASS FontFace interface: attribute loaded +PASS FontFace must be primary interface of fontFace +PASS Stringification of fontFace +PASS FontFace interface: fontFace must inherit property "family" with the proper type +PASS FontFace interface: fontFace must inherit property "style" with the proper type +PASS FontFace interface: fontFace must inherit property "weight" with the proper type +PASS FontFace interface: fontFace must inherit property "stretch" with the proper type +PASS FontFace interface: fontFace must inherit property "unicodeRange" with the proper type +PASS FontFace interface: fontFace must inherit property "variant" with the proper type +PASS FontFace interface: fontFace must inherit property "featureSettings" with the proper type +FAIL FontFace interface: fontFace must inherit property "variationSettings" with the proper type assert_inherits: property "variationSettings" not found in prototype chain +PASS FontFace interface: fontFace must inherit property "display" with the proper type +PASS FontFace interface: fontFace must inherit property "status" with the proper type +PASS FontFace interface: fontFace must inherit property "load()" with the proper type +PASS FontFace interface: fontFace must inherit property "loaded" with the proper type +PASS FontFaceSetLoadEvent interface: existence and properties of interface object +PASS FontFaceSetLoadEvent interface object length +PASS FontFaceSetLoadEvent interface object name +PASS FontFaceSetLoadEvent interface: existence and properties of interface prototype object +PASS FontFaceSetLoadEvent interface: existence and properties of interface prototype object's "constructor" property +PASS FontFaceSetLoadEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS FontFaceSetLoadEvent interface: attribute fontfaces +PASS FontFaceSetLoadEvent must be primary interface of fontFaceSetLoadEvent +PASS Stringification of fontFaceSetLoadEvent +PASS FontFaceSetLoadEvent interface: fontFaceSetLoadEvent must inherit property "fontfaces" with the proper type +FAIL FontFaceSet interface: existence and properties of interface object assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface object length assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface object name assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface: existence and properties of interface prototype object assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface: operation add(FontFace) assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface: operation delete(FontFace) assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface: operation clear() assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface: attribute onloading assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface: attribute onloadingdone assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface: attribute onloadingerror assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface: operation load(CSSOMString, CSSOMString) assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface: operation check(CSSOMString, CSSOMString) assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface: attribute ready assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet interface: attribute status assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +FAIL FontFaceSet must be primary interface of document.fonts assert_own_property: self does not have own property "FontFaceSet" expected property "FontFaceSet" missing +PASS Stringification of document.fonts +PASS FontFaceSet interface: document.fonts must inherit property "add(FontFace)" with the proper type +PASS FontFaceSet interface: calling add(FontFace) on document.fonts with too few arguments must throw TypeError +PASS FontFaceSet interface: document.fonts must inherit property "delete(FontFace)" with the proper type +PASS FontFaceSet interface: calling delete(FontFace) on document.fonts with too few arguments must throw TypeError +PASS FontFaceSet interface: document.fonts must inherit property "clear()" with the proper type +PASS FontFaceSet interface: document.fonts must inherit property "onloading" with the proper type +PASS FontFaceSet interface: document.fonts must inherit property "onloadingdone" with the proper type +PASS FontFaceSet interface: document.fonts must inherit property "onloadingerror" with the proper type +PASS FontFaceSet interface: document.fonts must inherit property "load(CSSOMString, CSSOMString)" with the proper type +PASS FontFaceSet interface: calling load(CSSOMString, CSSOMString) on document.fonts with too few arguments must throw TypeError +PASS FontFaceSet interface: document.fonts must inherit property "check(CSSOMString, CSSOMString)" with the proper type +PASS FontFaceSet interface: calling check(CSSOMString, CSSOMString) on document.fonts with too few arguments must throw TypeError +PASS FontFaceSet interface: document.fonts must inherit property "ready" with the proper type +PASS FontFaceSet interface: document.fonts must inherit property "status" with the proper type +PASS Document interface: attribute fonts +PASS Document interface: document must inherit property "fonts" with the proper type +PASS WorkerGlobalScope interface: existence and properties of interface object Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/css/css-inline/inheritance-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-inline/inheritance-expected.txt index 86e56d97..04a22e0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-inline/inheritance-expected.txt +++ b/third_party/blink/web_tests/external/wpt/css/css-inline/inheritance-expected.txt
@@ -13,6 +13,8 @@ FAIL Property initial-letters-wrap inherits assert_true: initial-letters-wrap doesn't seem to be supported in the computed style expected true got false FAIL Property initial-sizing has initial value normal assert_true: initial-sizing doesn't seem to be supported in the computed style expected true got false FAIL Property initial-sizing does not inherit assert_true: expected true got false +PASS Property line-height has initial value normal +PASS Property line-height inherits PASS Property vertical-align has initial value baseline PASS Property vertical-align does not inherit Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/css/css-inline/inheritance.html b/third_party/blink/web_tests/external/wpt/css/css-inline/inheritance.html index 7728f67..6723c2a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-inline/inheritance.html +++ b/third_party/blink/web_tests/external/wpt/css/css-inline/inheritance.html
@@ -23,6 +23,8 @@ assert_inherited('initial-letters-align', 'alphabetic', 'hanging'); assert_inherited('initial-letters-wrap', 'none', 'grid'); assert_not_inherited('initial-sizing', 'normal', 'stretch'); +// https://www.w3.org/TR/CSS2/visudet.html#propdef-line-height +assert_inherited('line-height', 'normal', '20px'); assert_not_inherited('vertical-align', 'baseline', '10px'); </script> </body>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-paint-api/idlharness-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-paint-api/idlharness-expected.txt index 227ab1b..e71217c3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-paint-api/idlharness-expected.txt +++ b/third_party/blink/web_tests/external/wpt/css/css-paint-api/idlharness-expected.txt
@@ -1,7 +1,11 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +PASS idl_test setup PASS Partial namespace CSS: original namespace defined +PASS PaintWorkletGlobalScope interface: existence and properties of interface object +PASS PaintRenderingContext2D interface: existence and properties of interface object +PASS PaintSize interface: existence and properties of interface object +PASS CSS namespace: operation escape(CSSOMString) +FAIL CSS namespace: attribute paintWorklet assert_own_property: CSS does not have property "paintWorklet" expected property "paintWorklet" missing +PASS WorkletGlobalScope interface: existence and properties of interface object Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/idlharness-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-pseudo/idlharness-expected.txt index fa8495c..9774152 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/idlharness-expected.txt +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/idlharness-expected.txt
@@ -1,7 +1,18 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Element: original interface defined assert_true: Original interface should be defined expected true got false +FAIL idl_test setup promise_test: Unhandled rejection with value: object "TypeError: window.getPseudoElements is not a function" +PASS Partial interface Element: original interface defined +FAIL CSSPseudoElement interface: existence and properties of interface object assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface object length assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface object name assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface: existence and properties of interface prototype object assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface: attribute type assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface: attribute element assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement must be primary interface of beforeElements.item(0) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: beforeElements is not defined" +FAIL Stringification of beforeElements.item(0) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: beforeElements is not defined" +FAIL CSSPseudoElement interface: beforeElements.item(0) must inherit property "type" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: beforeElements is not defined" +FAIL CSSPseudoElement interface: beforeElements.item(0) must inherit property "element" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: beforeElements is not defined" +FAIL Element interface: operation pseudo(CSSOMString) assert_own_property: interface prototype object missing non-static operation expected property "pseudo" missing Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-004.html b/third_party/blink/web_tests/external/wpt/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-004.html index becd463..aa048b5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-004.html
@@ -1,10 +1,11 @@ <!doctype html> <meta charset=utf-8> <title>CSS Text test: hanging trailing spaces with white-space:pre-wrap</title> -<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" /> +<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com"> <link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> <link rel="match" href="reference/white-space-pre-wrap-trailing-spaces-004-ref.html"> <meta name="assert" content="Preserved white space at the end of the line is hanged when white-space is pre-wrap."> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> <style> div { font: 25px/1 Ahem;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transitions/idlharness-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-transitions/idlharness-expected.txt index 68b9245d..24f1f45 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transitions/idlharness-expected.txt +++ b/third_party/blink/web_tests/external/wpt/css/css-transitions/idlharness-expected.txt
@@ -1,7 +1,43 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin GlobalEventHandlers: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false +PASS idl_test setup +PASS Partial interface mixin GlobalEventHandlers: original interface mixin defined +PASS TransitionEvent interface: existence and properties of interface object +PASS TransitionEvent interface object length +PASS TransitionEvent interface object name +PASS TransitionEvent interface: existence and properties of interface prototype object +PASS TransitionEvent interface: existence and properties of interface prototype object's "constructor" property +PASS TransitionEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS TransitionEvent interface: attribute propertyName +PASS TransitionEvent interface: attribute elapsedTime +PASS TransitionEvent interface: attribute pseudoElement +PASS TransitionEvent must be primary interface of new TransitionEvent("transitionend") +PASS Stringification of new TransitionEvent("transitionend") +PASS TransitionEvent interface: new TransitionEvent("transitionend") must inherit property "propertyName" with the proper type +PASS TransitionEvent interface: new TransitionEvent("transitionend") must inherit property "elapsedTime" with the proper type +PASS TransitionEvent interface: new TransitionEvent("transitionend") must inherit property "pseudoElement" with the proper type +FAIL HTMLElement interface: attribute ontransitionrun assert_true: The prototype object must have a property "ontransitionrun" expected true got false +FAIL HTMLElement interface: attribute ontransitionstart assert_true: The prototype object must have a property "ontransitionstart" expected true got false +FAIL HTMLElement interface: attribute ontransitionend assert_true: The prototype object must have a property "ontransitionend" expected true got false +FAIL HTMLElement interface: attribute ontransitioncancel assert_true: The prototype object must have a property "ontransitioncancel" expected true got false +FAIL HTMLElement interface: document must inherit property "ontransitionrun" with the proper type assert_inherits: property "ontransitionrun" not found in prototype chain +FAIL HTMLElement interface: document must inherit property "ontransitionstart" with the proper type assert_inherits: property "ontransitionstart" not found in prototype chain +FAIL HTMLElement interface: document must inherit property "ontransitionend" with the proper type assert_inherits: property "ontransitionend" not found in prototype chain +FAIL HTMLElement interface: document must inherit property "ontransitioncancel" with the proper type assert_inherits: property "ontransitioncancel" not found in prototype chain +FAIL Window interface: attribute ontransitionrun assert_own_property: The global object must have a property "ontransitionrun" expected property "ontransitionrun" missing +FAIL Window interface: attribute ontransitionstart assert_own_property: The global object must have a property "ontransitionstart" expected property "ontransitionstart" missing +PASS Window interface: attribute ontransitionend +FAIL Window interface: attribute ontransitioncancel assert_own_property: The global object must have a property "ontransitioncancel" expected property "ontransitioncancel" missing +FAIL Window interface: window must inherit property "ontransitionrun" with the proper type assert_own_property: expected property "ontransitionrun" missing +FAIL Window interface: window must inherit property "ontransitionstart" with the proper type assert_own_property: expected property "ontransitionstart" missing +PASS Window interface: window must inherit property "ontransitionend" with the proper type +FAIL Window interface: window must inherit property "ontransitioncancel" with the proper type assert_own_property: expected property "ontransitioncancel" missing +FAIL Document interface: attribute ontransitionrun assert_true: The prototype object must have a property "ontransitionrun" expected true got false +FAIL Document interface: attribute ontransitionstart assert_true: The prototype object must have a property "ontransitionstart" expected true got false +FAIL Document interface: attribute ontransitionend assert_true: The prototype object must have a property "ontransitionend" expected true got false +FAIL Document interface: attribute ontransitioncancel assert_true: The prototype object must have a property "ontransitioncancel" expected true got false +FAIL Document interface: document must inherit property "ontransitionrun" with the proper type assert_inherits: property "ontransitionrun" not found in prototype chain +FAIL Document interface: document must inherit property "ontransitionstart" with the proper type assert_inherits: property "ontransitionstart" not found in prototype chain +FAIL Document interface: document must inherit property "ontransitionend" with the proper type assert_inherits: property "ontransitionend" not found in prototype chain +FAIL Document interface: document must inherit property "ontransitioncancel" with the proper type assert_inherits: property "ontransitioncancel" not found in prototype chain Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/css/css-typed-om/idlharness-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-typed-om/idlharness-expected.txt index 7d2cc38..24e1caa9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-typed-om/idlharness-expected.txt +++ b/third_party/blink/web_tests/external/wpt/css/css-typed-om/idlharness-expected.txt
@@ -1,10 +1,412 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Element: original interface defined assert_true: Original interface should be defined expected true got false +Found 408 tests; 384 PASS, 24 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface Element: original interface defined PASS Partial interface CSSStyleRule: original interface defined PASS Partial interface mixin ElementCSSInlineStyle: original interface mixin defined PASS Partial namespace CSS: original namespace defined +PASS CSSStyleValue interface: existence and properties of interface object +PASS CSSStyleValue interface object length +PASS CSSStyleValue interface object name +PASS CSSStyleValue interface: existence and properties of interface prototype object +PASS CSSStyleValue interface: existence and properties of interface prototype object's "constructor" property +PASS CSSStyleValue interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSStyleValue interface: stringifier +PASS CSSStyleValue interface: operation parse(USVString, USVString) +PASS CSSStyleValue interface: operation parseAll(USVString, USVString) +PASS StylePropertyMapReadOnly interface: existence and properties of interface object +PASS StylePropertyMapReadOnly interface object length +PASS StylePropertyMapReadOnly interface object name +PASS StylePropertyMapReadOnly interface: existence and properties of interface prototype object +PASS StylePropertyMapReadOnly interface: existence and properties of interface prototype object's "constructor" property +PASS StylePropertyMapReadOnly interface: existence and properties of interface prototype object's @@unscopables property +PASS StylePropertyMapReadOnly interface: iterable<USVString, [object Object]> +PASS StylePropertyMapReadOnly interface: operation get(USVString) +PASS StylePropertyMapReadOnly interface: operation getAll(USVString) +PASS StylePropertyMapReadOnly interface: operation has(USVString) +PASS StylePropertyMapReadOnly interface: attribute size +PASS StylePropertyMap interface: existence and properties of interface object +PASS StylePropertyMap interface object length +PASS StylePropertyMap interface object name +PASS StylePropertyMap interface: existence and properties of interface prototype object +PASS StylePropertyMap interface: existence and properties of interface prototype object's "constructor" property +PASS StylePropertyMap interface: existence and properties of interface prototype object's @@unscopables property +PASS StylePropertyMap interface: operation set(USVString, [object Object],[object Object]) +PASS StylePropertyMap interface: operation append(USVString, [object Object],[object Object]) +PASS StylePropertyMap interface: operation delete(USVString) +PASS StylePropertyMap interface: operation clear() +PASS StylePropertyMap must be primary interface of styleMap +PASS Stringification of styleMap +PASS StylePropertyMap interface: styleMap must inherit property "set(USVString, [object Object],[object Object])" with the proper type +PASS StylePropertyMap interface: calling set(USVString, [object Object],[object Object]) on styleMap with too few arguments must throw TypeError +PASS StylePropertyMap interface: styleMap must inherit property "append(USVString, [object Object],[object Object])" with the proper type +PASS StylePropertyMap interface: calling append(USVString, [object Object],[object Object]) on styleMap with too few arguments must throw TypeError +PASS StylePropertyMap interface: styleMap must inherit property "delete(USVString)" with the proper type +PASS StylePropertyMap interface: calling delete(USVString) on styleMap with too few arguments must throw TypeError +PASS StylePropertyMap interface: styleMap must inherit property "clear()" with the proper type +PASS StylePropertyMapReadOnly interface: styleMap must inherit property "get(USVString)" with the proper type +PASS StylePropertyMapReadOnly interface: calling get(USVString) on styleMap with too few arguments must throw TypeError +PASS StylePropertyMapReadOnly interface: styleMap must inherit property "getAll(USVString)" with the proper type +PASS StylePropertyMapReadOnly interface: calling getAll(USVString) on styleMap with too few arguments must throw TypeError +PASS StylePropertyMapReadOnly interface: styleMap must inherit property "has(USVString)" with the proper type +PASS StylePropertyMapReadOnly interface: calling has(USVString) on styleMap with too few arguments must throw TypeError +PASS StylePropertyMapReadOnly interface: styleMap must inherit property "size" with the proper type +PASS CSSUnparsedValue interface: existence and properties of interface object +PASS CSSUnparsedValue interface object length +PASS CSSUnparsedValue interface object name +PASS CSSUnparsedValue interface: existence and properties of interface prototype object +PASS CSSUnparsedValue interface: existence and properties of interface prototype object's "constructor" property +PASS CSSUnparsedValue interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSUnparsedValue interface: iterable<CSSUnparsedSegment> +PASS CSSUnparsedValue interface: attribute length +PASS CSSVariableReferenceValue interface: existence and properties of interface object +PASS CSSVariableReferenceValue interface object length +PASS CSSVariableReferenceValue interface object name +PASS CSSVariableReferenceValue interface: existence and properties of interface prototype object +PASS CSSVariableReferenceValue interface: existence and properties of interface prototype object's "constructor" property +PASS CSSVariableReferenceValue interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSVariableReferenceValue interface: attribute variable +PASS CSSVariableReferenceValue interface: attribute fallback +PASS CSSKeywordValue interface: existence and properties of interface object +PASS CSSKeywordValue interface object length +PASS CSSKeywordValue interface object name +PASS CSSKeywordValue interface: existence and properties of interface prototype object +PASS CSSKeywordValue interface: existence and properties of interface prototype object's "constructor" property +PASS CSSKeywordValue interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSKeywordValue interface: attribute value +PASS CSSNumericValue interface: existence and properties of interface object +PASS CSSNumericValue interface object length +PASS CSSNumericValue interface object name +PASS CSSNumericValue interface: existence and properties of interface prototype object +PASS CSSNumericValue interface: existence and properties of interface prototype object's "constructor" property +PASS CSSNumericValue interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSNumericValue interface: operation add(CSSNumberish) +PASS CSSNumericValue interface: operation sub(CSSNumberish) +PASS CSSNumericValue interface: operation mul(CSSNumberish) +PASS CSSNumericValue interface: operation div(CSSNumberish) +PASS CSSNumericValue interface: operation min(CSSNumberish) +PASS CSSNumericValue interface: operation max(CSSNumberish) +PASS CSSNumericValue interface: operation equals(CSSNumberish) +PASS CSSNumericValue interface: operation to(USVString) +PASS CSSNumericValue interface: operation toSum(USVString) +PASS CSSNumericValue interface: operation type() +PASS CSSNumericValue interface: operation parse(USVString) +PASS CSSUnitValue interface: existence and properties of interface object +PASS CSSUnitValue interface object length +PASS CSSUnitValue interface object name +PASS CSSUnitValue interface: existence and properties of interface prototype object +PASS CSSUnitValue interface: existence and properties of interface prototype object's "constructor" property +PASS CSSUnitValue interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSUnitValue interface: attribute value +PASS CSSUnitValue interface: attribute unit +PASS CSSUnitValue must be primary interface of unitValue +PASS Stringification of unitValue +PASS CSSUnitValue interface: unitValue must inherit property "value" with the proper type +PASS CSSUnitValue interface: unitValue must inherit property "unit" with the proper type +PASS CSSNumericValue interface: unitValue must inherit property "add(CSSNumberish)" with the proper type +PASS CSSNumericValue interface: calling add(CSSNumberish) on unitValue with too few arguments must throw TypeError +PASS CSSNumericValue interface: unitValue must inherit property "sub(CSSNumberish)" with the proper type +PASS CSSNumericValue interface: calling sub(CSSNumberish) on unitValue with too few arguments must throw TypeError +PASS CSSNumericValue interface: unitValue must inherit property "mul(CSSNumberish)" with the proper type +PASS CSSNumericValue interface: calling mul(CSSNumberish) on unitValue with too few arguments must throw TypeError +PASS CSSNumericValue interface: unitValue must inherit property "div(CSSNumberish)" with the proper type +PASS CSSNumericValue interface: calling div(CSSNumberish) on unitValue with too few arguments must throw TypeError +PASS CSSNumericValue interface: unitValue must inherit property "min(CSSNumberish)" with the proper type +PASS CSSNumericValue interface: calling min(CSSNumberish) on unitValue with too few arguments must throw TypeError +PASS CSSNumericValue interface: unitValue must inherit property "max(CSSNumberish)" with the proper type +PASS CSSNumericValue interface: calling max(CSSNumberish) on unitValue with too few arguments must throw TypeError +PASS CSSNumericValue interface: unitValue must inherit property "equals(CSSNumberish)" with the proper type +PASS CSSNumericValue interface: calling equals(CSSNumberish) on unitValue with too few arguments must throw TypeError +PASS CSSNumericValue interface: unitValue must inherit property "to(USVString)" with the proper type +PASS CSSNumericValue interface: calling to(USVString) on unitValue with too few arguments must throw TypeError +PASS CSSNumericValue interface: unitValue must inherit property "toSum(USVString)" with the proper type +PASS CSSNumericValue interface: calling toSum(USVString) on unitValue with too few arguments must throw TypeError +PASS CSSNumericValue interface: unitValue must inherit property "type()" with the proper type +PASS CSSNumericValue interface: unitValue must inherit property "parse(USVString)" with the proper type +FAIL CSSNumericValue interface: calling parse(USVString) on unitValue with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "parse" missing +PASS CSSStyleValue interface: unitValue must inherit property "parse(USVString, USVString)" with the proper type +FAIL CSSStyleValue interface: calling parse(USVString, USVString) on unitValue with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "parse" missing +PASS CSSStyleValue interface: unitValue must inherit property "parseAll(USVString, USVString)" with the proper type +FAIL CSSStyleValue interface: calling parseAll(USVString, USVString) on unitValue with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "parseAll" missing +PASS CSSMathValue interface: existence and properties of interface object +PASS CSSMathValue interface object length +PASS CSSMathValue interface object name +PASS CSSMathValue interface: existence and properties of interface prototype object +PASS CSSMathValue interface: existence and properties of interface prototype object's "constructor" property +PASS CSSMathValue interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSMathValue interface: attribute operator +PASS CSSMathSum interface: existence and properties of interface object +PASS CSSMathSum interface object length +PASS CSSMathSum interface object name +PASS CSSMathSum interface: existence and properties of interface prototype object +PASS CSSMathSum interface: existence and properties of interface prototype object's "constructor" property +PASS CSSMathSum interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSMathSum interface: attribute values +PASS CSSMathSum must be primary interface of mathSum +PASS Stringification of mathSum +PASS CSSMathSum interface: mathSum must inherit property "values" with the proper type +PASS CSSMathValue interface: mathSum must inherit property "operator" with the proper type +PASS CSSNumericValue interface: mathSum must inherit property "add(CSSNumberish)" with the proper type +PASS CSSNumericValue interface: calling add(CSSNumberish) on mathSum with too few arguments must throw TypeError +PASS CSSNumericValue interface: mathSum must inherit property "sub(CSSNumberish)" with the proper type +PASS CSSNumericValue interface: calling sub(CSSNumberish) on mathSum with too few arguments must throw TypeError +PASS CSSNumericValue interface: mathSum must inherit property "mul(CSSNumberish)" with the proper type +PASS CSSNumericValue interface: calling mul(CSSNumberish) on mathSum with too few arguments must throw TypeError +PASS CSSNumericValue interface: mathSum must inherit property "div(CSSNumberish)" with the proper type +PASS CSSNumericValue interface: calling div(CSSNumberish) on mathSum with too few arguments must throw TypeError +PASS CSSNumericValue interface: mathSum must inherit property "min(CSSNumberish)" with the proper type +PASS CSSNumericValue interface: calling min(CSSNumberish) on mathSum with too few arguments must throw TypeError +PASS CSSNumericValue interface: mathSum must inherit property "max(CSSNumberish)" with the proper type +PASS CSSNumericValue interface: calling max(CSSNumberish) on mathSum with too few arguments must throw TypeError +PASS CSSNumericValue interface: mathSum must inherit property "equals(CSSNumberish)" with the proper type +PASS CSSNumericValue interface: calling equals(CSSNumberish) on mathSum with too few arguments must throw TypeError +PASS CSSNumericValue interface: mathSum must inherit property "to(USVString)" with the proper type +PASS CSSNumericValue interface: calling to(USVString) on mathSum with too few arguments must throw TypeError +PASS CSSNumericValue interface: mathSum must inherit property "toSum(USVString)" with the proper type +PASS CSSNumericValue interface: calling toSum(USVString) on mathSum with too few arguments must throw TypeError +PASS CSSNumericValue interface: mathSum must inherit property "type()" with the proper type +PASS CSSNumericValue interface: mathSum must inherit property "parse(USVString)" with the proper type +FAIL CSSNumericValue interface: calling parse(USVString) on mathSum with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "parse" missing +PASS CSSStyleValue interface: mathSum must inherit property "parse(USVString, USVString)" with the proper type +FAIL CSSStyleValue interface: calling parse(USVString, USVString) on mathSum with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "parse" missing +PASS CSSStyleValue interface: mathSum must inherit property "parseAll(USVString, USVString)" with the proper type +FAIL CSSStyleValue interface: calling parseAll(USVString, USVString) on mathSum with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "parseAll" missing +PASS CSSMathProduct interface: existence and properties of interface object +PASS CSSMathProduct interface object length +PASS CSSMathProduct interface object name +PASS CSSMathProduct interface: existence and properties of interface prototype object +PASS CSSMathProduct interface: existence and properties of interface prototype object's "constructor" property +PASS CSSMathProduct interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSMathProduct interface: attribute values +PASS CSSMathNegate interface: existence and properties of interface object +PASS CSSMathNegate interface object length +PASS CSSMathNegate interface object name +PASS CSSMathNegate interface: existence and properties of interface prototype object +PASS CSSMathNegate interface: existence and properties of interface prototype object's "constructor" property +PASS CSSMathNegate interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSMathNegate interface: attribute value +PASS CSSMathInvert interface: existence and properties of interface object +PASS CSSMathInvert interface object length +PASS CSSMathInvert interface object name +PASS CSSMathInvert interface: existence and properties of interface prototype object +PASS CSSMathInvert interface: existence and properties of interface prototype object's "constructor" property +PASS CSSMathInvert interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSMathInvert interface: attribute value +PASS CSSMathMin interface: existence and properties of interface object +PASS CSSMathMin interface object length +PASS CSSMathMin interface object name +PASS CSSMathMin interface: existence and properties of interface prototype object +PASS CSSMathMin interface: existence and properties of interface prototype object's "constructor" property +PASS CSSMathMin interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSMathMin interface: attribute values +PASS CSSMathMax interface: existence and properties of interface object +PASS CSSMathMax interface object length +PASS CSSMathMax interface object name +PASS CSSMathMax interface: existence and properties of interface prototype object +PASS CSSMathMax interface: existence and properties of interface prototype object's "constructor" property +PASS CSSMathMax interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSMathMax interface: attribute values +FAIL CSSMathClamp interface: existence and properties of interface object assert_own_property: self does not have own property "CSSMathClamp" expected property "CSSMathClamp" missing +FAIL CSSMathClamp interface object length assert_own_property: self does not have own property "CSSMathClamp" expected property "CSSMathClamp" missing +FAIL CSSMathClamp interface object name assert_own_property: self does not have own property "CSSMathClamp" expected property "CSSMathClamp" missing +FAIL CSSMathClamp interface: existence and properties of interface prototype object assert_own_property: self does not have own property "CSSMathClamp" expected property "CSSMathClamp" missing +FAIL CSSMathClamp interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "CSSMathClamp" expected property "CSSMathClamp" missing +FAIL CSSMathClamp interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "CSSMathClamp" expected property "CSSMathClamp" missing +FAIL CSSMathClamp interface: attribute min assert_own_property: self does not have own property "CSSMathClamp" expected property "CSSMathClamp" missing +FAIL CSSMathClamp interface: attribute val assert_own_property: self does not have own property "CSSMathClamp" expected property "CSSMathClamp" missing +FAIL CSSMathClamp interface: attribute max assert_own_property: self does not have own property "CSSMathClamp" expected property "CSSMathClamp" missing +PASS CSSNumericArray interface: existence and properties of interface object +PASS CSSNumericArray interface object length +PASS CSSNumericArray interface object name +PASS CSSNumericArray interface: existence and properties of interface prototype object +PASS CSSNumericArray interface: existence and properties of interface prototype object's "constructor" property +PASS CSSNumericArray interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSNumericArray interface: iterable<CSSNumericValue> +PASS CSSNumericArray interface: attribute length +PASS CSSTransformValue interface: existence and properties of interface object +PASS CSSTransformValue interface object length +PASS CSSTransformValue interface object name +PASS CSSTransformValue interface: existence and properties of interface prototype object +PASS CSSTransformValue interface: existence and properties of interface prototype object's "constructor" property +PASS CSSTransformValue interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSTransformValue interface: iterable<CSSTransformComponent> +PASS CSSTransformValue interface: attribute length +PASS CSSTransformValue interface: attribute is2D +PASS CSSTransformValue interface: operation toMatrix() +PASS CSSTransformValue must be primary interface of transformValue +PASS Stringification of transformValue +PASS CSSTransformValue interface: transformValue must inherit property "length" with the proper type +PASS CSSTransformValue interface: transformValue must inherit property "is2D" with the proper type +PASS CSSTransformValue interface: transformValue must inherit property "toMatrix()" with the proper type +PASS CSSStyleValue interface: transformValue must inherit property "parse(USVString, USVString)" with the proper type +FAIL CSSStyleValue interface: calling parse(USVString, USVString) on transformValue with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "parse" missing +PASS CSSStyleValue interface: transformValue must inherit property "parseAll(USVString, USVString)" with the proper type +FAIL CSSStyleValue interface: calling parseAll(USVString, USVString) on transformValue with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "parseAll" missing +PASS CSSTransformComponent interface: existence and properties of interface object +PASS CSSTransformComponent interface object length +PASS CSSTransformComponent interface object name +PASS CSSTransformComponent interface: existence and properties of interface prototype object +PASS CSSTransformComponent interface: existence and properties of interface prototype object's "constructor" property +PASS CSSTransformComponent interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSTransformComponent interface: stringifier +PASS CSSTransformComponent interface: attribute is2D +PASS CSSTransformComponent interface: operation toMatrix() +PASS CSSTranslate interface: existence and properties of interface object +PASS CSSTranslate interface object length +PASS CSSTranslate interface object name +PASS CSSTranslate interface: existence and properties of interface prototype object +PASS CSSTranslate interface: existence and properties of interface prototype object's "constructor" property +PASS CSSTranslate interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSTranslate interface: attribute x +PASS CSSTranslate interface: attribute y +PASS CSSTranslate interface: attribute z +PASS CSSTranslate must be primary interface of transformValue[0] +PASS Stringification of transformValue[0] +PASS CSSTranslate interface: transformValue[0] must inherit property "x" with the proper type +PASS CSSTranslate interface: transformValue[0] must inherit property "y" with the proper type +PASS CSSTranslate interface: transformValue[0] must inherit property "z" with the proper type +PASS CSSTransformComponent interface: transformValue[0] must inherit property "is2D" with the proper type +PASS CSSTransformComponent interface: transformValue[0] must inherit property "toMatrix()" with the proper type +PASS CSSRotate interface: existence and properties of interface object +PASS CSSRotate interface object length +PASS CSSRotate interface object name +PASS CSSRotate interface: existence and properties of interface prototype object +PASS CSSRotate interface: existence and properties of interface prototype object's "constructor" property +PASS CSSRotate interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSRotate interface: attribute x +PASS CSSRotate interface: attribute y +PASS CSSRotate interface: attribute z +PASS CSSRotate interface: attribute angle +PASS CSSRotate must be primary interface of rotate +PASS Stringification of rotate +PASS CSSRotate interface: rotate must inherit property "x" with the proper type +PASS CSSRotate interface: rotate must inherit property "y" with the proper type +PASS CSSRotate interface: rotate must inherit property "z" with the proper type +PASS CSSRotate interface: rotate must inherit property "angle" with the proper type +PASS CSSTransformComponent interface: rotate must inherit property "is2D" with the proper type +PASS CSSTransformComponent interface: rotate must inherit property "toMatrix()" with the proper type +PASS CSSScale interface: existence and properties of interface object +PASS CSSScale interface object length +PASS CSSScale interface object name +PASS CSSScale interface: existence and properties of interface prototype object +PASS CSSScale interface: existence and properties of interface prototype object's "constructor" property +PASS CSSScale interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSScale interface: attribute x +PASS CSSScale interface: attribute y +PASS CSSScale interface: attribute z +PASS CSSScale must be primary interface of scale +PASS Stringification of scale +PASS CSSScale interface: scale must inherit property "x" with the proper type +PASS CSSScale interface: scale must inherit property "y" with the proper type +PASS CSSScale interface: scale must inherit property "z" with the proper type +PASS CSSTransformComponent interface: scale must inherit property "is2D" with the proper type +PASS CSSTransformComponent interface: scale must inherit property "toMatrix()" with the proper type +PASS CSSSkew interface: existence and properties of interface object +PASS CSSSkew interface object length +PASS CSSSkew interface object name +PASS CSSSkew interface: existence and properties of interface prototype object +PASS CSSSkew interface: existence and properties of interface prototype object's "constructor" property +PASS CSSSkew interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSSkew interface: attribute ax +PASS CSSSkew interface: attribute ay +PASS CSSSkew must be primary interface of skew +PASS Stringification of skew +PASS CSSSkew interface: skew must inherit property "ax" with the proper type +PASS CSSSkew interface: skew must inherit property "ay" with the proper type +PASS CSSTransformComponent interface: skew must inherit property "is2D" with the proper type +PASS CSSTransformComponent interface: skew must inherit property "toMatrix()" with the proper type +PASS CSSSkewX interface: existence and properties of interface object +PASS CSSSkewX interface object length +PASS CSSSkewX interface object name +PASS CSSSkewX interface: existence and properties of interface prototype object +PASS CSSSkewX interface: existence and properties of interface prototype object's "constructor" property +PASS CSSSkewX interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSSkewX interface: attribute ax +PASS CSSSkewX must be primary interface of skewX +PASS Stringification of skewX +PASS CSSSkewX interface: skewX must inherit property "ax" with the proper type +PASS CSSTransformComponent interface: skewX must inherit property "is2D" with the proper type +PASS CSSTransformComponent interface: skewX must inherit property "toMatrix()" with the proper type +PASS CSSSkewY interface: existence and properties of interface object +PASS CSSSkewY interface object length +PASS CSSSkewY interface object name +PASS CSSSkewY interface: existence and properties of interface prototype object +PASS CSSSkewY interface: existence and properties of interface prototype object's "constructor" property +PASS CSSSkewY interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSSkewY interface: attribute ay +PASS CSSSkewY must be primary interface of skewY +PASS Stringification of skewY +PASS CSSSkewY interface: skewY must inherit property "ay" with the proper type +PASS CSSTransformComponent interface: skewY must inherit property "is2D" with the proper type +PASS CSSTransformComponent interface: skewY must inherit property "toMatrix()" with the proper type +PASS CSSPerspective interface: existence and properties of interface object +PASS CSSPerspective interface object length +PASS CSSPerspective interface object name +PASS CSSPerspective interface: existence and properties of interface prototype object +PASS CSSPerspective interface: existence and properties of interface prototype object's "constructor" property +PASS CSSPerspective interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSPerspective interface: attribute length +PASS CSSPerspective must be primary interface of perspective +PASS Stringification of perspective +PASS CSSPerspective interface: perspective must inherit property "length" with the proper type +PASS CSSTransformComponent interface: perspective must inherit property "is2D" with the proper type +PASS CSSTransformComponent interface: perspective must inherit property "toMatrix()" with the proper type +PASS CSSMatrixComponent interface: existence and properties of interface object +PASS CSSMatrixComponent interface object length +PASS CSSMatrixComponent interface object name +PASS CSSMatrixComponent interface: existence and properties of interface prototype object +PASS CSSMatrixComponent interface: existence and properties of interface prototype object's "constructor" property +PASS CSSMatrixComponent interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSMatrixComponent interface: attribute matrix +PASS CSSMatrixComponent must be primary interface of matrix +PASS Stringification of matrix +PASS CSSMatrixComponent interface: matrix must inherit property "matrix" with the proper type +PASS CSSTransformComponent interface: matrix must inherit property "is2D" with the proper type +PASS CSSTransformComponent interface: matrix must inherit property "toMatrix()" with the proper type +PASS CSSImageValue interface: existence and properties of interface object +PASS CSSImageValue interface object length +PASS CSSImageValue interface object name +PASS CSSImageValue interface: existence and properties of interface prototype object +PASS CSSImageValue interface: existence and properties of interface prototype object's "constructor" property +PASS CSSImageValue interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSStyleRule interface: attribute styleMap +PASS CSS namespace: operation escape(CSSOMString) +PASS CSS namespace: operation number(double) +PASS CSS namespace: operation percent(double) +PASS CSS namespace: operation em(double) +PASS CSS namespace: operation ex(double) +PASS CSS namespace: operation ch(double) +FAIL CSS namespace: operation ic(double) assert_own_property: namespace object missing operation "ic" expected property "ic" missing +PASS CSS namespace: operation rem(double) +FAIL CSS namespace: operation lh(double) assert_own_property: namespace object missing operation "lh" expected property "lh" missing +FAIL CSS namespace: operation rlh(double) assert_own_property: namespace object missing operation "rlh" expected property "rlh" missing +PASS CSS namespace: operation vw(double) +PASS CSS namespace: operation vh(double) +FAIL CSS namespace: operation vi(double) assert_own_property: namespace object missing operation "vi" expected property "vi" missing +FAIL CSS namespace: operation vb(double) assert_own_property: namespace object missing operation "vb" expected property "vb" missing +PASS CSS namespace: operation vmin(double) +PASS CSS namespace: operation vmax(double) +PASS CSS namespace: operation cm(double) +PASS CSS namespace: operation mm(double) +PASS CSS namespace: operation Q(double) +PASS CSS namespace: operation in(double) +PASS CSS namespace: operation pt(double) +PASS CSS namespace: operation pc(double) +PASS CSS namespace: operation px(double) +PASS CSS namespace: operation deg(double) +PASS CSS namespace: operation grad(double) +PASS CSS namespace: operation rad(double) +PASS CSS namespace: operation turn(double) +PASS CSS namespace: operation s(double) +PASS CSS namespace: operation ms(double) +PASS CSS namespace: operation Hz(double) +PASS CSS namespace: operation kHz(double) +PASS CSS namespace: operation dpi(double) +PASS CSS namespace: operation dpcm(double) +PASS CSS namespace: operation dppx(double) +PASS CSS namespace: operation fr(double) +FAIL SVGElement interface: attribute attributeStyleMap assert_own_property: expected property "attributeStyleMap" missing +FAIL HTMLElement interface: attribute attributeStyleMap assert_own_property: expected property "attributeStyleMap" missing +PASS Element interface: operation computedStyleMap() Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/css/css-variables/vars-font-shorthand-001.html b/third_party/blink/web_tests/external/wpt/css/css-variables/vars-font-shorthand-001.html index 3c28054..e10aa87 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-variables/vars-font-shorthand-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-variables/vars-font-shorthand-001.html
@@ -4,6 +4,7 @@ <link rel="help" href="https://www.w3.org/TR/css-variables-1/#variables-in-shorthands"> <link rel="match" href="reference/vars-font-shorthand-001-ref.html"> <meta name="flags" content="ahem"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-003.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-003.html index c938c905..70a61a9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-003.html
@@ -7,7 +7,7 @@ <meta name="assert" content="When an orthogonal flow's parent doesn't have a definite block size and the nearest ancestor scroller does have a fixed height, use that, making sure you stick with the content height."> <meta name="flags" content=""> <style> -body > div { +#scroller { font-family: monospace; /* to be able to reliably measure things in ch*/ font-size: 20px; height: 8ch; @@ -15,12 +15,11 @@ overflow: hidden; color: transparent; position: relative; /* to act as a container of #red */ - writing-mode: vertical-lr; padding: 1ch 0; } -div > div { padding-bottom: 2ch; } /* so that the content height of the parent and of the fixed size scrolling ancestor are different */ -div > div > div { writing-mode: vertical-rl; } +#parent { padding-bottom: 2ch; } /* so that the content height of the parent and of the fixed size scrolling ancestor are different */ +#ortho { writing-mode: vertical-rl; } span { background: green; @@ -38,9 +37,11 @@ <p>Test passes if there is a <strong>green rectangle</strong> below and <strong>no red</strong>. -<div> - <aside id="red">0</aside> - <div><div>0 0 0 0 <span>0</span> 0 0 0</div></div> <!-- If this div take its height from - the height of its scrollable ancestor, it should wrap just right for the green 0 to - overlap with the red one. --> +<div id=scroller> + <aside id=red>0</aside> + <div id=parent> + <div id=ortho>0 0 0 0 <span>0</span> 0 0 0</div> + <!-- If this div take its height from the height of its scrollable ancestor, + it should wrap just right for the green 0 to overlap with the red one. --> + </div> </div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-005.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-005.html index ee32489..5eb832f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-005.html +++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-005.html
@@ -7,7 +7,7 @@ <meta name="assert" content="When an orthogonal flow's parent doesn't have a definite block size and the nearest ancestor scroller does a have fixed height, use that whole height, even if some other content already consumes some of it."> <meta name="flags" content=""> <style> -body > div { +#scroller { font-family: monospace; /* to be able to reliably measure things in ch*/ font-size: 20px; height: 8ch; @@ -17,8 +17,8 @@ position: relative; /* to act as a container of #red */ } -div > div { padding-bottom: 2ch; } /* so that the content height of the parent and of the fixed size scrolling ancestor are different */ -div > div > div { writing-mode: vertical-rl; } +#parent { padding-bottom: 2ch; } /* so that the content height of the parent and of the fixed size scrolling ancestor are different */ +#ortho { writing-mode: vertical-rl; } span { background: green; @@ -41,9 +41,12 @@ <p>Test passes if there is a <strong>green rectangle</strong> below and <strong>no red</strong>. -<div> +<div id=scroller> <aside id="red">0</aside> - <div><aside id="spacer"></aside><div>0 0 0 0 <span>0</span> 0 0 0</div></div> + <div id=parent> + <aside id=spacer></aside> + <div id=ortho>0 0 0 0 <span>0</span> 0 0 0</div> + </div> <!-- If the inner div take its height from the height of its scrollable ancestor, it should wrap just right for the green 0 to overlap with the red one. If instead it takes it size from the remaining height after having
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-009.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-009.html index 5e26975..94f083a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-009.html +++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-009.html
@@ -9,7 +9,7 @@ <style> body { margin-top: 0; margin-bottom: 0; } /* Shouldn't matter, but in some browsers does. -007 tests this aspect specifically. */ :root { overflow: hidden; } -div { +#ortho { writing-mode: vertical-rl; font-family: monospace; font-size: 20px; @@ -17,7 +17,7 @@ } .spacer { /* using 5 spacers of 20vh each instead of a single large one, so that the line would wrap between spacers if it ends up being - shorter thatn 100vh*/ + shorter than 100vh*/ display: inline-block; height: calc(20vh - 0.1px); /*Using this instead of 20vh, to account for accumulation of rounding errors, that might make 5*20vh taller than 100vh in some browsers*/ } @@ -38,18 +38,21 @@ left: 0; top: 0; } -section { +#scroller { overflow: hidden; - writing-mode: vertical-rl; + writing-mode: vertical-lr; height: 120vh; } -section > section { +#parent { writing-mode: horizontal-tb; + width: 8em; /* avoid triggering intrinsic sizing bugs */ } </style> <p>Test passes if there is a <strong>green rectangle</strong> below and <strong>no red</strong>. -<section> -<div><aside id="red">0</aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside> <span>0</span></div> -</section> +<div id=scroller> + <div id=parent> + <div id=ortho><aside id="red">0</aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside> <span>0</span></div> + </div> +</div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-013.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-013.html index 1ffd656..4cb6b23 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-013.html +++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-013.html
@@ -7,7 +7,7 @@ <meta name="assert" content="When an orthogonal flow's parent doesn't have a definite block size and the nearest ancestor scroller does have a fixed height, use that, increased by the min-height if it is set and is larger (same as -003, with min-height)."> <meta name="flags" content=""> <style> -body > div { +#scroller { font-family: monospace; /* to be able to reliably measure things in ch*/ font-size: 20px; height: 4ch; @@ -16,12 +16,11 @@ overflow: hidden; color: transparent; position: relative; /* to act as a container of #red */ - writing-mode: vertical-lr; padding: 1ch 0; } -div > div { padding-bottom: 2ch; } /* so that the content height of the parent and of the fixed size scrolling ancestor are different */ -div > div > div { writing-mode: vertical-rl; } +#parent { padding-bottom: 2ch; } /* so that the content height of the parent and of the fixed size scrolling ancestor are different */ +#ortho { writing-mode: vertical-rl; } span { background: green; @@ -39,9 +38,11 @@ <p>Test passes if there is a <strong>green rectangle</strong> below and <strong>no red</strong>. -<div> - <aside id="red">0</aside> - <div><div>0 0 0 0 <span>0</span> 0 0 0</div></div> <!-- If this div take its height from - the height of its scrollable ancestor, it should wrap just right for the green 0 to - overlap with the red one. --> +<div id=scroller> + <aside id=red>0</aside> + <div id=parent> + <div id=ortho>0 0 0 0 <span>0</span> 0 0 0</div> + <!-- If this div take its height from the height of its scrollable ancestor, + it should wrap just right for the green 0 to overlap with the red one. --> + </div> </div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-014.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-014.html index e0e41fb6..8e955cf5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-014.html +++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-014.html
@@ -7,7 +7,7 @@ <meta name="assert" content="When an orthogonal flow's parent doesn't have a definite block size and the nearest ancestor scroller does a have fixed height, use that whole height increased by min-height if that's larger, even if some other content already consumes some of it (same as -005, with min-height)."> <meta name="flags" content=""> <style> -body > div { +#scroller { font-family: monospace; /* to be able to reliably measure things in ch*/ font-size: 20px; height: 4ch; @@ -18,8 +18,8 @@ position: relative; /* to act as a container of #red */ } -div > div { padding-bottom: 2ch; } /* so that the content height of the parent and of the fixed size scrolling ancestor are different */ -div > div > div { writing-mode: vertical-rl; } +#parent { padding-bottom: 2ch; } /* so that the content height of the parent and of the fixed size scrolling ancestor are different */ +#ortho { writing-mode: vertical-rl; } span { background: green; @@ -42,9 +42,12 @@ <p>Test passes if there is a <strong>green rectangle</strong> below and <strong>no red</strong>. -<div> +<div id=scroller> <aside id="red">0</aside> - <div><aside id="spacer"></aside><div>0 0 0 0 <span>0</span> 0 0 0</div></div> + <div id=parent> + <aside id=spacer></aside> + <div id=ortho>0 0 0 0 <span>0</span> 0 0 0</div> + </div> <!-- If the inner div take its height from the height of its scrollable ancestor, it should wrap just right for the green 0 to overlap with the red one. If instead it takes it size from the remaining height after having
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-016.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-016.html index 15038868..ba39803 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-016.html +++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/available-size-016.html
@@ -9,7 +9,7 @@ <style> body { margin-top: 0; margin-bottom: 0; } /* Shouldn't matter, but in some browsers does. -007 tests this aspect specifically. */ :root { overflow: hidden; } -div { +#ortho { writing-mode: vertical-rl; font-family: monospace; font-size: 20px; @@ -38,19 +38,22 @@ left: 0; top: 0; } -section { +#scroller { overflow: hidden; - writing-mode: vertical-rl; + writing-mode: vertical-lr; height: 40vh; min-height: 120vh; } -section > section { +#parent { writing-mode: horizontal-tb; + width: 8em; /* avoid triggering intrinsic sizing bugs */ } </style> <p>Test passes if there is a <strong>green rectangle</strong> below and <strong>no red</strong>. -<section> -<div><aside id="red">0</aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside> <span>0</span></div> -</section> +<div id=scroller> + <div id=parent> + <div id=ortho><aside id="red">0</aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside><aside class="spacer"></aside> <span>0</span></div> + </div> +</div>
diff --git a/third_party/blink/web_tests/external/wpt/css/cssom/idlharness-expected.txt b/third_party/blink/web_tests/external/wpt/css/cssom/idlharness-expected.txt index 49014ccb..c364cca 100644 --- a/third_party/blink/web_tests/external/wpt/css/cssom/idlharness-expected.txt +++ b/third_party/blink/web_tests/external/wpt/css/cssom/idlharness-expected.txt
@@ -1,9 +1,395 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 389 tests; 334 PASS, 55 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup PASS Partial interface CSSStyleSheet: original interface defined -FAIL Partial interface mixin DocumentOrShadowRoot: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -FAIL Partial interface Window: original interface defined assert_true: Original interface should be defined expected true got false +PASS Partial interface mixin DocumentOrShadowRoot: original interface mixin defined +PASS Partial interface Window: original interface defined +PASS MediaList interface: existence and properties of interface object +PASS MediaList interface object length +PASS MediaList interface object name +PASS MediaList interface: existence and properties of interface prototype object +PASS MediaList interface: existence and properties of interface prototype object's "constructor" property +PASS MediaList interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaList interface: attribute mediaText +PASS MediaList interface: stringifier +PASS MediaList interface: attribute length +PASS MediaList interface: operation item(unsigned long) +PASS MediaList interface: operation appendMedium(CSSOMString) +PASS MediaList interface: operation deleteMedium(CSSOMString) +PASS MediaList must be primary interface of sheet.media +PASS Stringification of sheet.media +PASS MediaList interface: sheet.media must inherit property "mediaText" with the proper type +PASS MediaList interface: sheet.media must inherit property "length" with the proper type +PASS MediaList interface: sheet.media must inherit property "item(unsigned long)" with the proper type +PASS MediaList interface: calling item(unsigned long) on sheet.media with too few arguments must throw TypeError +PASS MediaList interface: sheet.media must inherit property "appendMedium(CSSOMString)" with the proper type +PASS MediaList interface: calling appendMedium(CSSOMString) on sheet.media with too few arguments must throw TypeError +PASS MediaList interface: sheet.media must inherit property "deleteMedium(CSSOMString)" with the proper type +PASS MediaList interface: calling deleteMedium(CSSOMString) on sheet.media with too few arguments must throw TypeError +PASS StyleSheet interface: existence and properties of interface object +PASS StyleSheet interface object length +PASS StyleSheet interface object name +PASS StyleSheet interface: existence and properties of interface prototype object +PASS StyleSheet interface: existence and properties of interface prototype object's "constructor" property +PASS StyleSheet interface: existence and properties of interface prototype object's @@unscopables property +PASS StyleSheet interface: attribute type +PASS StyleSheet interface: attribute href +PASS StyleSheet interface: attribute ownerNode +PASS StyleSheet interface: attribute parentStyleSheet +PASS StyleSheet interface: attribute title +PASS StyleSheet interface: attribute media +PASS StyleSheet interface: attribute disabled +FAIL CSSStyleSheet interface: existence and properties of interface object assert_throws: interface object didn't throw TypeError when called as a constructor function "function() { + new interface_object(); + }" did not throw +PASS CSSStyleSheet interface object length +PASS CSSStyleSheet interface object name +PASS CSSStyleSheet interface: existence and properties of interface prototype object +PASS CSSStyleSheet interface: existence and properties of interface prototype object's "constructor" property +PASS CSSStyleSheet interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSStyleSheet interface: attribute ownerRule +PASS CSSStyleSheet interface: attribute cssRules +PASS CSSStyleSheet interface: operation insertRule(CSSOMString, unsigned long) +PASS CSSStyleSheet interface: operation deleteRule(unsigned long) +PASS CSSStyleSheet interface: attribute rules +PASS CSSStyleSheet interface: operation addRule(DOMString, DOMString, unsigned long) +PASS CSSStyleSheet interface: operation removeRule(unsigned long) +PASS CSSStyleSheet must be primary interface of sheet +PASS Stringification of sheet +PASS CSSStyleSheet interface: sheet must inherit property "ownerRule" with the proper type +PASS CSSStyleSheet interface: sheet must inherit property "cssRules" with the proper type +PASS CSSStyleSheet interface: sheet must inherit property "insertRule(CSSOMString, unsigned long)" with the proper type +PASS CSSStyleSheet interface: calling insertRule(CSSOMString, unsigned long) on sheet with too few arguments must throw TypeError +PASS CSSStyleSheet interface: sheet must inherit property "deleteRule(unsigned long)" with the proper type +PASS CSSStyleSheet interface: calling deleteRule(unsigned long) on sheet with too few arguments must throw TypeError +PASS CSSStyleSheet interface: sheet must inherit property "rules" with the proper type +PASS CSSStyleSheet interface: sheet must inherit property "addRule(DOMString, DOMString, unsigned long)" with the proper type +PASS CSSStyleSheet interface: calling addRule(DOMString, DOMString, unsigned long) on sheet with too few arguments must throw TypeError +PASS CSSStyleSheet interface: sheet must inherit property "removeRule(unsigned long)" with the proper type +PASS CSSStyleSheet interface: calling removeRule(unsigned long) on sheet with too few arguments must throw TypeError +PASS StyleSheet interface: sheet must inherit property "type" with the proper type +PASS StyleSheet interface: sheet must inherit property "href" with the proper type +PASS StyleSheet interface: sheet must inherit property "ownerNode" with the proper type +PASS StyleSheet interface: sheet must inherit property "parentStyleSheet" with the proper type +PASS StyleSheet interface: sheet must inherit property "title" with the proper type +PASS StyleSheet interface: sheet must inherit property "media" with the proper type +PASS StyleSheet interface: sheet must inherit property "disabled" with the proper type +PASS StyleSheetList interface: existence and properties of interface object +PASS StyleSheetList interface object length +PASS StyleSheetList interface object name +PASS StyleSheetList interface: existence and properties of interface prototype object +PASS StyleSheetList interface: existence and properties of interface prototype object's "constructor" property +PASS StyleSheetList interface: existence and properties of interface prototype object's @@unscopables property +PASS StyleSheetList interface: operation item(unsigned long) +PASS StyleSheetList interface: attribute length +PASS StyleSheetList must be primary interface of document.styleSheets +PASS Stringification of document.styleSheets +PASS StyleSheetList interface: document.styleSheets must inherit property "item(unsigned long)" with the proper type +PASS StyleSheetList interface: calling item(unsigned long) on document.styleSheets with too few arguments must throw TypeError +PASS StyleSheetList interface: document.styleSheets must inherit property "length" with the proper type +PASS CSSRuleList interface: existence and properties of interface object +PASS CSSRuleList interface object length +PASS CSSRuleList interface object name +PASS CSSRuleList interface: existence and properties of interface prototype object +PASS CSSRuleList interface: existence and properties of interface prototype object's "constructor" property +PASS CSSRuleList interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSRuleList interface: operation item(unsigned long) +PASS CSSRuleList interface: attribute length +PASS CSSRuleList must be primary interface of sheet.cssRules +PASS Stringification of sheet.cssRules +PASS CSSRuleList interface: sheet.cssRules must inherit property "item(unsigned long)" with the proper type +PASS CSSRuleList interface: calling item(unsigned long) on sheet.cssRules with too few arguments must throw TypeError +PASS CSSRuleList interface: sheet.cssRules must inherit property "length" with the proper type +PASS CSSRule interface: existence and properties of interface object +PASS CSSRule interface object length +PASS CSSRule interface object name +PASS CSSRule interface: existence and properties of interface prototype object +PASS CSSRule interface: existence and properties of interface prototype object's "constructor" property +PASS CSSRule interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSRule interface: attribute cssText +PASS CSSRule interface: attribute parentRule +PASS CSSRule interface: attribute parentStyleSheet +PASS CSSRule interface: attribute type +PASS CSSRule interface: constant STYLE_RULE on interface object +PASS CSSRule interface: constant STYLE_RULE on interface prototype object +PASS CSSRule interface: constant CHARSET_RULE on interface object +PASS CSSRule interface: constant CHARSET_RULE on interface prototype object +PASS CSSRule interface: constant IMPORT_RULE on interface object +PASS CSSRule interface: constant IMPORT_RULE on interface prototype object +PASS CSSRule interface: constant MEDIA_RULE on interface object +PASS CSSRule interface: constant MEDIA_RULE on interface prototype object +PASS CSSRule interface: constant FONT_FACE_RULE on interface object +PASS CSSRule interface: constant FONT_FACE_RULE on interface prototype object +PASS CSSRule interface: constant PAGE_RULE on interface object +PASS CSSRule interface: constant PAGE_RULE on interface prototype object +FAIL CSSRule interface: constant MARGIN_RULE on interface object assert_own_property: expected property "MARGIN_RULE" missing +FAIL CSSRule interface: constant MARGIN_RULE on interface prototype object assert_own_property: expected property "MARGIN_RULE" missing +PASS CSSRule interface: constant NAMESPACE_RULE on interface object +PASS CSSRule interface: constant NAMESPACE_RULE on interface prototype object +PASS CSSStyleRule interface: existence and properties of interface object +PASS CSSStyleRule interface object length +PASS CSSStyleRule interface object name +PASS CSSStyleRule interface: existence and properties of interface prototype object +PASS CSSStyleRule interface: existence and properties of interface prototype object's "constructor" property +PASS CSSStyleRule interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSStyleRule interface: attribute selectorText +PASS CSSStyleRule interface: attribute style +PASS CSSStyleRule must be primary interface of sheet.cssRules[4] +PASS Stringification of sheet.cssRules[4] +PASS CSSStyleRule interface: sheet.cssRules[4] must inherit property "selectorText" with the proper type +PASS CSSStyleRule interface: sheet.cssRules[4] must inherit property "style" with the proper type +PASS CSSRule interface: sheet.cssRules[4] must inherit property "cssText" with the proper type +PASS CSSRule interface: sheet.cssRules[4] must inherit property "parentRule" with the proper type +PASS CSSRule interface: sheet.cssRules[4] must inherit property "parentStyleSheet" with the proper type +PASS CSSRule interface: sheet.cssRules[4] must inherit property "type" with the proper type +PASS CSSRule interface: sheet.cssRules[4] must inherit property "STYLE_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[4] must inherit property "CHARSET_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[4] must inherit property "IMPORT_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[4] must inherit property "MEDIA_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[4] must inherit property "FONT_FACE_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[4] must inherit property "PAGE_RULE" with the proper type +FAIL CSSRule interface: sheet.cssRules[4] must inherit property "MARGIN_RULE" with the proper type assert_inherits: property "MARGIN_RULE" not found in prototype chain +PASS CSSRule interface: sheet.cssRules[4] must inherit property "NAMESPACE_RULE" with the proper type +PASS CSSImportRule interface: existence and properties of interface object +PASS CSSImportRule interface object length +PASS CSSImportRule interface object name +PASS CSSImportRule interface: existence and properties of interface prototype object +PASS CSSImportRule interface: existence and properties of interface prototype object's "constructor" property +PASS CSSImportRule interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSImportRule interface: attribute href +PASS CSSImportRule interface: attribute media +PASS CSSImportRule interface: attribute styleSheet +PASS CSSImportRule must be primary interface of sheet.cssRules[0] +PASS Stringification of sheet.cssRules[0] +PASS CSSImportRule interface: sheet.cssRules[0] must inherit property "href" with the proper type +PASS CSSImportRule interface: sheet.cssRules[0] must inherit property "media" with the proper type +PASS CSSImportRule interface: sheet.cssRules[0] must inherit property "styleSheet" with the proper type +PASS CSSRule interface: sheet.cssRules[0] must inherit property "cssText" with the proper type +PASS CSSRule interface: sheet.cssRules[0] must inherit property "parentRule" with the proper type +PASS CSSRule interface: sheet.cssRules[0] must inherit property "parentStyleSheet" with the proper type +PASS CSSRule interface: sheet.cssRules[0] must inherit property "type" with the proper type +PASS CSSRule interface: sheet.cssRules[0] must inherit property "STYLE_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[0] must inherit property "CHARSET_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[0] must inherit property "IMPORT_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[0] must inherit property "MEDIA_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[0] must inherit property "FONT_FACE_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[0] must inherit property "PAGE_RULE" with the proper type +FAIL CSSRule interface: sheet.cssRules[0] must inherit property "MARGIN_RULE" with the proper type assert_inherits: property "MARGIN_RULE" not found in prototype chain +PASS CSSRule interface: sheet.cssRules[0] must inherit property "NAMESPACE_RULE" with the proper type +PASS CSSGroupingRule interface: existence and properties of interface object +PASS CSSGroupingRule interface object length +PASS CSSGroupingRule interface object name +PASS CSSGroupingRule interface: existence and properties of interface prototype object +PASS CSSGroupingRule interface: existence and properties of interface prototype object's "constructor" property +PASS CSSGroupingRule interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSGroupingRule interface: attribute cssRules +FAIL CSSGroupingRule interface: operation insertRule(CSSOMString, unsigned long) assert_equals: property has wrong .length expected 1 but got 2 +PASS CSSGroupingRule interface: operation deleteRule(unsigned long) +FAIL CSSPageRule interface: existence and properties of interface object assert_equals: prototype of CSSPageRule is not CSSGroupingRule expected function "function CSSGroupingRule() { [native code] }" but got function "function CSSRule() { [native code] }" +PASS CSSPageRule interface object length +PASS CSSPageRule interface object name +FAIL CSSPageRule interface: existence and properties of interface prototype object assert_equals: prototype of CSSPageRule.prototype is not CSSGroupingRule.prototype expected object "[object CSSGroupingRule]" but got object "[object CSSRule]" +PASS CSSPageRule interface: existence and properties of interface prototype object's "constructor" property +PASS CSSPageRule interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSPageRule interface: attribute selectorText +PASS CSSPageRule interface: attribute style +PASS CSSPageRule must be primary interface of sheet.cssRules[2] +PASS Stringification of sheet.cssRules[2] +PASS CSSPageRule interface: sheet.cssRules[2] must inherit property "selectorText" with the proper type +PASS CSSPageRule interface: sheet.cssRules[2] must inherit property "style" with the proper type +FAIL CSSGroupingRule interface: sheet.cssRules[2] must inherit property "cssRules" with the proper type assert_inherits: property "cssRules" not found in prototype chain +FAIL CSSGroupingRule interface: sheet.cssRules[2] must inherit property "insertRule(CSSOMString, unsigned long)" with the proper type assert_inherits: property "insertRule" not found in prototype chain +FAIL CSSGroupingRule interface: calling insertRule(CSSOMString, unsigned long) on sheet.cssRules[2] with too few arguments must throw TypeError assert_inherits: property "insertRule" not found in prototype chain +FAIL CSSGroupingRule interface: sheet.cssRules[2] must inherit property "deleteRule(unsigned long)" with the proper type assert_inherits: property "deleteRule" not found in prototype chain +FAIL CSSGroupingRule interface: calling deleteRule(unsigned long) on sheet.cssRules[2] with too few arguments must throw TypeError assert_inherits: property "deleteRule" not found in prototype chain +PASS CSSRule interface: sheet.cssRules[2] must inherit property "cssText" with the proper type +PASS CSSRule interface: sheet.cssRules[2] must inherit property "parentRule" with the proper type +PASS CSSRule interface: sheet.cssRules[2] must inherit property "parentStyleSheet" with the proper type +PASS CSSRule interface: sheet.cssRules[2] must inherit property "type" with the proper type +PASS CSSRule interface: sheet.cssRules[2] must inherit property "STYLE_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[2] must inherit property "CHARSET_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[2] must inherit property "IMPORT_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[2] must inherit property "MEDIA_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[2] must inherit property "FONT_FACE_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[2] must inherit property "PAGE_RULE" with the proper type +FAIL CSSRule interface: sheet.cssRules[2] must inherit property "MARGIN_RULE" with the proper type assert_inherits: property "MARGIN_RULE" not found in prototype chain +PASS CSSRule interface: sheet.cssRules[2] must inherit property "NAMESPACE_RULE" with the proper type +FAIL CSSMarginRule interface: existence and properties of interface object assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing +FAIL CSSMarginRule interface object length assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing +FAIL CSSMarginRule interface object name assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing +FAIL CSSMarginRule interface: existence and properties of interface prototype object assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing +FAIL CSSMarginRule interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing +FAIL CSSMarginRule interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing +FAIL CSSMarginRule interface: attribute name assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing +FAIL CSSMarginRule interface: attribute style assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing +FAIL CSSMarginRule must be primary interface of sheet.cssRules[2].cssRules[0] assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL Stringification of sheet.cssRules[2].cssRules[0] assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSMarginRule interface: sheet.cssRules[2].cssRules[0] must inherit property "name" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSMarginRule interface: sheet.cssRules[2].cssRules[0] must inherit property "style" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "cssText" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "parentRule" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "parentStyleSheet" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "type" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "STYLE_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "CHARSET_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "IMPORT_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "MEDIA_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "FONT_FACE_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "PAGE_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "MARGIN_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "NAMESPACE_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +PASS CSSNamespaceRule interface: existence and properties of interface object +PASS CSSNamespaceRule interface object length +PASS CSSNamespaceRule interface object name +PASS CSSNamespaceRule interface: existence and properties of interface prototype object +PASS CSSNamespaceRule interface: existence and properties of interface prototype object's "constructor" property +PASS CSSNamespaceRule interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSNamespaceRule interface: attribute namespaceURI +PASS CSSNamespaceRule interface: attribute prefix +PASS CSSNamespaceRule must be primary interface of sheet.cssRules[1] +PASS Stringification of sheet.cssRules[1] +PASS CSSNamespaceRule interface: sheet.cssRules[1] must inherit property "namespaceURI" with the proper type +PASS CSSNamespaceRule interface: sheet.cssRules[1] must inherit property "prefix" with the proper type +PASS CSSRule interface: sheet.cssRules[1] must inherit property "cssText" with the proper type +PASS CSSRule interface: sheet.cssRules[1] must inherit property "parentRule" with the proper type +PASS CSSRule interface: sheet.cssRules[1] must inherit property "parentStyleSheet" with the proper type +PASS CSSRule interface: sheet.cssRules[1] must inherit property "type" with the proper type +PASS CSSRule interface: sheet.cssRules[1] must inherit property "STYLE_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[1] must inherit property "CHARSET_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[1] must inherit property "IMPORT_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[1] must inherit property "MEDIA_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[1] must inherit property "FONT_FACE_RULE" with the proper type +PASS CSSRule interface: sheet.cssRules[1] must inherit property "PAGE_RULE" with the proper type +FAIL CSSRule interface: sheet.cssRules[1] must inherit property "MARGIN_RULE" with the proper type assert_inherits: property "MARGIN_RULE" not found in prototype chain +PASS CSSRule interface: sheet.cssRules[1] must inherit property "NAMESPACE_RULE" with the proper type +PASS CSSStyleDeclaration interface: existence and properties of interface object +PASS CSSStyleDeclaration interface object length +PASS CSSStyleDeclaration interface object name +PASS CSSStyleDeclaration interface: existence and properties of interface prototype object +PASS CSSStyleDeclaration interface: existence and properties of interface prototype object's "constructor" property +PASS CSSStyleDeclaration interface: existence and properties of interface prototype object's @@unscopables property +PASS CSSStyleDeclaration interface: attribute cssText +PASS CSSStyleDeclaration interface: attribute length +PASS CSSStyleDeclaration interface: operation item(unsigned long) +PASS CSSStyleDeclaration interface: operation getPropertyValue(CSSOMString) +PASS CSSStyleDeclaration interface: operation getPropertyPriority(CSSOMString) +PASS CSSStyleDeclaration interface: operation setProperty(CSSOMString, CSSOMString, CSSOMString) +PASS CSSStyleDeclaration interface: operation removeProperty(CSSOMString) +PASS CSSStyleDeclaration interface: attribute parentRule +PASS CSSStyleDeclaration interface: attribute cssFloat +PASS CSSStyleDeclaration must be primary interface of sheet.cssRules[4].style +PASS Stringification of sheet.cssRules[4].style +PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "cssText" with the proper type +PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "length" with the proper type +PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "item(unsigned long)" with the proper type +PASS CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules[4].style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "getPropertyValue(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules[4].style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules[4].style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules[4].style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "removeProperty(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules[4].style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "parentRule" with the proper type +PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "cssFloat" with the proper type +PASS CSSStyleDeclaration must be primary interface of sheet.cssRules[2].style +PASS Stringification of sheet.cssRules[2].style +PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "cssText" with the proper type +PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "length" with the proper type +PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "item(unsigned long)" with the proper type +PASS CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules[2].style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "getPropertyValue(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules[2].style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules[2].style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules[2].style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "removeProperty(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules[2].style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "parentRule" with the proper type +PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "cssFloat" with the proper type +FAIL CSSStyleDeclaration must be primary interface of sheet.cssRules[2].cssRules[0].style assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL Stringification of sheet.cssRules[2].cssRules[0].style assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "cssText" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "length" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "item(unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "getPropertyValue(CSSOMString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "removeProperty(CSSOMString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "parentRule" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "cssFloat" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Cannot read property '0' of undefined" +PASS CSSStyleDeclaration must be primary interface of style_element.style +PASS Stringification of style_element.style +PASS CSSStyleDeclaration interface: style_element.style must inherit property "cssText" with the proper type +PASS CSSStyleDeclaration interface: style_element.style must inherit property "length" with the proper type +PASS CSSStyleDeclaration interface: style_element.style must inherit property "item(unsigned long)" with the proper type +PASS CSSStyleDeclaration interface: calling item(unsigned long) on style_element.style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: style_element.style must inherit property "getPropertyValue(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on style_element.style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: style_element.style must inherit property "getPropertyPriority(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on style_element.style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: style_element.style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on style_element.style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: style_element.style must inherit property "removeProperty(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on style_element.style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: style_element.style must inherit property "parentRule" with the proper type +PASS CSSStyleDeclaration interface: style_element.style must inherit property "cssFloat" with the proper type +PASS CSSStyleDeclaration must be primary interface of svg_element.style +PASS Stringification of svg_element.style +PASS CSSStyleDeclaration interface: svg_element.style must inherit property "cssText" with the proper type +PASS CSSStyleDeclaration interface: svg_element.style must inherit property "length" with the proper type +PASS CSSStyleDeclaration interface: svg_element.style must inherit property "item(unsigned long)" with the proper type +PASS CSSStyleDeclaration interface: calling item(unsigned long) on svg_element.style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: svg_element.style must inherit property "getPropertyValue(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on svg_element.style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: svg_element.style must inherit property "getPropertyPriority(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on svg_element.style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: svg_element.style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on svg_element.style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: svg_element.style must inherit property "removeProperty(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on svg_element.style with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: svg_element.style must inherit property "parentRule" with the proper type +PASS CSSStyleDeclaration interface: svg_element.style must inherit property "cssFloat" with the proper type +PASS CSSStyleDeclaration must be primary interface of getComputedStyle(svg_element) +PASS Stringification of getComputedStyle(svg_element) +PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "cssText" with the proper type +PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "length" with the proper type +PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "item(unsigned long)" with the proper type +PASS CSSStyleDeclaration interface: calling item(unsigned long) on getComputedStyle(svg_element) with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "getPropertyValue(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on getComputedStyle(svg_element) with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "getPropertyPriority(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on getComputedStyle(svg_element) with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on getComputedStyle(svg_element) with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "removeProperty(CSSOMString)" with the proper type +PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on getComputedStyle(svg_element) with too few arguments must throw TypeError +PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "parentRule" with the proper type +PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "cssFloat" with the proper type +PASS CSS namespace: operation escape(CSSOMString) +PASS SVGElement interface: attribute style +PASS SVGElement interface: svg_element must inherit property "style" with the proper type +PASS SVGStyleElement interface: attribute sheet +PASS HTMLElement interface: attribute style +PASS HTMLElement interface: style_element must inherit property "style" with the proper type +PASS HTMLElement interface: document.createElement("unknownelement") must inherit property "style" with the proper type +PASS HTMLLinkElement interface: attribute sheet +PASS HTMLStyleElement interface: attribute sheet +PASS Window interface: operation getComputedStyle(Element, CSSOMString) +PASS Window interface: window must inherit property "getComputedStyle(Element, CSSOMString)" with the proper type +PASS Window interface: calling getComputedStyle(Element, CSSOMString) on window with too few arguments must throw TypeError +PASS Document interface: attribute styleSheets +PASS Document interface: document must inherit property "styleSheets" with the proper type +PASS Document interface: new Document() must inherit property "styleSheets" with the proper type +PASS ShadowRoot interface: attribute styleSheets +PASS ProcessingInstruction interface: attribute sheet +PASS ProcessingInstruction interface: xmlss_pi must inherit property "sheet" with the proper type Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/idlharness.any-expected.txt b/third_party/blink/web_tests/external/wpt/css/filter-effects/idlharness.any-expected.txt index adb6cc43..4fc02f1 100644 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/idlharness.any-expected.txt +++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/idlharness.any-expected.txt
@@ -1,6 +1,462 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 458 tests; 448 PASS, 10 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS SVGFilterElement interface: existence and properties of interface object +PASS SVGFilterElement interface object length +PASS SVGFilterElement interface object name +PASS SVGFilterElement interface: existence and properties of interface prototype object +PASS SVGFilterElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFilterElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFilterElement interface: attribute filterUnits +PASS SVGFilterElement interface: attribute primitiveUnits +PASS SVGFilterElement interface: attribute x +PASS SVGFilterElement interface: attribute y +PASS SVGFilterElement interface: attribute width +PASS SVGFilterElement interface: attribute height +PASS SVGFEBlendElement interface: existence and properties of interface object +PASS SVGFEBlendElement interface object length +PASS SVGFEBlendElement interface object name +PASS SVGFEBlendElement interface: existence and properties of interface prototype object +PASS SVGFEBlendElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEBlendElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_UNKNOWN on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_UNKNOWN on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_NORMAL on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_NORMAL on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_MULTIPLY on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_MULTIPLY on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_SCREEN on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_SCREEN on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_DARKEN on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_DARKEN on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_LIGHTEN on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_LIGHTEN on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_OVERLAY on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_OVERLAY on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR_DODGE on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR_DODGE on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR_BURN on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR_BURN on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_HARD_LIGHT on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_HARD_LIGHT on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_SOFT_LIGHT on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_SOFT_LIGHT on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_DIFFERENCE on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_DIFFERENCE on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_EXCLUSION on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_EXCLUSION on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_HUE on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_HUE on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_SATURATION on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_SATURATION on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR on interface prototype object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_LUMINOSITY on interface object +PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_LUMINOSITY on interface prototype object +PASS SVGFEBlendElement interface: attribute in1 +PASS SVGFEBlendElement interface: attribute in2 +PASS SVGFEBlendElement interface: attribute mode +PASS SVGFEBlendElement interface: attribute x +PASS SVGFEBlendElement interface: attribute y +PASS SVGFEBlendElement interface: attribute width +PASS SVGFEBlendElement interface: attribute height +PASS SVGFEBlendElement interface: attribute result +PASS SVGFEColorMatrixElement interface: existence and properties of interface object +PASS SVGFEColorMatrixElement interface object length +PASS SVGFEColorMatrixElement interface object name +PASS SVGFEColorMatrixElement interface: existence and properties of interface prototype object +PASS SVGFEColorMatrixElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEColorMatrixElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEColorMatrixElement interface: constant SVG_FECOLORMATRIX_TYPE_UNKNOWN on interface object +PASS SVGFEColorMatrixElement interface: constant SVG_FECOLORMATRIX_TYPE_UNKNOWN on interface prototype object +PASS SVGFEColorMatrixElement interface: constant SVG_FECOLORMATRIX_TYPE_MATRIX on interface object +PASS SVGFEColorMatrixElement interface: constant SVG_FECOLORMATRIX_TYPE_MATRIX on interface prototype object +PASS SVGFEColorMatrixElement interface: constant SVG_FECOLORMATRIX_TYPE_SATURATE on interface object +PASS SVGFEColorMatrixElement interface: constant SVG_FECOLORMATRIX_TYPE_SATURATE on interface prototype object +PASS SVGFEColorMatrixElement interface: constant SVG_FECOLORMATRIX_TYPE_HUEROTATE on interface object +PASS SVGFEColorMatrixElement interface: constant SVG_FECOLORMATRIX_TYPE_HUEROTATE on interface prototype object +PASS SVGFEColorMatrixElement interface: constant SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA on interface object +PASS SVGFEColorMatrixElement interface: constant SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA on interface prototype object +PASS SVGFEColorMatrixElement interface: attribute in1 +PASS SVGFEColorMatrixElement interface: attribute type +PASS SVGFEColorMatrixElement interface: attribute values +PASS SVGFEColorMatrixElement interface: attribute x +PASS SVGFEColorMatrixElement interface: attribute y +PASS SVGFEColorMatrixElement interface: attribute width +PASS SVGFEColorMatrixElement interface: attribute height +PASS SVGFEColorMatrixElement interface: attribute result +PASS SVGFEComponentTransferElement interface: existence and properties of interface object +PASS SVGFEComponentTransferElement interface object length +PASS SVGFEComponentTransferElement interface object name +PASS SVGFEComponentTransferElement interface: existence and properties of interface prototype object +PASS SVGFEComponentTransferElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEComponentTransferElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEComponentTransferElement interface: attribute in1 +PASS SVGFEComponentTransferElement interface: attribute x +PASS SVGFEComponentTransferElement interface: attribute y +PASS SVGFEComponentTransferElement interface: attribute width +PASS SVGFEComponentTransferElement interface: attribute height +PASS SVGFEComponentTransferElement interface: attribute result +PASS SVGComponentTransferFunctionElement interface: existence and properties of interface object +PASS SVGComponentTransferFunctionElement interface object length +PASS SVGComponentTransferFunctionElement interface object name +PASS SVGComponentTransferFunctionElement interface: existence and properties of interface prototype object +PASS SVGComponentTransferFunctionElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGComponentTransferFunctionElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGComponentTransferFunctionElement interface: constant SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN on interface object +PASS SVGComponentTransferFunctionElement interface: constant SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN on interface prototype object +PASS SVGComponentTransferFunctionElement interface: constant SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY on interface object +PASS SVGComponentTransferFunctionElement interface: constant SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY on interface prototype object +PASS SVGComponentTransferFunctionElement interface: constant SVG_FECOMPONENTTRANSFER_TYPE_TABLE on interface object +PASS SVGComponentTransferFunctionElement interface: constant SVG_FECOMPONENTTRANSFER_TYPE_TABLE on interface prototype object +PASS SVGComponentTransferFunctionElement interface: constant SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE on interface object +PASS SVGComponentTransferFunctionElement interface: constant SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE on interface prototype object +PASS SVGComponentTransferFunctionElement interface: constant SVG_FECOMPONENTTRANSFER_TYPE_LINEAR on interface object +PASS SVGComponentTransferFunctionElement interface: constant SVG_FECOMPONENTTRANSFER_TYPE_LINEAR on interface prototype object +PASS SVGComponentTransferFunctionElement interface: constant SVG_FECOMPONENTTRANSFER_TYPE_GAMMA on interface object +PASS SVGComponentTransferFunctionElement interface: constant SVG_FECOMPONENTTRANSFER_TYPE_GAMMA on interface prototype object +PASS SVGComponentTransferFunctionElement interface: attribute type +PASS SVGComponentTransferFunctionElement interface: attribute tableValues +PASS SVGComponentTransferFunctionElement interface: attribute slope +PASS SVGComponentTransferFunctionElement interface: attribute intercept +PASS SVGComponentTransferFunctionElement interface: attribute amplitude +PASS SVGComponentTransferFunctionElement interface: attribute exponent +PASS SVGComponentTransferFunctionElement interface: attribute offset +PASS SVGFEFuncRElement interface: existence and properties of interface object +PASS SVGFEFuncRElement interface object length +PASS SVGFEFuncRElement interface object name +PASS SVGFEFuncRElement interface: existence and properties of interface prototype object +PASS SVGFEFuncRElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEFuncRElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEFuncGElement interface: existence and properties of interface object +PASS SVGFEFuncGElement interface object length +PASS SVGFEFuncGElement interface object name +PASS SVGFEFuncGElement interface: existence and properties of interface prototype object +PASS SVGFEFuncGElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEFuncGElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEFuncBElement interface: existence and properties of interface object +PASS SVGFEFuncBElement interface object length +PASS SVGFEFuncBElement interface object name +PASS SVGFEFuncBElement interface: existence and properties of interface prototype object +PASS SVGFEFuncBElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEFuncBElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEFuncAElement interface: existence and properties of interface object +PASS SVGFEFuncAElement interface object length +PASS SVGFEFuncAElement interface object name +PASS SVGFEFuncAElement interface: existence and properties of interface prototype object +PASS SVGFEFuncAElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEFuncAElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFECompositeElement interface: existence and properties of interface object +PASS SVGFECompositeElement interface object length +PASS SVGFECompositeElement interface object name +PASS SVGFECompositeElement interface: existence and properties of interface prototype object +PASS SVGFECompositeElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFECompositeElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFECompositeElement interface: constant SVG_FECOMPOSITE_OPERATOR_UNKNOWN on interface object +PASS SVGFECompositeElement interface: constant SVG_FECOMPOSITE_OPERATOR_UNKNOWN on interface prototype object +PASS SVGFECompositeElement interface: constant SVG_FECOMPOSITE_OPERATOR_OVER on interface object +PASS SVGFECompositeElement interface: constant SVG_FECOMPOSITE_OPERATOR_OVER on interface prototype object +PASS SVGFECompositeElement interface: constant SVG_FECOMPOSITE_OPERATOR_IN on interface object +PASS SVGFECompositeElement interface: constant SVG_FECOMPOSITE_OPERATOR_IN on interface prototype object +PASS SVGFECompositeElement interface: constant SVG_FECOMPOSITE_OPERATOR_OUT on interface object +PASS SVGFECompositeElement interface: constant SVG_FECOMPOSITE_OPERATOR_OUT on interface prototype object +PASS SVGFECompositeElement interface: constant SVG_FECOMPOSITE_OPERATOR_ATOP on interface object +PASS SVGFECompositeElement interface: constant SVG_FECOMPOSITE_OPERATOR_ATOP on interface prototype object +PASS SVGFECompositeElement interface: constant SVG_FECOMPOSITE_OPERATOR_XOR on interface object +PASS SVGFECompositeElement interface: constant SVG_FECOMPOSITE_OPERATOR_XOR on interface prototype object +PASS SVGFECompositeElement interface: constant SVG_FECOMPOSITE_OPERATOR_ARITHMETIC on interface object +PASS SVGFECompositeElement interface: constant SVG_FECOMPOSITE_OPERATOR_ARITHMETIC on interface prototype object +PASS SVGFECompositeElement interface: attribute in1 +PASS SVGFECompositeElement interface: attribute in2 +PASS SVGFECompositeElement interface: attribute operator +PASS SVGFECompositeElement interface: attribute k1 +PASS SVGFECompositeElement interface: attribute k2 +PASS SVGFECompositeElement interface: attribute k3 +PASS SVGFECompositeElement interface: attribute k4 +PASS SVGFECompositeElement interface: attribute x +PASS SVGFECompositeElement interface: attribute y +PASS SVGFECompositeElement interface: attribute width +PASS SVGFECompositeElement interface: attribute height +PASS SVGFECompositeElement interface: attribute result +PASS SVGFEConvolveMatrixElement interface: existence and properties of interface object +PASS SVGFEConvolveMatrixElement interface object length +PASS SVGFEConvolveMatrixElement interface object name +PASS SVGFEConvolveMatrixElement interface: existence and properties of interface prototype object +PASS SVGFEConvolveMatrixElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEConvolveMatrixElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEConvolveMatrixElement interface: constant SVG_EDGEMODE_UNKNOWN on interface object +PASS SVGFEConvolveMatrixElement interface: constant SVG_EDGEMODE_UNKNOWN on interface prototype object +PASS SVGFEConvolveMatrixElement interface: constant SVG_EDGEMODE_DUPLICATE on interface object +PASS SVGFEConvolveMatrixElement interface: constant SVG_EDGEMODE_DUPLICATE on interface prototype object +PASS SVGFEConvolveMatrixElement interface: constant SVG_EDGEMODE_WRAP on interface object +PASS SVGFEConvolveMatrixElement interface: constant SVG_EDGEMODE_WRAP on interface prototype object +PASS SVGFEConvolveMatrixElement interface: constant SVG_EDGEMODE_NONE on interface object +PASS SVGFEConvolveMatrixElement interface: constant SVG_EDGEMODE_NONE on interface prototype object +PASS SVGFEConvolveMatrixElement interface: attribute in1 +PASS SVGFEConvolveMatrixElement interface: attribute orderX +PASS SVGFEConvolveMatrixElement interface: attribute orderY +PASS SVGFEConvolveMatrixElement interface: attribute kernelMatrix +PASS SVGFEConvolveMatrixElement interface: attribute divisor +PASS SVGFEConvolveMatrixElement interface: attribute bias +PASS SVGFEConvolveMatrixElement interface: attribute targetX +PASS SVGFEConvolveMatrixElement interface: attribute targetY +PASS SVGFEConvolveMatrixElement interface: attribute edgeMode +PASS SVGFEConvolveMatrixElement interface: attribute kernelUnitLengthX +PASS SVGFEConvolveMatrixElement interface: attribute kernelUnitLengthY +PASS SVGFEConvolveMatrixElement interface: attribute preserveAlpha +PASS SVGFEConvolveMatrixElement interface: attribute x +PASS SVGFEConvolveMatrixElement interface: attribute y +PASS SVGFEConvolveMatrixElement interface: attribute width +PASS SVGFEConvolveMatrixElement interface: attribute height +PASS SVGFEConvolveMatrixElement interface: attribute result +PASS SVGFEDiffuseLightingElement interface: existence and properties of interface object +PASS SVGFEDiffuseLightingElement interface object length +PASS SVGFEDiffuseLightingElement interface object name +PASS SVGFEDiffuseLightingElement interface: existence and properties of interface prototype object +PASS SVGFEDiffuseLightingElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEDiffuseLightingElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEDiffuseLightingElement interface: attribute in1 +PASS SVGFEDiffuseLightingElement interface: attribute surfaceScale +PASS SVGFEDiffuseLightingElement interface: attribute diffuseConstant +PASS SVGFEDiffuseLightingElement interface: attribute kernelUnitLengthX +PASS SVGFEDiffuseLightingElement interface: attribute kernelUnitLengthY +PASS SVGFEDiffuseLightingElement interface: attribute x +PASS SVGFEDiffuseLightingElement interface: attribute y +PASS SVGFEDiffuseLightingElement interface: attribute width +PASS SVGFEDiffuseLightingElement interface: attribute height +PASS SVGFEDiffuseLightingElement interface: attribute result +PASS SVGFEDistantLightElement interface: existence and properties of interface object +PASS SVGFEDistantLightElement interface object length +PASS SVGFEDistantLightElement interface object name +PASS SVGFEDistantLightElement interface: existence and properties of interface prototype object +PASS SVGFEDistantLightElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEDistantLightElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEDistantLightElement interface: attribute azimuth +PASS SVGFEDistantLightElement interface: attribute elevation +PASS SVGFEPointLightElement interface: existence and properties of interface object +PASS SVGFEPointLightElement interface object length +PASS SVGFEPointLightElement interface object name +PASS SVGFEPointLightElement interface: existence and properties of interface prototype object +PASS SVGFEPointLightElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEPointLightElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEPointLightElement interface: attribute x +PASS SVGFEPointLightElement interface: attribute y +PASS SVGFEPointLightElement interface: attribute z +PASS SVGFESpotLightElement interface: existence and properties of interface object +PASS SVGFESpotLightElement interface object length +PASS SVGFESpotLightElement interface object name +PASS SVGFESpotLightElement interface: existence and properties of interface prototype object +PASS SVGFESpotLightElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFESpotLightElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFESpotLightElement interface: attribute x +PASS SVGFESpotLightElement interface: attribute y +PASS SVGFESpotLightElement interface: attribute z +PASS SVGFESpotLightElement interface: attribute pointsAtX +PASS SVGFESpotLightElement interface: attribute pointsAtY +PASS SVGFESpotLightElement interface: attribute pointsAtZ +PASS SVGFESpotLightElement interface: attribute specularExponent +PASS SVGFESpotLightElement interface: attribute limitingConeAngle +PASS SVGFEDisplacementMapElement interface: existence and properties of interface object +PASS SVGFEDisplacementMapElement interface object length +PASS SVGFEDisplacementMapElement interface object name +PASS SVGFEDisplacementMapElement interface: existence and properties of interface prototype object +PASS SVGFEDisplacementMapElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEDisplacementMapElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEDisplacementMapElement interface: constant SVG_CHANNEL_UNKNOWN on interface object +PASS SVGFEDisplacementMapElement interface: constant SVG_CHANNEL_UNKNOWN on interface prototype object +PASS SVGFEDisplacementMapElement interface: constant SVG_CHANNEL_R on interface object +PASS SVGFEDisplacementMapElement interface: constant SVG_CHANNEL_R on interface prototype object +PASS SVGFEDisplacementMapElement interface: constant SVG_CHANNEL_G on interface object +PASS SVGFEDisplacementMapElement interface: constant SVG_CHANNEL_G on interface prototype object +PASS SVGFEDisplacementMapElement interface: constant SVG_CHANNEL_B on interface object +PASS SVGFEDisplacementMapElement interface: constant SVG_CHANNEL_B on interface prototype object +PASS SVGFEDisplacementMapElement interface: constant SVG_CHANNEL_A on interface object +PASS SVGFEDisplacementMapElement interface: constant SVG_CHANNEL_A on interface prototype object +PASS SVGFEDisplacementMapElement interface: attribute in1 +PASS SVGFEDisplacementMapElement interface: attribute in2 +PASS SVGFEDisplacementMapElement interface: attribute scale +PASS SVGFEDisplacementMapElement interface: attribute xChannelSelector +PASS SVGFEDisplacementMapElement interface: attribute yChannelSelector +PASS SVGFEDisplacementMapElement interface: attribute x +PASS SVGFEDisplacementMapElement interface: attribute y +PASS SVGFEDisplacementMapElement interface: attribute width +PASS SVGFEDisplacementMapElement interface: attribute height +PASS SVGFEDisplacementMapElement interface: attribute result +PASS SVGFEDropShadowElement interface: existence and properties of interface object +PASS SVGFEDropShadowElement interface object length +PASS SVGFEDropShadowElement interface object name +PASS SVGFEDropShadowElement interface: existence and properties of interface prototype object +PASS SVGFEDropShadowElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEDropShadowElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEDropShadowElement interface: attribute in1 +PASS SVGFEDropShadowElement interface: attribute dx +PASS SVGFEDropShadowElement interface: attribute dy +PASS SVGFEDropShadowElement interface: attribute stdDeviationX +PASS SVGFEDropShadowElement interface: attribute stdDeviationY +PASS SVGFEDropShadowElement interface: operation setStdDeviation(float, float) +PASS SVGFEDropShadowElement interface: attribute x +PASS SVGFEDropShadowElement interface: attribute y +PASS SVGFEDropShadowElement interface: attribute width +PASS SVGFEDropShadowElement interface: attribute height +PASS SVGFEDropShadowElement interface: attribute result +PASS SVGFEFloodElement interface: existence and properties of interface object +PASS SVGFEFloodElement interface object length +PASS SVGFEFloodElement interface object name +PASS SVGFEFloodElement interface: existence and properties of interface prototype object +PASS SVGFEFloodElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEFloodElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEFloodElement interface: attribute x +PASS SVGFEFloodElement interface: attribute y +PASS SVGFEFloodElement interface: attribute width +PASS SVGFEFloodElement interface: attribute height +PASS SVGFEFloodElement interface: attribute result +PASS SVGFEGaussianBlurElement interface: existence and properties of interface object +PASS SVGFEGaussianBlurElement interface object length +PASS SVGFEGaussianBlurElement interface object name +PASS SVGFEGaussianBlurElement interface: existence and properties of interface prototype object +PASS SVGFEGaussianBlurElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEGaussianBlurElement interface: existence and properties of interface prototype object's @@unscopables property +FAIL SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_UNKNOWN on interface object assert_own_property: expected property "SVG_EDGEMODE_UNKNOWN" missing +FAIL SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_UNKNOWN on interface prototype object assert_own_property: expected property "SVG_EDGEMODE_UNKNOWN" missing +FAIL SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_DUPLICATE on interface object assert_own_property: expected property "SVG_EDGEMODE_DUPLICATE" missing +FAIL SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_DUPLICATE on interface prototype object assert_own_property: expected property "SVG_EDGEMODE_DUPLICATE" missing +FAIL SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_WRAP on interface object assert_own_property: expected property "SVG_EDGEMODE_WRAP" missing +FAIL SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_WRAP on interface prototype object assert_own_property: expected property "SVG_EDGEMODE_WRAP" missing +FAIL SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_NONE on interface object assert_own_property: expected property "SVG_EDGEMODE_NONE" missing +FAIL SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_NONE on interface prototype object assert_own_property: expected property "SVG_EDGEMODE_NONE" missing +PASS SVGFEGaussianBlurElement interface: attribute in1 +PASS SVGFEGaussianBlurElement interface: attribute stdDeviationX +PASS SVGFEGaussianBlurElement interface: attribute stdDeviationY +FAIL SVGFEGaussianBlurElement interface: attribute edgeMode assert_true: The prototype object must have a property "edgeMode" expected true got false +PASS SVGFEGaussianBlurElement interface: operation setStdDeviation(float, float) +PASS SVGFEGaussianBlurElement interface: attribute x +PASS SVGFEGaussianBlurElement interface: attribute y +PASS SVGFEGaussianBlurElement interface: attribute width +PASS SVGFEGaussianBlurElement interface: attribute height +PASS SVGFEGaussianBlurElement interface: attribute result +PASS SVGFEImageElement interface: existence and properties of interface object +PASS SVGFEImageElement interface object length +PASS SVGFEImageElement interface object name +PASS SVGFEImageElement interface: existence and properties of interface prototype object +PASS SVGFEImageElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEImageElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEImageElement interface: attribute preserveAspectRatio +FAIL SVGFEImageElement interface: attribute crossOrigin assert_true: The prototype object must have a property "crossOrigin" expected true got false +PASS SVGFEImageElement interface: attribute x +PASS SVGFEImageElement interface: attribute y +PASS SVGFEImageElement interface: attribute width +PASS SVGFEImageElement interface: attribute height +PASS SVGFEImageElement interface: attribute result +PASS SVGFEMergeElement interface: existence and properties of interface object +PASS SVGFEMergeElement interface object length +PASS SVGFEMergeElement interface object name +PASS SVGFEMergeElement interface: existence and properties of interface prototype object +PASS SVGFEMergeElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEMergeElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEMergeElement interface: attribute x +PASS SVGFEMergeElement interface: attribute y +PASS SVGFEMergeElement interface: attribute width +PASS SVGFEMergeElement interface: attribute height +PASS SVGFEMergeElement interface: attribute result +PASS SVGFEMergeNodeElement interface: existence and properties of interface object +PASS SVGFEMergeNodeElement interface object length +PASS SVGFEMergeNodeElement interface object name +PASS SVGFEMergeNodeElement interface: existence and properties of interface prototype object +PASS SVGFEMergeNodeElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEMergeNodeElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEMergeNodeElement interface: attribute in1 +PASS SVGFEMorphologyElement interface: existence and properties of interface object +PASS SVGFEMorphologyElement interface object length +PASS SVGFEMorphologyElement interface object name +PASS SVGFEMorphologyElement interface: existence and properties of interface prototype object +PASS SVGFEMorphologyElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEMorphologyElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEMorphologyElement interface: constant SVG_MORPHOLOGY_OPERATOR_UNKNOWN on interface object +PASS SVGFEMorphologyElement interface: constant SVG_MORPHOLOGY_OPERATOR_UNKNOWN on interface prototype object +PASS SVGFEMorphologyElement interface: constant SVG_MORPHOLOGY_OPERATOR_ERODE on interface object +PASS SVGFEMorphologyElement interface: constant SVG_MORPHOLOGY_OPERATOR_ERODE on interface prototype object +PASS SVGFEMorphologyElement interface: constant SVG_MORPHOLOGY_OPERATOR_DILATE on interface object +PASS SVGFEMorphologyElement interface: constant SVG_MORPHOLOGY_OPERATOR_DILATE on interface prototype object +PASS SVGFEMorphologyElement interface: attribute in1 +PASS SVGFEMorphologyElement interface: attribute operator +PASS SVGFEMorphologyElement interface: attribute radiusX +PASS SVGFEMorphologyElement interface: attribute radiusY +PASS SVGFEMorphologyElement interface: attribute x +PASS SVGFEMorphologyElement interface: attribute y +PASS SVGFEMorphologyElement interface: attribute width +PASS SVGFEMorphologyElement interface: attribute height +PASS SVGFEMorphologyElement interface: attribute result +PASS SVGFEOffsetElement interface: existence and properties of interface object +PASS SVGFEOffsetElement interface object length +PASS SVGFEOffsetElement interface object name +PASS SVGFEOffsetElement interface: existence and properties of interface prototype object +PASS SVGFEOffsetElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFEOffsetElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFEOffsetElement interface: attribute in1 +PASS SVGFEOffsetElement interface: attribute dx +PASS SVGFEOffsetElement interface: attribute dy +PASS SVGFEOffsetElement interface: attribute x +PASS SVGFEOffsetElement interface: attribute y +PASS SVGFEOffsetElement interface: attribute width +PASS SVGFEOffsetElement interface: attribute height +PASS SVGFEOffsetElement interface: attribute result +PASS SVGFESpecularLightingElement interface: existence and properties of interface object +PASS SVGFESpecularLightingElement interface object length +PASS SVGFESpecularLightingElement interface object name +PASS SVGFESpecularLightingElement interface: existence and properties of interface prototype object +PASS SVGFESpecularLightingElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFESpecularLightingElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFESpecularLightingElement interface: attribute in1 +PASS SVGFESpecularLightingElement interface: attribute surfaceScale +PASS SVGFESpecularLightingElement interface: attribute specularConstant +PASS SVGFESpecularLightingElement interface: attribute specularExponent +PASS SVGFESpecularLightingElement interface: attribute kernelUnitLengthX +PASS SVGFESpecularLightingElement interface: attribute kernelUnitLengthY +PASS SVGFESpecularLightingElement interface: attribute x +PASS SVGFESpecularLightingElement interface: attribute y +PASS SVGFESpecularLightingElement interface: attribute width +PASS SVGFESpecularLightingElement interface: attribute height +PASS SVGFESpecularLightingElement interface: attribute result +PASS SVGFETileElement interface: existence and properties of interface object +PASS SVGFETileElement interface object length +PASS SVGFETileElement interface object name +PASS SVGFETileElement interface: existence and properties of interface prototype object +PASS SVGFETileElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFETileElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFETileElement interface: attribute in1 +PASS SVGFETileElement interface: attribute x +PASS SVGFETileElement interface: attribute y +PASS SVGFETileElement interface: attribute width +PASS SVGFETileElement interface: attribute height +PASS SVGFETileElement interface: attribute result +PASS SVGFETurbulenceElement interface: existence and properties of interface object +PASS SVGFETurbulenceElement interface object length +PASS SVGFETurbulenceElement interface object name +PASS SVGFETurbulenceElement interface: existence and properties of interface prototype object +PASS SVGFETurbulenceElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGFETurbulenceElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGFETurbulenceElement interface: constant SVG_TURBULENCE_TYPE_UNKNOWN on interface object +PASS SVGFETurbulenceElement interface: constant SVG_TURBULENCE_TYPE_UNKNOWN on interface prototype object +PASS SVGFETurbulenceElement interface: constant SVG_TURBULENCE_TYPE_FRACTALNOISE on interface object +PASS SVGFETurbulenceElement interface: constant SVG_TURBULENCE_TYPE_FRACTALNOISE on interface prototype object +PASS SVGFETurbulenceElement interface: constant SVG_TURBULENCE_TYPE_TURBULENCE on interface object +PASS SVGFETurbulenceElement interface: constant SVG_TURBULENCE_TYPE_TURBULENCE on interface prototype object +PASS SVGFETurbulenceElement interface: constant SVG_STITCHTYPE_UNKNOWN on interface object +PASS SVGFETurbulenceElement interface: constant SVG_STITCHTYPE_UNKNOWN on interface prototype object +PASS SVGFETurbulenceElement interface: constant SVG_STITCHTYPE_STITCH on interface object +PASS SVGFETurbulenceElement interface: constant SVG_STITCHTYPE_STITCH on interface prototype object +PASS SVGFETurbulenceElement interface: constant SVG_STITCHTYPE_NOSTITCH on interface object +PASS SVGFETurbulenceElement interface: constant SVG_STITCHTYPE_NOSTITCH on interface prototype object +PASS SVGFETurbulenceElement interface: attribute baseFrequencyX +PASS SVGFETurbulenceElement interface: attribute baseFrequencyY +PASS SVGFETurbulenceElement interface: attribute numOctaves +PASS SVGFETurbulenceElement interface: attribute seed +PASS SVGFETurbulenceElement interface: attribute stitchTiles +PASS SVGFETurbulenceElement interface: attribute type +PASS SVGFETurbulenceElement interface: attribute x +PASS SVGFETurbulenceElement interface: attribute y +PASS SVGFETurbulenceElement interface: attribute width +PASS SVGFETurbulenceElement interface: attribute height +PASS SVGFETurbulenceElement interface: attribute result Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/idlharness.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/css/filter-effects/idlharness.any.worker-expected.txt deleted file mode 100644 index adb6cc43..0000000 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/idlharness.any.worker-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/dom/idlharness.any.serviceworker-expected.txt b/third_party/blink/web_tests/external/wpt/dom/idlharness.any.serviceworker-expected.txt deleted file mode 100644 index 4df2fa2..0000000 --- a/third_party/blink/web_tests/external/wpt/dom/idlharness.any.serviceworker-expected.txt +++ /dev/null
@@ -1,99 +0,0 @@ -This is a testharness.js-based test. -Found 93 tests; 91 PASS, 2 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Window: original interface defined assert_true: Original interface should be defined expected true got false -PASS Event interface: existence and properties of interface object -PASS Event interface object length -PASS Event interface object name -PASS Event interface: existence and properties of interface prototype object -PASS Event interface: existence and properties of interface prototype object's "constructor" property -PASS Event interface: existence and properties of interface prototype object's @@unscopables property -PASS Event interface: attribute type -PASS Event interface: attribute target -PASS Event interface: attribute srcElement -PASS Event interface: attribute currentTarget -PASS Event interface: operation composedPath() -PASS Event interface: constant NONE on interface object -PASS Event interface: constant NONE on interface prototype object -PASS Event interface: constant CAPTURING_PHASE on interface object -PASS Event interface: constant CAPTURING_PHASE on interface prototype object -PASS Event interface: constant AT_TARGET on interface object -PASS Event interface: constant AT_TARGET on interface prototype object -PASS Event interface: constant BUBBLING_PHASE on interface object -PASS Event interface: constant BUBBLING_PHASE on interface prototype object -PASS Event interface: attribute eventPhase -PASS Event interface: operation stopPropagation() -PASS Event interface: attribute cancelBubble -PASS Event interface: operation stopImmediatePropagation() -PASS Event interface: attribute bubbles -PASS Event interface: attribute cancelable -PASS Event interface: attribute returnValue -PASS Event interface: operation preventDefault() -PASS Event interface: attribute defaultPrevented -PASS Event interface: attribute composed -PASS Event interface: attribute timeStamp -PASS Event interface: operation initEvent(DOMString, boolean, boolean) -PASS CustomEvent interface: existence and properties of interface object -PASS CustomEvent interface object length -PASS CustomEvent interface object name -PASS CustomEvent interface: existence and properties of interface prototype object -PASS CustomEvent interface: existence and properties of interface prototype object's "constructor" property -PASS CustomEvent interface: existence and properties of interface prototype object's @@unscopables property -PASS CustomEvent interface: attribute detail -PASS CustomEvent interface: operation initCustomEvent(DOMString, boolean, boolean, any) -PASS EventTarget interface: existence and properties of interface object -PASS EventTarget interface object length -PASS EventTarget interface object name -PASS EventTarget interface: existence and properties of interface prototype object -PASS EventTarget interface: existence and properties of interface prototype object's "constructor" property -PASS EventTarget interface: existence and properties of interface prototype object's @@unscopables property -PASS EventTarget interface: operation addEventListener(DOMString, EventListener, [object Object],[object Object]) -PASS EventTarget interface: operation removeEventListener(DOMString, EventListener, [object Object],[object Object]) -PASS EventTarget interface: operation dispatchEvent(Event) -PASS EventListener interface: existence and properties of interface object -PASS AbortController interface: existence and properties of interface object -PASS AbortController interface object length -PASS AbortController interface object name -PASS AbortController interface: existence and properties of interface prototype object -PASS AbortController interface: existence and properties of interface prototype object's "constructor" property -PASS AbortController interface: existence and properties of interface prototype object's @@unscopables property -PASS AbortController interface: attribute signal -PASS AbortController interface: operation abort() -PASS AbortSignal interface: existence and properties of interface object -PASS AbortSignal interface object length -PASS AbortSignal interface object name -PASS AbortSignal interface: existence and properties of interface prototype object -PASS AbortSignal interface: existence and properties of interface prototype object's "constructor" property -PASS AbortSignal interface: existence and properties of interface prototype object's @@unscopables property -PASS AbortSignal interface: attribute aborted -PASS AbortSignal interface: attribute onabort -PASS NodeList interface: existence and properties of interface object -PASS HTMLCollection interface: existence and properties of interface object -PASS MutationObserver interface: existence and properties of interface object -PASS MutationRecord interface: existence and properties of interface object -PASS Node interface: existence and properties of interface object -PASS Document interface: existence and properties of interface object -PASS XMLDocument interface: existence and properties of interface object -PASS DOMImplementation interface: existence and properties of interface object -PASS DocumentType interface: existence and properties of interface object -PASS DocumentFragment interface: existence and properties of interface object -PASS ShadowRoot interface: existence and properties of interface object -PASS Element interface: existence and properties of interface object -PASS NamedNodeMap interface: existence and properties of interface object -PASS Attr interface: existence and properties of interface object -PASS CharacterData interface: existence and properties of interface object -PASS Text interface: existence and properties of interface object -PASS CDATASection interface: existence and properties of interface object -PASS ProcessingInstruction interface: existence and properties of interface object -PASS Comment interface: existence and properties of interface object -PASS AbstractRange interface: existence and properties of interface object -PASS StaticRange interface: existence and properties of interface object -PASS Range interface: existence and properties of interface object -PASS NodeIterator interface: existence and properties of interface object -PASS TreeWalker interface: existence and properties of interface object -PASS NodeFilter interface: existence and properties of interface object -PASS DOMTokenList interface: existence and properties of interface object -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/dom/idlharness.any.sharedworker-expected.txt b/third_party/blink/web_tests/external/wpt/dom/idlharness.any.sharedworker-expected.txt deleted file mode 100644 index 4df2fa2..0000000 --- a/third_party/blink/web_tests/external/wpt/dom/idlharness.any.sharedworker-expected.txt +++ /dev/null
@@ -1,99 +0,0 @@ -This is a testharness.js-based test. -Found 93 tests; 91 PASS, 2 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Window: original interface defined assert_true: Original interface should be defined expected true got false -PASS Event interface: existence and properties of interface object -PASS Event interface object length -PASS Event interface object name -PASS Event interface: existence and properties of interface prototype object -PASS Event interface: existence and properties of interface prototype object's "constructor" property -PASS Event interface: existence and properties of interface prototype object's @@unscopables property -PASS Event interface: attribute type -PASS Event interface: attribute target -PASS Event interface: attribute srcElement -PASS Event interface: attribute currentTarget -PASS Event interface: operation composedPath() -PASS Event interface: constant NONE on interface object -PASS Event interface: constant NONE on interface prototype object -PASS Event interface: constant CAPTURING_PHASE on interface object -PASS Event interface: constant CAPTURING_PHASE on interface prototype object -PASS Event interface: constant AT_TARGET on interface object -PASS Event interface: constant AT_TARGET on interface prototype object -PASS Event interface: constant BUBBLING_PHASE on interface object -PASS Event interface: constant BUBBLING_PHASE on interface prototype object -PASS Event interface: attribute eventPhase -PASS Event interface: operation stopPropagation() -PASS Event interface: attribute cancelBubble -PASS Event interface: operation stopImmediatePropagation() -PASS Event interface: attribute bubbles -PASS Event interface: attribute cancelable -PASS Event interface: attribute returnValue -PASS Event interface: operation preventDefault() -PASS Event interface: attribute defaultPrevented -PASS Event interface: attribute composed -PASS Event interface: attribute timeStamp -PASS Event interface: operation initEvent(DOMString, boolean, boolean) -PASS CustomEvent interface: existence and properties of interface object -PASS CustomEvent interface object length -PASS CustomEvent interface object name -PASS CustomEvent interface: existence and properties of interface prototype object -PASS CustomEvent interface: existence and properties of interface prototype object's "constructor" property -PASS CustomEvent interface: existence and properties of interface prototype object's @@unscopables property -PASS CustomEvent interface: attribute detail -PASS CustomEvent interface: operation initCustomEvent(DOMString, boolean, boolean, any) -PASS EventTarget interface: existence and properties of interface object -PASS EventTarget interface object length -PASS EventTarget interface object name -PASS EventTarget interface: existence and properties of interface prototype object -PASS EventTarget interface: existence and properties of interface prototype object's "constructor" property -PASS EventTarget interface: existence and properties of interface prototype object's @@unscopables property -PASS EventTarget interface: operation addEventListener(DOMString, EventListener, [object Object],[object Object]) -PASS EventTarget interface: operation removeEventListener(DOMString, EventListener, [object Object],[object Object]) -PASS EventTarget interface: operation dispatchEvent(Event) -PASS EventListener interface: existence and properties of interface object -PASS AbortController interface: existence and properties of interface object -PASS AbortController interface object length -PASS AbortController interface object name -PASS AbortController interface: existence and properties of interface prototype object -PASS AbortController interface: existence and properties of interface prototype object's "constructor" property -PASS AbortController interface: existence and properties of interface prototype object's @@unscopables property -PASS AbortController interface: attribute signal -PASS AbortController interface: operation abort() -PASS AbortSignal interface: existence and properties of interface object -PASS AbortSignal interface object length -PASS AbortSignal interface object name -PASS AbortSignal interface: existence and properties of interface prototype object -PASS AbortSignal interface: existence and properties of interface prototype object's "constructor" property -PASS AbortSignal interface: existence and properties of interface prototype object's @@unscopables property -PASS AbortSignal interface: attribute aborted -PASS AbortSignal interface: attribute onabort -PASS NodeList interface: existence and properties of interface object -PASS HTMLCollection interface: existence and properties of interface object -PASS MutationObserver interface: existence and properties of interface object -PASS MutationRecord interface: existence and properties of interface object -PASS Node interface: existence and properties of interface object -PASS Document interface: existence and properties of interface object -PASS XMLDocument interface: existence and properties of interface object -PASS DOMImplementation interface: existence and properties of interface object -PASS DocumentType interface: existence and properties of interface object -PASS DocumentFragment interface: existence and properties of interface object -PASS ShadowRoot interface: existence and properties of interface object -PASS Element interface: existence and properties of interface object -PASS NamedNodeMap interface: existence and properties of interface object -PASS Attr interface: existence and properties of interface object -PASS CharacterData interface: existence and properties of interface object -PASS Text interface: existence and properties of interface object -PASS CDATASection interface: existence and properties of interface object -PASS ProcessingInstruction interface: existence and properties of interface object -PASS Comment interface: existence and properties of interface object -PASS AbstractRange interface: existence and properties of interface object -PASS StaticRange interface: existence and properties of interface object -PASS Range interface: existence and properties of interface object -PASS NodeIterator interface: existence and properties of interface object -PASS TreeWalker interface: existence and properties of interface object -PASS NodeFilter interface: existence and properties of interface object -PASS DOMTokenList interface: existence and properties of interface object -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/dom/idlharness.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/dom/idlharness.any.worker-expected.txt deleted file mode 100644 index 4df2fa2..0000000 --- a/third_party/blink/web_tests/external/wpt/dom/idlharness.any.worker-expected.txt +++ /dev/null
@@ -1,99 +0,0 @@ -This is a testharness.js-based test. -Found 93 tests; 91 PASS, 2 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Window: original interface defined assert_true: Original interface should be defined expected true got false -PASS Event interface: existence and properties of interface object -PASS Event interface object length -PASS Event interface object name -PASS Event interface: existence and properties of interface prototype object -PASS Event interface: existence and properties of interface prototype object's "constructor" property -PASS Event interface: existence and properties of interface prototype object's @@unscopables property -PASS Event interface: attribute type -PASS Event interface: attribute target -PASS Event interface: attribute srcElement -PASS Event interface: attribute currentTarget -PASS Event interface: operation composedPath() -PASS Event interface: constant NONE on interface object -PASS Event interface: constant NONE on interface prototype object -PASS Event interface: constant CAPTURING_PHASE on interface object -PASS Event interface: constant CAPTURING_PHASE on interface prototype object -PASS Event interface: constant AT_TARGET on interface object -PASS Event interface: constant AT_TARGET on interface prototype object -PASS Event interface: constant BUBBLING_PHASE on interface object -PASS Event interface: constant BUBBLING_PHASE on interface prototype object -PASS Event interface: attribute eventPhase -PASS Event interface: operation stopPropagation() -PASS Event interface: attribute cancelBubble -PASS Event interface: operation stopImmediatePropagation() -PASS Event interface: attribute bubbles -PASS Event interface: attribute cancelable -PASS Event interface: attribute returnValue -PASS Event interface: operation preventDefault() -PASS Event interface: attribute defaultPrevented -PASS Event interface: attribute composed -PASS Event interface: attribute timeStamp -PASS Event interface: operation initEvent(DOMString, boolean, boolean) -PASS CustomEvent interface: existence and properties of interface object -PASS CustomEvent interface object length -PASS CustomEvent interface object name -PASS CustomEvent interface: existence and properties of interface prototype object -PASS CustomEvent interface: existence and properties of interface prototype object's "constructor" property -PASS CustomEvent interface: existence and properties of interface prototype object's @@unscopables property -PASS CustomEvent interface: attribute detail -PASS CustomEvent interface: operation initCustomEvent(DOMString, boolean, boolean, any) -PASS EventTarget interface: existence and properties of interface object -PASS EventTarget interface object length -PASS EventTarget interface object name -PASS EventTarget interface: existence and properties of interface prototype object -PASS EventTarget interface: existence and properties of interface prototype object's "constructor" property -PASS EventTarget interface: existence and properties of interface prototype object's @@unscopables property -PASS EventTarget interface: operation addEventListener(DOMString, EventListener, [object Object],[object Object]) -PASS EventTarget interface: operation removeEventListener(DOMString, EventListener, [object Object],[object Object]) -PASS EventTarget interface: operation dispatchEvent(Event) -PASS EventListener interface: existence and properties of interface object -PASS AbortController interface: existence and properties of interface object -PASS AbortController interface object length -PASS AbortController interface object name -PASS AbortController interface: existence and properties of interface prototype object -PASS AbortController interface: existence and properties of interface prototype object's "constructor" property -PASS AbortController interface: existence and properties of interface prototype object's @@unscopables property -PASS AbortController interface: attribute signal -PASS AbortController interface: operation abort() -PASS AbortSignal interface: existence and properties of interface object -PASS AbortSignal interface object length -PASS AbortSignal interface object name -PASS AbortSignal interface: existence and properties of interface prototype object -PASS AbortSignal interface: existence and properties of interface prototype object's "constructor" property -PASS AbortSignal interface: existence and properties of interface prototype object's @@unscopables property -PASS AbortSignal interface: attribute aborted -PASS AbortSignal interface: attribute onabort -PASS NodeList interface: existence and properties of interface object -PASS HTMLCollection interface: existence and properties of interface object -PASS MutationObserver interface: existence and properties of interface object -PASS MutationRecord interface: existence and properties of interface object -PASS Node interface: existence and properties of interface object -PASS Document interface: existence and properties of interface object -PASS XMLDocument interface: existence and properties of interface object -PASS DOMImplementation interface: existence and properties of interface object -PASS DocumentType interface: existence and properties of interface object -PASS DocumentFragment interface: existence and properties of interface object -PASS ShadowRoot interface: existence and properties of interface object -PASS Element interface: existence and properties of interface object -PASS NamedNodeMap interface: existence and properties of interface object -PASS Attr interface: existence and properties of interface object -PASS CharacterData interface: existence and properties of interface object -PASS Text interface: existence and properties of interface object -PASS CDATASection interface: existence and properties of interface object -PASS ProcessingInstruction interface: existence and properties of interface object -PASS Comment interface: existence and properties of interface object -PASS AbstractRange interface: existence and properties of interface object -PASS StaticRange interface: existence and properties of interface object -PASS Range interface: existence and properties of interface object -PASS NodeIterator interface: existence and properties of interface object -PASS TreeWalker interface: existence and properties of interface object -PASS NodeFilter interface: existence and properties of interface object -PASS DOMTokenList interface: existence and properties of interface object -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/dom/idlharness.window.js b/third_party/blink/web_tests/external/wpt/dom/idlharness.window.js index 7d87aea..24b56cf 100644 --- a/third_party/blink/web_tests/external/wpt/dom/idlharness.window.js +++ b/third_party/blink/web_tests/external/wpt/dom/idlharness.window.js
@@ -42,6 +42,11 @@ NodeList: ['document.querySelectorAll("script")'], HTMLCollection: ['document.body.children'], DOMTokenList: ['document.body.classList'], + XPathEvaluator: ['new XPathEvaluator()'], + XPathExpression: ['document.createExpression("//*")'], + // Skipped due to https://github.com/web-platform-tests/wpt/issues/18827: + // XPathNSResolver: ['document.createNSResolver(document.body)'], + XPathResult: ['document.evaluate("//*", document.body)'], }); } );
diff --git a/third_party/blink/web_tests/external/wpt/dom/idlharness.window_exclude=Node-expected.txt b/third_party/blink/web_tests/external/wpt/dom/idlharness.window_exclude=Node-expected.txt index f9945d2..42cd0e0d 100644 --- a/third_party/blink/web_tests/external/wpt/dom/idlharness.window_exclude=Node-expected.txt +++ b/third_party/blink/web_tests/external/wpt/dom/idlharness.window_exclude=Node-expected.txt
@@ -1,9 +1,7 @@ This is a testharness.js-based test. -Found 478 tests; 454 PASS, 24 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Window: original interface defined assert_true: Original interface should be defined expected true got false +Found 1209 tests; 1184 PASS, 25 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface Window: original interface defined PASS Event interface: existence and properties of interface object PASS Event interface object length PASS Event interface object name @@ -35,6 +33,56 @@ PASS Event interface: attribute composed PASS Event interface: attribute timeStamp PASS Event interface: operation initEvent(DOMString, boolean, boolean) +PASS Event must be primary interface of document.createEvent("Event") +PASS Stringification of document.createEvent("Event") +PASS Event interface: document.createEvent("Event") must inherit property "type" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "target" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "srcElement" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "currentTarget" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "composedPath()" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "NONE" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "CAPTURING_PHASE" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "AT_TARGET" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "BUBBLING_PHASE" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "eventPhase" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "stopPropagation()" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "cancelBubble" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "stopImmediatePropagation()" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "bubbles" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "cancelable" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "returnValue" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "preventDefault()" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "defaultPrevented" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "composed" with the proper type +PASS Event interface: document.createEvent("Event") must have own property "isTrusted" +PASS Event interface: document.createEvent("Event") must inherit property "timeStamp" with the proper type +PASS Event interface: document.createEvent("Event") must inherit property "initEvent(DOMString, boolean, boolean)" with the proper type +PASS Event interface: calling initEvent(DOMString, boolean, boolean) on document.createEvent("Event") with too few arguments must throw TypeError +PASS Event must be primary interface of new Event("foo") +PASS Stringification of new Event("foo") +PASS Event interface: new Event("foo") must inherit property "type" with the proper type +PASS Event interface: new Event("foo") must inherit property "target" with the proper type +PASS Event interface: new Event("foo") must inherit property "srcElement" with the proper type +PASS Event interface: new Event("foo") must inherit property "currentTarget" with the proper type +PASS Event interface: new Event("foo") must inherit property "composedPath()" with the proper type +PASS Event interface: new Event("foo") must inherit property "NONE" with the proper type +PASS Event interface: new Event("foo") must inherit property "CAPTURING_PHASE" with the proper type +PASS Event interface: new Event("foo") must inherit property "AT_TARGET" with the proper type +PASS Event interface: new Event("foo") must inherit property "BUBBLING_PHASE" with the proper type +PASS Event interface: new Event("foo") must inherit property "eventPhase" with the proper type +PASS Event interface: new Event("foo") must inherit property "stopPropagation()" with the proper type +PASS Event interface: new Event("foo") must inherit property "cancelBubble" with the proper type +PASS Event interface: new Event("foo") must inherit property "stopImmediatePropagation()" with the proper type +PASS Event interface: new Event("foo") must inherit property "bubbles" with the proper type +PASS Event interface: new Event("foo") must inherit property "cancelable" with the proper type +PASS Event interface: new Event("foo") must inherit property "returnValue" with the proper type +PASS Event interface: new Event("foo") must inherit property "preventDefault()" with the proper type +PASS Event interface: new Event("foo") must inherit property "defaultPrevented" with the proper type +PASS Event interface: new Event("foo") must inherit property "composed" with the proper type +PASS Event interface: new Event("foo") must have own property "isTrusted" +PASS Event interface: new Event("foo") must inherit property "timeStamp" with the proper type +PASS Event interface: new Event("foo") must inherit property "initEvent(DOMString, boolean, boolean)" with the proper type +PASS Event interface: calling initEvent(DOMString, boolean, boolean) on new Event("foo") with too few arguments must throw TypeError PASS CustomEvent interface: existence and properties of interface object PASS CustomEvent interface object length PASS CustomEvent interface object name @@ -43,6 +91,34 @@ PASS CustomEvent interface: existence and properties of interface prototype object's @@unscopables property PASS CustomEvent interface: attribute detail PASS CustomEvent interface: operation initCustomEvent(DOMString, boolean, boolean, any) +PASS CustomEvent must be primary interface of new CustomEvent("foo") +PASS Stringification of new CustomEvent("foo") +PASS CustomEvent interface: new CustomEvent("foo") must inherit property "detail" with the proper type +PASS CustomEvent interface: new CustomEvent("foo") must inherit property "initCustomEvent(DOMString, boolean, boolean, any)" with the proper type +PASS CustomEvent interface: calling initCustomEvent(DOMString, boolean, boolean, any) on new CustomEvent("foo") with too few arguments must throw TypeError +PASS Event interface: new CustomEvent("foo") must inherit property "type" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "target" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "srcElement" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "currentTarget" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "composedPath()" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "NONE" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "CAPTURING_PHASE" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "AT_TARGET" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "BUBBLING_PHASE" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "eventPhase" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "stopPropagation()" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "cancelBubble" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "stopImmediatePropagation()" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "bubbles" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "cancelable" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "returnValue" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "preventDefault()" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "defaultPrevented" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "composed" with the proper type +PASS Event interface: new CustomEvent("foo") must have own property "isTrusted" +PASS Event interface: new CustomEvent("foo") must inherit property "timeStamp" with the proper type +PASS Event interface: new CustomEvent("foo") must inherit property "initEvent(DOMString, boolean, boolean)" with the proper type +PASS Event interface: calling initEvent(DOMString, boolean, boolean) on new CustomEvent("foo") with too few arguments must throw TypeError PASS EventTarget interface: existence and properties of interface object PASS EventTarget interface object length PASS EventTarget interface object name @@ -52,6 +128,14 @@ PASS EventTarget interface: operation addEventListener(DOMString, EventListener, [object Object],[object Object]) PASS EventTarget interface: operation removeEventListener(DOMString, EventListener, [object Object],[object Object]) PASS EventTarget interface: operation dispatchEvent(Event) +PASS EventTarget must be primary interface of new EventTarget() +PASS Stringification of new EventTarget() +PASS EventTarget interface: new EventTarget() must inherit property "addEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object],[object Object]) on new EventTarget() with too few arguments must throw TypeError +PASS EventTarget interface: new EventTarget() must inherit property "removeEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object],[object Object]) on new EventTarget() with too few arguments must throw TypeError +PASS EventTarget interface: new EventTarget() must inherit property "dispatchEvent(Event)" with the proper type +PASS EventTarget interface: calling dispatchEvent(Event) on new EventTarget() with too few arguments must throw TypeError PASS EventListener interface: existence and properties of interface object PASS EventListener interface: existence and properties of interface prototype object PASS EventListener interface: existence and properties of interface prototype object's "constructor" property @@ -65,6 +149,10 @@ PASS AbortController interface: existence and properties of interface prototype object's @@unscopables property PASS AbortController interface: attribute signal PASS AbortController interface: operation abort() +PASS AbortController must be primary interface of new AbortController() +PASS Stringification of new AbortController() +PASS AbortController interface: new AbortController() must inherit property "signal" with the proper type +PASS AbortController interface: new AbortController() must inherit property "abort()" with the proper type PASS AbortSignal interface: existence and properties of interface object PASS AbortSignal interface object length PASS AbortSignal interface object name @@ -73,6 +161,16 @@ PASS AbortSignal interface: existence and properties of interface prototype object's @@unscopables property PASS AbortSignal interface: attribute aborted PASS AbortSignal interface: attribute onabort +PASS AbortSignal must be primary interface of new AbortController().signal +PASS Stringification of new AbortController().signal +PASS AbortSignal interface: new AbortController().signal must inherit property "aborted" with the proper type +PASS AbortSignal interface: new AbortController().signal must inherit property "onabort" with the proper type +PASS EventTarget interface: new AbortController().signal must inherit property "addEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object],[object Object]) on new AbortController().signal with too few arguments must throw TypeError +PASS EventTarget interface: new AbortController().signal must inherit property "removeEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object],[object Object]) on new AbortController().signal with too few arguments must throw TypeError +PASS EventTarget interface: new AbortController().signal must inherit property "dispatchEvent(Event)" with the proper type +PASS EventTarget interface: calling dispatchEvent(Event) on new AbortController().signal with too few arguments must throw TypeError PASS NodeList interface: existence and properties of interface object PASS NodeList interface object length PASS NodeList interface object name @@ -82,6 +180,11 @@ PASS NodeList interface: operation item(unsigned long) PASS NodeList interface: attribute length PASS NodeList interface: iterable<Node> +PASS NodeList must be primary interface of document.querySelectorAll("script") +PASS Stringification of document.querySelectorAll("script") +PASS NodeList interface: document.querySelectorAll("script") must inherit property "item(unsigned long)" with the proper type +PASS NodeList interface: calling item(unsigned long) on document.querySelectorAll("script") with too few arguments must throw TypeError +PASS NodeList interface: document.querySelectorAll("script") must inherit property "length" with the proper type PASS HTMLCollection interface: existence and properties of interface object PASS HTMLCollection interface object length PASS HTMLCollection interface object name @@ -91,6 +194,13 @@ PASS HTMLCollection interface: attribute length PASS HTMLCollection interface: operation item(unsigned long) PASS HTMLCollection interface: operation namedItem(DOMString) +PASS HTMLCollection must be primary interface of document.body.children +PASS Stringification of document.body.children +PASS HTMLCollection interface: document.body.children must inherit property "length" with the proper type +PASS HTMLCollection interface: document.body.children must inherit property "item(unsigned long)" with the proper type +PASS HTMLCollection interface: calling item(unsigned long) on document.body.children with too few arguments must throw TypeError +PASS HTMLCollection interface: document.body.children must inherit property "namedItem(DOMString)" with the proper type +PASS HTMLCollection interface: calling namedItem(DOMString) on document.body.children with too few arguments must throw TypeError PASS MutationObserver interface: existence and properties of interface object PASS MutationObserver interface object length PASS MutationObserver interface object name @@ -159,12 +269,161 @@ PASS Document interface: operation append([object Object],[object Object]) PASS Document interface: operation querySelector(DOMString) PASS Document interface: operation querySelectorAll(DOMString) +PASS Document interface: operation createExpression(DOMString, XPathNSResolver) +PASS Document interface: operation createNSResolver(Node) +PASS Document interface: operation evaluate(DOMString, Node, XPathNSResolver, unsigned short, XPathResult) +PASS Document must be primary interface of new Document() +PASS Stringification of new Document() +PASS Document interface: new Document() must inherit property "implementation" with the proper type +PASS Document interface: new Document() must inherit property "URL" with the proper type +PASS Document interface: new Document() must inherit property "documentURI" with the proper type +FAIL Document interface: new Document() must inherit property "origin" with the proper type assert_inherits: property "origin" not found in prototype chain +PASS Document interface: new Document() must inherit property "compatMode" with the proper type +PASS Document interface: new Document() must inherit property "characterSet" with the proper type +PASS Document interface: new Document() must inherit property "charset" with the proper type +PASS Document interface: new Document() must inherit property "inputEncoding" with the proper type +PASS Document interface: new Document() must inherit property "contentType" with the proper type +PASS Document interface: new Document() must inherit property "doctype" with the proper type +PASS Document interface: new Document() must inherit property "documentElement" with the proper type +PASS Document interface: new Document() must inherit property "getElementsByTagName(DOMString)" with the proper type +PASS Document interface: calling getElementsByTagName(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "getElementsByTagNameNS(DOMString, DOMString)" with the proper type +PASS Document interface: calling getElementsByTagNameNS(DOMString, DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "getElementsByClassName(DOMString)" with the proper type +PASS Document interface: calling getElementsByClassName(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "createElement(DOMString, [object Object],[object Object])" with the proper type +PASS Document interface: calling createElement(DOMString, [object Object],[object Object]) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "createElementNS(DOMString, DOMString, [object Object],[object Object])" with the proper type +PASS Document interface: calling createElementNS(DOMString, DOMString, [object Object],[object Object]) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "createDocumentFragment()" with the proper type +PASS Document interface: new Document() must inherit property "createTextNode(DOMString)" with the proper type +PASS Document interface: calling createTextNode(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "createCDATASection(DOMString)" with the proper type +PASS Document interface: calling createCDATASection(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "createComment(DOMString)" with the proper type +PASS Document interface: calling createComment(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "createProcessingInstruction(DOMString, DOMString)" with the proper type +PASS Document interface: calling createProcessingInstruction(DOMString, DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "importNode(Node, boolean)" with the proper type +PASS Document interface: calling importNode(Node, boolean) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "adoptNode(Node)" with the proper type +PASS Document interface: calling adoptNode(Node) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "createAttribute(DOMString)" with the proper type +PASS Document interface: calling createAttribute(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "createAttributeNS(DOMString, DOMString)" with the proper type +PASS Document interface: calling createAttributeNS(DOMString, DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "createEvent(DOMString)" with the proper type +PASS Document interface: calling createEvent(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "createRange()" with the proper type +PASS Document interface: new Document() must inherit property "createNodeIterator(Node, unsigned long, NodeFilter)" with the proper type +PASS Document interface: calling createNodeIterator(Node, unsigned long, NodeFilter) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "createTreeWalker(Node, unsigned long, NodeFilter)" with the proper type +PASS Document interface: calling createTreeWalker(Node, unsigned long, NodeFilter) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "getElementById(DOMString)" with the proper type +PASS Document interface: calling getElementById(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "children" with the proper type +PASS Document interface: new Document() must inherit property "firstElementChild" with the proper type +PASS Document interface: new Document() must inherit property "lastElementChild" with the proper type +PASS Document interface: new Document() must inherit property "childElementCount" with the proper type +PASS Document interface: new Document() must inherit property "prepend([object Object],[object Object])" with the proper type +PASS Document interface: calling prepend([object Object],[object Object]) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "append([object Object],[object Object])" with the proper type +PASS Document interface: calling append([object Object],[object Object]) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "querySelector(DOMString)" with the proper type +PASS Document interface: calling querySelector(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "querySelectorAll(DOMString)" with the proper type +PASS Document interface: calling querySelectorAll(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "createExpression(DOMString, XPathNSResolver)" with the proper type +PASS Document interface: calling createExpression(DOMString, XPathNSResolver) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "createNSResolver(Node)" with the proper type +PASS Document interface: calling createNSResolver(Node) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "evaluate(DOMString, Node, XPathNSResolver, unsigned short, XPathResult)" with the proper type +PASS Document interface: calling evaluate(DOMString, Node, XPathNSResolver, unsigned short, XPathResult) on new Document() with too few arguments must throw TypeError +PASS EventTarget interface: new Document() must inherit property "addEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object],[object Object]) on new Document() with too few arguments must throw TypeError +PASS EventTarget interface: new Document() must inherit property "removeEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object],[object Object]) on new Document() with too few arguments must throw TypeError +PASS EventTarget interface: new Document() must inherit property "dispatchEvent(Event)" with the proper type +PASS EventTarget interface: calling dispatchEvent(Event) on new Document() with too few arguments must throw TypeError PASS XMLDocument interface: existence and properties of interface object PASS XMLDocument interface object length PASS XMLDocument interface object name PASS XMLDocument interface: existence and properties of interface prototype object PASS XMLDocument interface: existence and properties of interface prototype object's "constructor" property PASS XMLDocument interface: existence and properties of interface prototype object's @@unscopables property +PASS XMLDocument must be primary interface of xmlDoc +PASS Stringification of xmlDoc +PASS Document interface: xmlDoc must inherit property "implementation" with the proper type +PASS Document interface: xmlDoc must inherit property "URL" with the proper type +PASS Document interface: xmlDoc must inherit property "documentURI" with the proper type +FAIL Document interface: xmlDoc must inherit property "origin" with the proper type assert_inherits: property "origin" not found in prototype chain +PASS Document interface: xmlDoc must inherit property "compatMode" with the proper type +PASS Document interface: xmlDoc must inherit property "characterSet" with the proper type +PASS Document interface: xmlDoc must inherit property "charset" with the proper type +PASS Document interface: xmlDoc must inherit property "inputEncoding" with the proper type +PASS Document interface: xmlDoc must inherit property "contentType" with the proper type +PASS Document interface: xmlDoc must inherit property "doctype" with the proper type +PASS Document interface: xmlDoc must inherit property "documentElement" with the proper type +PASS Document interface: xmlDoc must inherit property "getElementsByTagName(DOMString)" with the proper type +PASS Document interface: calling getElementsByTagName(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "getElementsByTagNameNS(DOMString, DOMString)" with the proper type +PASS Document interface: calling getElementsByTagNameNS(DOMString, DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "getElementsByClassName(DOMString)" with the proper type +PASS Document interface: calling getElementsByClassName(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "createElement(DOMString, [object Object],[object Object])" with the proper type +PASS Document interface: calling createElement(DOMString, [object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "createElementNS(DOMString, DOMString, [object Object],[object Object])" with the proper type +PASS Document interface: calling createElementNS(DOMString, DOMString, [object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "createDocumentFragment()" with the proper type +PASS Document interface: xmlDoc must inherit property "createTextNode(DOMString)" with the proper type +PASS Document interface: calling createTextNode(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "createCDATASection(DOMString)" with the proper type +PASS Document interface: calling createCDATASection(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "createComment(DOMString)" with the proper type +PASS Document interface: calling createComment(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "createProcessingInstruction(DOMString, DOMString)" with the proper type +PASS Document interface: calling createProcessingInstruction(DOMString, DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "importNode(Node, boolean)" with the proper type +PASS Document interface: calling importNode(Node, boolean) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "adoptNode(Node)" with the proper type +PASS Document interface: calling adoptNode(Node) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "createAttribute(DOMString)" with the proper type +PASS Document interface: calling createAttribute(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "createAttributeNS(DOMString, DOMString)" with the proper type +PASS Document interface: calling createAttributeNS(DOMString, DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "createEvent(DOMString)" with the proper type +PASS Document interface: calling createEvent(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "createRange()" with the proper type +PASS Document interface: xmlDoc must inherit property "createNodeIterator(Node, unsigned long, NodeFilter)" with the proper type +PASS Document interface: calling createNodeIterator(Node, unsigned long, NodeFilter) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "createTreeWalker(Node, unsigned long, NodeFilter)" with the proper type +PASS Document interface: calling createTreeWalker(Node, unsigned long, NodeFilter) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "getElementById(DOMString)" with the proper type +PASS Document interface: calling getElementById(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "children" with the proper type +PASS Document interface: xmlDoc must inherit property "firstElementChild" with the proper type +PASS Document interface: xmlDoc must inherit property "lastElementChild" with the proper type +PASS Document interface: xmlDoc must inherit property "childElementCount" with the proper type +PASS Document interface: xmlDoc must inherit property "prepend([object Object],[object Object])" with the proper type +PASS Document interface: calling prepend([object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "append([object Object],[object Object])" with the proper type +PASS Document interface: calling append([object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "querySelector(DOMString)" with the proper type +PASS Document interface: calling querySelector(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "querySelectorAll(DOMString)" with the proper type +PASS Document interface: calling querySelectorAll(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "createExpression(DOMString, XPathNSResolver)" with the proper type +PASS Document interface: calling createExpression(DOMString, XPathNSResolver) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "createNSResolver(Node)" with the proper type +PASS Document interface: calling createNSResolver(Node) on xmlDoc with too few arguments must throw TypeError +PASS Document interface: xmlDoc must inherit property "evaluate(DOMString, Node, XPathNSResolver, unsigned short, XPathResult)" with the proper type +PASS Document interface: calling evaluate(DOMString, Node, XPathNSResolver, unsigned short, XPathResult) on xmlDoc with too few arguments must throw TypeError +PASS EventTarget interface: xmlDoc must inherit property "addEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError +PASS EventTarget interface: xmlDoc must inherit property "removeEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError +PASS EventTarget interface: xmlDoc must inherit property "dispatchEvent(Event)" with the proper type +PASS EventTarget interface: calling dispatchEvent(Event) on xmlDoc with too few arguments must throw TypeError PASS DOMImplementation interface: existence and properties of interface object PASS DOMImplementation interface object length PASS DOMImplementation interface object name @@ -175,6 +434,15 @@ PASS DOMImplementation interface: operation createDocument(DOMString, DOMString, DocumentType) PASS DOMImplementation interface: operation createHTMLDocument(DOMString) PASS DOMImplementation interface: operation hasFeature() +PASS DOMImplementation must be primary interface of document.implementation +PASS Stringification of document.implementation +PASS DOMImplementation interface: document.implementation must inherit property "createDocumentType(DOMString, DOMString, DOMString)" with the proper type +PASS DOMImplementation interface: calling createDocumentType(DOMString, DOMString, DOMString) on document.implementation with too few arguments must throw TypeError +PASS DOMImplementation interface: document.implementation must inherit property "createDocument(DOMString, DOMString, DocumentType)" with the proper type +PASS DOMImplementation interface: calling createDocument(DOMString, DOMString, DocumentType) on document.implementation with too few arguments must throw TypeError +PASS DOMImplementation interface: document.implementation must inherit property "createHTMLDocument(DOMString)" with the proper type +PASS DOMImplementation interface: calling createHTMLDocument(DOMString) on document.implementation with too few arguments must throw TypeError +PASS DOMImplementation interface: document.implementation must inherit property "hasFeature()" with the proper type PASS DocumentType interface: existence and properties of interface object PASS DocumentType interface object length PASS DocumentType interface object name @@ -188,6 +456,24 @@ PASS DocumentType interface: operation after([object Object],[object Object]) PASS DocumentType interface: operation replaceWith([object Object],[object Object]) PASS DocumentType interface: operation remove() +PASS DocumentType must be primary interface of document.doctype +PASS Stringification of document.doctype +PASS DocumentType interface: document.doctype must inherit property "name" with the proper type +PASS DocumentType interface: document.doctype must inherit property "publicId" with the proper type +PASS DocumentType interface: document.doctype must inherit property "systemId" with the proper type +PASS DocumentType interface: document.doctype must inherit property "before([object Object],[object Object])" with the proper type +PASS DocumentType interface: calling before([object Object],[object Object]) on document.doctype with too few arguments must throw TypeError +PASS DocumentType interface: document.doctype must inherit property "after([object Object],[object Object])" with the proper type +PASS DocumentType interface: calling after([object Object],[object Object]) on document.doctype with too few arguments must throw TypeError +PASS DocumentType interface: document.doctype must inherit property "replaceWith([object Object],[object Object])" with the proper type +PASS DocumentType interface: calling replaceWith([object Object],[object Object]) on document.doctype with too few arguments must throw TypeError +PASS DocumentType interface: document.doctype must inherit property "remove()" with the proper type +PASS EventTarget interface: document.doctype must inherit property "addEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object],[object Object]) on document.doctype with too few arguments must throw TypeError +PASS EventTarget interface: document.doctype must inherit property "removeEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object],[object Object]) on document.doctype with too few arguments must throw TypeError +PASS EventTarget interface: document.doctype must inherit property "dispatchEvent(Event)" with the proper type +PASS EventTarget interface: calling dispatchEvent(Event) on document.doctype with too few arguments must throw TypeError PASS DocumentFragment interface: existence and properties of interface object PASS DocumentFragment interface object length PASS DocumentFragment interface object name @@ -203,6 +489,28 @@ PASS DocumentFragment interface: operation append([object Object],[object Object]) PASS DocumentFragment interface: operation querySelector(DOMString) PASS DocumentFragment interface: operation querySelectorAll(DOMString) +PASS DocumentFragment must be primary interface of document.createDocumentFragment() +PASS Stringification of document.createDocumentFragment() +PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "getElementById(DOMString)" with the proper type +PASS DocumentFragment interface: calling getElementById(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "children" with the proper type +PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "firstElementChild" with the proper type +PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "lastElementChild" with the proper type +PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "childElementCount" with the proper type +PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "prepend([object Object],[object Object])" with the proper type +PASS DocumentFragment interface: calling prepend([object Object],[object Object]) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "append([object Object],[object Object])" with the proper type +PASS DocumentFragment interface: calling append([object Object],[object Object]) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "querySelector(DOMString)" with the proper type +PASS DocumentFragment interface: calling querySelector(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "querySelectorAll(DOMString)" with the proper type +PASS DocumentFragment interface: calling querySelectorAll(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS EventTarget interface: document.createDocumentFragment() must inherit property "addEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object],[object Object]) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS EventTarget interface: document.createDocumentFragment() must inherit property "removeEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object],[object Object]) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS EventTarget interface: document.createDocumentFragment() must inherit property "dispatchEvent(Event)" with the proper type +PASS EventTarget interface: calling dispatchEvent(Event) on document.createDocumentFragment() with too few arguments must throw TypeError PASS ShadowRoot interface: existence and properties of interface object PASS ShadowRoot interface object length PASS ShadowRoot interface object name @@ -267,6 +575,94 @@ PASS Element interface: operation replaceWith([object Object],[object Object]) PASS Element interface: operation remove() PASS Element interface: attribute assignedSlot +PASS Element must be primary interface of element +PASS Stringification of element +PASS Element interface: element must inherit property "namespaceURI" with the proper type +PASS Element interface: element must inherit property "prefix" with the proper type +PASS Element interface: element must inherit property "localName" with the proper type +PASS Element interface: element must inherit property "tagName" with the proper type +PASS Element interface: element must inherit property "id" with the proper type +PASS Element interface: element must inherit property "className" with the proper type +PASS Element interface: element must inherit property "classList" with the proper type +PASS Element interface: element must inherit property "slot" with the proper type +PASS Element interface: element must inherit property "hasAttributes()" with the proper type +PASS Element interface: element must inherit property "attributes" with the proper type +PASS Element interface: element must inherit property "getAttributeNames()" with the proper type +PASS Element interface: element must inherit property "getAttribute(DOMString)" with the proper type +PASS Element interface: calling getAttribute(DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "getAttributeNS(DOMString, DOMString)" with the proper type +PASS Element interface: calling getAttributeNS(DOMString, DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "setAttribute(DOMString, DOMString)" with the proper type +PASS Element interface: calling setAttribute(DOMString, DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "setAttributeNS(DOMString, DOMString, DOMString)" with the proper type +PASS Element interface: calling setAttributeNS(DOMString, DOMString, DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "removeAttribute(DOMString)" with the proper type +PASS Element interface: calling removeAttribute(DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "removeAttributeNS(DOMString, DOMString)" with the proper type +PASS Element interface: calling removeAttributeNS(DOMString, DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "toggleAttribute(DOMString, boolean)" with the proper type +PASS Element interface: calling toggleAttribute(DOMString, boolean) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "hasAttribute(DOMString)" with the proper type +PASS Element interface: calling hasAttribute(DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "hasAttributeNS(DOMString, DOMString)" with the proper type +PASS Element interface: calling hasAttributeNS(DOMString, DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "getAttributeNode(DOMString)" with the proper type +PASS Element interface: calling getAttributeNode(DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "getAttributeNodeNS(DOMString, DOMString)" with the proper type +PASS Element interface: calling getAttributeNodeNS(DOMString, DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "setAttributeNode(Attr)" with the proper type +PASS Element interface: calling setAttributeNode(Attr) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "setAttributeNodeNS(Attr)" with the proper type +PASS Element interface: calling setAttributeNodeNS(Attr) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "removeAttributeNode(Attr)" with the proper type +PASS Element interface: calling removeAttributeNode(Attr) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "attachShadow(ShadowRootInit)" with the proper type +PASS Element interface: calling attachShadow(ShadowRootInit) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "shadowRoot" with the proper type +PASS Element interface: element must inherit property "closest(DOMString)" with the proper type +PASS Element interface: calling closest(DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "matches(DOMString)" with the proper type +PASS Element interface: calling matches(DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "webkitMatchesSelector(DOMString)" with the proper type +PASS Element interface: calling webkitMatchesSelector(DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "getElementsByTagName(DOMString)" with the proper type +PASS Element interface: calling getElementsByTagName(DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "getElementsByTagNameNS(DOMString, DOMString)" with the proper type +PASS Element interface: calling getElementsByTagNameNS(DOMString, DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "getElementsByClassName(DOMString)" with the proper type +PASS Element interface: calling getElementsByClassName(DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "insertAdjacentElement(DOMString, Element)" with the proper type +PASS Element interface: calling insertAdjacentElement(DOMString, Element) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "insertAdjacentText(DOMString, DOMString)" with the proper type +PASS Element interface: calling insertAdjacentText(DOMString, DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "children" with the proper type +PASS Element interface: element must inherit property "firstElementChild" with the proper type +PASS Element interface: element must inherit property "lastElementChild" with the proper type +PASS Element interface: element must inherit property "childElementCount" with the proper type +PASS Element interface: element must inherit property "prepend([object Object],[object Object])" with the proper type +PASS Element interface: calling prepend([object Object],[object Object]) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "append([object Object],[object Object])" with the proper type +PASS Element interface: calling append([object Object],[object Object]) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "querySelector(DOMString)" with the proper type +PASS Element interface: calling querySelector(DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "querySelectorAll(DOMString)" with the proper type +PASS Element interface: calling querySelectorAll(DOMString) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "previousElementSibling" with the proper type +PASS Element interface: element must inherit property "nextElementSibling" with the proper type +PASS Element interface: element must inherit property "before([object Object],[object Object])" with the proper type +PASS Element interface: calling before([object Object],[object Object]) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "after([object Object],[object Object])" with the proper type +PASS Element interface: calling after([object Object],[object Object]) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "replaceWith([object Object],[object Object])" with the proper type +PASS Element interface: calling replaceWith([object Object],[object Object]) on element with too few arguments must throw TypeError +PASS Element interface: element must inherit property "remove()" with the proper type +PASS Element interface: element must inherit property "assignedSlot" with the proper type +PASS EventTarget interface: element must inherit property "addEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object],[object Object]) on element with too few arguments must throw TypeError +PASS EventTarget interface: element must inherit property "removeEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object],[object Object]) on element with too few arguments must throw TypeError +PASS EventTarget interface: element must inherit property "dispatchEvent(Event)" with the proper type +PASS EventTarget interface: calling dispatchEvent(Event) on element with too few arguments must throw TypeError PASS NamedNodeMap interface: existence and properties of interface object PASS NamedNodeMap interface object length PASS NamedNodeMap interface object name @@ -294,6 +690,21 @@ PASS Attr interface: attribute value PASS Attr interface: attribute ownerElement PASS Attr interface: attribute specified +PASS Attr must be primary interface of document.querySelector("[id]").attributes[0] +PASS Stringification of document.querySelector("[id]").attributes[0] +PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "namespaceURI" with the proper type +PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "prefix" with the proper type +PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "localName" with the proper type +PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "name" with the proper type +PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "value" with the proper type +PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "ownerElement" with the proper type +PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "specified" with the proper type +PASS EventTarget interface: document.querySelector("[id]").attributes[0] must inherit property "addEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object],[object Object]) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS EventTarget interface: document.querySelector("[id]").attributes[0] must inherit property "removeEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object],[object Object]) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS EventTarget interface: document.querySelector("[id]").attributes[0] must inherit property "dispatchEvent(Event)" with the proper type +PASS EventTarget interface: calling dispatchEvent(Event) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError PASS CharacterData interface: existence and properties of interface object PASS CharacterData interface object length PASS CharacterData interface object name @@ -322,6 +733,39 @@ PASS Text interface: operation splitText(unsigned long) PASS Text interface: attribute wholeText PASS Text interface: attribute assignedSlot +PASS Text must be primary interface of document.createTextNode("abc") +PASS Stringification of document.createTextNode("abc") +PASS Text interface: document.createTextNode("abc") must inherit property "splitText(unsigned long)" with the proper type +PASS Text interface: calling splitText(unsigned long) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Text interface: document.createTextNode("abc") must inherit property "wholeText" with the proper type +PASS Text interface: document.createTextNode("abc") must inherit property "assignedSlot" with the proper type +PASS CharacterData interface: document.createTextNode("abc") must inherit property "data" with the proper type +PASS CharacterData interface: document.createTextNode("abc") must inherit property "length" with the proper type +PASS CharacterData interface: document.createTextNode("abc") must inherit property "substringData(unsigned long, unsigned long)" with the proper type +PASS CharacterData interface: calling substringData(unsigned long, unsigned long) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createTextNode("abc") must inherit property "appendData(DOMString)" with the proper type +PASS CharacterData interface: calling appendData(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createTextNode("abc") must inherit property "insertData(unsigned long, DOMString)" with the proper type +PASS CharacterData interface: calling insertData(unsigned long, DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createTextNode("abc") must inherit property "deleteData(unsigned long, unsigned long)" with the proper type +PASS CharacterData interface: calling deleteData(unsigned long, unsigned long) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createTextNode("abc") must inherit property "replaceData(unsigned long, unsigned long, DOMString)" with the proper type +PASS CharacterData interface: calling replaceData(unsigned long, unsigned long, DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createTextNode("abc") must inherit property "previousElementSibling" with the proper type +PASS CharacterData interface: document.createTextNode("abc") must inherit property "nextElementSibling" with the proper type +PASS CharacterData interface: document.createTextNode("abc") must inherit property "before([object Object],[object Object])" with the proper type +PASS CharacterData interface: calling before([object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createTextNode("abc") must inherit property "after([object Object],[object Object])" with the proper type +PASS CharacterData interface: calling after([object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createTextNode("abc") must inherit property "replaceWith([object Object],[object Object])" with the proper type +PASS CharacterData interface: calling replaceWith([object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createTextNode("abc") must inherit property "remove()" with the proper type +PASS EventTarget interface: document.createTextNode("abc") must inherit property "addEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS EventTarget interface: document.createTextNode("abc") must inherit property "removeEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS EventTarget interface: document.createTextNode("abc") must inherit property "dispatchEvent(Event)" with the proper type +PASS EventTarget interface: calling dispatchEvent(Event) on document.createTextNode("abc") with too few arguments must throw TypeError PASS CDATASection interface: existence and properties of interface object PASS CDATASection interface object length PASS CDATASection interface object name @@ -335,12 +779,71 @@ PASS ProcessingInstruction interface: existence and properties of interface prototype object's "constructor" property PASS ProcessingInstruction interface: existence and properties of interface prototype object's @@unscopables property PASS ProcessingInstruction interface: attribute target +PASS ProcessingInstruction must be primary interface of xmlDoc.createProcessingInstruction("abc", "def") +PASS Stringification of xmlDoc.createProcessingInstruction("abc", "def") +PASS ProcessingInstruction interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "target" with the proper type +PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "data" with the proper type +PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "length" with the proper type +PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "substringData(unsigned long, unsigned long)" with the proper type +PASS CharacterData interface: calling substringData(unsigned long, unsigned long) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "appendData(DOMString)" with the proper type +PASS CharacterData interface: calling appendData(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "insertData(unsigned long, DOMString)" with the proper type +PASS CharacterData interface: calling insertData(unsigned long, DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "deleteData(unsigned long, unsigned long)" with the proper type +PASS CharacterData interface: calling deleteData(unsigned long, unsigned long) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replaceData(unsigned long, unsigned long, DOMString)" with the proper type +PASS CharacterData interface: calling replaceData(unsigned long, unsigned long, DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "previousElementSibling" with the proper type +PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nextElementSibling" with the proper type +PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "before([object Object],[object Object])" with the proper type +PASS CharacterData interface: calling before([object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "after([object Object],[object Object])" with the proper type +PASS CharacterData interface: calling after([object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replaceWith([object Object],[object Object])" with the proper type +PASS CharacterData interface: calling replaceWith([object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "remove()" with the proper type +PASS EventTarget interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "addEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS EventTarget interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "removeEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS EventTarget interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "dispatchEvent(Event)" with the proper type +PASS EventTarget interface: calling dispatchEvent(Event) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError PASS Comment interface: existence and properties of interface object PASS Comment interface object length PASS Comment interface object name PASS Comment interface: existence and properties of interface prototype object PASS Comment interface: existence and properties of interface prototype object's "constructor" property PASS Comment interface: existence and properties of interface prototype object's @@unscopables property +PASS Comment must be primary interface of document.createComment("abc") +PASS Stringification of document.createComment("abc") +PASS CharacterData interface: document.createComment("abc") must inherit property "data" with the proper type +PASS CharacterData interface: document.createComment("abc") must inherit property "length" with the proper type +PASS CharacterData interface: document.createComment("abc") must inherit property "substringData(unsigned long, unsigned long)" with the proper type +PASS CharacterData interface: calling substringData(unsigned long, unsigned long) on document.createComment("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createComment("abc") must inherit property "appendData(DOMString)" with the proper type +PASS CharacterData interface: calling appendData(DOMString) on document.createComment("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createComment("abc") must inherit property "insertData(unsigned long, DOMString)" with the proper type +PASS CharacterData interface: calling insertData(unsigned long, DOMString) on document.createComment("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createComment("abc") must inherit property "deleteData(unsigned long, unsigned long)" with the proper type +PASS CharacterData interface: calling deleteData(unsigned long, unsigned long) on document.createComment("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createComment("abc") must inherit property "replaceData(unsigned long, unsigned long, DOMString)" with the proper type +PASS CharacterData interface: calling replaceData(unsigned long, unsigned long, DOMString) on document.createComment("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createComment("abc") must inherit property "previousElementSibling" with the proper type +PASS CharacterData interface: document.createComment("abc") must inherit property "nextElementSibling" with the proper type +PASS CharacterData interface: document.createComment("abc") must inherit property "before([object Object],[object Object])" with the proper type +PASS CharacterData interface: calling before([object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createComment("abc") must inherit property "after([object Object],[object Object])" with the proper type +PASS CharacterData interface: calling after([object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createComment("abc") must inherit property "replaceWith([object Object],[object Object])" with the proper type +PASS CharacterData interface: calling replaceWith([object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError +PASS CharacterData interface: document.createComment("abc") must inherit property "remove()" with the proper type +PASS EventTarget interface: document.createComment("abc") must inherit property "addEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError +PASS EventTarget interface: document.createComment("abc") must inherit property "removeEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type +PASS EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError +PASS EventTarget interface: document.createComment("abc") must inherit property "dispatchEvent(Event)" with the proper type +PASS EventTarget interface: calling dispatchEvent(Event) on document.createComment("abc") with too few arguments must throw TypeError FAIL AbstractRange interface: existence and properties of interface object assert_own_property: self does not have own property "AbstractRange" expected property "AbstractRange" missing FAIL AbstractRange interface object length assert_own_property: self does not have own property "AbstractRange" expected property "AbstractRange" missing FAIL AbstractRange interface object name assert_own_property: self does not have own property "AbstractRange" expected property "AbstractRange" missing @@ -394,6 +897,100 @@ PASS Range interface: operation comparePoint(Node, unsigned long) PASS Range interface: operation intersectsNode(Node) PASS Range interface: stringifier +PASS Range must be primary interface of document.createRange() +PASS Stringification of document.createRange() +PASS Range interface: document.createRange() must inherit property "commonAncestorContainer" with the proper type +PASS Range interface: document.createRange() must inherit property "setStart(Node, unsigned long)" with the proper type +PASS Range interface: calling setStart(Node, unsigned long) on document.createRange() with too few arguments must throw TypeError +PASS Range interface: document.createRange() must inherit property "setEnd(Node, unsigned long)" with the proper type +PASS Range interface: calling setEnd(Node, unsigned long) on document.createRange() with too few arguments must throw TypeError +PASS Range interface: document.createRange() must inherit property "setStartBefore(Node)" with the proper type +PASS Range interface: calling setStartBefore(Node) on document.createRange() with too few arguments must throw TypeError +PASS Range interface: document.createRange() must inherit property "setStartAfter(Node)" with the proper type +PASS Range interface: calling setStartAfter(Node) on document.createRange() with too few arguments must throw TypeError +PASS Range interface: document.createRange() must inherit property "setEndBefore(Node)" with the proper type +PASS Range interface: calling setEndBefore(Node) on document.createRange() with too few arguments must throw TypeError +PASS Range interface: document.createRange() must inherit property "setEndAfter(Node)" with the proper type +PASS Range interface: calling setEndAfter(Node) on document.createRange() with too few arguments must throw TypeError +PASS Range interface: document.createRange() must inherit property "collapse(boolean)" with the proper type +PASS Range interface: calling collapse(boolean) on document.createRange() with too few arguments must throw TypeError +PASS Range interface: document.createRange() must inherit property "selectNode(Node)" with the proper type +PASS Range interface: calling selectNode(Node) on document.createRange() with too few arguments must throw TypeError +PASS Range interface: document.createRange() must inherit property "selectNodeContents(Node)" with the proper type +PASS Range interface: calling selectNodeContents(Node) on document.createRange() with too few arguments must throw TypeError +PASS Range interface: document.createRange() must inherit property "START_TO_START" with the proper type +PASS Range interface: document.createRange() must inherit property "START_TO_END" with the proper type +PASS Range interface: document.createRange() must inherit property "END_TO_END" with the proper type +PASS Range interface: document.createRange() must inherit property "END_TO_START" with the proper type +PASS Range interface: document.createRange() must inherit property "compareBoundaryPoints(unsigned short, Range)" with the proper type +PASS Range interface: calling compareBoundaryPoints(unsigned short, Range) on document.createRange() with too few arguments must throw TypeError +PASS Range interface: document.createRange() must inherit property "deleteContents()" with the proper type +PASS Range interface: document.createRange() must inherit property "extractContents()" with the proper type +PASS Range interface: document.createRange() must inherit property "cloneContents()" with the proper type +PASS Range interface: document.createRange() must inherit property "insertNode(Node)" with the proper type +PASS Range interface: calling insertNode(Node) on document.createRange() with too few arguments must throw TypeError +PASS Range interface: document.createRange() must inherit property "surroundContents(Node)" with the proper type +PASS Range interface: calling surroundContents(Node) on document.createRange() with too few arguments must throw TypeError +PASS Range interface: document.createRange() must inherit property "cloneRange()" with the proper type +PASS Range interface: document.createRange() must inherit property "detach()" with the proper type +PASS Range interface: document.createRange() must inherit property "isPointInRange(Node, unsigned long)" with the proper type +PASS Range interface: calling isPointInRange(Node, unsigned long) on document.createRange() with too few arguments must throw TypeError +PASS Range interface: document.createRange() must inherit property "comparePoint(Node, unsigned long)" with the proper type +PASS Range interface: calling comparePoint(Node, unsigned long) on document.createRange() with too few arguments must throw TypeError +PASS Range interface: document.createRange() must inherit property "intersectsNode(Node)" with the proper type +PASS Range interface: calling intersectsNode(Node) on document.createRange() with too few arguments must throw TypeError +PASS AbstractRange interface: document.createRange() must inherit property "startContainer" with the proper type +PASS AbstractRange interface: document.createRange() must inherit property "startOffset" with the proper type +PASS AbstractRange interface: document.createRange() must inherit property "endContainer" with the proper type +PASS AbstractRange interface: document.createRange() must inherit property "endOffset" with the proper type +PASS AbstractRange interface: document.createRange() must inherit property "collapsed" with the proper type +PASS Range must be primary interface of detachedRange +PASS Stringification of detachedRange +PASS Range interface: detachedRange must inherit property "commonAncestorContainer" with the proper type +PASS Range interface: detachedRange must inherit property "setStart(Node, unsigned long)" with the proper type +PASS Range interface: calling setStart(Node, unsigned long) on detachedRange with too few arguments must throw TypeError +PASS Range interface: detachedRange must inherit property "setEnd(Node, unsigned long)" with the proper type +PASS Range interface: calling setEnd(Node, unsigned long) on detachedRange with too few arguments must throw TypeError +PASS Range interface: detachedRange must inherit property "setStartBefore(Node)" with the proper type +PASS Range interface: calling setStartBefore(Node) on detachedRange with too few arguments must throw TypeError +PASS Range interface: detachedRange must inherit property "setStartAfter(Node)" with the proper type +PASS Range interface: calling setStartAfter(Node) on detachedRange with too few arguments must throw TypeError +PASS Range interface: detachedRange must inherit property "setEndBefore(Node)" with the proper type +PASS Range interface: calling setEndBefore(Node) on detachedRange with too few arguments must throw TypeError +PASS Range interface: detachedRange must inherit property "setEndAfter(Node)" with the proper type +PASS Range interface: calling setEndAfter(Node) on detachedRange with too few arguments must throw TypeError +PASS Range interface: detachedRange must inherit property "collapse(boolean)" with the proper type +PASS Range interface: calling collapse(boolean) on detachedRange with too few arguments must throw TypeError +PASS Range interface: detachedRange must inherit property "selectNode(Node)" with the proper type +PASS Range interface: calling selectNode(Node) on detachedRange with too few arguments must throw TypeError +PASS Range interface: detachedRange must inherit property "selectNodeContents(Node)" with the proper type +PASS Range interface: calling selectNodeContents(Node) on detachedRange with too few arguments must throw TypeError +PASS Range interface: detachedRange must inherit property "START_TO_START" with the proper type +PASS Range interface: detachedRange must inherit property "START_TO_END" with the proper type +PASS Range interface: detachedRange must inherit property "END_TO_END" with the proper type +PASS Range interface: detachedRange must inherit property "END_TO_START" with the proper type +PASS Range interface: detachedRange must inherit property "compareBoundaryPoints(unsigned short, Range)" with the proper type +PASS Range interface: calling compareBoundaryPoints(unsigned short, Range) on detachedRange with too few arguments must throw TypeError +PASS Range interface: detachedRange must inherit property "deleteContents()" with the proper type +PASS Range interface: detachedRange must inherit property "extractContents()" with the proper type +PASS Range interface: detachedRange must inherit property "cloneContents()" with the proper type +PASS Range interface: detachedRange must inherit property "insertNode(Node)" with the proper type +PASS Range interface: calling insertNode(Node) on detachedRange with too few arguments must throw TypeError +PASS Range interface: detachedRange must inherit property "surroundContents(Node)" with the proper type +PASS Range interface: calling surroundContents(Node) on detachedRange with too few arguments must throw TypeError +PASS Range interface: detachedRange must inherit property "cloneRange()" with the proper type +PASS Range interface: detachedRange must inherit property "detach()" with the proper type +PASS Range interface: detachedRange must inherit property "isPointInRange(Node, unsigned long)" with the proper type +PASS Range interface: calling isPointInRange(Node, unsigned long) on detachedRange with too few arguments must throw TypeError +PASS Range interface: detachedRange must inherit property "comparePoint(Node, unsigned long)" with the proper type +PASS Range interface: calling comparePoint(Node, unsigned long) on detachedRange with too few arguments must throw TypeError +PASS Range interface: detachedRange must inherit property "intersectsNode(Node)" with the proper type +PASS Range interface: calling intersectsNode(Node) on detachedRange with too few arguments must throw TypeError +PASS AbstractRange interface: detachedRange must inherit property "startContainer" with the proper type +PASS AbstractRange interface: detachedRange must inherit property "startOffset" with the proper type +PASS AbstractRange interface: detachedRange must inherit property "endContainer" with the proper type +PASS AbstractRange interface: detachedRange must inherit property "endOffset" with the proper type +PASS AbstractRange interface: detachedRange must inherit property "collapsed" with the proper type PASS NodeIterator interface: existence and properties of interface object PASS NodeIterator interface object length PASS NodeIterator interface object name @@ -408,6 +1005,16 @@ PASS NodeIterator interface: operation nextNode() PASS NodeIterator interface: operation previousNode() PASS NodeIterator interface: operation detach() +PASS NodeIterator must be primary interface of document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) +PASS Stringification of document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) +PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "root" with the proper type +PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "referenceNode" with the proper type +PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "pointerBeforeReferenceNode" with the proper type +PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "whatToShow" with the proper type +PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "filter" with the proper type +PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "nextNode()" with the proper type +PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "previousNode()" with the proper type +PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "detach()" with the proper type PASS TreeWalker interface: existence and properties of interface object PASS TreeWalker interface object length PASS TreeWalker interface object name @@ -425,6 +1032,19 @@ PASS TreeWalker interface: operation nextSibling() PASS TreeWalker interface: operation previousNode() PASS TreeWalker interface: operation nextNode() +PASS TreeWalker must be primary interface of document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) +PASS Stringification of document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) +PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "root" with the proper type +PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "whatToShow" with the proper type +PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "filter" with the proper type +PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "currentNode" with the proper type +PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "parentNode()" with the proper type +PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "firstChild()" with the proper type +PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "lastChild()" with the proper type +PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "previousSibling()" with the proper type +PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "nextSibling()" with the proper type +PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "previousNode()" with the proper type +PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "nextNode()" with the proper type PASS NodeFilter interface: existence and properties of interface object PASS NodeFilter interface object name PASS NodeFilter interface: existence and properties of interface prototype object @@ -480,5 +1100,114 @@ PASS DOMTokenList interface: attribute value PASS DOMTokenList interface: stringifier PASS DOMTokenList interface: iterable<DOMString> +PASS DOMTokenList must be primary interface of document.body.classList +PASS Stringification of document.body.classList +PASS DOMTokenList interface: document.body.classList must inherit property "length" with the proper type +PASS DOMTokenList interface: document.body.classList must inherit property "item(unsigned long)" with the proper type +PASS DOMTokenList interface: calling item(unsigned long) on document.body.classList with too few arguments must throw TypeError +PASS DOMTokenList interface: document.body.classList must inherit property "contains(DOMString)" with the proper type +PASS DOMTokenList interface: calling contains(DOMString) on document.body.classList with too few arguments must throw TypeError +PASS DOMTokenList interface: document.body.classList must inherit property "add(DOMString)" with the proper type +PASS DOMTokenList interface: calling add(DOMString) on document.body.classList with too few arguments must throw TypeError +PASS DOMTokenList interface: document.body.classList must inherit property "remove(DOMString)" with the proper type +PASS DOMTokenList interface: calling remove(DOMString) on document.body.classList with too few arguments must throw TypeError +PASS DOMTokenList interface: document.body.classList must inherit property "toggle(DOMString, boolean)" with the proper type +PASS DOMTokenList interface: calling toggle(DOMString, boolean) on document.body.classList with too few arguments must throw TypeError +PASS DOMTokenList interface: document.body.classList must inherit property "replace(DOMString, DOMString)" with the proper type +PASS DOMTokenList interface: calling replace(DOMString, DOMString) on document.body.classList with too few arguments must throw TypeError +PASS DOMTokenList interface: document.body.classList must inherit property "supports(DOMString)" with the proper type +PASS DOMTokenList interface: calling supports(DOMString) on document.body.classList with too few arguments must throw TypeError +PASS DOMTokenList interface: document.body.classList must inherit property "value" with the proper type +PASS XPathResult interface: existence and properties of interface object +PASS XPathResult interface object length +PASS XPathResult interface object name +PASS XPathResult interface: existence and properties of interface prototype object +PASS XPathResult interface: existence and properties of interface prototype object's "constructor" property +PASS XPathResult interface: existence and properties of interface prototype object's @@unscopables property +PASS XPathResult interface: constant ANY_TYPE on interface object +PASS XPathResult interface: constant ANY_TYPE on interface prototype object +PASS XPathResult interface: constant NUMBER_TYPE on interface object +PASS XPathResult interface: constant NUMBER_TYPE on interface prototype object +PASS XPathResult interface: constant STRING_TYPE on interface object +PASS XPathResult interface: constant STRING_TYPE on interface prototype object +PASS XPathResult interface: constant BOOLEAN_TYPE on interface object +PASS XPathResult interface: constant BOOLEAN_TYPE on interface prototype object +PASS XPathResult interface: constant UNORDERED_NODE_ITERATOR_TYPE on interface object +PASS XPathResult interface: constant UNORDERED_NODE_ITERATOR_TYPE on interface prototype object +PASS XPathResult interface: constant ORDERED_NODE_ITERATOR_TYPE on interface object +PASS XPathResult interface: constant ORDERED_NODE_ITERATOR_TYPE on interface prototype object +PASS XPathResult interface: constant UNORDERED_NODE_SNAPSHOT_TYPE on interface object +PASS XPathResult interface: constant UNORDERED_NODE_SNAPSHOT_TYPE on interface prototype object +PASS XPathResult interface: constant ORDERED_NODE_SNAPSHOT_TYPE on interface object +PASS XPathResult interface: constant ORDERED_NODE_SNAPSHOT_TYPE on interface prototype object +PASS XPathResult interface: constant ANY_UNORDERED_NODE_TYPE on interface object +PASS XPathResult interface: constant ANY_UNORDERED_NODE_TYPE on interface prototype object +PASS XPathResult interface: constant FIRST_ORDERED_NODE_TYPE on interface object +PASS XPathResult interface: constant FIRST_ORDERED_NODE_TYPE on interface prototype object +PASS XPathResult interface: attribute resultType +PASS XPathResult interface: attribute numberValue +PASS XPathResult interface: attribute stringValue +PASS XPathResult interface: attribute booleanValue +PASS XPathResult interface: attribute singleNodeValue +PASS XPathResult interface: attribute invalidIteratorState +PASS XPathResult interface: attribute snapshotLength +PASS XPathResult interface: operation iterateNext() +PASS XPathResult interface: operation snapshotItem(unsigned long) +PASS XPathResult must be primary interface of document.evaluate("//*", document.body) +PASS Stringification of document.evaluate("//*", document.body) +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "ANY_TYPE" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "NUMBER_TYPE" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "STRING_TYPE" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "BOOLEAN_TYPE" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "UNORDERED_NODE_ITERATOR_TYPE" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "ORDERED_NODE_ITERATOR_TYPE" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "UNORDERED_NODE_SNAPSHOT_TYPE" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "ORDERED_NODE_SNAPSHOT_TYPE" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "ANY_UNORDERED_NODE_TYPE" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "FIRST_ORDERED_NODE_TYPE" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "resultType" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "numberValue" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "stringValue" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "booleanValue" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "singleNodeValue" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "invalidIteratorState" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "snapshotLength" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "iterateNext()" with the proper type +PASS XPathResult interface: document.evaluate("//*", document.body) must inherit property "snapshotItem(unsigned long)" with the proper type +PASS XPathResult interface: calling snapshotItem(unsigned long) on document.evaluate("//*", document.body) with too few arguments must throw TypeError +PASS XPathExpression interface: existence and properties of interface object +PASS XPathExpression interface object length +PASS XPathExpression interface object name +PASS XPathExpression interface: existence and properties of interface prototype object +PASS XPathExpression interface: existence and properties of interface prototype object's "constructor" property +PASS XPathExpression interface: existence and properties of interface prototype object's @@unscopables property +PASS XPathExpression interface: operation evaluate(Node, unsigned short, XPathResult) +PASS XPathExpression must be primary interface of document.createExpression("//*") +PASS Stringification of document.createExpression("//*") +PASS XPathExpression interface: document.createExpression("//*") must inherit property "evaluate(Node, unsigned short, XPathResult)" with the proper type +PASS XPathExpression interface: calling evaluate(Node, unsigned short, XPathResult) on document.createExpression("//*") with too few arguments must throw TypeError +PASS XPathNSResolver interface: existence and properties of interface object +PASS XPathNSResolver interface: existence and properties of interface prototype object +PASS XPathNSResolver interface: existence and properties of interface prototype object's "constructor" property +PASS XPathNSResolver interface: existence and properties of interface prototype object's @@unscopables property +PASS XPathNSResolver interface: operation lookupNamespaceURI(DOMString) +PASS XPathEvaluator interface: existence and properties of interface object +PASS XPathEvaluator interface object length +PASS XPathEvaluator interface object name +PASS XPathEvaluator interface: existence and properties of interface prototype object +PASS XPathEvaluator interface: existence and properties of interface prototype object's "constructor" property +PASS XPathEvaluator interface: existence and properties of interface prototype object's @@unscopables property +PASS XPathEvaluator interface: operation createExpression(DOMString, XPathNSResolver) +PASS XPathEvaluator interface: operation createNSResolver(Node) +PASS XPathEvaluator interface: operation evaluate(DOMString, Node, XPathNSResolver, unsigned short, XPathResult) +PASS XPathEvaluator must be primary interface of new XPathEvaluator() +PASS Stringification of new XPathEvaluator() +PASS XPathEvaluator interface: new XPathEvaluator() must inherit property "createExpression(DOMString, XPathNSResolver)" with the proper type +PASS XPathEvaluator interface: calling createExpression(DOMString, XPathNSResolver) on new XPathEvaluator() with too few arguments must throw TypeError +PASS XPathEvaluator interface: new XPathEvaluator() must inherit property "createNSResolver(Node)" with the proper type +PASS XPathEvaluator interface: calling createNSResolver(Node) on new XPathEvaluator() with too few arguments must throw TypeError +PASS XPathEvaluator interface: new XPathEvaluator() must inherit property "evaluate(DOMString, Node, XPathNSResolver, unsigned short, XPathResult)" with the proper type +PASS XPathEvaluator interface: calling evaluate(DOMString, Node, XPathNSResolver, unsigned short, XPathResult) on new XPathEvaluator() with too few arguments must throw TypeError +FAIL Window interface: attribute event assert_true: property should be enumerable expected true got false Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/domxpath/README.md b/third_party/blink/web_tests/external/wpt/domxpath/README.md new file mode 100644 index 0000000..918997b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/domxpath/README.md
@@ -0,0 +1,9 @@ +# XPath + +This directory contains tests for [XPath](https://www.w3.org/TR/DOM-Level-3-XPath/). + +See [whatwg/dom#67](https://github.com/whatwg/dom/issues/67) for getting XPath +better specified. + +Because the XPath interfaces are defined in the DOM Standard, the idlharness.js +tests are in [/dom]([/dom) instead of here.
diff --git a/third_party/blink/web_tests/external/wpt/domxpath/interfaces.tentative.html b/third_party/blink/web_tests/external/wpt/domxpath/interfaces.tentative.html deleted file mode 100644 index 9036ad8..0000000 --- a/third_party/blink/web_tests/external/wpt/domxpath/interfaces.tentative.html +++ /dev/null
@@ -1,93 +0,0 @@ -<!doctype html> -<title>XPath tests</title> -<!-- This is a tentative test because there's no real spec for XPath IDL. - The closest thing is: --> -<link rel="help" href="https://wiki.whatwg.org/wiki/DOM_XPath"> -<script src='/resources/testharness.js'></script> -<script src='/resources/testharnessreport.js'></script> -<script src='/resources/WebIDLParser.js'></script> -<script src='/resources/idlharness.js'></script> -<script type='text/plain'> -[Exposed=Window] -interface XPathResult { - const unsigned short ANY_TYPE = 0; - const unsigned short NUMBER_TYPE = 1; - const unsigned short STRING_TYPE = 2; - const unsigned short BOOLEAN_TYPE = 3; - const unsigned short UNORDERED_NODE_ITERATOR_TYPE = 4; - const unsigned short ORDERED_NODE_ITERATOR_TYPE = 5; - const unsigned short UNORDERED_NODE_SNAPSHOT_TYPE = 6; - const unsigned short ORDERED_NODE_SNAPSHOT_TYPE = 7; - const unsigned short ANY_UNORDERED_NODE_TYPE = 8; - const unsigned short FIRST_ORDERED_NODE_TYPE = 9; - - readonly attribute unsigned short resultType; - readonly attribute unrestricted double numberValue; - // Maybe "DOMString?". - readonly attribute DOMString stringValue; - readonly attribute boolean booleanValue; - readonly attribute Node? singleNodeValue; - readonly attribute boolean invalidIteratorState; - readonly attribute unsigned long snapshotLength; - Node? iterateNext(); - Node? snapshotItem(unsigned long index); -}; - -[Exposed=Window] -interface XPathExpression { - XPathResult evaluate(Node contextNode, - optional unsigned short type, - optional XPathResult? result); -}; - -callback interface XPathNSResolver { - DOMString? lookupNamespaceURI(DOMString? prefix); -}; - -interface mixin XPathEvaluatorBase { - [NewObject] XPathExpression createExpression(DOMString expression, - optional XPathNSResolver? resolver); - XPathNSResolver createNSResolver(Node nodeResolver); - XPathResult evaluate(DOMString expression, - Node contextNode, - optional XPathNSResolver? resolver, - optional unsigned short type, - optional XPathResult? result); -}; - -[Exposed=Window, Constructor] -interface XPathEvaluator {}; - -XPathEvaluator includes XPathEvaluatorBase; -</script> -<script type='text/plain' class='untested'> -interface Document {}; -Document includes XPathEvaluatorBase; -</script> -<script> -"use strict"; -var evaluator = document; -var resolver = function() {}; -var resolver2 = document.createNSResolver(document.documentElement); -var expression = document.createExpression("//*", resolver); -var result = document.evaluate("//*", document.documentElement, resolver, 0, null); - -var idlArray; -setup(function() { - idlArray = new IdlArray(); - [].forEach.call(document.querySelectorAll("script[type=text\\/plain]"), function(node) { - if (node.className == "untested") { - idlArray.add_untested_idls(node.textContent); - } else { - idlArray.add_idls(node.textContent); - } - }); - idlArray.add_objects({ - Document: ["document"], - XPathExpression: ["expression"], - XPathResolver: ["resolver", "resolver2"], - XPathResult: ["result"] - }); -}); -idlArray.test(); -</script>
diff --git a/third_party/blink/web_tests/external/wpt/feature-policy/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/feature-policy/idlharness.window-expected.txt index 534dc5c..c9b2434 100644 --- a/third_party/blink/web_tests/external/wpt/feature-policy/idlharness.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/feature-policy/idlharness.window-expected.txt
@@ -1,9 +1,14 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Document: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface HTMLIFrameElement: original interface defined assert_true: Original interface should be defined expected true got false +PASS idl_test setup +PASS Partial interface Document: original interface defined +PASS Partial interface HTMLIFrameElement: original interface defined +PASS Stringification of document.featurePolicy +PASS FeaturePolicy interface: document.featurePolicy must inherit property "allowsFeature(DOMString, DOMString)" with the proper type +PASS FeaturePolicy interface: calling allowsFeature(DOMString, DOMString) on document.featurePolicy with too few arguments must throw TypeError +PASS FeaturePolicy interface: document.featurePolicy must inherit property "features()" with the proper type +PASS FeaturePolicy interface: document.featurePolicy must inherit property "allowedFeatures()" with the proper type +PASS FeaturePolicy interface: document.featurePolicy must inherit property "getAllowlistForFeature(DOMString)" with the proper type +PASS FeaturePolicy interface: calling getAllowlistForFeature(DOMString) on document.featurePolicy with too few arguments must throw TypeError FAIL FeaturePolicyViolationReportBody interface: existence and properties of interface object assert_own_property: self does not have own property "FeaturePolicyViolationReportBody" expected property "FeaturePolicyViolationReportBody" missing FAIL FeaturePolicyViolationReportBody interface object length assert_own_property: self does not have own property "FeaturePolicyViolationReportBody" expected property "FeaturePolicyViolationReportBody" missing FAIL FeaturePolicyViolationReportBody interface object name assert_own_property: self does not have own property "FeaturePolicyViolationReportBody" expected property "FeaturePolicyViolationReportBody" missing @@ -15,5 +20,8 @@ FAIL FeaturePolicyViolationReportBody interface: attribute lineNumber assert_own_property: self does not have own property "FeaturePolicyViolationReportBody" expected property "FeaturePolicyViolationReportBody" missing FAIL FeaturePolicyViolationReportBody interface: attribute columnNumber assert_own_property: self does not have own property "FeaturePolicyViolationReportBody" expected property "FeaturePolicyViolationReportBody" missing FAIL FeaturePolicyViolationReportBody interface: attribute disposition assert_own_property: self does not have own property "FeaturePolicyViolationReportBody" expected property "FeaturePolicyViolationReportBody" missing +PASS HTMLIFrameElement interface: attribute featurePolicy +PASS Document interface: attribute featurePolicy +PASS Document interface: document must inherit property "featurePolicy" with the proper type Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any-expected.txt b/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any-expected.txt index 39dc3f9..8bf325d7 100644 --- a/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any-expected.txt +++ b/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any-expected.txt
@@ -1,9 +1,7 @@ This is a testharness.js-based test. -Found 67 tests; 62 PASS, 5 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false +Found 129 tests; 123 PASS, 6 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined PASS Headers interface: existence and properties of interface object PASS Headers interface object length PASS Headers interface object name @@ -16,6 +14,18 @@ PASS Headers interface: operation has(ByteString) PASS Headers interface: operation set(ByteString, ByteString) PASS Headers interface: iterable<ByteString, ByteString> +PASS Headers must be primary interface of new Headers() +PASS Stringification of new Headers() +PASS Headers interface: new Headers() must inherit property "append(ByteString, ByteString)" with the proper type +PASS Headers interface: calling append(ByteString, ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "delete(ByteString)" with the proper type +PASS Headers interface: calling delete(ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "get(ByteString)" with the proper type +PASS Headers interface: calling get(ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "has(ByteString)" with the proper type +PASS Headers interface: calling has(ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "set(ByteString, ByteString)" with the proper type +PASS Headers interface: calling set(ByteString, ByteString) on new Headers() with too few arguments must throw TypeError PASS Request interface: existence and properties of interface object PASS Request interface object length PASS Request interface object name @@ -45,6 +55,31 @@ PASS Request interface: operation formData() PASS Request interface: operation json() PASS Request interface: operation text() +PASS Request must be primary interface of new Request('about:blank') +PASS Stringification of new Request('about:blank') +PASS Request interface: new Request('about:blank') must inherit property "method" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "url" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "headers" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "destination" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "referrer" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "referrerPolicy" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "mode" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "credentials" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "cache" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "redirect" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "integrity" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "keepalive" with the proper type +FAIL Request interface: new Request('about:blank') must inherit property "isReloadNavigation" with the proper type assert_inherits: property "isReloadNavigation" not found in prototype chain +PASS Request interface: new Request('about:blank') must inherit property "isHistoryNavigation" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "signal" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "clone()" with the proper type +FAIL Request interface: new Request('about:blank') must inherit property "body" with the proper type assert_inherits: property "body" not found in prototype chain +PASS Request interface: new Request('about:blank') must inherit property "bodyUsed" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "arrayBuffer()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "blob()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "formData()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "json()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "text()" with the proper type PASS Response interface: existence and properties of interface object PASS Response interface object length PASS Response interface object name @@ -69,5 +104,30 @@ PASS Response interface: operation formData() PASS Response interface: operation json() PASS Response interface: operation text() +PASS Response must be primary interface of new Response() +PASS Stringification of new Response() +PASS Response interface: new Response() must inherit property "error()" with the proper type +PASS Response interface: new Response() must inherit property "redirect(USVString, unsigned short)" with the proper type +PASS Response interface: calling redirect(USVString, unsigned short) on new Response() with too few arguments must throw TypeError +PASS Response interface: new Response() must inherit property "type" with the proper type +PASS Response interface: new Response() must inherit property "url" with the proper type +PASS Response interface: new Response() must inherit property "redirected" with the proper type +PASS Response interface: new Response() must inherit property "status" with the proper type +PASS Response interface: new Response() must inherit property "ok" with the proper type +PASS Response interface: new Response() must inherit property "statusText" with the proper type +PASS Response interface: new Response() must inherit property "headers" with the proper type +FAIL Response interface: new Response() must inherit property "trailer" with the proper type assert_inherits: property "trailer" not found in prototype chain +PASS Response interface: new Response() must inherit property "clone()" with the proper type +PASS Response interface: new Response() must inherit property "body" with the proper type +PASS Response interface: new Response() must inherit property "bodyUsed" with the proper type +PASS Response interface: new Response() must inherit property "arrayBuffer()" with the proper type +PASS Response interface: new Response() must inherit property "blob()" with the proper type +PASS Response interface: new Response() must inherit property "formData()" with the proper type +PASS Response interface: new Response() must inherit property "json()" with the proper type +PASS Response interface: new Response() must inherit property "text()" with the proper type +PASS Window interface: operation fetch(RequestInfo, RequestInit) +PASS Window interface: window must inherit property "fetch(RequestInfo, RequestInit)" with the proper type +PASS Window interface: calling fetch(RequestInfo, RequestInit) on window with too few arguments must throw TypeError +PASS WorkerGlobalScope interface: existence and properties of interface object Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any.serviceworker-expected.txt b/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any.serviceworker-expected.txt index 39dc3f9..7f9da6e 100644 --- a/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any.serviceworker-expected.txt +++ b/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any.serviceworker-expected.txt
@@ -1,9 +1,7 @@ This is a testharness.js-based test. -Found 67 tests; 62 PASS, 5 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false +Found 129 tests; 123 PASS, 6 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined PASS Headers interface: existence and properties of interface object PASS Headers interface object length PASS Headers interface object name @@ -16,6 +14,18 @@ PASS Headers interface: operation has(ByteString) PASS Headers interface: operation set(ByteString, ByteString) PASS Headers interface: iterable<ByteString, ByteString> +PASS Headers must be primary interface of new Headers() +PASS Stringification of new Headers() +PASS Headers interface: new Headers() must inherit property "append(ByteString, ByteString)" with the proper type +PASS Headers interface: calling append(ByteString, ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "delete(ByteString)" with the proper type +PASS Headers interface: calling delete(ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "get(ByteString)" with the proper type +PASS Headers interface: calling get(ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "has(ByteString)" with the proper type +PASS Headers interface: calling has(ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "set(ByteString, ByteString)" with the proper type +PASS Headers interface: calling set(ByteString, ByteString) on new Headers() with too few arguments must throw TypeError PASS Request interface: existence and properties of interface object PASS Request interface object length PASS Request interface object name @@ -45,6 +55,31 @@ PASS Request interface: operation formData() PASS Request interface: operation json() PASS Request interface: operation text() +PASS Request must be primary interface of new Request('about:blank') +PASS Stringification of new Request('about:blank') +PASS Request interface: new Request('about:blank') must inherit property "method" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "url" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "headers" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "destination" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "referrer" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "referrerPolicy" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "mode" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "credentials" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "cache" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "redirect" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "integrity" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "keepalive" with the proper type +FAIL Request interface: new Request('about:blank') must inherit property "isReloadNavigation" with the proper type assert_inherits: property "isReloadNavigation" not found in prototype chain +PASS Request interface: new Request('about:blank') must inherit property "isHistoryNavigation" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "signal" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "clone()" with the proper type +FAIL Request interface: new Request('about:blank') must inherit property "body" with the proper type assert_inherits: property "body" not found in prototype chain +PASS Request interface: new Request('about:blank') must inherit property "bodyUsed" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "arrayBuffer()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "blob()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "formData()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "json()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "text()" with the proper type PASS Response interface: existence and properties of interface object PASS Response interface object length PASS Response interface object name @@ -69,5 +104,30 @@ PASS Response interface: operation formData() PASS Response interface: operation json() PASS Response interface: operation text() +PASS Response must be primary interface of new Response() +PASS Stringification of new Response() +PASS Response interface: new Response() must inherit property "error()" with the proper type +PASS Response interface: new Response() must inherit property "redirect(USVString, unsigned short)" with the proper type +PASS Response interface: calling redirect(USVString, unsigned short) on new Response() with too few arguments must throw TypeError +PASS Response interface: new Response() must inherit property "type" with the proper type +PASS Response interface: new Response() must inherit property "url" with the proper type +PASS Response interface: new Response() must inherit property "redirected" with the proper type +PASS Response interface: new Response() must inherit property "status" with the proper type +PASS Response interface: new Response() must inherit property "ok" with the proper type +PASS Response interface: new Response() must inherit property "statusText" with the proper type +PASS Response interface: new Response() must inherit property "headers" with the proper type +FAIL Response interface: new Response() must inherit property "trailer" with the proper type assert_inherits: property "trailer" not found in prototype chain +PASS Response interface: new Response() must inherit property "clone()" with the proper type +PASS Response interface: new Response() must inherit property "body" with the proper type +PASS Response interface: new Response() must inherit property "bodyUsed" with the proper type +PASS Response interface: new Response() must inherit property "arrayBuffer()" with the proper type +PASS Response interface: new Response() must inherit property "blob()" with the proper type +PASS Response interface: new Response() must inherit property "formData()" with the proper type +PASS Response interface: new Response() must inherit property "json()" with the proper type +PASS Response interface: new Response() must inherit property "text()" with the proper type +PASS Window interface: existence and properties of interface object +PASS WorkerGlobalScope interface: operation fetch(RequestInfo, RequestInit) +PASS WorkerGlobalScope interface: self must inherit property "fetch(RequestInfo, RequestInit)" with the proper type +PASS WorkerGlobalScope interface: calling fetch(RequestInfo, RequestInit) on self with too few arguments must throw TypeError Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any.sharedworker-expected.txt b/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any.sharedworker-expected.txt index 39dc3f9..7f9da6e 100644 --- a/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any.sharedworker-expected.txt +++ b/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any.sharedworker-expected.txt
@@ -1,9 +1,7 @@ This is a testharness.js-based test. -Found 67 tests; 62 PASS, 5 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false +Found 129 tests; 123 PASS, 6 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined PASS Headers interface: existence and properties of interface object PASS Headers interface object length PASS Headers interface object name @@ -16,6 +14,18 @@ PASS Headers interface: operation has(ByteString) PASS Headers interface: operation set(ByteString, ByteString) PASS Headers interface: iterable<ByteString, ByteString> +PASS Headers must be primary interface of new Headers() +PASS Stringification of new Headers() +PASS Headers interface: new Headers() must inherit property "append(ByteString, ByteString)" with the proper type +PASS Headers interface: calling append(ByteString, ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "delete(ByteString)" with the proper type +PASS Headers interface: calling delete(ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "get(ByteString)" with the proper type +PASS Headers interface: calling get(ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "has(ByteString)" with the proper type +PASS Headers interface: calling has(ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "set(ByteString, ByteString)" with the proper type +PASS Headers interface: calling set(ByteString, ByteString) on new Headers() with too few arguments must throw TypeError PASS Request interface: existence and properties of interface object PASS Request interface object length PASS Request interface object name @@ -45,6 +55,31 @@ PASS Request interface: operation formData() PASS Request interface: operation json() PASS Request interface: operation text() +PASS Request must be primary interface of new Request('about:blank') +PASS Stringification of new Request('about:blank') +PASS Request interface: new Request('about:blank') must inherit property "method" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "url" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "headers" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "destination" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "referrer" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "referrerPolicy" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "mode" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "credentials" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "cache" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "redirect" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "integrity" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "keepalive" with the proper type +FAIL Request interface: new Request('about:blank') must inherit property "isReloadNavigation" with the proper type assert_inherits: property "isReloadNavigation" not found in prototype chain +PASS Request interface: new Request('about:blank') must inherit property "isHistoryNavigation" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "signal" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "clone()" with the proper type +FAIL Request interface: new Request('about:blank') must inherit property "body" with the proper type assert_inherits: property "body" not found in prototype chain +PASS Request interface: new Request('about:blank') must inherit property "bodyUsed" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "arrayBuffer()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "blob()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "formData()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "json()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "text()" with the proper type PASS Response interface: existence and properties of interface object PASS Response interface object length PASS Response interface object name @@ -69,5 +104,30 @@ PASS Response interface: operation formData() PASS Response interface: operation json() PASS Response interface: operation text() +PASS Response must be primary interface of new Response() +PASS Stringification of new Response() +PASS Response interface: new Response() must inherit property "error()" with the proper type +PASS Response interface: new Response() must inherit property "redirect(USVString, unsigned short)" with the proper type +PASS Response interface: calling redirect(USVString, unsigned short) on new Response() with too few arguments must throw TypeError +PASS Response interface: new Response() must inherit property "type" with the proper type +PASS Response interface: new Response() must inherit property "url" with the proper type +PASS Response interface: new Response() must inherit property "redirected" with the proper type +PASS Response interface: new Response() must inherit property "status" with the proper type +PASS Response interface: new Response() must inherit property "ok" with the proper type +PASS Response interface: new Response() must inherit property "statusText" with the proper type +PASS Response interface: new Response() must inherit property "headers" with the proper type +FAIL Response interface: new Response() must inherit property "trailer" with the proper type assert_inherits: property "trailer" not found in prototype chain +PASS Response interface: new Response() must inherit property "clone()" with the proper type +PASS Response interface: new Response() must inherit property "body" with the proper type +PASS Response interface: new Response() must inherit property "bodyUsed" with the proper type +PASS Response interface: new Response() must inherit property "arrayBuffer()" with the proper type +PASS Response interface: new Response() must inherit property "blob()" with the proper type +PASS Response interface: new Response() must inherit property "formData()" with the proper type +PASS Response interface: new Response() must inherit property "json()" with the proper type +PASS Response interface: new Response() must inherit property "text()" with the proper type +PASS Window interface: existence and properties of interface object +PASS WorkerGlobalScope interface: operation fetch(RequestInfo, RequestInit) +PASS WorkerGlobalScope interface: self must inherit property "fetch(RequestInfo, RequestInit)" with the proper type +PASS WorkerGlobalScope interface: calling fetch(RequestInfo, RequestInit) on self with too few arguments must throw TypeError Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any.worker-expected.txt index 39dc3f9..7f9da6e 100644 --- a/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any.worker-expected.txt +++ b/third_party/blink/web_tests/external/wpt/fetch/api/idlharness.any.worker-expected.txt
@@ -1,9 +1,7 @@ This is a testharness.js-based test. -Found 67 tests; 62 PASS, 5 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false +Found 129 tests; 123 PASS, 6 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined PASS Headers interface: existence and properties of interface object PASS Headers interface object length PASS Headers interface object name @@ -16,6 +14,18 @@ PASS Headers interface: operation has(ByteString) PASS Headers interface: operation set(ByteString, ByteString) PASS Headers interface: iterable<ByteString, ByteString> +PASS Headers must be primary interface of new Headers() +PASS Stringification of new Headers() +PASS Headers interface: new Headers() must inherit property "append(ByteString, ByteString)" with the proper type +PASS Headers interface: calling append(ByteString, ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "delete(ByteString)" with the proper type +PASS Headers interface: calling delete(ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "get(ByteString)" with the proper type +PASS Headers interface: calling get(ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "has(ByteString)" with the proper type +PASS Headers interface: calling has(ByteString) on new Headers() with too few arguments must throw TypeError +PASS Headers interface: new Headers() must inherit property "set(ByteString, ByteString)" with the proper type +PASS Headers interface: calling set(ByteString, ByteString) on new Headers() with too few arguments must throw TypeError PASS Request interface: existence and properties of interface object PASS Request interface object length PASS Request interface object name @@ -45,6 +55,31 @@ PASS Request interface: operation formData() PASS Request interface: operation json() PASS Request interface: operation text() +PASS Request must be primary interface of new Request('about:blank') +PASS Stringification of new Request('about:blank') +PASS Request interface: new Request('about:blank') must inherit property "method" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "url" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "headers" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "destination" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "referrer" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "referrerPolicy" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "mode" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "credentials" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "cache" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "redirect" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "integrity" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "keepalive" with the proper type +FAIL Request interface: new Request('about:blank') must inherit property "isReloadNavigation" with the proper type assert_inherits: property "isReloadNavigation" not found in prototype chain +PASS Request interface: new Request('about:blank') must inherit property "isHistoryNavigation" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "signal" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "clone()" with the proper type +FAIL Request interface: new Request('about:blank') must inherit property "body" with the proper type assert_inherits: property "body" not found in prototype chain +PASS Request interface: new Request('about:blank') must inherit property "bodyUsed" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "arrayBuffer()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "blob()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "formData()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "json()" with the proper type +PASS Request interface: new Request('about:blank') must inherit property "text()" with the proper type PASS Response interface: existence and properties of interface object PASS Response interface object length PASS Response interface object name @@ -69,5 +104,30 @@ PASS Response interface: operation formData() PASS Response interface: operation json() PASS Response interface: operation text() +PASS Response must be primary interface of new Response() +PASS Stringification of new Response() +PASS Response interface: new Response() must inherit property "error()" with the proper type +PASS Response interface: new Response() must inherit property "redirect(USVString, unsigned short)" with the proper type +PASS Response interface: calling redirect(USVString, unsigned short) on new Response() with too few arguments must throw TypeError +PASS Response interface: new Response() must inherit property "type" with the proper type +PASS Response interface: new Response() must inherit property "url" with the proper type +PASS Response interface: new Response() must inherit property "redirected" with the proper type +PASS Response interface: new Response() must inherit property "status" with the proper type +PASS Response interface: new Response() must inherit property "ok" with the proper type +PASS Response interface: new Response() must inherit property "statusText" with the proper type +PASS Response interface: new Response() must inherit property "headers" with the proper type +FAIL Response interface: new Response() must inherit property "trailer" with the proper type assert_inherits: property "trailer" not found in prototype chain +PASS Response interface: new Response() must inherit property "clone()" with the proper type +PASS Response interface: new Response() must inherit property "body" with the proper type +PASS Response interface: new Response() must inherit property "bodyUsed" with the proper type +PASS Response interface: new Response() must inherit property "arrayBuffer()" with the proper type +PASS Response interface: new Response() must inherit property "blob()" with the proper type +PASS Response interface: new Response() must inherit property "formData()" with the proper type +PASS Response interface: new Response() must inherit property "json()" with the proper type +PASS Response interface: new Response() must inherit property "text()" with the proper type +PASS Window interface: existence and properties of interface object +PASS WorkerGlobalScope interface: operation fetch(RequestInfo, RequestInit) +PASS WorkerGlobalScope interface: self must inherit property "fetch(RequestInfo, RequestInit)" with the proper type +PASS WorkerGlobalScope interface: calling fetch(RequestInfo, RequestInit) on self with too few arguments must throw TypeError Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/fetch/cors-rfc1918/idlharness.tentative.any-expected.txt b/third_party/blink/web_tests/external/wpt/fetch/cors-rfc1918/idlharness.tentative.any-expected.txt deleted file mode 100644 index 43409036..0000000 --- a/third_party/blink/web_tests/external/wpt/fetch/cors-rfc1918/idlharness.tentative.any-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Document: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface WorkerGlobalScope: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/fetch/cors-rfc1918/idlharness.tentative.any.serviceworker-expected.txt b/third_party/blink/web_tests/external/wpt/fetch/cors-rfc1918/idlharness.tentative.any.serviceworker-expected.txt deleted file mode 100644 index 43409036..0000000 --- a/third_party/blink/web_tests/external/wpt/fetch/cors-rfc1918/idlharness.tentative.any.serviceworker-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Document: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface WorkerGlobalScope: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/fetch/cors-rfc1918/idlharness.tentative.any.sharedworker-expected.txt b/third_party/blink/web_tests/external/wpt/fetch/cors-rfc1918/idlharness.tentative.any.sharedworker-expected.txt deleted file mode 100644 index 43409036..0000000 --- a/third_party/blink/web_tests/external/wpt/fetch/cors-rfc1918/idlharness.tentative.any.sharedworker-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Document: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface WorkerGlobalScope: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/fetch/cors-rfc1918/idlharness.tentative.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/fetch/cors-rfc1918/idlharness.tentative.any.worker-expected.txt deleted file mode 100644 index 43409036..0000000 --- a/third_party/blink/web_tests/external/wpt/fetch/cors-rfc1918/idlharness.tentative.any.worker-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Document: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface WorkerGlobalScope: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/fullscreen/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/fullscreen/idlharness.window-expected.txt deleted file mode 100644 index 34b5bd9..0000000 --- a/third_party/blink/web_tests/external/wpt/fullscreen/idlharness.window-expected.txt +++ /dev/null
@@ -1,19 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface Element: original interface defined -PASS Partial interface Document: original interface defined -PASS Partial interface mixin DocumentOrShadowRoot: original interface mixin defined -PASS Document interface: attribute fullscreenEnabled -PASS Document interface: attribute fullscreen -PASS Document interface: operation exitFullscreen() -PASS Document interface: attribute onfullscreenchange -PASS Document interface: attribute onfullscreenerror -PASS Document interface: attribute fullscreenElement -PASS ShadowRoot interface: attribute fullscreenElement -PASS Element interface: operation requestFullscreen(FullscreenOptions) -PASS Element interface: attribute onfullscreenchange -PASS Element interface: attribute onfullscreenerror -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/gamepad/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/gamepad/idlharness.window-expected.txt index 0d821873..915af064 100644 --- a/third_party/blink/web_tests/external/wpt/gamepad/idlharness.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/gamepad/idlharness.window-expected.txt
@@ -1,8 +1,7 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false +PASS idl_test setup +PASS Partial interface Navigator: original interface defined +PASS Partial interface Navigator: valid exposure set PASS Gamepad interface: existence and properties of interface object PASS Gamepad interface object length PASS Gamepad interface object name @@ -32,5 +31,10 @@ PASS GamepadEvent interface: existence and properties of interface prototype object's "constructor" property PASS GamepadEvent interface: existence and properties of interface prototype object's @@unscopables property PASS GamepadEvent interface: attribute gamepad +PASS GamepadEvent must be primary interface of new GamepadEvent("gamepad") +PASS Stringification of new GamepadEvent("gamepad") +PASS GamepadEvent interface: new GamepadEvent("gamepad") must inherit property "gamepad" with the proper type +PASS Navigator interface: operation getGamepads() +PASS Navigator interface: navigator must inherit property "getGamepads()" with the proper type Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/generic-sensor/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/generic-sensor/idlharness.https.window-expected.txt deleted file mode 100644 index c78b7069..0000000 --- a/third_party/blink/web_tests/external/wpt/generic-sensor/idlharness.https.window-expected.txt +++ /dev/null
@@ -1,27 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Sensor interface: existence and properties of interface object -PASS Sensor interface object length -PASS Sensor interface object name -PASS Sensor interface: existence and properties of interface prototype object -PASS Sensor interface: existence and properties of interface prototype object's "constructor" property -PASS Sensor interface: existence and properties of interface prototype object's @@unscopables property -PASS Sensor interface: attribute activated -PASS Sensor interface: attribute hasReading -PASS Sensor interface: attribute timestamp -PASS Sensor interface: operation start() -PASS Sensor interface: operation stop() -PASS Sensor interface: attribute onreading -PASS Sensor interface: attribute onactivate -PASS Sensor interface: attribute onerror -PASS SensorErrorEvent interface: existence and properties of interface object -PASS SensorErrorEvent interface object length -PASS SensorErrorEvent interface object name -PASS SensorErrorEvent interface: existence and properties of interface prototype object -PASS SensorErrorEvent interface: existence and properties of interface prototype object's "constructor" property -PASS SensorErrorEvent interface: existence and properties of interface prototype object's @@unscopables property -PASS SensorErrorEvent interface: attribute error -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/hr-time/idlharness.any-expected.txt b/third_party/blink/web_tests/external/wpt/hr-time/idlharness.any-expected.txt deleted file mode 100644 index c717e8b..0000000 --- a/third_party/blink/web_tests/external/wpt/hr-time/idlharness.any-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/hr-time/idlharness.any.serviceworker-expected.txt b/third_party/blink/web_tests/external/wpt/hr-time/idlharness.any.serviceworker-expected.txt deleted file mode 100644 index c717e8b..0000000 --- a/third_party/blink/web_tests/external/wpt/hr-time/idlharness.any.serviceworker-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/hr-time/idlharness.any.sharedworker-expected.txt b/third_party/blink/web_tests/external/wpt/hr-time/idlharness.any.sharedworker-expected.txt deleted file mode 100644 index c717e8b..0000000 --- a/third_party/blink/web_tests/external/wpt/hr-time/idlharness.any.sharedworker-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/hr-time/idlharness.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/hr-time/idlharness.any.worker-expected.txt deleted file mode 100644 index c717e8b..0000000 --- a/third_party/blink/web_tests/external/wpt/hr-time/idlharness.any.worker-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/html-media-capture/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/html-media-capture/idlharness.window-expected.txt index 0d977e0..c8248ba9 100644 --- a/third_party/blink/web_tests/external/wpt/html-media-capture/idlharness.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/html-media-capture/idlharness.window-expected.txt
@@ -1,7 +1,7 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface HTMLInputElement: original interface defined assert_true: Original interface should be defined expected true got false +PASS idl_test setup +PASS Partial interface HTMLInputElement: original interface defined +FAIL HTMLInputElement interface: attribute capture assert_true: The prototype object must have a property "capture" expected true got false +FAIL HTMLInputElement interface: input must inherit property "capture" with the proper type assert_inherits: property "capture" not found in prototype chain Harness: the test ran to completion.
diff --git "a/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_exclude=\050Document_Window_HTML._\051-expected.txt" "b/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_exclude=\050Document_Window_HTML._\051-expected.txt" index adb6cc43..234075d 100644 --- "a/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_exclude=\050Document_Window_HTML._\051-expected.txt" +++ "b/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_exclude=\050Document_Window_HTML._\051-expected.txt"
@@ -1,6 +1,1275 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 1271 tests; 1223 PASS, 48 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface Document: original interface defined +PASS Partial interface mixin DocumentOrShadowRoot: original interface mixin defined +PASS Partial interface mixin NavigatorID: original interface mixin defined +PASS Partial interface HTMLAnchorElement: original interface defined +PASS Partial interface HTMLAreaElement: original interface defined +PASS Partial interface HTMLBodyElement: original interface defined +PASS Partial interface HTMLBRElement: original interface defined +PASS Partial interface HTMLTableCaptionElement: original interface defined +PASS Partial interface HTMLTableColElement: original interface defined +PASS Partial interface HTMLDivElement: original interface defined +PASS Partial interface HTMLDListElement: original interface defined +PASS Partial interface HTMLEmbedElement: original interface defined +PASS Partial interface HTMLHeadingElement: original interface defined +PASS Partial interface HTMLHRElement: original interface defined +PASS Partial interface HTMLHtmlElement: original interface defined +PASS Partial interface HTMLIFrameElement: original interface defined +PASS Partial interface HTMLImageElement: original interface defined +PASS Partial interface HTMLInputElement: original interface defined +PASS Partial interface HTMLLegendElement: original interface defined +PASS Partial interface HTMLLIElement: original interface defined +PASS Partial interface HTMLLinkElement: original interface defined +PASS Partial interface HTMLMenuElement: original interface defined +PASS Partial interface HTMLMetaElement: original interface defined +PASS Partial interface HTMLObjectElement: original interface defined +PASS Partial interface HTMLOListElement: original interface defined +PASS Partial interface HTMLParagraphElement: original interface defined +PASS Partial interface HTMLParamElement: original interface defined +PASS Partial interface HTMLPreElement: original interface defined +PASS Partial interface HTMLStyleElement: original interface defined +PASS Partial interface HTMLScriptElement: original interface defined +PASS Partial interface HTMLTableElement: original interface defined +PASS Partial interface HTMLTableSectionElement: original interface defined +PASS Partial interface HTMLTableCellElement: original interface defined +PASS Partial interface HTMLTableRowElement: original interface defined +PASS Partial interface HTMLUListElement: original interface defined +PASS Partial interface Document[2]: original interface defined +PASS Partial interface Window: original interface defined +PASS RadioNodeList interface: existence and properties of interface object +PASS RadioNodeList interface object length +PASS RadioNodeList interface object name +PASS RadioNodeList interface: existence and properties of interface prototype object +PASS RadioNodeList interface: existence and properties of interface prototype object's "constructor" property +PASS RadioNodeList interface: existence and properties of interface prototype object's @@unscopables property +PASS RadioNodeList interface: attribute value +PASS DOMStringList interface: existence and properties of interface object +PASS DOMStringList interface object length +PASS DOMStringList interface object name +PASS DOMStringList interface: existence and properties of interface prototype object +PASS DOMStringList interface: existence and properties of interface prototype object's "constructor" property +PASS DOMStringList interface: existence and properties of interface prototype object's @@unscopables property +PASS DOMStringList interface: attribute length +PASS DOMStringList interface: operation item(unsigned long) +PASS DOMStringList interface: operation contains(DOMString) +PASS DOMStringList must be primary interface of location.ancestorOrigins +PASS Stringification of location.ancestorOrigins +PASS DOMStringList interface: location.ancestorOrigins must inherit property "length" with the proper type +PASS DOMStringList interface: location.ancestorOrigins must inherit property "item(unsigned long)" with the proper type +PASS DOMStringList interface: calling item(unsigned long) on location.ancestorOrigins with too few arguments must throw TypeError +PASS DOMStringList interface: location.ancestorOrigins must inherit property "contains(DOMString)" with the proper type +PASS DOMStringList interface: calling contains(DOMString) on location.ancestorOrigins with too few arguments must throw TypeError +PASS DOMStringMap interface: existence and properties of interface object +PASS DOMStringMap interface object length +PASS DOMStringMap interface object name +PASS DOMStringMap interface: existence and properties of interface prototype object +PASS DOMStringMap interface: existence and properties of interface prototype object's "constructor" property +PASS DOMStringMap interface: existence and properties of interface prototype object's @@unscopables property +PASS DOMStringMap must be primary interface of document.head.dataset +PASS Stringification of document.head.dataset +PASS MediaError interface: existence and properties of interface object +PASS MediaError interface object length +PASS MediaError interface object name +PASS MediaError interface: existence and properties of interface prototype object +PASS MediaError interface: existence and properties of interface prototype object's "constructor" property +PASS MediaError interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaError interface: constant MEDIA_ERR_ABORTED on interface object +PASS MediaError interface: constant MEDIA_ERR_ABORTED on interface prototype object +PASS MediaError interface: constant MEDIA_ERR_NETWORK on interface object +PASS MediaError interface: constant MEDIA_ERR_NETWORK on interface prototype object +PASS MediaError interface: constant MEDIA_ERR_DECODE on interface object +PASS MediaError interface: constant MEDIA_ERR_DECODE on interface prototype object +PASS MediaError interface: constant MEDIA_ERR_SRC_NOT_SUPPORTED on interface object +PASS MediaError interface: constant MEDIA_ERR_SRC_NOT_SUPPORTED on interface prototype object +PASS MediaError interface: attribute code +PASS MediaError interface: attribute message +PASS MediaError must be primary interface of errorVideo.error +PASS Stringification of errorVideo.error +PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_ABORTED" with the proper type +PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_NETWORK" with the proper type +PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_DECODE" with the proper type +PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_SRC_NOT_SUPPORTED" with the proper type +PASS MediaError interface: errorVideo.error must inherit property "code" with the proper type +PASS MediaError interface: errorVideo.error must inherit property "message" with the proper type +PASS AudioTrackList interface: existence and properties of interface object +PASS AudioTrackList interface object length +PASS AudioTrackList interface object name +PASS AudioTrackList interface: existence and properties of interface prototype object +PASS AudioTrackList interface: existence and properties of interface prototype object's "constructor" property +PASS AudioTrackList interface: existence and properties of interface prototype object's @@unscopables property +PASS AudioTrackList interface: attribute length +PASS AudioTrackList interface: operation getTrackById(DOMString) +PASS AudioTrackList interface: attribute onchange +PASS AudioTrackList interface: attribute onaddtrack +PASS AudioTrackList interface: attribute onremovetrack +PASS AudioTrack interface: existence and properties of interface object +PASS AudioTrack interface object length +PASS AudioTrack interface object name +PASS AudioTrack interface: existence and properties of interface prototype object +PASS AudioTrack interface: existence and properties of interface prototype object's "constructor" property +PASS AudioTrack interface: existence and properties of interface prototype object's @@unscopables property +PASS AudioTrack interface: attribute id +PASS AudioTrack interface: attribute kind +PASS AudioTrack interface: attribute label +PASS AudioTrack interface: attribute language +PASS AudioTrack interface: attribute enabled +PASS VideoTrackList interface: existence and properties of interface object +PASS VideoTrackList interface object length +PASS VideoTrackList interface object name +PASS VideoTrackList interface: existence and properties of interface prototype object +PASS VideoTrackList interface: existence and properties of interface prototype object's "constructor" property +PASS VideoTrackList interface: existence and properties of interface prototype object's @@unscopables property +PASS VideoTrackList interface: attribute length +PASS VideoTrackList interface: operation getTrackById(DOMString) +PASS VideoTrackList interface: attribute selectedIndex +PASS VideoTrackList interface: attribute onchange +PASS VideoTrackList interface: attribute onaddtrack +PASS VideoTrackList interface: attribute onremovetrack +PASS VideoTrack interface: existence and properties of interface object +PASS VideoTrack interface object length +PASS VideoTrack interface object name +PASS VideoTrack interface: existence and properties of interface prototype object +PASS VideoTrack interface: existence and properties of interface prototype object's "constructor" property +PASS VideoTrack interface: existence and properties of interface prototype object's @@unscopables property +PASS VideoTrack interface: attribute id +PASS VideoTrack interface: attribute kind +PASS VideoTrack interface: attribute label +PASS VideoTrack interface: attribute language +PASS VideoTrack interface: attribute selected +PASS TextTrackList interface: existence and properties of interface object +PASS TextTrackList interface object length +PASS TextTrackList interface object name +PASS TextTrackList interface: existence and properties of interface prototype object +PASS TextTrackList interface: existence and properties of interface prototype object's "constructor" property +PASS TextTrackList interface: existence and properties of interface prototype object's @@unscopables property +PASS TextTrackList interface: attribute length +PASS TextTrackList interface: operation getTrackById(DOMString) +PASS TextTrackList interface: attribute onchange +PASS TextTrackList interface: attribute onaddtrack +PASS TextTrackList interface: attribute onremovetrack +PASS TextTrackList must be primary interface of document.createElement("video").textTracks +PASS Stringification of document.createElement("video").textTracks +PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "length" with the proper type +PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "getTrackById(DOMString)" with the proper type +PASS TextTrackList interface: calling getTrackById(DOMString) on document.createElement("video").textTracks with too few arguments must throw TypeError +PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "onchange" with the proper type +PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "onaddtrack" with the proper type +PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "onremovetrack" with the proper type +PASS TextTrack interface: existence and properties of interface object +PASS TextTrack interface object length +PASS TextTrack interface object name +PASS TextTrack interface: existence and properties of interface prototype object +PASS TextTrack interface: existence and properties of interface prototype object's "constructor" property +PASS TextTrack interface: existence and properties of interface prototype object's @@unscopables property +PASS TextTrack interface: attribute kind +PASS TextTrack interface: attribute label +PASS TextTrack interface: attribute language +PASS TextTrack interface: attribute id +FAIL TextTrack interface: attribute inBandMetadataTrackDispatchType assert_true: The prototype object must have a property "inBandMetadataTrackDispatchType" expected true got false +PASS TextTrack interface: attribute mode +PASS TextTrack interface: attribute cues +PASS TextTrack interface: attribute activeCues +PASS TextTrack interface: operation addCue(TextTrackCue) +PASS TextTrack interface: operation removeCue(TextTrackCue) +PASS TextTrack interface: attribute oncuechange +PASS TextTrack must be primary interface of document.createElement("track").track +PASS Stringification of document.createElement("track").track +PASS TextTrack interface: document.createElement("track").track must inherit property "kind" with the proper type +PASS TextTrack interface: document.createElement("track").track must inherit property "label" with the proper type +PASS TextTrack interface: document.createElement("track").track must inherit property "language" with the proper type +PASS TextTrack interface: document.createElement("track").track must inherit property "id" with the proper type +FAIL TextTrack interface: document.createElement("track").track must inherit property "inBandMetadataTrackDispatchType" with the proper type assert_inherits: property "inBandMetadataTrackDispatchType" not found in prototype chain +PASS TextTrack interface: document.createElement("track").track must inherit property "mode" with the proper type +PASS TextTrack interface: document.createElement("track").track must inherit property "cues" with the proper type +PASS TextTrack interface: document.createElement("track").track must inherit property "activeCues" with the proper type +PASS TextTrack interface: document.createElement("track").track must inherit property "addCue(TextTrackCue)" with the proper type +PASS TextTrack interface: calling addCue(TextTrackCue) on document.createElement("track").track with too few arguments must throw TypeError +PASS TextTrack interface: document.createElement("track").track must inherit property "removeCue(TextTrackCue)" with the proper type +PASS TextTrack interface: calling removeCue(TextTrackCue) on document.createElement("track").track with too few arguments must throw TypeError +PASS TextTrack interface: document.createElement("track").track must inherit property "oncuechange" with the proper type +PASS TextTrackCueList interface: existence and properties of interface object +PASS TextTrackCueList interface object length +PASS TextTrackCueList interface object name +PASS TextTrackCueList interface: existence and properties of interface prototype object +PASS TextTrackCueList interface: existence and properties of interface prototype object's "constructor" property +PASS TextTrackCueList interface: existence and properties of interface prototype object's @@unscopables property +PASS TextTrackCueList interface: attribute length +PASS TextTrackCueList interface: operation getCueById(DOMString) +PASS TextTrackCueList must be primary interface of document.createElement("video").addTextTrack("subtitles").cues +PASS Stringification of document.createElement("video").addTextTrack("subtitles").cues +PASS TextTrackCueList interface: document.createElement("video").addTextTrack("subtitles").cues must inherit property "length" with the proper type +PASS TextTrackCueList interface: document.createElement("video").addTextTrack("subtitles").cues must inherit property "getCueById(DOMString)" with the proper type +PASS TextTrackCueList interface: calling getCueById(DOMString) on document.createElement("video").addTextTrack("subtitles").cues with too few arguments must throw TypeError +PASS TextTrackCue interface: existence and properties of interface object +PASS TextTrackCue interface object length +PASS TextTrackCue interface object name +PASS TextTrackCue interface: existence and properties of interface prototype object +PASS TextTrackCue interface: existence and properties of interface prototype object's "constructor" property +PASS TextTrackCue interface: existence and properties of interface prototype object's @@unscopables property +PASS TextTrackCue interface: attribute track +PASS TextTrackCue interface: attribute id +PASS TextTrackCue interface: attribute startTime +PASS TextTrackCue interface: attribute endTime +PASS TextTrackCue interface: attribute pauseOnExit +PASS TextTrackCue interface: attribute onenter +PASS TextTrackCue interface: attribute onexit +PASS TimeRanges interface: existence and properties of interface object +PASS TimeRanges interface object length +PASS TimeRanges interface object name +PASS TimeRanges interface: existence and properties of interface prototype object +PASS TimeRanges interface: existence and properties of interface prototype object's "constructor" property +PASS TimeRanges interface: existence and properties of interface prototype object's @@unscopables property +PASS TimeRanges interface: attribute length +PASS TimeRanges interface: operation start(unsigned long) +PASS TimeRanges interface: operation end(unsigned long) +PASS TimeRanges must be primary interface of document.createElement("video").buffered +PASS Stringification of document.createElement("video").buffered +PASS TimeRanges interface: document.createElement("video").buffered must inherit property "length" with the proper type +PASS TimeRanges interface: document.createElement("video").buffered must inherit property "start(unsigned long)" with the proper type +PASS TimeRanges interface: calling start(unsigned long) on document.createElement("video").buffered with too few arguments must throw TypeError +PASS TimeRanges interface: document.createElement("video").buffered must inherit property "end(unsigned long)" with the proper type +PASS TimeRanges interface: calling end(unsigned long) on document.createElement("video").buffered with too few arguments must throw TypeError +PASS TrackEvent interface: existence and properties of interface object +PASS TrackEvent interface object length +PASS TrackEvent interface object name +PASS TrackEvent interface: existence and properties of interface prototype object +PASS TrackEvent interface: existence and properties of interface prototype object's "constructor" property +PASS TrackEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS TrackEvent interface: attribute track +PASS TrackEvent must be primary interface of new TrackEvent("addtrack", {track:document.createElement("track").track}) +PASS Stringification of new TrackEvent("addtrack", {track:document.createElement("track").track}) +PASS TrackEvent interface: new TrackEvent("addtrack", {track:document.createElement("track").track}) must inherit property "track" with the proper type +PASS ValidityState interface: existence and properties of interface object +PASS ValidityState interface object length +PASS ValidityState interface object name +PASS ValidityState interface: existence and properties of interface prototype object +PASS ValidityState interface: existence and properties of interface prototype object's "constructor" property +PASS ValidityState interface: existence and properties of interface prototype object's @@unscopables property +PASS ValidityState interface: attribute valueMissing +PASS ValidityState interface: attribute typeMismatch +PASS ValidityState interface: attribute patternMismatch +PASS ValidityState interface: attribute tooLong +PASS ValidityState interface: attribute tooShort +PASS ValidityState interface: attribute rangeUnderflow +PASS ValidityState interface: attribute rangeOverflow +PASS ValidityState interface: attribute stepMismatch +PASS ValidityState interface: attribute badInput +PASS ValidityState interface: attribute customError +PASS ValidityState interface: attribute valid +PASS ValidityState must be primary interface of document.createElement("input").validity +PASS Stringification of document.createElement("input").validity +PASS ValidityState interface: document.createElement("input").validity must inherit property "valueMissing" with the proper type +PASS ValidityState interface: document.createElement("input").validity must inherit property "typeMismatch" with the proper type +PASS ValidityState interface: document.createElement("input").validity must inherit property "patternMismatch" with the proper type +PASS ValidityState interface: document.createElement("input").validity must inherit property "tooLong" with the proper type +PASS ValidityState interface: document.createElement("input").validity must inherit property "tooShort" with the proper type +PASS ValidityState interface: document.createElement("input").validity must inherit property "rangeUnderflow" with the proper type +PASS ValidityState interface: document.createElement("input").validity must inherit property "rangeOverflow" with the proper type +PASS ValidityState interface: document.createElement("input").validity must inherit property "stepMismatch" with the proper type +PASS ValidityState interface: document.createElement("input").validity must inherit property "badInput" with the proper type +PASS ValidityState interface: document.createElement("input").validity must inherit property "customError" with the proper type +PASS ValidityState interface: document.createElement("input").validity must inherit property "valid" with the proper type +PASS FormDataEvent interface: existence and properties of interface object +PASS FormDataEvent interface object length +PASS FormDataEvent interface object name +PASS FormDataEvent interface: existence and properties of interface prototype object +PASS FormDataEvent interface: existence and properties of interface prototype object's "constructor" property +PASS FormDataEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS FormDataEvent interface: attribute formData +PASS FormDataEvent must be primary interface of new FormDataEvent("formdata", { formData: new FormData() }) +PASS Stringification of new FormDataEvent("formdata", { formData: new FormData() }) +PASS FormDataEvent interface: new FormDataEvent("formdata", { formData: new FormData() }) must inherit property "formData" with the proper type +PASS CanvasRenderingContext2D interface: existence and properties of interface object +PASS CanvasRenderingContext2D interface object length +PASS CanvasRenderingContext2D interface object name +PASS CanvasRenderingContext2D interface: existence and properties of interface prototype object +PASS CanvasRenderingContext2D interface: existence and properties of interface prototype object's "constructor" property +PASS CanvasRenderingContext2D interface: existence and properties of interface prototype object's @@unscopables property +PASS CanvasRenderingContext2D interface: attribute canvas +PASS CanvasRenderingContext2D interface: operation getContextAttributes() +PASS CanvasRenderingContext2D interface: operation save() +PASS CanvasRenderingContext2D interface: operation restore() +PASS CanvasRenderingContext2D interface: operation scale(unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation rotate(unrestricted double) +PASS CanvasRenderingContext2D interface: operation translate(unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation transform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation getTransform() +PASS CanvasRenderingContext2D interface: operation setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation setTransform(DOMMatrix2DInit) +PASS CanvasRenderingContext2D interface: operation resetTransform() +PASS CanvasRenderingContext2D interface: attribute globalAlpha +PASS CanvasRenderingContext2D interface: attribute globalCompositeOperation +PASS CanvasRenderingContext2D interface: attribute imageSmoothingEnabled +PASS CanvasRenderingContext2D interface: attribute imageSmoothingQuality +PASS CanvasRenderingContext2D interface: attribute strokeStyle +PASS CanvasRenderingContext2D interface: attribute fillStyle +PASS CanvasRenderingContext2D interface: operation createLinearGradient(double, double, double, double) +PASS CanvasRenderingContext2D interface: operation createRadialGradient(double, double, double, double, double, double) +PASS CanvasRenderingContext2D interface: operation createPattern(CanvasImageSource, DOMString) +PASS CanvasRenderingContext2D interface: attribute shadowOffsetX +PASS CanvasRenderingContext2D interface: attribute shadowOffsetY +PASS CanvasRenderingContext2D interface: attribute shadowBlur +PASS CanvasRenderingContext2D interface: attribute shadowColor +PASS CanvasRenderingContext2D interface: attribute filter +PASS CanvasRenderingContext2D interface: operation clearRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation fillRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation beginPath() +PASS CanvasRenderingContext2D interface: operation fill(CanvasFillRule) +PASS CanvasRenderingContext2D interface: operation fill(Path2D, CanvasFillRule) +PASS CanvasRenderingContext2D interface: operation stroke() +PASS CanvasRenderingContext2D interface: operation stroke(Path2D) +PASS CanvasRenderingContext2D interface: operation clip(CanvasFillRule) +PASS CanvasRenderingContext2D interface: operation clip(Path2D, CanvasFillRule) +PASS CanvasRenderingContext2D interface: operation isPointInPath(unrestricted double, unrestricted double, CanvasFillRule) +PASS CanvasRenderingContext2D interface: operation isPointInPath(Path2D, unrestricted double, unrestricted double, CanvasFillRule) +PASS CanvasRenderingContext2D interface: operation isPointInStroke(unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation isPointInStroke(Path2D, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation drawFocusIfNeeded(Element) +PASS CanvasRenderingContext2D interface: operation drawFocusIfNeeded(Path2D, Element) +PASS CanvasRenderingContext2D interface: operation scrollPathIntoView() +PASS CanvasRenderingContext2D interface: operation scrollPathIntoView(Path2D) +PASS CanvasRenderingContext2D interface: operation fillText(DOMString, unrestricted double, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation strokeText(DOMString, unrestricted double, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation measureText(DOMString) +PASS CanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation createImageData(long, long) +PASS CanvasRenderingContext2D interface: operation createImageData(ImageData) +PASS CanvasRenderingContext2D interface: operation getImageData(long, long, long, long) +PASS CanvasRenderingContext2D interface: operation putImageData(ImageData, long, long) +PASS CanvasRenderingContext2D interface: operation putImageData(ImageData, long, long, long, long, long, long) +PASS CanvasRenderingContext2D interface: attribute lineWidth +PASS CanvasRenderingContext2D interface: attribute lineCap +PASS CanvasRenderingContext2D interface: attribute lineJoin +PASS CanvasRenderingContext2D interface: attribute miterLimit +PASS CanvasRenderingContext2D interface: operation setLineDash([object Object]) +PASS CanvasRenderingContext2D interface: operation getLineDash() +PASS CanvasRenderingContext2D interface: attribute lineDashOffset +PASS CanvasRenderingContext2D interface: attribute font +PASS CanvasRenderingContext2D interface: attribute textAlign +PASS CanvasRenderingContext2D interface: attribute textBaseline +PASS CanvasRenderingContext2D interface: attribute direction +PASS CanvasRenderingContext2D interface: operation closePath() +PASS CanvasRenderingContext2D interface: operation moveTo(unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation lineTo(unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS CanvasRenderingContext2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean) +PASS CanvasRenderingContext2D interface: operation ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean) +PASS CanvasRenderingContext2D must be primary interface of document.createElement("canvas").getContext("2d") +PASS Stringification of document.createElement("canvas").getContext("2d") +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "canvas" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getContextAttributes()" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "save()" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "restore()" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "scale(unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling scale(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "rotate(unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling rotate(unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "translate(unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling translate(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "transform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling transform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getTransform()" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "setTransform(DOMMatrix2DInit)" with the proper type +PASS CanvasRenderingContext2D interface: calling setTransform(DOMMatrix2DInit) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "resetTransform()" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "globalAlpha" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "globalCompositeOperation" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "imageSmoothingEnabled" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "imageSmoothingQuality" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "strokeStyle" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fillStyle" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createLinearGradient(double, double, double, double)" with the proper type +PASS CanvasRenderingContext2D interface: calling createLinearGradient(double, double, double, double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createRadialGradient(double, double, double, double, double, double)" with the proper type +PASS CanvasRenderingContext2D interface: calling createRadialGradient(double, double, double, double, double, double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createPattern(CanvasImageSource, DOMString)" with the proper type +PASS CanvasRenderingContext2D interface: calling createPattern(CanvasImageSource, DOMString) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowOffsetX" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowOffsetY" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowBlur" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowColor" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "filter" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "clearRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling clearRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fillRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling fillRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "beginPath()" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fill(CanvasFillRule)" with the proper type +PASS CanvasRenderingContext2D interface: calling fill(CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fill(Path2D, CanvasFillRule)" with the proper type +PASS CanvasRenderingContext2D interface: calling fill(Path2D, CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "stroke()" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "stroke(Path2D)" with the proper type +PASS CanvasRenderingContext2D interface: calling stroke(Path2D) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "clip(CanvasFillRule)" with the proper type +PASS CanvasRenderingContext2D interface: calling clip(CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "clip(Path2D, CanvasFillRule)" with the proper type +PASS CanvasRenderingContext2D interface: calling clip(Path2D, CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInPath(unrestricted double, unrestricted double, CanvasFillRule)" with the proper type +PASS CanvasRenderingContext2D interface: calling isPointInPath(unrestricted double, unrestricted double, CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInPath(Path2D, unrestricted double, unrestricted double, CanvasFillRule)" with the proper type +PASS CanvasRenderingContext2D interface: calling isPointInPath(Path2D, unrestricted double, unrestricted double, CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInStroke(unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling isPointInStroke(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInStroke(Path2D, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling isPointInStroke(Path2D, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawFocusIfNeeded(Element)" with the proper type +PASS CanvasRenderingContext2D interface: calling drawFocusIfNeeded(Element) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawFocusIfNeeded(Path2D, Element)" with the proper type +PASS CanvasRenderingContext2D interface: calling drawFocusIfNeeded(Path2D, Element) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "scrollPathIntoView()" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "scrollPathIntoView(Path2D)" with the proper type +PASS CanvasRenderingContext2D interface: calling scrollPathIntoView(Path2D) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fillText(DOMString, unrestricted double, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling fillText(DOMString, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "strokeText(DOMString, unrestricted double, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling strokeText(DOMString, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "measureText(DOMString)" with the proper type +PASS CanvasRenderingContext2D interface: calling measureText(DOMString) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawImage(CanvasImageSource, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling drawImage(CanvasImageSource, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createImageData(long, long)" with the proper type +PASS CanvasRenderingContext2D interface: calling createImageData(long, long) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createImageData(ImageData)" with the proper type +PASS CanvasRenderingContext2D interface: calling createImageData(ImageData) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getImageData(long, long, long, long)" with the proper type +PASS CanvasRenderingContext2D interface: calling getImageData(long, long, long, long) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "putImageData(ImageData, long, long)" with the proper type +PASS CanvasRenderingContext2D interface: calling putImageData(ImageData, long, long) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "putImageData(ImageData, long, long, long, long, long, long)" with the proper type +PASS CanvasRenderingContext2D interface: calling putImageData(ImageData, long, long, long, long, long, long) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineWidth" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineCap" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineJoin" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "miterLimit" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "setLineDash([object Object])" with the proper type +PASS CanvasRenderingContext2D interface: calling setLineDash([object Object]) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getLineDash()" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineDashOffset" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "font" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "textAlign" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "textBaseline" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "direction" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "closePath()" with the proper type +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "moveTo(unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling moveTo(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineTo(unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling lineTo(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type +PASS CanvasRenderingContext2D interface: calling rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)" with the proper type +PASS CanvasRenderingContext2D interface: calling arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)" with the proper type +PASS CanvasRenderingContext2D interface: calling ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError +PASS CanvasGradient interface: existence and properties of interface object +PASS CanvasGradient interface object length +PASS CanvasGradient interface object name +PASS CanvasGradient interface: existence and properties of interface prototype object +PASS CanvasGradient interface: existence and properties of interface prototype object's "constructor" property +PASS CanvasGradient interface: existence and properties of interface prototype object's @@unscopables property +PASS CanvasGradient interface: operation addColorStop(double, DOMString) +PASS CanvasPattern interface: existence and properties of interface object +PASS CanvasPattern interface object length +PASS CanvasPattern interface object name +PASS CanvasPattern interface: existence and properties of interface prototype object +PASS CanvasPattern interface: existence and properties of interface prototype object's "constructor" property +PASS CanvasPattern interface: existence and properties of interface prototype object's @@unscopables property +PASS CanvasPattern interface: operation setTransform(DOMMatrix2DInit) +PASS TextMetrics interface: existence and properties of interface object +PASS TextMetrics interface object length +PASS TextMetrics interface object name +PASS TextMetrics interface: existence and properties of interface prototype object +PASS TextMetrics interface: existence and properties of interface prototype object's "constructor" property +PASS TextMetrics interface: existence and properties of interface prototype object's @@unscopables property +PASS TextMetrics interface: attribute width +PASS TextMetrics interface: attribute actualBoundingBoxLeft +PASS TextMetrics interface: attribute actualBoundingBoxRight +PASS TextMetrics interface: attribute fontBoundingBoxAscent +PASS TextMetrics interface: attribute fontBoundingBoxDescent +PASS TextMetrics interface: attribute actualBoundingBoxAscent +PASS TextMetrics interface: attribute actualBoundingBoxDescent +PASS TextMetrics interface: attribute emHeightAscent +PASS TextMetrics interface: attribute emHeightDescent +FAIL TextMetrics interface: attribute hangingBaseline assert_true: The prototype object must have a property "hangingBaseline" expected true got false +FAIL TextMetrics interface: attribute alphabeticBaseline assert_true: The prototype object must have a property "alphabeticBaseline" expected true got false +FAIL TextMetrics interface: attribute ideographicBaseline assert_true: The prototype object must have a property "ideographicBaseline" expected true got false +PASS ImageData interface: existence and properties of interface object +PASS ImageData interface object length +PASS ImageData interface object name +PASS ImageData interface: existence and properties of interface prototype object +PASS ImageData interface: existence and properties of interface prototype object's "constructor" property +PASS ImageData interface: existence and properties of interface prototype object's @@unscopables property +PASS ImageData interface: attribute width +PASS ImageData interface: attribute height +PASS ImageData interface: attribute data +PASS ImageData must be primary interface of new ImageData(10, 10) +PASS Stringification of new ImageData(10, 10) +PASS ImageData interface: new ImageData(10, 10) must inherit property "width" with the proper type +PASS ImageData interface: new ImageData(10, 10) must inherit property "height" with the proper type +FAIL ImageData interface: new ImageData(10, 10) must inherit property "data" with the proper type assert_inherits: property "data" found on object expected in prototype chain +PASS Path2D interface: existence and properties of interface object +PASS Path2D interface object length +PASS Path2D interface object name +PASS Path2D interface: existence and properties of interface prototype object +PASS Path2D interface: existence and properties of interface prototype object's "constructor" property +PASS Path2D interface: existence and properties of interface prototype object's @@unscopables property +PASS Path2D interface: operation addPath(Path2D, DOMMatrix2DInit) +PASS Path2D interface: operation closePath() +PASS Path2D interface: operation moveTo(unrestricted double, unrestricted double) +PASS Path2D interface: operation lineTo(unrestricted double, unrestricted double) +PASS Path2D interface: operation quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS Path2D interface: operation bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS Path2D interface: operation arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS Path2D interface: operation rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS Path2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean) +PASS Path2D interface: operation ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean) +PASS ImageBitmapRenderingContext interface: existence and properties of interface object +PASS ImageBitmapRenderingContext interface object length +PASS ImageBitmapRenderingContext interface object name +PASS ImageBitmapRenderingContext interface: existence and properties of interface prototype object +PASS ImageBitmapRenderingContext interface: existence and properties of interface prototype object's "constructor" property +PASS ImageBitmapRenderingContext interface: existence and properties of interface prototype object's @@unscopables property +PASS ImageBitmapRenderingContext interface: attribute canvas +PASS ImageBitmapRenderingContext interface: operation transferFromImageBitmap(ImageBitmap) +PASS OffscreenCanvas interface: existence and properties of interface object +PASS OffscreenCanvas interface object length +PASS OffscreenCanvas interface object name +PASS OffscreenCanvas interface: existence and properties of interface prototype object +PASS OffscreenCanvas interface: existence and properties of interface prototype object's "constructor" property +PASS OffscreenCanvas interface: existence and properties of interface prototype object's @@unscopables property +PASS OffscreenCanvas interface: attribute width +PASS OffscreenCanvas interface: attribute height +PASS OffscreenCanvas interface: operation getContext(OffscreenRenderingContextId, any) +PASS OffscreenCanvas interface: operation transferToImageBitmap() +PASS OffscreenCanvas interface: operation convertToBlob(ImageEncodeOptions) +PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface object +PASS OffscreenCanvasRenderingContext2D interface object length +PASS OffscreenCanvasRenderingContext2D interface object name +PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object +PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object's "constructor" property +PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object's @@unscopables property +PASS OffscreenCanvasRenderingContext2D interface: operation commit() +PASS OffscreenCanvasRenderingContext2D interface: attribute canvas +PASS OffscreenCanvasRenderingContext2D interface: operation save() +PASS OffscreenCanvasRenderingContext2D interface: operation restore() +PASS OffscreenCanvasRenderingContext2D interface: operation scale(unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation rotate(unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation translate(unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation transform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +FAIL OffscreenCanvasRenderingContext2D interface: operation getTransform() assert_own_property: interface prototype object missing non-static operation expected property "getTransform" missing +FAIL OffscreenCanvasRenderingContext2D interface: operation setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) assert_equals: property has wrong .length expected 0 but got 6 +FAIL OffscreenCanvasRenderingContext2D interface: operation setTransform(DOMMatrix2DInit) assert_equals: property has wrong .length expected 0 but got 6 +PASS OffscreenCanvasRenderingContext2D interface: operation resetTransform() +PASS OffscreenCanvasRenderingContext2D interface: attribute globalAlpha +PASS OffscreenCanvasRenderingContext2D interface: attribute globalCompositeOperation +PASS OffscreenCanvasRenderingContext2D interface: attribute imageSmoothingEnabled +PASS OffscreenCanvasRenderingContext2D interface: attribute imageSmoothingQuality +PASS OffscreenCanvasRenderingContext2D interface: attribute strokeStyle +PASS OffscreenCanvasRenderingContext2D interface: attribute fillStyle +PASS OffscreenCanvasRenderingContext2D interface: operation createLinearGradient(double, double, double, double) +PASS OffscreenCanvasRenderingContext2D interface: operation createRadialGradient(double, double, double, double, double, double) +PASS OffscreenCanvasRenderingContext2D interface: operation createPattern(CanvasImageSource, DOMString) +PASS OffscreenCanvasRenderingContext2D interface: attribute shadowOffsetX +PASS OffscreenCanvasRenderingContext2D interface: attribute shadowOffsetY +PASS OffscreenCanvasRenderingContext2D interface: attribute shadowBlur +PASS OffscreenCanvasRenderingContext2D interface: attribute shadowColor +PASS OffscreenCanvasRenderingContext2D interface: attribute filter +PASS OffscreenCanvasRenderingContext2D interface: operation clearRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation fillRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation beginPath() +PASS OffscreenCanvasRenderingContext2D interface: operation fill(CanvasFillRule) +PASS OffscreenCanvasRenderingContext2D interface: operation fill(Path2D, CanvasFillRule) +PASS OffscreenCanvasRenderingContext2D interface: operation stroke() +PASS OffscreenCanvasRenderingContext2D interface: operation stroke(Path2D) +PASS OffscreenCanvasRenderingContext2D interface: operation clip(CanvasFillRule) +PASS OffscreenCanvasRenderingContext2D interface: operation clip(Path2D, CanvasFillRule) +PASS OffscreenCanvasRenderingContext2D interface: operation isPointInPath(unrestricted double, unrestricted double, CanvasFillRule) +PASS OffscreenCanvasRenderingContext2D interface: operation isPointInPath(Path2D, unrestricted double, unrestricted double, CanvasFillRule) +PASS OffscreenCanvasRenderingContext2D interface: operation isPointInStroke(unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation isPointInStroke(Path2D, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation fillText(DOMString, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation strokeText(DOMString, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation measureText(DOMString) +PASS OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation createImageData(long, long) +PASS OffscreenCanvasRenderingContext2D interface: operation createImageData(ImageData) +PASS OffscreenCanvasRenderingContext2D interface: operation getImageData(long, long, long, long) +PASS OffscreenCanvasRenderingContext2D interface: operation putImageData(ImageData, long, long) +PASS OffscreenCanvasRenderingContext2D interface: operation putImageData(ImageData, long, long, long, long, long, long) +PASS OffscreenCanvasRenderingContext2D interface: attribute lineWidth +PASS OffscreenCanvasRenderingContext2D interface: attribute lineCap +PASS OffscreenCanvasRenderingContext2D interface: attribute lineJoin +PASS OffscreenCanvasRenderingContext2D interface: attribute miterLimit +PASS OffscreenCanvasRenderingContext2D interface: operation setLineDash([object Object]) +PASS OffscreenCanvasRenderingContext2D interface: operation getLineDash() +PASS OffscreenCanvasRenderingContext2D interface: attribute lineDashOffset +PASS OffscreenCanvasRenderingContext2D interface: attribute font +PASS OffscreenCanvasRenderingContext2D interface: attribute textAlign +PASS OffscreenCanvasRenderingContext2D interface: attribute textBaseline +PASS OffscreenCanvasRenderingContext2D interface: attribute direction +PASS OffscreenCanvasRenderingContext2D interface: operation closePath() +PASS OffscreenCanvasRenderingContext2D interface: operation moveTo(unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation lineTo(unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean) +PASS OffscreenCanvasRenderingContext2D interface: operation ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean) +PASS CustomElementRegistry interface: existence and properties of interface object +PASS CustomElementRegistry interface object length +PASS CustomElementRegistry interface object name +PASS CustomElementRegistry interface: existence and properties of interface prototype object +PASS CustomElementRegistry interface: existence and properties of interface prototype object's "constructor" property +PASS CustomElementRegistry interface: existence and properties of interface prototype object's @@unscopables property +PASS CustomElementRegistry interface: operation define(DOMString, CustomElementConstructor, ElementDefinitionOptions) +PASS CustomElementRegistry interface: operation get(DOMString) +PASS CustomElementRegistry interface: operation whenDefined(DOMString) +PASS CustomElementRegistry interface: operation upgrade(Node) +PASS ElementInternals interface: existence and properties of interface object +PASS ElementInternals interface object length +PASS ElementInternals interface object name +PASS ElementInternals interface: existence and properties of interface prototype object +PASS ElementInternals interface: existence and properties of interface prototype object's "constructor" property +PASS ElementInternals interface: existence and properties of interface prototype object's @@unscopables property +PASS ElementInternals interface: operation setFormValue([object Object],[object Object],[object Object], [object Object],[object Object],[object Object]) +PASS ElementInternals interface: attribute form +PASS ElementInternals interface: operation setValidity(ValidityStateFlags, DOMString, HTMLElement) +PASS ElementInternals interface: attribute willValidate +PASS ElementInternals interface: attribute validity +PASS ElementInternals interface: attribute validationMessage +PASS ElementInternals interface: operation checkValidity() +PASS ElementInternals interface: operation reportValidity() +PASS ElementInternals interface: attribute labels +PASS DataTransfer interface: existence and properties of interface object +PASS DataTransfer interface object length +PASS DataTransfer interface object name +PASS DataTransfer interface: existence and properties of interface prototype object +PASS DataTransfer interface: existence and properties of interface prototype object's "constructor" property +PASS DataTransfer interface: existence and properties of interface prototype object's @@unscopables property +PASS DataTransfer interface: attribute dropEffect +PASS DataTransfer interface: attribute effectAllowed +PASS DataTransfer interface: attribute items +PASS DataTransfer interface: operation setDragImage(Element, long, long) +PASS DataTransfer interface: attribute types +PASS DataTransfer interface: operation getData(DOMString) +PASS DataTransfer interface: operation setData(DOMString, DOMString) +PASS DataTransfer interface: operation clearData(DOMString) +PASS DataTransfer interface: attribute files +PASS DataTransferItemList interface: existence and properties of interface object +PASS DataTransferItemList interface object length +PASS DataTransferItemList interface object name +PASS DataTransferItemList interface: existence and properties of interface prototype object +PASS DataTransferItemList interface: existence and properties of interface prototype object's "constructor" property +PASS DataTransferItemList interface: existence and properties of interface prototype object's @@unscopables property +PASS DataTransferItemList interface: attribute length +PASS DataTransferItemList interface: operation add(DOMString, DOMString) +PASS DataTransferItemList interface: operation add(File) +PASS DataTransferItemList interface: operation remove(unsigned long) +PASS DataTransferItemList interface: operation clear() +PASS DataTransferItem interface: existence and properties of interface object +PASS DataTransferItem interface object length +PASS DataTransferItem interface object name +PASS DataTransferItem interface: existence and properties of interface prototype object +PASS DataTransferItem interface: existence and properties of interface prototype object's "constructor" property +PASS DataTransferItem interface: existence and properties of interface prototype object's @@unscopables property +PASS DataTransferItem interface: attribute kind +PASS DataTransferItem interface: attribute type +PASS DataTransferItem interface: operation getAsString(FunctionStringCallback) +PASS DataTransferItem interface: operation getAsFile() +PASS DragEvent interface: existence and properties of interface object +PASS DragEvent interface object length +PASS DragEvent interface object name +PASS DragEvent interface: existence and properties of interface prototype object +PASS DragEvent interface: existence and properties of interface prototype object's "constructor" property +PASS DragEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS DragEvent interface: attribute dataTransfer +PASS BarProp interface: existence and properties of interface object +PASS BarProp interface object length +PASS BarProp interface object name +PASS BarProp interface: existence and properties of interface prototype object +PASS BarProp interface: existence and properties of interface prototype object's "constructor" property +PASS BarProp interface: existence and properties of interface prototype object's @@unscopables property +PASS BarProp interface: attribute visible +PASS History interface: existence and properties of interface object +PASS History interface object length +PASS History interface object name +PASS History interface: existence and properties of interface prototype object +PASS History interface: existence and properties of interface prototype object's "constructor" property +PASS History interface: existence and properties of interface prototype object's @@unscopables property +PASS History interface: attribute length +PASS History interface: attribute scrollRestoration +PASS History interface: attribute state +PASS History interface: operation go(long) +PASS History interface: operation back() +PASS History interface: operation forward() +PASS History interface: operation pushState(any, DOMString, USVString) +PASS History interface: operation replaceState(any, DOMString, USVString) +PASS History must be primary interface of window.history +PASS Stringification of window.history +PASS History interface: window.history must inherit property "length" with the proper type +PASS History interface: window.history must inherit property "scrollRestoration" with the proper type +PASS History interface: window.history must inherit property "state" with the proper type +PASS History interface: window.history must inherit property "go(long)" with the proper type +PASS History interface: calling go(long) on window.history with too few arguments must throw TypeError +PASS History interface: window.history must inherit property "back()" with the proper type +PASS History interface: window.history must inherit property "forward()" with the proper type +PASS History interface: window.history must inherit property "pushState(any, DOMString, USVString)" with the proper type +PASS History interface: calling pushState(any, DOMString, USVString) on window.history with too few arguments must throw TypeError +PASS History interface: window.history must inherit property "replaceState(any, DOMString, USVString)" with the proper type +PASS History interface: calling replaceState(any, DOMString, USVString) on window.history with too few arguments must throw TypeError +PASS Location interface: existence and properties of interface object +PASS Location interface object length +PASS Location interface object name +PASS Location interface: existence and properties of interface prototype object +PASS Location interface: existence and properties of interface prototype object's "constructor" property +PASS Location interface: existence and properties of interface prototype object's @@unscopables property +FAIL Location interface: stringifier assert_own_property: interface prototype object missing non-static operation expected property "toString" missing +PASS Location must be primary interface of window.location +PASS Stringification of window.location +FAIL Location interface: window.location must have own property "href" assert_false: property descriptor should not have a "value" field expected false got true +PASS Location interface: window.location must have own property "origin" +PASS Location interface: window.location must have own property "protocol" +PASS Location interface: window.location must have own property "host" +PASS Location interface: window.location must have own property "hostname" +PASS Location interface: window.location must have own property "port" +PASS Location interface: window.location must have own property "pathname" +PASS Location interface: window.location must have own property "search" +PASS Location interface: window.location must have own property "hash" +PASS Location interface: window.location must have own property "assign" +PASS Location interface: calling assign(USVString) on window.location with too few arguments must throw TypeError +PASS Location interface: window.location must have own property "replace" +PASS Location interface: calling replace(USVString) on window.location with too few arguments must throw TypeError +PASS Location interface: window.location must have own property "reload" +PASS Location interface: window.location must have own property "ancestorOrigins" +PASS PopStateEvent interface: existence and properties of interface object +PASS PopStateEvent interface object length +PASS PopStateEvent interface object name +PASS PopStateEvent interface: existence and properties of interface prototype object +PASS PopStateEvent interface: existence and properties of interface prototype object's "constructor" property +PASS PopStateEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS PopStateEvent interface: attribute state +PASS PopStateEvent must be primary interface of new PopStateEvent("popstate", { data: {} }) +PASS Stringification of new PopStateEvent("popstate", { data: {} }) +PASS PopStateEvent interface: new PopStateEvent("popstate", { data: {} }) must inherit property "state" with the proper type +PASS HashChangeEvent interface: existence and properties of interface object +PASS HashChangeEvent interface object length +PASS HashChangeEvent interface object name +PASS HashChangeEvent interface: existence and properties of interface prototype object +PASS HashChangeEvent interface: existence and properties of interface prototype object's "constructor" property +PASS HashChangeEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS HashChangeEvent interface: attribute oldURL +PASS HashChangeEvent interface: attribute newURL +PASS PageTransitionEvent interface: existence and properties of interface object +PASS PageTransitionEvent interface object length +PASS PageTransitionEvent interface object name +PASS PageTransitionEvent interface: existence and properties of interface prototype object +PASS PageTransitionEvent interface: existence and properties of interface prototype object's "constructor" property +PASS PageTransitionEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS PageTransitionEvent interface: attribute persisted +PASS BeforeUnloadEvent interface: existence and properties of interface object +PASS BeforeUnloadEvent interface object length +PASS BeforeUnloadEvent interface object name +PASS BeforeUnloadEvent interface: existence and properties of interface prototype object +PASS BeforeUnloadEvent interface: existence and properties of interface prototype object's "constructor" property +PASS BeforeUnloadEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS BeforeUnloadEvent interface: attribute returnValue +PASS ApplicationCache interface: existence and properties of interface object +PASS ApplicationCache interface object length +PASS ApplicationCache interface object name +PASS ApplicationCache interface: existence and properties of interface prototype object +PASS ApplicationCache interface: existence and properties of interface prototype object's "constructor" property +PASS ApplicationCache interface: existence and properties of interface prototype object's @@unscopables property +PASS ApplicationCache interface: constant UNCACHED on interface object +PASS ApplicationCache interface: constant UNCACHED on interface prototype object +PASS ApplicationCache interface: constant IDLE on interface object +PASS ApplicationCache interface: constant IDLE on interface prototype object +PASS ApplicationCache interface: constant CHECKING on interface object +PASS ApplicationCache interface: constant CHECKING on interface prototype object +PASS ApplicationCache interface: constant DOWNLOADING on interface object +PASS ApplicationCache interface: constant DOWNLOADING on interface prototype object +PASS ApplicationCache interface: constant UPDATEREADY on interface object +PASS ApplicationCache interface: constant UPDATEREADY on interface prototype object +PASS ApplicationCache interface: constant OBSOLETE on interface object +PASS ApplicationCache interface: constant OBSOLETE on interface prototype object +PASS ApplicationCache interface: attribute status +PASS ApplicationCache interface: operation update() +PASS ApplicationCache interface: operation abort() +PASS ApplicationCache interface: operation swapCache() +PASS ApplicationCache interface: attribute onchecking +PASS ApplicationCache interface: attribute onerror +PASS ApplicationCache interface: attribute onnoupdate +PASS ApplicationCache interface: attribute ondownloading +PASS ApplicationCache interface: attribute onprogress +PASS ApplicationCache interface: attribute onupdateready +PASS ApplicationCache interface: attribute oncached +PASS ApplicationCache interface: attribute onobsolete +PASS ApplicationCache must be primary interface of window.applicationCache +PASS Stringification of window.applicationCache +PASS ApplicationCache interface: window.applicationCache must inherit property "UNCACHED" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "IDLE" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "CHECKING" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "DOWNLOADING" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "UPDATEREADY" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "OBSOLETE" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "status" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "update()" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "abort()" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "swapCache()" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "onchecking" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "onerror" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "onnoupdate" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "ondownloading" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "onprogress" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "onupdateready" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "oncached" with the proper type +PASS ApplicationCache interface: window.applicationCache must inherit property "onobsolete" with the proper type +PASS ErrorEvent interface: existence and properties of interface object +PASS ErrorEvent interface object length +PASS ErrorEvent interface object name +PASS ErrorEvent interface: existence and properties of interface prototype object +PASS ErrorEvent interface: existence and properties of interface prototype object's "constructor" property +PASS ErrorEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS ErrorEvent interface: attribute message +PASS ErrorEvent interface: attribute filename +PASS ErrorEvent interface: attribute lineno +PASS ErrorEvent interface: attribute colno +PASS ErrorEvent interface: attribute error +PASS PromiseRejectionEvent interface: existence and properties of interface object +PASS PromiseRejectionEvent interface object length +PASS PromiseRejectionEvent interface object name +PASS PromiseRejectionEvent interface: existence and properties of interface prototype object +PASS PromiseRejectionEvent interface: existence and properties of interface prototype object's "constructor" property +PASS PromiseRejectionEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS PromiseRejectionEvent interface: attribute promise +PASS PromiseRejectionEvent interface: attribute reason +PASS Navigator interface: existence and properties of interface object +PASS Navigator interface object length +PASS Navigator interface object name +PASS Navigator interface: existence and properties of interface prototype object +PASS Navigator interface: existence and properties of interface prototype object's "constructor" property +PASS Navigator interface: existence and properties of interface prototype object's @@unscopables property +PASS Navigator interface: attribute appCodeName +PASS Navigator interface: attribute appName +PASS Navigator interface: attribute appVersion +PASS Navigator interface: attribute platform +PASS Navigator interface: attribute product +PASS Navigator interface: attribute productSub +PASS Navigator interface: attribute userAgent +PASS Navigator interface: attribute vendor +PASS Navigator interface: attribute vendorSub +FAIL Navigator interface: operation taintEnabled() assert_own_property: interface prototype object missing non-static operation expected property "taintEnabled" missing +FAIL Navigator interface: attribute oscpu assert_true: The prototype object must have a property "oscpu" expected true got false +PASS Navigator interface: attribute language +PASS Navigator interface: attribute languages +PASS Navigator interface: attribute onLine +PASS Navigator interface: operation registerProtocolHandler(DOMString, USVString, DOMString) +PASS Navigator interface: operation unregisterProtocolHandler(DOMString, USVString) +PASS Navigator interface: attribute cookieEnabled +PASS Navigator interface: attribute plugins +PASS Navigator interface: attribute mimeTypes +PASS Navigator interface: operation javaEnabled() +PASS Navigator interface: attribute hardwareConcurrency +PASS Navigator must be primary interface of window.navigator +PASS Stringification of window.navigator +PASS Navigator interface: window.navigator must inherit property "appCodeName" with the proper type +PASS Navigator interface: window.navigator must inherit property "appName" with the proper type +PASS Navigator interface: window.navigator must inherit property "appVersion" with the proper type +PASS Navigator interface: window.navigator must inherit property "platform" with the proper type +PASS Navigator interface: window.navigator must inherit property "product" with the proper type +PASS Navigator interface: window.navigator must inherit property "productSub" with the proper type +PASS Navigator interface: window.navigator must inherit property "userAgent" with the proper type +PASS Navigator interface: window.navigator must inherit property "vendor" with the proper type +PASS Navigator interface: window.navigator must inherit property "vendorSub" with the proper type +FAIL Navigator interface: window.navigator must inherit property "taintEnabled()" with the proper type assert_inherits: property "taintEnabled" not found in prototype chain +FAIL Navigator interface: window.navigator must inherit property "oscpu" with the proper type assert_inherits: property "oscpu" not found in prototype chain +PASS Navigator interface: window.navigator must inherit property "language" with the proper type +PASS Navigator interface: window.navigator must inherit property "languages" with the proper type +PASS Navigator interface: window.navigator must inherit property "onLine" with the proper type +PASS Navigator interface: window.navigator must inherit property "registerProtocolHandler(DOMString, USVString, DOMString)" with the proper type +PASS Navigator interface: calling registerProtocolHandler(DOMString, USVString, DOMString) on window.navigator with too few arguments must throw TypeError +PASS Navigator interface: window.navigator must inherit property "unregisterProtocolHandler(DOMString, USVString)" with the proper type +PASS Navigator interface: calling unregisterProtocolHandler(DOMString, USVString) on window.navigator with too few arguments must throw TypeError +PASS Navigator interface: window.navigator must inherit property "cookieEnabled" with the proper type +PASS Navigator interface: window.navigator must inherit property "plugins" with the proper type +PASS Navigator interface: window.navigator must inherit property "mimeTypes" with the proper type +PASS Navigator interface: window.navigator must inherit property "javaEnabled()" with the proper type +PASS Navigator interface: window.navigator must inherit property "hardwareConcurrency" with the proper type +PASS PluginArray interface: existence and properties of interface object +PASS PluginArray interface object length +PASS PluginArray interface object name +PASS PluginArray interface: existence and properties of interface prototype object +PASS PluginArray interface: existence and properties of interface prototype object's "constructor" property +PASS PluginArray interface: existence and properties of interface prototype object's @@unscopables property +PASS PluginArray interface: operation refresh(boolean) +PASS PluginArray interface: attribute length +PASS PluginArray interface: operation item(unsigned long) +PASS PluginArray interface: operation namedItem(DOMString) +PASS MimeTypeArray interface: existence and properties of interface object +PASS MimeTypeArray interface object length +PASS MimeTypeArray interface object name +PASS MimeTypeArray interface: existence and properties of interface prototype object +PASS MimeTypeArray interface: existence and properties of interface prototype object's "constructor" property +PASS MimeTypeArray interface: existence and properties of interface prototype object's @@unscopables property +PASS MimeTypeArray interface: attribute length +PASS MimeTypeArray interface: operation item(unsigned long) +PASS MimeTypeArray interface: operation namedItem(DOMString) +PASS Plugin interface: existence and properties of interface object +PASS Plugin interface object length +PASS Plugin interface object name +PASS Plugin interface: existence and properties of interface prototype object +PASS Plugin interface: existence and properties of interface prototype object's "constructor" property +PASS Plugin interface: existence and properties of interface prototype object's @@unscopables property +PASS Plugin interface: attribute name +PASS Plugin interface: attribute description +PASS Plugin interface: attribute filename +PASS Plugin interface: attribute length +PASS Plugin interface: operation item(unsigned long) +PASS Plugin interface: operation namedItem(DOMString) +PASS MimeType interface: existence and properties of interface object +PASS MimeType interface object length +PASS MimeType interface object name +PASS MimeType interface: existence and properties of interface prototype object +PASS MimeType interface: existence and properties of interface prototype object's "constructor" property +PASS MimeType interface: existence and properties of interface prototype object's @@unscopables property +PASS MimeType interface: attribute type +PASS MimeType interface: attribute description +PASS MimeType interface: attribute suffixes +PASS MimeType interface: attribute enabledPlugin +PASS ImageBitmap interface: existence and properties of interface object +PASS ImageBitmap interface object length +PASS ImageBitmap interface object name +PASS ImageBitmap interface: existence and properties of interface prototype object +PASS ImageBitmap interface: existence and properties of interface prototype object's "constructor" property +PASS ImageBitmap interface: existence and properties of interface prototype object's @@unscopables property +PASS ImageBitmap interface: attribute width +PASS ImageBitmap interface: attribute height +PASS ImageBitmap interface: operation close() +PASS MessageEvent interface: existence and properties of interface object +PASS MessageEvent interface object length +PASS MessageEvent interface object name +PASS MessageEvent interface: existence and properties of interface prototype object +PASS MessageEvent interface: existence and properties of interface prototype object's "constructor" property +PASS MessageEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS MessageEvent interface: attribute data +PASS MessageEvent interface: attribute origin +PASS MessageEvent interface: attribute lastEventId +PASS MessageEvent interface: attribute source +PASS MessageEvent interface: attribute ports +PASS MessageEvent interface: operation initMessageEvent(DOMString, boolean, boolean, any, USVString, DOMString, MessageEventSource, [object Object]) +PASS MessageEvent must be primary interface of new MessageEvent("message", { data: 5 }) +PASS Stringification of new MessageEvent("message", { data: 5 }) +PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "data" with the proper type +PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "origin" with the proper type +PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "lastEventId" with the proper type +FAIL MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "source" with the proper type Unrecognized type WindowProxy +PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "ports" with the proper type +PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "initMessageEvent(DOMString, boolean, boolean, any, USVString, DOMString, MessageEventSource, [object Object])" with the proper type +PASS MessageEvent interface: calling initMessageEvent(DOMString, boolean, boolean, any, USVString, DOMString, MessageEventSource, [object Object]) on new MessageEvent("message", { data: 5 }) with too few arguments must throw TypeError +PASS EventSource interface: existence and properties of interface object +PASS EventSource interface object length +PASS EventSource interface object name +PASS EventSource interface: existence and properties of interface prototype object +PASS EventSource interface: existence and properties of interface prototype object's "constructor" property +PASS EventSource interface: existence and properties of interface prototype object's @@unscopables property +PASS EventSource interface: attribute url +PASS EventSource interface: attribute withCredentials +PASS EventSource interface: constant CONNECTING on interface object +PASS EventSource interface: constant CONNECTING on interface prototype object +PASS EventSource interface: constant OPEN on interface object +PASS EventSource interface: constant OPEN on interface prototype object +PASS EventSource interface: constant CLOSED on interface object +PASS EventSource interface: constant CLOSED on interface prototype object +PASS EventSource interface: attribute readyState +PASS EventSource interface: attribute onopen +PASS EventSource interface: attribute onmessage +PASS EventSource interface: attribute onerror +PASS EventSource interface: operation close() +PASS WebSocket interface: existence and properties of interface object +PASS WebSocket interface object length +PASS WebSocket interface object name +PASS WebSocket interface: existence and properties of interface prototype object +PASS WebSocket interface: existence and properties of interface prototype object's "constructor" property +PASS WebSocket interface: existence and properties of interface prototype object's @@unscopables property +PASS WebSocket interface: attribute url +PASS WebSocket interface: constant CONNECTING on interface object +PASS WebSocket interface: constant CONNECTING on interface prototype object +PASS WebSocket interface: constant OPEN on interface object +PASS WebSocket interface: constant OPEN on interface prototype object +PASS WebSocket interface: constant CLOSING on interface object +PASS WebSocket interface: constant CLOSING on interface prototype object +PASS WebSocket interface: constant CLOSED on interface object +PASS WebSocket interface: constant CLOSED on interface prototype object +PASS WebSocket interface: attribute readyState +PASS WebSocket interface: attribute bufferedAmount +PASS WebSocket interface: attribute onopen +PASS WebSocket interface: attribute onerror +PASS WebSocket interface: attribute onclose +PASS WebSocket interface: attribute extensions +PASS WebSocket interface: attribute protocol +PASS WebSocket interface: operation close(unsigned short, USVString) +PASS WebSocket interface: attribute onmessage +PASS WebSocket interface: attribute binaryType +PASS WebSocket interface: operation send(USVString) +PASS WebSocket interface: operation send(Blob) +PASS WebSocket interface: operation send(ArrayBuffer) +PASS WebSocket interface: operation send(ArrayBufferView) +PASS WebSocket must be primary interface of new WebSocket("wss://nonexistent.web-platform.test") +PASS Stringification of new WebSocket("wss://nonexistent.web-platform.test") +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "url" with the proper type +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "CONNECTING" with the proper type +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "OPEN" with the proper type +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "CLOSING" with the proper type +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "CLOSED" with the proper type +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "readyState" with the proper type +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "bufferedAmount" with the proper type +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "onopen" with the proper type +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "onerror" with the proper type +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "onclose" with the proper type +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "extensions" with the proper type +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "protocol" with the proper type +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "close(unsigned short, USVString)" with the proper type +PASS WebSocket interface: calling close(unsigned short, USVString) on new WebSocket("wss://nonexistent.web-platform.test") with too few arguments must throw TypeError +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "onmessage" with the proper type +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "binaryType" with the proper type +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "send(USVString)" with the proper type +PASS WebSocket interface: calling send(USVString) on new WebSocket("wss://nonexistent.web-platform.test") with too few arguments must throw TypeError +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "send(Blob)" with the proper type +PASS WebSocket interface: calling send(Blob) on new WebSocket("wss://nonexistent.web-platform.test") with too few arguments must throw TypeError +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "send(ArrayBuffer)" with the proper type +PASS WebSocket interface: calling send(ArrayBuffer) on new WebSocket("wss://nonexistent.web-platform.test") with too few arguments must throw TypeError +PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "send(ArrayBufferView)" with the proper type +PASS WebSocket interface: calling send(ArrayBufferView) on new WebSocket("wss://nonexistent.web-platform.test") with too few arguments must throw TypeError +PASS CloseEvent interface: existence and properties of interface object +PASS CloseEvent interface object length +PASS CloseEvent interface object name +PASS CloseEvent interface: existence and properties of interface prototype object +PASS CloseEvent interface: existence and properties of interface prototype object's "constructor" property +PASS CloseEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS CloseEvent interface: attribute wasClean +PASS CloseEvent interface: attribute code +PASS CloseEvent interface: attribute reason +PASS CloseEvent must be primary interface of new CloseEvent("close") +PASS Stringification of new CloseEvent("close") +PASS CloseEvent interface: new CloseEvent("close") must inherit property "wasClean" with the proper type +PASS CloseEvent interface: new CloseEvent("close") must inherit property "code" with the proper type +PASS CloseEvent interface: new CloseEvent("close") must inherit property "reason" with the proper type +PASS MessageChannel interface: existence and properties of interface object +PASS MessageChannel interface object length +PASS MessageChannel interface object name +PASS MessageChannel interface: existence and properties of interface prototype object +PASS MessageChannel interface: existence and properties of interface prototype object's "constructor" property +PASS MessageChannel interface: existence and properties of interface prototype object's @@unscopables property +PASS MessageChannel interface: attribute port1 +PASS MessageChannel interface: attribute port2 +PASS MessagePort interface: existence and properties of interface object +PASS MessagePort interface object length +PASS MessagePort interface object name +PASS MessagePort interface: existence and properties of interface prototype object +PASS MessagePort interface: existence and properties of interface prototype object's "constructor" property +PASS MessagePort interface: existence and properties of interface prototype object's @@unscopables property +PASS MessagePort interface: operation postMessage(any, [object Object]) +PASS MessagePort interface: operation postMessage(any, PostMessageOptions) +PASS MessagePort interface: operation start() +PASS MessagePort interface: operation close() +PASS MessagePort interface: attribute onmessage +PASS MessagePort interface: attribute onmessageerror +PASS BroadcastChannel interface: existence and properties of interface object +PASS BroadcastChannel interface object length +PASS BroadcastChannel interface object name +PASS BroadcastChannel interface: existence and properties of interface prototype object +PASS BroadcastChannel interface: existence and properties of interface prototype object's "constructor" property +PASS BroadcastChannel interface: existence and properties of interface prototype object's @@unscopables property +PASS BroadcastChannel interface: attribute name +PASS BroadcastChannel interface: operation postMessage(any) +PASS BroadcastChannel interface: operation close() +PASS BroadcastChannel interface: attribute onmessage +PASS BroadcastChannel interface: attribute onmessageerror +PASS WorkerGlobalScope interface: existence and properties of interface object +PASS DedicatedWorkerGlobalScope interface: existence and properties of interface object +PASS SharedWorkerGlobalScope interface: existence and properties of interface object +PASS Worker interface: existence and properties of interface object +PASS Worker interface object length +PASS Worker interface object name +PASS Worker interface: existence and properties of interface prototype object +PASS Worker interface: existence and properties of interface prototype object's "constructor" property +PASS Worker interface: existence and properties of interface prototype object's @@unscopables property +PASS Worker interface: operation terminate() +PASS Worker interface: operation postMessage(any, [object Object]) +PASS Worker interface: operation postMessage(any, PostMessageOptions) +PASS Worker interface: attribute onmessage +FAIL Worker interface: attribute onmessageerror assert_true: The prototype object must have a property "onmessageerror" expected true got false +PASS Worker interface: attribute onerror +PASS SharedWorker interface: existence and properties of interface object +PASS SharedWorker interface object length +PASS SharedWorker interface object name +PASS SharedWorker interface: existence and properties of interface prototype object +PASS SharedWorker interface: existence and properties of interface prototype object's "constructor" property +PASS SharedWorker interface: existence and properties of interface prototype object's @@unscopables property +PASS SharedWorker interface: attribute port +PASS SharedWorker interface: attribute onerror +PASS WorkerNavigator interface: existence and properties of interface object +PASS WorkerLocation interface: existence and properties of interface object +PASS Storage interface: existence and properties of interface object +PASS Storage interface object length +PASS Storage interface object name +PASS Storage interface: existence and properties of interface prototype object +PASS Storage interface: existence and properties of interface prototype object's "constructor" property +PASS Storage interface: existence and properties of interface prototype object's @@unscopables property +PASS Storage interface: attribute length +PASS Storage interface: operation key(unsigned long) +PASS Storage interface: operation getItem(DOMString) +PASS Storage interface: operation setItem(DOMString, DOMString) +PASS Storage interface: operation removeItem(DOMString) +PASS Storage interface: operation clear() +PASS StorageEvent interface: existence and properties of interface object +PASS StorageEvent interface object length +PASS StorageEvent interface object name +PASS StorageEvent interface: existence and properties of interface prototype object +PASS StorageEvent interface: existence and properties of interface prototype object's "constructor" property +PASS StorageEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS StorageEvent interface: attribute key +PASS StorageEvent interface: attribute oldValue +PASS StorageEvent interface: attribute newValue +PASS StorageEvent interface: attribute url +PASS StorageEvent interface: attribute storageArea +PASS StorageEvent interface: operation initStorageEvent(DOMString, boolean, boolean, DOMString, DOMString, DOMString, USVString, Storage) +PASS External interface: existence and properties of interface object +PASS External interface object length +PASS External interface object name +PASS External interface: existence and properties of interface prototype object +PASS External interface: existence and properties of interface prototype object's "constructor" property +PASS External interface: existence and properties of interface prototype object's @@unscopables property +PASS External interface: operation AddSearchProvider() +PASS External interface: operation IsSearchProviderInstalled() +PASS External must be primary interface of window.external +PASS Stringification of window.external +PASS External interface: window.external must inherit property "AddSearchProvider()" with the proper type +PASS External interface: window.external must inherit property "IsSearchProviderInstalled()" with the proper type +PASS SVGElement interface: attribute onabort +PASS SVGElement interface: attribute onauxclick +PASS SVGElement interface: attribute onblur +PASS SVGElement interface: attribute oncancel +PASS SVGElement interface: attribute oncanplay +PASS SVGElement interface: attribute oncanplaythrough +PASS SVGElement interface: attribute onchange +PASS SVGElement interface: attribute onclick +PASS SVGElement interface: attribute onclose +PASS SVGElement interface: attribute oncontextmenu +PASS SVGElement interface: attribute oncuechange +PASS SVGElement interface: attribute ondblclick +PASS SVGElement interface: attribute ondrag +PASS SVGElement interface: attribute ondragend +PASS SVGElement interface: attribute ondragenter +FAIL SVGElement interface: attribute ondragexit assert_true: The prototype object must have a property "ondragexit" expected true got false +PASS SVGElement interface: attribute ondragleave +PASS SVGElement interface: attribute ondragover +PASS SVGElement interface: attribute ondragstart +PASS SVGElement interface: attribute ondrop +PASS SVGElement interface: attribute ondurationchange +PASS SVGElement interface: attribute onemptied +PASS SVGElement interface: attribute onended +PASS SVGElement interface: attribute onerror +PASS SVGElement interface: attribute onfocus +PASS SVGElement interface: attribute onformdata +PASS SVGElement interface: attribute oninput +PASS SVGElement interface: attribute oninvalid +PASS SVGElement interface: attribute onkeydown +PASS SVGElement interface: attribute onkeypress +PASS SVGElement interface: attribute onkeyup +PASS SVGElement interface: attribute onload +PASS SVGElement interface: attribute onloadeddata +PASS SVGElement interface: attribute onloadedmetadata +PASS SVGElement interface: attribute onloadstart +PASS SVGElement interface: attribute onmousedown +PASS SVGElement interface: attribute onmouseenter +PASS SVGElement interface: attribute onmouseleave +PASS SVGElement interface: attribute onmousemove +PASS SVGElement interface: attribute onmouseout +PASS SVGElement interface: attribute onmouseover +PASS SVGElement interface: attribute onmouseup +PASS SVGElement interface: attribute onwheel +PASS SVGElement interface: attribute onpause +PASS SVGElement interface: attribute onplay +PASS SVGElement interface: attribute onplaying +PASS SVGElement interface: attribute onprogress +PASS SVGElement interface: attribute onratechange +PASS SVGElement interface: attribute onreset +PASS SVGElement interface: attribute onresize +PASS SVGElement interface: attribute onscroll +FAIL SVGElement interface: attribute onsecuritypolicyviolation assert_true: The prototype object must have a property "onsecuritypolicyviolation" expected true got false +PASS SVGElement interface: attribute onseeked +PASS SVGElement interface: attribute onseeking +PASS SVGElement interface: attribute onselect +PASS SVGElement interface: attribute onstalled +PASS SVGElement interface: attribute onsubmit +PASS SVGElement interface: attribute onsuspend +PASS SVGElement interface: attribute ontimeupdate +PASS SVGElement interface: attribute ontoggle +PASS SVGElement interface: attribute onvolumechange +PASS SVGElement interface: attribute onwaiting +PASS SVGElement interface: attribute oncopy +PASS SVGElement interface: attribute oncut +PASS SVGElement interface: attribute onpaste +PASS SVGElement interface: attribute dataset +PASS SVGElement interface: attribute nonce +FAIL SVGElement interface: attribute autofocus assert_true: The prototype object must have a property "autofocus" expected true got false +PASS SVGElement interface: attribute tabIndex +PASS SVGElement interface: operation focus(FocusOptions) +PASS SVGElement interface: operation blur() +FAIL SVGSVGElement interface: attribute onafterprint assert_true: The prototype object must have a property "onafterprint" expected true got false +FAIL SVGSVGElement interface: attribute onbeforeprint assert_true: The prototype object must have a property "onbeforeprint" expected true got false +FAIL SVGSVGElement interface: attribute onbeforeunload assert_true: The prototype object must have a property "onbeforeunload" expected true got false +FAIL SVGSVGElement interface: attribute onhashchange assert_true: The prototype object must have a property "onhashchange" expected true got false +FAIL SVGSVGElement interface: attribute onlanguagechange assert_true: The prototype object must have a property "onlanguagechange" expected true got false +FAIL SVGSVGElement interface: attribute onmessage assert_true: The prototype object must have a property "onmessage" expected true got false +FAIL SVGSVGElement interface: attribute onmessageerror assert_true: The prototype object must have a property "onmessageerror" expected true got false +FAIL SVGSVGElement interface: attribute onoffline assert_true: The prototype object must have a property "onoffline" expected true got false +FAIL SVGSVGElement interface: attribute ononline assert_true: The prototype object must have a property "ononline" expected true got false +FAIL SVGSVGElement interface: attribute onpagehide assert_true: The prototype object must have a property "onpagehide" expected true got false +FAIL SVGSVGElement interface: attribute onpageshow assert_true: The prototype object must have a property "onpageshow" expected true got false +FAIL SVGSVGElement interface: attribute onpopstate assert_true: The prototype object must have a property "onpopstate" expected true got false +FAIL SVGSVGElement interface: attribute onrejectionhandled assert_true: The prototype object must have a property "onrejectionhandled" expected true got false +FAIL SVGSVGElement interface: attribute onstorage assert_true: The prototype object must have a property "onstorage" expected true got false +FAIL SVGSVGElement interface: attribute onunhandledrejection assert_true: The prototype object must have a property "onunhandledrejection" expected true got false +FAIL SVGSVGElement interface: attribute onunload assert_true: The prototype object must have a property "onunload" expected true got false +FAIL SVGAElement interface: attribute href assert_equals: setter must be function for PutForwards, Replaceable, or non-readonly attributes expected "function" but got "undefined" +FAIL SVGAElement interface: stringifier assert_own_property: interface prototype object missing non-static operation expected property "toString" missing +FAIL SVGAElement interface: attribute origin assert_true: The prototype object must have a property "origin" expected true got false +FAIL SVGAElement interface: attribute protocol assert_true: The prototype object must have a property "protocol" expected true got false +FAIL SVGAElement interface: attribute username assert_true: The prototype object must have a property "username" expected true got false +FAIL SVGAElement interface: attribute password assert_true: The prototype object must have a property "password" expected true got false +FAIL SVGAElement interface: attribute host assert_true: The prototype object must have a property "host" expected true got false +FAIL SVGAElement interface: attribute hostname assert_true: The prototype object must have a property "hostname" expected true got false +FAIL SVGAElement interface: attribute port assert_true: The prototype object must have a property "port" expected true got false +FAIL SVGAElement interface: attribute pathname assert_true: The prototype object must have a property "pathname" expected true got false +FAIL SVGAElement interface: attribute search assert_true: The prototype object must have a property "search" expected true got false +FAIL SVGAElement interface: attribute hash assert_true: The prototype object must have a property "hash" expected true got false +PASS ShadowRoot interface: attribute activeElement Harness: the test ran to completion.
diff --git "a/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_include=\050Document_Window\051-expected.txt" "b/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_include=\050Document_Window\051-expected.txt" index adb6cc43..8213dc41 100644 --- "a/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_include=\050Document_Window\051-expected.txt" +++ "b/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_include=\050Document_Window\051-expected.txt"
@@ -1,6 +1,807 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 803 tests; 779 PASS, 24 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface Document: original interface defined +PASS Partial interface mixin DocumentOrShadowRoot: original interface mixin defined +PASS Partial interface mixin NavigatorID: original interface mixin defined +PASS Partial interface HTMLAnchorElement: original interface defined +PASS Partial interface HTMLAreaElement: original interface defined +PASS Partial interface HTMLBodyElement: original interface defined +PASS Partial interface HTMLBRElement: original interface defined +PASS Partial interface HTMLTableCaptionElement: original interface defined +PASS Partial interface HTMLTableColElement: original interface defined +PASS Partial interface HTMLDivElement: original interface defined +PASS Partial interface HTMLDListElement: original interface defined +PASS Partial interface HTMLEmbedElement: original interface defined +PASS Partial interface HTMLHeadingElement: original interface defined +PASS Partial interface HTMLHRElement: original interface defined +PASS Partial interface HTMLHtmlElement: original interface defined +PASS Partial interface HTMLIFrameElement: original interface defined +PASS Partial interface HTMLImageElement: original interface defined +PASS Partial interface HTMLInputElement: original interface defined +PASS Partial interface HTMLLegendElement: original interface defined +PASS Partial interface HTMLLIElement: original interface defined +PASS Partial interface HTMLLinkElement: original interface defined +PASS Partial interface HTMLMenuElement: original interface defined +PASS Partial interface HTMLMetaElement: original interface defined +PASS Partial interface HTMLObjectElement: original interface defined +PASS Partial interface HTMLOListElement: original interface defined +PASS Partial interface HTMLParagraphElement: original interface defined +PASS Partial interface HTMLParamElement: original interface defined +PASS Partial interface HTMLPreElement: original interface defined +PASS Partial interface HTMLStyleElement: original interface defined +PASS Partial interface HTMLScriptElement: original interface defined +PASS Partial interface HTMLTableElement: original interface defined +PASS Partial interface HTMLTableSectionElement: original interface defined +PASS Partial interface HTMLTableCellElement: original interface defined +PASS Partial interface HTMLTableRowElement: original interface defined +PASS Partial interface HTMLUListElement: original interface defined +PASS Partial interface Document[2]: original interface defined +PASS Partial interface Window: original interface defined +PASS Window interface: existence and properties of interface object +PASS Window interface object length +PASS Window interface object name +PASS Window interface: existence and properties of interface prototype object +PASS Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Object.setPrototypeOf should throw a TypeError +PASS Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via __proto__ should throw a TypeError +PASS Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Reflect.setPrototypeOf should return false +PASS Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Object.setPrototypeOf should not throw +PASS Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via __proto__ should not throw +PASS Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Reflect.setPrototypeOf should return true +PASS Window interface: existence and properties of interface prototype object's "constructor" property +PASS Window interface: existence and properties of interface prototype object's @@unscopables property +FAIL Window interface: attribute self assert_equals: "self" must have a getter expected "function" but got "undefined" +PASS Window interface: attribute name +PASS Window interface: attribute history +PASS Window interface: attribute customElements +PASS Window interface: attribute locationbar +PASS Window interface: attribute menubar +PASS Window interface: attribute personalbar +PASS Window interface: attribute scrollbars +PASS Window interface: attribute statusbar +PASS Window interface: attribute toolbar +PASS Window interface: attribute status +PASS Window interface: operation close() +FAIL Window interface: attribute closed assert_equals: "closed" must have a getter expected "function" but got "undefined" +PASS Window interface: operation stop() +PASS Window interface: operation focus() +PASS Window interface: operation blur() +FAIL Window interface: attribute frames assert_equals: "frames" must have a getter expected "function" but got "undefined" +FAIL Window interface: attribute length assert_equals: "length" must have a getter expected "function" but got "undefined" +FAIL Window interface: attribute opener assert_equals: "opener" must have a getter expected "function" but got "undefined" +FAIL Window interface: attribute parent assert_equals: "parent" must have a getter expected "function" but got "undefined" +PASS Window interface: attribute frameElement +PASS Window interface: operation open(USVString, DOMString, DOMString) +PASS Window interface: attribute navigator +PASS Window interface: attribute applicationCache +PASS Window interface: operation alert() +PASS Window interface: operation alert(DOMString) +PASS Window interface: operation confirm(DOMString) +PASS Window interface: operation prompt(DOMString, DOMString) +PASS Window interface: operation print() +PASS Window interface: operation postMessage(any, USVString, [object Object]) +PASS Window interface: operation postMessage(any, WindowPostMessageOptions) +PASS Window interface: operation captureEvents() +PASS Window interface: operation releaseEvents() +PASS Window interface: attribute external +PASS Window interface: attribute onabort +PASS Window interface: attribute onauxclick +PASS Window interface: attribute onblur +PASS Window interface: attribute oncancel +PASS Window interface: attribute oncanplay +PASS Window interface: attribute oncanplaythrough +PASS Window interface: attribute onchange +PASS Window interface: attribute onclick +PASS Window interface: attribute onclose +PASS Window interface: attribute oncontextmenu +PASS Window interface: attribute oncuechange +PASS Window interface: attribute ondblclick +PASS Window interface: attribute ondrag +PASS Window interface: attribute ondragend +PASS Window interface: attribute ondragenter +FAIL Window interface: attribute ondragexit assert_own_property: The global object must have a property "ondragexit" expected property "ondragexit" missing +PASS Window interface: attribute ondragleave +PASS Window interface: attribute ondragover +PASS Window interface: attribute ondragstart +PASS Window interface: attribute ondrop +PASS Window interface: attribute ondurationchange +PASS Window interface: attribute onemptied +PASS Window interface: attribute onended +PASS Window interface: attribute onerror +PASS Window interface: attribute onfocus +PASS Window interface: attribute onformdata +PASS Window interface: attribute oninput +PASS Window interface: attribute oninvalid +PASS Window interface: attribute onkeydown +PASS Window interface: attribute onkeypress +PASS Window interface: attribute onkeyup +PASS Window interface: attribute onload +PASS Window interface: attribute onloadeddata +PASS Window interface: attribute onloadedmetadata +PASS Window interface: attribute onloadstart +PASS Window interface: attribute onmousedown +PASS Window interface: attribute onmouseenter +PASS Window interface: attribute onmouseleave +PASS Window interface: attribute onmousemove +PASS Window interface: attribute onmouseout +PASS Window interface: attribute onmouseover +PASS Window interface: attribute onmouseup +PASS Window interface: attribute onwheel +PASS Window interface: attribute onpause +PASS Window interface: attribute onplay +PASS Window interface: attribute onplaying +PASS Window interface: attribute onprogress +PASS Window interface: attribute onratechange +PASS Window interface: attribute onreset +PASS Window interface: attribute onresize +PASS Window interface: attribute onscroll +FAIL Window interface: attribute onsecuritypolicyviolation assert_own_property: The global object must have a property "onsecuritypolicyviolation" expected property "onsecuritypolicyviolation" missing +PASS Window interface: attribute onseeked +PASS Window interface: attribute onseeking +PASS Window interface: attribute onselect +PASS Window interface: attribute onstalled +PASS Window interface: attribute onsubmit +PASS Window interface: attribute onsuspend +PASS Window interface: attribute ontimeupdate +PASS Window interface: attribute ontoggle +PASS Window interface: attribute onvolumechange +PASS Window interface: attribute onwaiting +PASS Window interface: attribute onafterprint +PASS Window interface: attribute onbeforeprint +PASS Window interface: attribute onbeforeunload +PASS Window interface: attribute onhashchange +PASS Window interface: attribute onlanguagechange +PASS Window interface: attribute onmessage +PASS Window interface: attribute onmessageerror +PASS Window interface: attribute onoffline +PASS Window interface: attribute ononline +PASS Window interface: attribute onpagehide +PASS Window interface: attribute onpageshow +PASS Window interface: attribute onpopstate +PASS Window interface: attribute onrejectionhandled +PASS Window interface: attribute onstorage +PASS Window interface: attribute onunhandledrejection +PASS Window interface: attribute onunload +PASS Window interface: attribute origin +PASS Window interface: operation btoa(DOMString) +PASS Window interface: operation atob(DOMString) +PASS Window interface: operation setTimeout(TimerHandler, long, any) +PASS Window interface: operation clearTimeout(long) +PASS Window interface: operation setInterval(TimerHandler, long, any) +PASS Window interface: operation clearInterval(long) +PASS Window interface: operation queueMicrotask(VoidFunction) +PASS Window interface: operation createImageBitmap(ImageBitmapSource, ImageBitmapOptions) +PASS Window interface: operation createImageBitmap(ImageBitmapSource, long, long, long, long, ImageBitmapOptions) +PASS Window interface: operation requestAnimationFrame(FrameRequestCallback) +PASS Window interface: operation cancelAnimationFrame(unsigned long) +PASS Window interface: attribute sessionStorage +PASS Window interface: attribute localStorage +PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Object.setPrototypeOf should throw a TypeError +PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via __proto__ should throw a TypeError +PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Reflect.setPrototypeOf should return false +PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Object.setPrototypeOf should not throw +PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via __proto__ should not throw +PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Reflect.setPrototypeOf should return true +PASS Window must be primary interface of window +PASS Stringification of window +FAIL Window interface: window must have own property "window" assert_false: property descriptor should not have a "value" field expected false got true +FAIL Window interface: window must inherit property "self" with the proper type Unrecognized type WindowProxy +PASS Window interface: window must have own property "document" +PASS Window interface: window must inherit property "name" with the proper type +FAIL Window interface: window must have own property "location" assert_false: property descriptor should not have a "value" field expected false got true +PASS Window interface: window must inherit property "history" with the proper type +PASS Window interface: window must inherit property "customElements" with the proper type +PASS Window interface: window must inherit property "locationbar" with the proper type +PASS Window interface: window must inherit property "menubar" with the proper type +PASS Window interface: window must inherit property "personalbar" with the proper type +PASS Window interface: window must inherit property "scrollbars" with the proper type +PASS Window interface: window must inherit property "statusbar" with the proper type +PASS Window interface: window must inherit property "toolbar" with the proper type +PASS Window interface: window must inherit property "status" with the proper type +PASS Window interface: window must inherit property "close()" with the proper type +PASS Window interface: window must inherit property "closed" with the proper type +PASS Window interface: window must inherit property "stop()" with the proper type +PASS Window interface: window must inherit property "focus()" with the proper type +PASS Window interface: window must inherit property "blur()" with the proper type +FAIL Window interface: window must inherit property "frames" with the proper type Unrecognized type WindowProxy +PASS Window interface: window must inherit property "length" with the proper type +FAIL Window interface: window must have own property "top" assert_false: property descriptor should not have a "value" field expected false got true +PASS Window interface: window must inherit property "opener" with the proper type +FAIL Window interface: window must inherit property "parent" with the proper type Unrecognized type WindowProxy +PASS Window interface: window must inherit property "frameElement" with the proper type +PASS Window interface: window must inherit property "open(USVString, DOMString, DOMString)" with the proper type +PASS Window interface: calling open(USVString, DOMString, DOMString) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "navigator" with the proper type +PASS Window interface: window must inherit property "applicationCache" with the proper type +PASS Window interface: window must inherit property "alert()" with the proper type +PASS Window interface: window must inherit property "alert(DOMString)" with the proper type +PASS Window interface: calling alert(DOMString) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "confirm(DOMString)" with the proper type +PASS Window interface: calling confirm(DOMString) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "prompt(DOMString, DOMString)" with the proper type +PASS Window interface: calling prompt(DOMString, DOMString) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "print()" with the proper type +PASS Window interface: window must inherit property "postMessage(any, USVString, [object Object])" with the proper type +PASS Window interface: calling postMessage(any, USVString, [object Object]) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "postMessage(any, WindowPostMessageOptions)" with the proper type +PASS Window interface: calling postMessage(any, WindowPostMessageOptions) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "captureEvents()" with the proper type +PASS Window interface: window must inherit property "releaseEvents()" with the proper type +PASS Window interface: window must inherit property "external" with the proper type +PASS Window interface: window must inherit property "onabort" with the proper type +PASS Window interface: window must inherit property "onauxclick" with the proper type +PASS Window interface: window must inherit property "onblur" with the proper type +PASS Window interface: window must inherit property "oncancel" with the proper type +PASS Window interface: window must inherit property "oncanplay" with the proper type +PASS Window interface: window must inherit property "oncanplaythrough" with the proper type +PASS Window interface: window must inherit property "onchange" with the proper type +PASS Window interface: window must inherit property "onclick" with the proper type +PASS Window interface: window must inherit property "onclose" with the proper type +PASS Window interface: window must inherit property "oncontextmenu" with the proper type +PASS Window interface: window must inherit property "oncuechange" with the proper type +PASS Window interface: window must inherit property "ondblclick" with the proper type +PASS Window interface: window must inherit property "ondrag" with the proper type +PASS Window interface: window must inherit property "ondragend" with the proper type +PASS Window interface: window must inherit property "ondragenter" with the proper type +FAIL Window interface: window must inherit property "ondragexit" with the proper type assert_own_property: expected property "ondragexit" missing +PASS Window interface: window must inherit property "ondragleave" with the proper type +PASS Window interface: window must inherit property "ondragover" with the proper type +PASS Window interface: window must inherit property "ondragstart" with the proper type +PASS Window interface: window must inherit property "ondrop" with the proper type +PASS Window interface: window must inherit property "ondurationchange" with the proper type +PASS Window interface: window must inherit property "onemptied" with the proper type +PASS Window interface: window must inherit property "onended" with the proper type +PASS Window interface: window must inherit property "onerror" with the proper type +PASS Window interface: window must inherit property "onfocus" with the proper type +PASS Window interface: window must inherit property "onformdata" with the proper type +PASS Window interface: window must inherit property "oninput" with the proper type +PASS Window interface: window must inherit property "oninvalid" with the proper type +PASS Window interface: window must inherit property "onkeydown" with the proper type +PASS Window interface: window must inherit property "onkeypress" with the proper type +PASS Window interface: window must inherit property "onkeyup" with the proper type +PASS Window interface: window must inherit property "onload" with the proper type +PASS Window interface: window must inherit property "onloadeddata" with the proper type +PASS Window interface: window must inherit property "onloadedmetadata" with the proper type +PASS Window interface: window must inherit property "onloadstart" with the proper type +PASS Window interface: window must inherit property "onmousedown" with the proper type +PASS Window interface: window must inherit property "onmouseenter" with the proper type +PASS Window interface: window must inherit property "onmouseleave" with the proper type +PASS Window interface: window must inherit property "onmousemove" with the proper type +PASS Window interface: window must inherit property "onmouseout" with the proper type +PASS Window interface: window must inherit property "onmouseover" with the proper type +PASS Window interface: window must inherit property "onmouseup" with the proper type +PASS Window interface: window must inherit property "onwheel" with the proper type +PASS Window interface: window must inherit property "onpause" with the proper type +PASS Window interface: window must inherit property "onplay" with the proper type +PASS Window interface: window must inherit property "onplaying" with the proper type +PASS Window interface: window must inherit property "onprogress" with the proper type +PASS Window interface: window must inherit property "onratechange" with the proper type +PASS Window interface: window must inherit property "onreset" with the proper type +PASS Window interface: window must inherit property "onresize" with the proper type +PASS Window interface: window must inherit property "onscroll" with the proper type +FAIL Window interface: window must inherit property "onsecuritypolicyviolation" with the proper type assert_own_property: expected property "onsecuritypolicyviolation" missing +PASS Window interface: window must inherit property "onseeked" with the proper type +PASS Window interface: window must inherit property "onseeking" with the proper type +PASS Window interface: window must inherit property "onselect" with the proper type +PASS Window interface: window must inherit property "onstalled" with the proper type +PASS Window interface: window must inherit property "onsubmit" with the proper type +PASS Window interface: window must inherit property "onsuspend" with the proper type +PASS Window interface: window must inherit property "ontimeupdate" with the proper type +PASS Window interface: window must inherit property "ontoggle" with the proper type +PASS Window interface: window must inherit property "onvolumechange" with the proper type +PASS Window interface: window must inherit property "onwaiting" with the proper type +PASS Window interface: window must inherit property "onafterprint" with the proper type +PASS Window interface: window must inherit property "onbeforeprint" with the proper type +PASS Window interface: window must inherit property "onbeforeunload" with the proper type +PASS Window interface: window must inherit property "onhashchange" with the proper type +PASS Window interface: window must inherit property "onlanguagechange" with the proper type +PASS Window interface: window must inherit property "onmessage" with the proper type +PASS Window interface: window must inherit property "onmessageerror" with the proper type +PASS Window interface: window must inherit property "onoffline" with the proper type +PASS Window interface: window must inherit property "ononline" with the proper type +PASS Window interface: window must inherit property "onpagehide" with the proper type +PASS Window interface: window must inherit property "onpageshow" with the proper type +PASS Window interface: window must inherit property "onpopstate" with the proper type +PASS Window interface: window must inherit property "onrejectionhandled" with the proper type +PASS Window interface: window must inherit property "onstorage" with the proper type +PASS Window interface: window must inherit property "onunhandledrejection" with the proper type +PASS Window interface: window must inherit property "onunload" with the proper type +PASS Window interface: window must inherit property "origin" with the proper type +PASS Window interface: window must inherit property "btoa(DOMString)" with the proper type +PASS Window interface: calling btoa(DOMString) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "atob(DOMString)" with the proper type +PASS Window interface: calling atob(DOMString) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "setTimeout(TimerHandler, long, any)" with the proper type +PASS Window interface: calling setTimeout(TimerHandler, long, any) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "clearTimeout(long)" with the proper type +PASS Window interface: calling clearTimeout(long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "setInterval(TimerHandler, long, any)" with the proper type +PASS Window interface: calling setInterval(TimerHandler, long, any) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "clearInterval(long)" with the proper type +PASS Window interface: calling clearInterval(long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "queueMicrotask(VoidFunction)" with the proper type +PASS Window interface: calling queueMicrotask(VoidFunction) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "createImageBitmap(ImageBitmapSource, ImageBitmapOptions)" with the proper type +PASS Window interface: calling createImageBitmap(ImageBitmapSource, ImageBitmapOptions) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "createImageBitmap(ImageBitmapSource, long, long, long, long, ImageBitmapOptions)" with the proper type +PASS Window interface: calling createImageBitmap(ImageBitmapSource, long, long, long, long, ImageBitmapOptions) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "requestAnimationFrame(FrameRequestCallback)" with the proper type +PASS Window interface: calling requestAnimationFrame(FrameRequestCallback) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "cancelAnimationFrame(unsigned long)" with the proper type +PASS Window interface: calling cancelAnimationFrame(unsigned long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "sessionStorage" with the proper type +PASS Window interface: window must inherit property "localStorage" with the proper type +PASS Document interface: attribute domain +PASS Document interface: attribute referrer +PASS Document interface: attribute cookie +PASS Document interface: attribute lastModified +PASS Document interface: attribute readyState +PASS Document interface: attribute title +PASS Document interface: attribute dir +PASS Document interface: attribute body +PASS Document interface: attribute head +PASS Document interface: attribute images +PASS Document interface: attribute embeds +PASS Document interface: attribute plugins +PASS Document interface: attribute links +PASS Document interface: attribute forms +PASS Document interface: attribute scripts +PASS Document interface: operation getElementsByName(DOMString) +PASS Document interface: attribute currentScript +PASS Document interface: operation open(DOMString, DOMString) +PASS Document interface: operation open(USVString, DOMString, DOMString) +PASS Document interface: operation close() +PASS Document interface: operation write(DOMString) +PASS Document interface: operation writeln(DOMString) +PASS Document interface: attribute defaultView +PASS Document interface: operation hasFocus() +PASS Document interface: attribute designMode +PASS Document interface: operation execCommand(DOMString, boolean, DOMString) +PASS Document interface: operation queryCommandEnabled(DOMString) +PASS Document interface: operation queryCommandIndeterm(DOMString) +PASS Document interface: operation queryCommandState(DOMString) +PASS Document interface: operation queryCommandSupported(DOMString) +PASS Document interface: operation queryCommandValue(DOMString) +PASS Document interface: attribute onreadystatechange +PASS Document interface: attribute fgColor +PASS Document interface: attribute linkColor +PASS Document interface: attribute vlinkColor +PASS Document interface: attribute alinkColor +PASS Document interface: attribute bgColor +PASS Document interface: attribute anchors +PASS Document interface: attribute applets +PASS Document interface: operation clear() +PASS Document interface: operation captureEvents() +PASS Document interface: operation releaseEvents() +PASS Document interface: attribute all +PASS Document interface: attribute onabort +PASS Document interface: attribute onauxclick +PASS Document interface: attribute onblur +PASS Document interface: attribute oncancel +PASS Document interface: attribute oncanplay +PASS Document interface: attribute oncanplaythrough +PASS Document interface: attribute onchange +PASS Document interface: attribute onclick +PASS Document interface: attribute onclose +PASS Document interface: attribute oncontextmenu +PASS Document interface: attribute oncuechange +PASS Document interface: attribute ondblclick +PASS Document interface: attribute ondrag +PASS Document interface: attribute ondragend +PASS Document interface: attribute ondragenter +FAIL Document interface: attribute ondragexit assert_true: The prototype object must have a property "ondragexit" expected true got false +PASS Document interface: attribute ondragleave +PASS Document interface: attribute ondragover +PASS Document interface: attribute ondragstart +PASS Document interface: attribute ondrop +PASS Document interface: attribute ondurationchange +PASS Document interface: attribute onemptied +PASS Document interface: attribute onended +PASS Document interface: attribute onerror +PASS Document interface: attribute onfocus +PASS Document interface: attribute onformdata +PASS Document interface: attribute oninput +PASS Document interface: attribute oninvalid +PASS Document interface: attribute onkeydown +PASS Document interface: attribute onkeypress +PASS Document interface: attribute onkeyup +PASS Document interface: attribute onload +PASS Document interface: attribute onloadeddata +PASS Document interface: attribute onloadedmetadata +PASS Document interface: attribute onloadstart +PASS Document interface: attribute onmousedown +PASS Document interface: attribute onmouseenter +PASS Document interface: attribute onmouseleave +PASS Document interface: attribute onmousemove +PASS Document interface: attribute onmouseout +PASS Document interface: attribute onmouseover +PASS Document interface: attribute onmouseup +PASS Document interface: attribute onwheel +PASS Document interface: attribute onpause +PASS Document interface: attribute onplay +PASS Document interface: attribute onplaying +PASS Document interface: attribute onprogress +PASS Document interface: attribute onratechange +PASS Document interface: attribute onreset +PASS Document interface: attribute onresize +PASS Document interface: attribute onscroll +PASS Document interface: attribute onsecuritypolicyviolation +PASS Document interface: attribute onseeked +PASS Document interface: attribute onseeking +PASS Document interface: attribute onselect +PASS Document interface: attribute onstalled +PASS Document interface: attribute onsubmit +PASS Document interface: attribute onsuspend +PASS Document interface: attribute ontimeupdate +PASS Document interface: attribute ontoggle +PASS Document interface: attribute onvolumechange +PASS Document interface: attribute onwaiting +PASS Document interface: attribute oncopy +PASS Document interface: attribute oncut +PASS Document interface: attribute onpaste +PASS Document interface: attribute activeElement +PASS Document interface: iframe.contentDocument must have own property "location" +PASS Document interface: iframe.contentDocument must inherit property "domain" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "referrer" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "cookie" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "lastModified" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "readyState" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "title" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "dir" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "body" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "head" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "images" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "embeds" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "plugins" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "links" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "forms" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "scripts" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "getElementsByName(DOMString)" with the proper type +PASS Document interface: calling getElementsByName(DOMString) on iframe.contentDocument with too few arguments must throw TypeError +PASS Document interface: iframe.contentDocument must inherit property "currentScript" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "open(DOMString, DOMString)" with the proper type +PASS Document interface: calling open(DOMString, DOMString) on iframe.contentDocument with too few arguments must throw TypeError +PASS Document interface: iframe.contentDocument must inherit property "open(USVString, DOMString, DOMString)" with the proper type +PASS Document interface: calling open(USVString, DOMString, DOMString) on iframe.contentDocument with too few arguments must throw TypeError +PASS Document interface: iframe.contentDocument must inherit property "close()" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "write(DOMString)" with the proper type +PASS Document interface: calling write(DOMString) on iframe.contentDocument with too few arguments must throw TypeError +PASS Document interface: iframe.contentDocument must inherit property "writeln(DOMString)" with the proper type +PASS Document interface: calling writeln(DOMString) on iframe.contentDocument with too few arguments must throw TypeError +FAIL Document interface: iframe.contentDocument must inherit property "defaultView" with the proper type Unrecognized type WindowProxy +PASS Document interface: iframe.contentDocument must inherit property "hasFocus()" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "designMode" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "execCommand(DOMString, boolean, DOMString)" with the proper type +PASS Document interface: calling execCommand(DOMString, boolean, DOMString) on iframe.contentDocument with too few arguments must throw TypeError +PASS Document interface: iframe.contentDocument must inherit property "queryCommandEnabled(DOMString)" with the proper type +PASS Document interface: calling queryCommandEnabled(DOMString) on iframe.contentDocument with too few arguments must throw TypeError +PASS Document interface: iframe.contentDocument must inherit property "queryCommandIndeterm(DOMString)" with the proper type +PASS Document interface: calling queryCommandIndeterm(DOMString) on iframe.contentDocument with too few arguments must throw TypeError +PASS Document interface: iframe.contentDocument must inherit property "queryCommandState(DOMString)" with the proper type +PASS Document interface: calling queryCommandState(DOMString) on iframe.contentDocument with too few arguments must throw TypeError +PASS Document interface: iframe.contentDocument must inherit property "queryCommandSupported(DOMString)" with the proper type +PASS Document interface: calling queryCommandSupported(DOMString) on iframe.contentDocument with too few arguments must throw TypeError +PASS Document interface: iframe.contentDocument must inherit property "queryCommandValue(DOMString)" with the proper type +PASS Document interface: calling queryCommandValue(DOMString) on iframe.contentDocument with too few arguments must throw TypeError +PASS Document interface: iframe.contentDocument must inherit property "onreadystatechange" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "fgColor" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "linkColor" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "vlinkColor" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "alinkColor" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "bgColor" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "anchors" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "applets" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "clear()" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "captureEvents()" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "releaseEvents()" with the proper type +FAIL Document interface: iframe.contentDocument must inherit property "all" with the proper type assert_in_array: wrong type: not object or function value "undefined" not in array ["object", "function"] +PASS Document interface: iframe.contentDocument must inherit property "onabort" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onauxclick" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onblur" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "oncancel" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "oncanplay" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "oncanplaythrough" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onchange" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onclick" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onclose" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "oncontextmenu" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "oncuechange" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "ondblclick" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "ondrag" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "ondragend" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "ondragenter" with the proper type +FAIL Document interface: iframe.contentDocument must inherit property "ondragexit" with the proper type assert_inherits: property "ondragexit" not found in prototype chain +PASS Document interface: iframe.contentDocument must inherit property "ondragleave" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "ondragover" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "ondragstart" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "ondrop" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "ondurationchange" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onemptied" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onended" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onerror" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onfocus" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onformdata" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "oninput" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "oninvalid" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onkeydown" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onkeypress" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onkeyup" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onload" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onloadeddata" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onloadedmetadata" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onloadstart" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onmousedown" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onmouseenter" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onmouseleave" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onmousemove" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onmouseout" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onmouseover" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onmouseup" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onwheel" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onpause" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onplay" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onplaying" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onprogress" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onratechange" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onreset" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onresize" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onscroll" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onsecuritypolicyviolation" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onseeked" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onseeking" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onselect" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onstalled" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onsubmit" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onsuspend" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "ontimeupdate" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "ontoggle" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onvolumechange" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onwaiting" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "oncopy" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "oncut" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "onpaste" with the proper type +PASS Document interface: iframe.contentDocument must inherit property "activeElement" with the proper type +PASS Document interface: new Document() must have own property "location" +PASS Document interface: new Document() must inherit property "domain" with the proper type +PASS Document interface: new Document() must inherit property "referrer" with the proper type +PASS Document interface: new Document() must inherit property "cookie" with the proper type +PASS Document interface: new Document() must inherit property "lastModified" with the proper type +PASS Document interface: new Document() must inherit property "readyState" with the proper type +PASS Document interface: new Document() must inherit property "title" with the proper type +PASS Document interface: new Document() must inherit property "dir" with the proper type +PASS Document interface: new Document() must inherit property "body" with the proper type +PASS Document interface: new Document() must inherit property "head" with the proper type +PASS Document interface: new Document() must inherit property "images" with the proper type +PASS Document interface: new Document() must inherit property "embeds" with the proper type +PASS Document interface: new Document() must inherit property "plugins" with the proper type +PASS Document interface: new Document() must inherit property "links" with the proper type +PASS Document interface: new Document() must inherit property "forms" with the proper type +PASS Document interface: new Document() must inherit property "scripts" with the proper type +PASS Document interface: new Document() must inherit property "getElementsByName(DOMString)" with the proper type +PASS Document interface: calling getElementsByName(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "currentScript" with the proper type +PASS Document interface: new Document() must inherit property "open(DOMString, DOMString)" with the proper type +PASS Document interface: calling open(DOMString, DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "open(USVString, DOMString, DOMString)" with the proper type +PASS Document interface: calling open(USVString, DOMString, DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "close()" with the proper type +PASS Document interface: new Document() must inherit property "write(DOMString)" with the proper type +PASS Document interface: calling write(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "writeln(DOMString)" with the proper type +PASS Document interface: calling writeln(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "defaultView" with the proper type +PASS Document interface: new Document() must inherit property "hasFocus()" with the proper type +PASS Document interface: new Document() must inherit property "designMode" with the proper type +PASS Document interface: new Document() must inherit property "execCommand(DOMString, boolean, DOMString)" with the proper type +PASS Document interface: calling execCommand(DOMString, boolean, DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "queryCommandEnabled(DOMString)" with the proper type +PASS Document interface: calling queryCommandEnabled(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "queryCommandIndeterm(DOMString)" with the proper type +PASS Document interface: calling queryCommandIndeterm(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "queryCommandState(DOMString)" with the proper type +PASS Document interface: calling queryCommandState(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "queryCommandSupported(DOMString)" with the proper type +PASS Document interface: calling queryCommandSupported(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "queryCommandValue(DOMString)" with the proper type +PASS Document interface: calling queryCommandValue(DOMString) on new Document() with too few arguments must throw TypeError +PASS Document interface: new Document() must inherit property "onreadystatechange" with the proper type +PASS Document interface: new Document() must inherit property "fgColor" with the proper type +PASS Document interface: new Document() must inherit property "linkColor" with the proper type +PASS Document interface: new Document() must inherit property "vlinkColor" with the proper type +PASS Document interface: new Document() must inherit property "alinkColor" with the proper type +PASS Document interface: new Document() must inherit property "bgColor" with the proper type +PASS Document interface: new Document() must inherit property "anchors" with the proper type +PASS Document interface: new Document() must inherit property "applets" with the proper type +PASS Document interface: new Document() must inherit property "clear()" with the proper type +PASS Document interface: new Document() must inherit property "captureEvents()" with the proper type +PASS Document interface: new Document() must inherit property "releaseEvents()" with the proper type +FAIL Document interface: new Document() must inherit property "all" with the proper type assert_in_array: wrong type: not object or function value "undefined" not in array ["object", "function"] +PASS Document interface: new Document() must inherit property "onabort" with the proper type +PASS Document interface: new Document() must inherit property "onauxclick" with the proper type +PASS Document interface: new Document() must inherit property "onblur" with the proper type +PASS Document interface: new Document() must inherit property "oncancel" with the proper type +PASS Document interface: new Document() must inherit property "oncanplay" with the proper type +PASS Document interface: new Document() must inherit property "oncanplaythrough" with the proper type +PASS Document interface: new Document() must inherit property "onchange" with the proper type +PASS Document interface: new Document() must inherit property "onclick" with the proper type +PASS Document interface: new Document() must inherit property "onclose" with the proper type +PASS Document interface: new Document() must inherit property "oncontextmenu" with the proper type +PASS Document interface: new Document() must inherit property "oncuechange" with the proper type +PASS Document interface: new Document() must inherit property "ondblclick" with the proper type +PASS Document interface: new Document() must inherit property "ondrag" with the proper type +PASS Document interface: new Document() must inherit property "ondragend" with the proper type +PASS Document interface: new Document() must inherit property "ondragenter" with the proper type +FAIL Document interface: new Document() must inherit property "ondragexit" with the proper type assert_inherits: property "ondragexit" not found in prototype chain +PASS Document interface: new Document() must inherit property "ondragleave" with the proper type +PASS Document interface: new Document() must inherit property "ondragover" with the proper type +PASS Document interface: new Document() must inherit property "ondragstart" with the proper type +PASS Document interface: new Document() must inherit property "ondrop" with the proper type +PASS Document interface: new Document() must inherit property "ondurationchange" with the proper type +PASS Document interface: new Document() must inherit property "onemptied" with the proper type +PASS Document interface: new Document() must inherit property "onended" with the proper type +PASS Document interface: new Document() must inherit property "onerror" with the proper type +PASS Document interface: new Document() must inherit property "onfocus" with the proper type +PASS Document interface: new Document() must inherit property "onformdata" with the proper type +PASS Document interface: new Document() must inherit property "oninput" with the proper type +PASS Document interface: new Document() must inherit property "oninvalid" with the proper type +PASS Document interface: new Document() must inherit property "onkeydown" with the proper type +PASS Document interface: new Document() must inherit property "onkeypress" with the proper type +PASS Document interface: new Document() must inherit property "onkeyup" with the proper type +PASS Document interface: new Document() must inherit property "onload" with the proper type +PASS Document interface: new Document() must inherit property "onloadeddata" with the proper type +PASS Document interface: new Document() must inherit property "onloadedmetadata" with the proper type +PASS Document interface: new Document() must inherit property "onloadstart" with the proper type +PASS Document interface: new Document() must inherit property "onmousedown" with the proper type +PASS Document interface: new Document() must inherit property "onmouseenter" with the proper type +PASS Document interface: new Document() must inherit property "onmouseleave" with the proper type +PASS Document interface: new Document() must inherit property "onmousemove" with the proper type +PASS Document interface: new Document() must inherit property "onmouseout" with the proper type +PASS Document interface: new Document() must inherit property "onmouseover" with the proper type +PASS Document interface: new Document() must inherit property "onmouseup" with the proper type +PASS Document interface: new Document() must inherit property "onwheel" with the proper type +PASS Document interface: new Document() must inherit property "onpause" with the proper type +PASS Document interface: new Document() must inherit property "onplay" with the proper type +PASS Document interface: new Document() must inherit property "onplaying" with the proper type +PASS Document interface: new Document() must inherit property "onprogress" with the proper type +PASS Document interface: new Document() must inherit property "onratechange" with the proper type +PASS Document interface: new Document() must inherit property "onreset" with the proper type +PASS Document interface: new Document() must inherit property "onresize" with the proper type +PASS Document interface: new Document() must inherit property "onscroll" with the proper type +PASS Document interface: new Document() must inherit property "onsecuritypolicyviolation" with the proper type +PASS Document interface: new Document() must inherit property "onseeked" with the proper type +PASS Document interface: new Document() must inherit property "onseeking" with the proper type +PASS Document interface: new Document() must inherit property "onselect" with the proper type +PASS Document interface: new Document() must inherit property "onstalled" with the proper type +PASS Document interface: new Document() must inherit property "onsubmit" with the proper type +PASS Document interface: new Document() must inherit property "onsuspend" with the proper type +PASS Document interface: new Document() must inherit property "ontimeupdate" with the proper type +PASS Document interface: new Document() must inherit property "ontoggle" with the proper type +PASS Document interface: new Document() must inherit property "onvolumechange" with the proper type +PASS Document interface: new Document() must inherit property "onwaiting" with the proper type +PASS Document interface: new Document() must inherit property "oncopy" with the proper type +PASS Document interface: new Document() must inherit property "oncut" with the proper type +PASS Document interface: new Document() must inherit property "onpaste" with the proper type +PASS Document interface: new Document() must inherit property "activeElement" with the proper type +PASS Document interface: documentWithHandlers must have own property "location" +PASS Document interface: documentWithHandlers must inherit property "domain" with the proper type +PASS Document interface: documentWithHandlers must inherit property "referrer" with the proper type +PASS Document interface: documentWithHandlers must inherit property "cookie" with the proper type +PASS Document interface: documentWithHandlers must inherit property "lastModified" with the proper type +PASS Document interface: documentWithHandlers must inherit property "readyState" with the proper type +PASS Document interface: documentWithHandlers must inherit property "title" with the proper type +PASS Document interface: documentWithHandlers must inherit property "dir" with the proper type +PASS Document interface: documentWithHandlers must inherit property "body" with the proper type +PASS Document interface: documentWithHandlers must inherit property "head" with the proper type +PASS Document interface: documentWithHandlers must inherit property "images" with the proper type +PASS Document interface: documentWithHandlers must inherit property "embeds" with the proper type +PASS Document interface: documentWithHandlers must inherit property "plugins" with the proper type +PASS Document interface: documentWithHandlers must inherit property "links" with the proper type +PASS Document interface: documentWithHandlers must inherit property "forms" with the proper type +PASS Document interface: documentWithHandlers must inherit property "scripts" with the proper type +PASS Document interface: documentWithHandlers must inherit property "getElementsByName(DOMString)" with the proper type +PASS Document interface: calling getElementsByName(DOMString) on documentWithHandlers with too few arguments must throw TypeError +PASS Document interface: documentWithHandlers must inherit property "currentScript" with the proper type +PASS Document interface: documentWithHandlers must inherit property "open(DOMString, DOMString)" with the proper type +PASS Document interface: calling open(DOMString, DOMString) on documentWithHandlers with too few arguments must throw TypeError +PASS Document interface: documentWithHandlers must inherit property "open(USVString, DOMString, DOMString)" with the proper type +PASS Document interface: calling open(USVString, DOMString, DOMString) on documentWithHandlers with too few arguments must throw TypeError +PASS Document interface: documentWithHandlers must inherit property "close()" with the proper type +PASS Document interface: documentWithHandlers must inherit property "write(DOMString)" with the proper type +PASS Document interface: calling write(DOMString) on documentWithHandlers with too few arguments must throw TypeError +PASS Document interface: documentWithHandlers must inherit property "writeln(DOMString)" with the proper type +PASS Document interface: calling writeln(DOMString) on documentWithHandlers with too few arguments must throw TypeError +PASS Document interface: documentWithHandlers must inherit property "defaultView" with the proper type +PASS Document interface: documentWithHandlers must inherit property "hasFocus()" with the proper type +PASS Document interface: documentWithHandlers must inherit property "designMode" with the proper type +PASS Document interface: documentWithHandlers must inherit property "execCommand(DOMString, boolean, DOMString)" with the proper type +PASS Document interface: calling execCommand(DOMString, boolean, DOMString) on documentWithHandlers with too few arguments must throw TypeError +PASS Document interface: documentWithHandlers must inherit property "queryCommandEnabled(DOMString)" with the proper type +PASS Document interface: calling queryCommandEnabled(DOMString) on documentWithHandlers with too few arguments must throw TypeError +PASS Document interface: documentWithHandlers must inherit property "queryCommandIndeterm(DOMString)" with the proper type +PASS Document interface: calling queryCommandIndeterm(DOMString) on documentWithHandlers with too few arguments must throw TypeError +PASS Document interface: documentWithHandlers must inherit property "queryCommandState(DOMString)" with the proper type +PASS Document interface: calling queryCommandState(DOMString) on documentWithHandlers with too few arguments must throw TypeError +PASS Document interface: documentWithHandlers must inherit property "queryCommandSupported(DOMString)" with the proper type +PASS Document interface: calling queryCommandSupported(DOMString) on documentWithHandlers with too few arguments must throw TypeError +PASS Document interface: documentWithHandlers must inherit property "queryCommandValue(DOMString)" with the proper type +PASS Document interface: calling queryCommandValue(DOMString) on documentWithHandlers with too few arguments must throw TypeError +PASS Document interface: documentWithHandlers must inherit property "onreadystatechange" with the proper type +PASS Document interface: documentWithHandlers must inherit property "fgColor" with the proper type +PASS Document interface: documentWithHandlers must inherit property "linkColor" with the proper type +PASS Document interface: documentWithHandlers must inherit property "vlinkColor" with the proper type +PASS Document interface: documentWithHandlers must inherit property "alinkColor" with the proper type +PASS Document interface: documentWithHandlers must inherit property "bgColor" with the proper type +PASS Document interface: documentWithHandlers must inherit property "anchors" with the proper type +PASS Document interface: documentWithHandlers must inherit property "applets" with the proper type +PASS Document interface: documentWithHandlers must inherit property "clear()" with the proper type +PASS Document interface: documentWithHandlers must inherit property "captureEvents()" with the proper type +PASS Document interface: documentWithHandlers must inherit property "releaseEvents()" with the proper type +FAIL Document interface: documentWithHandlers must inherit property "all" with the proper type assert_in_array: wrong type: not object or function value "undefined" not in array ["object", "function"] +PASS Document interface: documentWithHandlers must inherit property "onabort" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onauxclick" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onblur" with the proper type +PASS Document interface: documentWithHandlers must inherit property "oncancel" with the proper type +PASS Document interface: documentWithHandlers must inherit property "oncanplay" with the proper type +PASS Document interface: documentWithHandlers must inherit property "oncanplaythrough" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onchange" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onclick" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onclose" with the proper type +PASS Document interface: documentWithHandlers must inherit property "oncontextmenu" with the proper type +PASS Document interface: documentWithHandlers must inherit property "oncuechange" with the proper type +PASS Document interface: documentWithHandlers must inherit property "ondblclick" with the proper type +PASS Document interface: documentWithHandlers must inherit property "ondrag" with the proper type +PASS Document interface: documentWithHandlers must inherit property "ondragend" with the proper type +PASS Document interface: documentWithHandlers must inherit property "ondragenter" with the proper type +FAIL Document interface: documentWithHandlers must inherit property "ondragexit" with the proper type assert_inherits: property "ondragexit" found on object expected in prototype chain +PASS Document interface: documentWithHandlers must inherit property "ondragleave" with the proper type +PASS Document interface: documentWithHandlers must inherit property "ondragover" with the proper type +PASS Document interface: documentWithHandlers must inherit property "ondragstart" with the proper type +PASS Document interface: documentWithHandlers must inherit property "ondrop" with the proper type +PASS Document interface: documentWithHandlers must inherit property "ondurationchange" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onemptied" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onended" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onerror" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onfocus" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onformdata" with the proper type +PASS Document interface: documentWithHandlers must inherit property "oninput" with the proper type +PASS Document interface: documentWithHandlers must inherit property "oninvalid" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onkeydown" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onkeypress" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onkeyup" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onload" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onloadeddata" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onloadedmetadata" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onloadstart" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onmousedown" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onmouseenter" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onmouseleave" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onmousemove" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onmouseout" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onmouseover" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onmouseup" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onwheel" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onpause" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onplay" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onplaying" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onprogress" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onratechange" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onreset" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onresize" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onscroll" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onsecuritypolicyviolation" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onseeked" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onseeking" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onselect" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onstalled" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onsubmit" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onsuspend" with the proper type +PASS Document interface: documentWithHandlers must inherit property "ontimeupdate" with the proper type +PASS Document interface: documentWithHandlers must inherit property "ontoggle" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onvolumechange" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onwaiting" with the proper type +PASS Document interface: documentWithHandlers must inherit property "oncopy" with the proper type +PASS Document interface: documentWithHandlers must inherit property "oncut" with the proper type +PASS Document interface: documentWithHandlers must inherit property "onpaste" with the proper type +PASS Document interface: documentWithHandlers must inherit property "activeElement" with the proper type Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/html/dom/idlharness.worker-expected.txt b/third_party/blink/web_tests/external/wpt/html/dom/idlharness.worker-expected.txt index adb6cc43..7354ff6 100644 --- a/third_party/blink/web_tests/external/wpt/html/dom/idlharness.worker-expected.txt +++ b/third_party/blink/web_tests/external/wpt/html/dom/idlharness.worker-expected.txt
@@ -1,6 +1,677 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 673 tests; 647 PASS, 26 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface Document: original interface defined +PASS Partial interface mixin DocumentOrShadowRoot: original interface mixin defined +PASS Partial interface mixin NavigatorID: original interface mixin defined +PASS Partial interface HTMLAnchorElement: original interface defined +PASS Partial interface HTMLAreaElement: original interface defined +PASS Partial interface HTMLBodyElement: original interface defined +PASS Partial interface HTMLBRElement: original interface defined +PASS Partial interface HTMLTableCaptionElement: original interface defined +PASS Partial interface HTMLTableColElement: original interface defined +PASS Partial interface HTMLDivElement: original interface defined +PASS Partial interface HTMLDListElement: original interface defined +PASS Partial interface HTMLEmbedElement: original interface defined +PASS Partial interface HTMLHeadingElement: original interface defined +PASS Partial interface HTMLHRElement: original interface defined +PASS Partial interface HTMLHtmlElement: original interface defined +PASS Partial interface HTMLIFrameElement: original interface defined +PASS Partial interface HTMLImageElement: original interface defined +PASS Partial interface HTMLInputElement: original interface defined +PASS Partial interface HTMLLegendElement: original interface defined +PASS Partial interface HTMLLIElement: original interface defined +PASS Partial interface HTMLLinkElement: original interface defined +PASS Partial interface HTMLMenuElement: original interface defined +PASS Partial interface HTMLMetaElement: original interface defined +PASS Partial interface HTMLObjectElement: original interface defined +PASS Partial interface HTMLOListElement: original interface defined +PASS Partial interface HTMLParagraphElement: original interface defined +PASS Partial interface HTMLParamElement: original interface defined +PASS Partial interface HTMLPreElement: original interface defined +PASS Partial interface HTMLStyleElement: original interface defined +PASS Partial interface HTMLScriptElement: original interface defined +PASS Partial interface HTMLTableElement: original interface defined +PASS Partial interface HTMLTableSectionElement: original interface defined +PASS Partial interface HTMLTableCellElement: original interface defined +PASS Partial interface HTMLTableRowElement: original interface defined +PASS Partial interface HTMLUListElement: original interface defined +PASS Partial interface Document[2]: original interface defined +PASS Partial interface Window: original interface defined +PASS HTMLAllCollection interface: existence and properties of interface object +PASS HTMLFormControlsCollection interface: existence and properties of interface object +PASS RadioNodeList interface: existence and properties of interface object +PASS HTMLOptionsCollection interface: existence and properties of interface object +PASS DOMStringList interface: existence and properties of interface object +PASS DOMStringList interface object length +PASS DOMStringList interface object name +PASS DOMStringList interface: existence and properties of interface prototype object +PASS DOMStringList interface: existence and properties of interface prototype object's "constructor" property +PASS DOMStringList interface: existence and properties of interface prototype object's @@unscopables property +PASS DOMStringList interface: attribute length +PASS DOMStringList interface: operation item(unsigned long) +PASS DOMStringList interface: operation contains(DOMString) +PASS HTMLElement interface: existence and properties of interface object +PASS HTMLUnknownElement interface: existence and properties of interface object +PASS DOMStringMap interface: existence and properties of interface object +PASS HTMLHtmlElement interface: existence and properties of interface object +PASS HTMLHeadElement interface: existence and properties of interface object +PASS HTMLTitleElement interface: existence and properties of interface object +PASS HTMLBaseElement interface: existence and properties of interface object +PASS HTMLLinkElement interface: existence and properties of interface object +PASS HTMLMetaElement interface: existence and properties of interface object +PASS HTMLStyleElement interface: existence and properties of interface object +PASS HTMLBodyElement interface: existence and properties of interface object +PASS HTMLHeadingElement interface: existence and properties of interface object +PASS HTMLParagraphElement interface: existence and properties of interface object +PASS HTMLHRElement interface: existence and properties of interface object +PASS HTMLPreElement interface: existence and properties of interface object +PASS HTMLQuoteElement interface: existence and properties of interface object +PASS HTMLOListElement interface: existence and properties of interface object +PASS HTMLUListElement interface: existence and properties of interface object +PASS HTMLMenuElement interface: existence and properties of interface object +PASS HTMLLIElement interface: existence and properties of interface object +PASS HTMLDListElement interface: existence and properties of interface object +PASS HTMLDivElement interface: existence and properties of interface object +PASS HTMLAnchorElement interface: existence and properties of interface object +PASS HTMLDataElement interface: existence and properties of interface object +PASS HTMLTimeElement interface: existence and properties of interface object +PASS HTMLSpanElement interface: existence and properties of interface object +PASS HTMLBRElement interface: existence and properties of interface object +PASS HTMLModElement interface: existence and properties of interface object +PASS HTMLPictureElement interface: existence and properties of interface object +PASS HTMLSourceElement interface: existence and properties of interface object +PASS HTMLImageElement interface: existence and properties of interface object +PASS HTMLIFrameElement interface: existence and properties of interface object +PASS HTMLEmbedElement interface: existence and properties of interface object +PASS HTMLObjectElement interface: existence and properties of interface object +PASS HTMLParamElement interface: existence and properties of interface object +PASS HTMLVideoElement interface: existence and properties of interface object +PASS HTMLAudioElement interface: existence and properties of interface object +PASS HTMLTrackElement interface: existence and properties of interface object +PASS HTMLMediaElement interface: existence and properties of interface object +PASS MediaError interface: existence and properties of interface object +PASS AudioTrackList interface: existence and properties of interface object +PASS AudioTrack interface: existence and properties of interface object +PASS VideoTrackList interface: existence and properties of interface object +PASS VideoTrack interface: existence and properties of interface object +PASS TextTrackList interface: existence and properties of interface object +PASS TextTrack interface: existence and properties of interface object +PASS TextTrackCueList interface: existence and properties of interface object +PASS TextTrackCue interface: existence and properties of interface object +PASS TimeRanges interface: existence and properties of interface object +PASS TrackEvent interface: existence and properties of interface object +PASS HTMLMapElement interface: existence and properties of interface object +PASS HTMLAreaElement interface: existence and properties of interface object +PASS HTMLTableElement interface: existence and properties of interface object +PASS HTMLTableCaptionElement interface: existence and properties of interface object +PASS HTMLTableColElement interface: existence and properties of interface object +PASS HTMLTableSectionElement interface: existence and properties of interface object +PASS HTMLTableRowElement interface: existence and properties of interface object +PASS HTMLTableCellElement interface: existence and properties of interface object +PASS HTMLFormElement interface: existence and properties of interface object +PASS HTMLLabelElement interface: existence and properties of interface object +PASS HTMLInputElement interface: existence and properties of interface object +PASS HTMLButtonElement interface: existence and properties of interface object +PASS HTMLSelectElement interface: existence and properties of interface object +PASS HTMLDataListElement interface: existence and properties of interface object +PASS HTMLOptGroupElement interface: existence and properties of interface object +PASS HTMLOptionElement interface: existence and properties of interface object +PASS HTMLTextAreaElement interface: existence and properties of interface object +PASS HTMLOutputElement interface: existence and properties of interface object +PASS HTMLProgressElement interface: existence and properties of interface object +PASS HTMLMeterElement interface: existence and properties of interface object +PASS HTMLFieldSetElement interface: existence and properties of interface object +PASS HTMLLegendElement interface: existence and properties of interface object +PASS ValidityState interface: existence and properties of interface object +PASS FormDataEvent interface: existence and properties of interface object +PASS HTMLDetailsElement interface: existence and properties of interface object +PASS HTMLDialogElement interface: existence and properties of interface object +PASS HTMLScriptElement interface: existence and properties of interface object +PASS HTMLTemplateElement interface: existence and properties of interface object +PASS HTMLSlotElement interface: existence and properties of interface object +PASS HTMLCanvasElement interface: existence and properties of interface object +PASS CanvasRenderingContext2D interface: existence and properties of interface object +PASS CanvasGradient interface: existence and properties of interface object +PASS CanvasGradient interface object length +PASS CanvasGradient interface object name +PASS CanvasGradient interface: existence and properties of interface prototype object +PASS CanvasGradient interface: existence and properties of interface prototype object's "constructor" property +PASS CanvasGradient interface: existence and properties of interface prototype object's @@unscopables property +PASS CanvasGradient interface: operation addColorStop(double, DOMString) +PASS CanvasPattern interface: existence and properties of interface object +PASS CanvasPattern interface object length +PASS CanvasPattern interface object name +PASS CanvasPattern interface: existence and properties of interface prototype object +PASS CanvasPattern interface: existence and properties of interface prototype object's "constructor" property +PASS CanvasPattern interface: existence and properties of interface prototype object's @@unscopables property +PASS CanvasPattern interface: operation setTransform(DOMMatrix2DInit) +PASS TextMetrics interface: existence and properties of interface object +PASS TextMetrics interface object length +PASS TextMetrics interface object name +PASS TextMetrics interface: existence and properties of interface prototype object +PASS TextMetrics interface: existence and properties of interface prototype object's "constructor" property +PASS TextMetrics interface: existence and properties of interface prototype object's @@unscopables property +PASS TextMetrics interface: attribute width +PASS TextMetrics interface: attribute actualBoundingBoxLeft +PASS TextMetrics interface: attribute actualBoundingBoxRight +PASS TextMetrics interface: attribute fontBoundingBoxAscent +PASS TextMetrics interface: attribute fontBoundingBoxDescent +PASS TextMetrics interface: attribute actualBoundingBoxAscent +PASS TextMetrics interface: attribute actualBoundingBoxDescent +PASS TextMetrics interface: attribute emHeightAscent +PASS TextMetrics interface: attribute emHeightDescent +FAIL TextMetrics interface: attribute hangingBaseline assert_true: The prototype object must have a property "hangingBaseline" expected true got false +FAIL TextMetrics interface: attribute alphabeticBaseline assert_true: The prototype object must have a property "alphabeticBaseline" expected true got false +FAIL TextMetrics interface: attribute ideographicBaseline assert_true: The prototype object must have a property "ideographicBaseline" expected true got false +PASS ImageData interface: existence and properties of interface object +PASS ImageData interface object length +PASS ImageData interface object name +PASS ImageData interface: existence and properties of interface prototype object +PASS ImageData interface: existence and properties of interface prototype object's "constructor" property +PASS ImageData interface: existence and properties of interface prototype object's @@unscopables property +PASS ImageData interface: attribute width +PASS ImageData interface: attribute height +PASS ImageData interface: attribute data +PASS Path2D interface: existence and properties of interface object +PASS Path2D interface object length +PASS Path2D interface object name +PASS Path2D interface: existence and properties of interface prototype object +PASS Path2D interface: existence and properties of interface prototype object's "constructor" property +PASS Path2D interface: existence and properties of interface prototype object's @@unscopables property +PASS Path2D interface: operation addPath(Path2D, DOMMatrix2DInit) +PASS Path2D interface: operation closePath() +PASS Path2D interface: operation moveTo(unrestricted double, unrestricted double) +PASS Path2D interface: operation lineTo(unrestricted double, unrestricted double) +PASS Path2D interface: operation quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS Path2D interface: operation bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS Path2D interface: operation arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS Path2D interface: operation rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS Path2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean) +PASS Path2D interface: operation ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean) +PASS ImageBitmapRenderingContext interface: existence and properties of interface object +PASS ImageBitmapRenderingContext interface object length +PASS ImageBitmapRenderingContext interface object name +PASS ImageBitmapRenderingContext interface: existence and properties of interface prototype object +PASS ImageBitmapRenderingContext interface: existence and properties of interface prototype object's "constructor" property +PASS ImageBitmapRenderingContext interface: existence and properties of interface prototype object's @@unscopables property +PASS ImageBitmapRenderingContext interface: attribute canvas +PASS ImageBitmapRenderingContext interface: operation transferFromImageBitmap(ImageBitmap) +PASS OffscreenCanvas interface: existence and properties of interface object +PASS OffscreenCanvas interface object length +PASS OffscreenCanvas interface object name +PASS OffscreenCanvas interface: existence and properties of interface prototype object +PASS OffscreenCanvas interface: existence and properties of interface prototype object's "constructor" property +PASS OffscreenCanvas interface: existence and properties of interface prototype object's @@unscopables property +PASS OffscreenCanvas interface: attribute width +PASS OffscreenCanvas interface: attribute height +PASS OffscreenCanvas interface: operation getContext(OffscreenRenderingContextId, any) +PASS OffscreenCanvas interface: operation transferToImageBitmap() +PASS OffscreenCanvas interface: operation convertToBlob(ImageEncodeOptions) +PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface object +PASS OffscreenCanvasRenderingContext2D interface object length +PASS OffscreenCanvasRenderingContext2D interface object name +PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object +PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object's "constructor" property +PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object's @@unscopables property +PASS OffscreenCanvasRenderingContext2D interface: operation commit() +PASS OffscreenCanvasRenderingContext2D interface: attribute canvas +PASS OffscreenCanvasRenderingContext2D interface: operation save() +PASS OffscreenCanvasRenderingContext2D interface: operation restore() +PASS OffscreenCanvasRenderingContext2D interface: operation scale(unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation rotate(unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation translate(unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation transform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +FAIL OffscreenCanvasRenderingContext2D interface: operation getTransform() assert_own_property: interface prototype object missing non-static operation expected property "getTransform" missing +FAIL OffscreenCanvasRenderingContext2D interface: operation setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) assert_equals: property has wrong .length expected 0 but got 6 +FAIL OffscreenCanvasRenderingContext2D interface: operation setTransform(DOMMatrix2DInit) assert_equals: property has wrong .length expected 0 but got 6 +PASS OffscreenCanvasRenderingContext2D interface: operation resetTransform() +PASS OffscreenCanvasRenderingContext2D interface: attribute globalAlpha +PASS OffscreenCanvasRenderingContext2D interface: attribute globalCompositeOperation +PASS OffscreenCanvasRenderingContext2D interface: attribute imageSmoothingEnabled +PASS OffscreenCanvasRenderingContext2D interface: attribute imageSmoothingQuality +PASS OffscreenCanvasRenderingContext2D interface: attribute strokeStyle +PASS OffscreenCanvasRenderingContext2D interface: attribute fillStyle +PASS OffscreenCanvasRenderingContext2D interface: operation createLinearGradient(double, double, double, double) +PASS OffscreenCanvasRenderingContext2D interface: operation createRadialGradient(double, double, double, double, double, double) +PASS OffscreenCanvasRenderingContext2D interface: operation createPattern(CanvasImageSource, DOMString) +PASS OffscreenCanvasRenderingContext2D interface: attribute shadowOffsetX +PASS OffscreenCanvasRenderingContext2D interface: attribute shadowOffsetY +PASS OffscreenCanvasRenderingContext2D interface: attribute shadowBlur +PASS OffscreenCanvasRenderingContext2D interface: attribute shadowColor +PASS OffscreenCanvasRenderingContext2D interface: attribute filter +PASS OffscreenCanvasRenderingContext2D interface: operation clearRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation fillRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation beginPath() +PASS OffscreenCanvasRenderingContext2D interface: operation fill(CanvasFillRule) +PASS OffscreenCanvasRenderingContext2D interface: operation fill(Path2D, CanvasFillRule) +PASS OffscreenCanvasRenderingContext2D interface: operation stroke() +PASS OffscreenCanvasRenderingContext2D interface: operation stroke(Path2D) +PASS OffscreenCanvasRenderingContext2D interface: operation clip(CanvasFillRule) +PASS OffscreenCanvasRenderingContext2D interface: operation clip(Path2D, CanvasFillRule) +PASS OffscreenCanvasRenderingContext2D interface: operation isPointInPath(unrestricted double, unrestricted double, CanvasFillRule) +PASS OffscreenCanvasRenderingContext2D interface: operation isPointInPath(Path2D, unrestricted double, unrestricted double, CanvasFillRule) +PASS OffscreenCanvasRenderingContext2D interface: operation isPointInStroke(unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation isPointInStroke(Path2D, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation fillText(DOMString, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation strokeText(DOMString, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation measureText(DOMString) +PASS OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation createImageData(long, long) +PASS OffscreenCanvasRenderingContext2D interface: operation createImageData(ImageData) +PASS OffscreenCanvasRenderingContext2D interface: operation getImageData(long, long, long, long) +PASS OffscreenCanvasRenderingContext2D interface: operation putImageData(ImageData, long, long) +PASS OffscreenCanvasRenderingContext2D interface: operation putImageData(ImageData, long, long, long, long, long, long) +PASS OffscreenCanvasRenderingContext2D interface: attribute lineWidth +PASS OffscreenCanvasRenderingContext2D interface: attribute lineCap +PASS OffscreenCanvasRenderingContext2D interface: attribute lineJoin +PASS OffscreenCanvasRenderingContext2D interface: attribute miterLimit +PASS OffscreenCanvasRenderingContext2D interface: operation setLineDash([object Object]) +PASS OffscreenCanvasRenderingContext2D interface: operation getLineDash() +PASS OffscreenCanvasRenderingContext2D interface: attribute lineDashOffset +PASS OffscreenCanvasRenderingContext2D interface: attribute font +PASS OffscreenCanvasRenderingContext2D interface: attribute textAlign +PASS OffscreenCanvasRenderingContext2D interface: attribute textBaseline +PASS OffscreenCanvasRenderingContext2D interface: attribute direction +PASS OffscreenCanvasRenderingContext2D interface: operation closePath() +PASS OffscreenCanvasRenderingContext2D interface: operation moveTo(unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation lineTo(unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) +PASS OffscreenCanvasRenderingContext2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean) +PASS OffscreenCanvasRenderingContext2D interface: operation ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean) +PASS CustomElementRegistry interface: existence and properties of interface object +PASS ElementInternals interface: existence and properties of interface object +PASS DataTransfer interface: existence and properties of interface object +PASS DataTransferItemList interface: existence and properties of interface object +PASS DataTransferItem interface: existence and properties of interface object +PASS DragEvent interface: existence and properties of interface object +PASS Window interface: existence and properties of interface object +PASS BarProp interface: existence and properties of interface object +PASS History interface: existence and properties of interface object +PASS Location interface: existence and properties of interface object +PASS PopStateEvent interface: existence and properties of interface object +PASS HashChangeEvent interface: existence and properties of interface object +PASS PageTransitionEvent interface: existence and properties of interface object +PASS BeforeUnloadEvent interface: existence and properties of interface object +PASS ApplicationCache interface: existence and properties of interface object +PASS ErrorEvent interface: existence and properties of interface object +PASS ErrorEvent interface object length +PASS ErrorEvent interface object name +PASS ErrorEvent interface: existence and properties of interface prototype object +PASS ErrorEvent interface: existence and properties of interface prototype object's "constructor" property +PASS ErrorEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS ErrorEvent interface: attribute message +PASS ErrorEvent interface: attribute filename +PASS ErrorEvent interface: attribute lineno +PASS ErrorEvent interface: attribute colno +PASS ErrorEvent interface: attribute error +PASS PromiseRejectionEvent interface: existence and properties of interface object +PASS PromiseRejectionEvent interface object length +PASS PromiseRejectionEvent interface object name +PASS PromiseRejectionEvent interface: existence and properties of interface prototype object +PASS PromiseRejectionEvent interface: existence and properties of interface prototype object's "constructor" property +PASS PromiseRejectionEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS PromiseRejectionEvent interface: attribute promise +PASS PromiseRejectionEvent interface: attribute reason +PASS Navigator interface: existence and properties of interface object +PASS PluginArray interface: existence and properties of interface object +PASS MimeTypeArray interface: existence and properties of interface object +PASS Plugin interface: existence and properties of interface object +PASS MimeType interface: existence and properties of interface object +PASS ImageBitmap interface: existence and properties of interface object +PASS ImageBitmap interface object length +PASS ImageBitmap interface object name +PASS ImageBitmap interface: existence and properties of interface prototype object +PASS ImageBitmap interface: existence and properties of interface prototype object's "constructor" property +PASS ImageBitmap interface: existence and properties of interface prototype object's @@unscopables property +PASS ImageBitmap interface: attribute width +PASS ImageBitmap interface: attribute height +PASS ImageBitmap interface: operation close() +PASS MessageEvent interface: existence and properties of interface object +PASS MessageEvent interface object length +PASS MessageEvent interface object name +PASS MessageEvent interface: existence and properties of interface prototype object +PASS MessageEvent interface: existence and properties of interface prototype object's "constructor" property +PASS MessageEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS MessageEvent interface: attribute data +PASS MessageEvent interface: attribute origin +PASS MessageEvent interface: attribute lastEventId +PASS MessageEvent interface: attribute source +PASS MessageEvent interface: attribute ports +PASS MessageEvent interface: operation initMessageEvent(DOMString, boolean, boolean, any, USVString, DOMString, MessageEventSource, [object Object]) +PASS MessageEvent must be primary interface of new MessageEvent("message", { data: 5 }) +PASS Stringification of new MessageEvent("message", { data: 5 }) +PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "data" with the proper type +PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "origin" with the proper type +PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "lastEventId" with the proper type +FAIL MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "source" with the proper type Unrecognized type WindowProxy +PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "ports" with the proper type +PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "initMessageEvent(DOMString, boolean, boolean, any, USVString, DOMString, MessageEventSource, [object Object])" with the proper type +PASS MessageEvent interface: calling initMessageEvent(DOMString, boolean, boolean, any, USVString, DOMString, MessageEventSource, [object Object]) on new MessageEvent("message", { data: 5 }) with too few arguments must throw TypeError +PASS EventSource interface: existence and properties of interface object +PASS EventSource interface object length +PASS EventSource interface object name +PASS EventSource interface: existence and properties of interface prototype object +PASS EventSource interface: existence and properties of interface prototype object's "constructor" property +PASS EventSource interface: existence and properties of interface prototype object's @@unscopables property +PASS EventSource interface: attribute url +PASS EventSource interface: attribute withCredentials +PASS EventSource interface: constant CONNECTING on interface object +PASS EventSource interface: constant CONNECTING on interface prototype object +PASS EventSource interface: constant OPEN on interface object +PASS EventSource interface: constant OPEN on interface prototype object +PASS EventSource interface: constant CLOSED on interface object +PASS EventSource interface: constant CLOSED on interface prototype object +PASS EventSource interface: attribute readyState +PASS EventSource interface: attribute onopen +PASS EventSource interface: attribute onmessage +PASS EventSource interface: attribute onerror +PASS EventSource interface: operation close() +PASS WebSocket interface: existence and properties of interface object +PASS WebSocket interface object length +PASS WebSocket interface object name +PASS WebSocket interface: existence and properties of interface prototype object +PASS WebSocket interface: existence and properties of interface prototype object's "constructor" property +PASS WebSocket interface: existence and properties of interface prototype object's @@unscopables property +PASS WebSocket interface: attribute url +PASS WebSocket interface: constant CONNECTING on interface object +PASS WebSocket interface: constant CONNECTING on interface prototype object +PASS WebSocket interface: constant OPEN on interface object +PASS WebSocket interface: constant OPEN on interface prototype object +PASS WebSocket interface: constant CLOSING on interface object +PASS WebSocket interface: constant CLOSING on interface prototype object +PASS WebSocket interface: constant CLOSED on interface object +PASS WebSocket interface: constant CLOSED on interface prototype object +PASS WebSocket interface: attribute readyState +PASS WebSocket interface: attribute bufferedAmount +PASS WebSocket interface: attribute onopen +PASS WebSocket interface: attribute onerror +PASS WebSocket interface: attribute onclose +PASS WebSocket interface: attribute extensions +PASS WebSocket interface: attribute protocol +PASS WebSocket interface: operation close(unsigned short, USVString) +PASS WebSocket interface: attribute onmessage +PASS WebSocket interface: attribute binaryType +PASS WebSocket interface: operation send(USVString) +PASS WebSocket interface: operation send(Blob) +PASS WebSocket interface: operation send(ArrayBuffer) +PASS WebSocket interface: operation send(ArrayBufferView) +PASS WebSocket must be primary interface of new WebSocket("ws://foo") +PASS Stringification of new WebSocket("ws://foo") +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "url" with the proper type +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "CONNECTING" with the proper type +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "OPEN" with the proper type +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "CLOSING" with the proper type +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "CLOSED" with the proper type +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "readyState" with the proper type +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "bufferedAmount" with the proper type +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "onopen" with the proper type +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "onerror" with the proper type +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "onclose" with the proper type +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "extensions" with the proper type +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "protocol" with the proper type +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "close(unsigned short, USVString)" with the proper type +PASS WebSocket interface: calling close(unsigned short, USVString) on new WebSocket("ws://foo") with too few arguments must throw TypeError +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "onmessage" with the proper type +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "binaryType" with the proper type +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "send(USVString)" with the proper type +PASS WebSocket interface: calling send(USVString) on new WebSocket("ws://foo") with too few arguments must throw TypeError +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "send(Blob)" with the proper type +PASS WebSocket interface: calling send(Blob) on new WebSocket("ws://foo") with too few arguments must throw TypeError +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "send(ArrayBuffer)" with the proper type +PASS WebSocket interface: calling send(ArrayBuffer) on new WebSocket("ws://foo") with too few arguments must throw TypeError +PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "send(ArrayBufferView)" with the proper type +PASS WebSocket interface: calling send(ArrayBufferView) on new WebSocket("ws://foo") with too few arguments must throw TypeError +PASS CloseEvent interface: existence and properties of interface object +PASS CloseEvent interface object length +PASS CloseEvent interface object name +PASS CloseEvent interface: existence and properties of interface prototype object +PASS CloseEvent interface: existence and properties of interface prototype object's "constructor" property +PASS CloseEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS CloseEvent interface: attribute wasClean +PASS CloseEvent interface: attribute code +PASS CloseEvent interface: attribute reason +PASS CloseEvent must be primary interface of new CloseEvent("close") +PASS Stringification of new CloseEvent("close") +PASS CloseEvent interface: new CloseEvent("close") must inherit property "wasClean" with the proper type +PASS CloseEvent interface: new CloseEvent("close") must inherit property "code" with the proper type +PASS CloseEvent interface: new CloseEvent("close") must inherit property "reason" with the proper type +PASS MessageChannel interface: existence and properties of interface object +PASS MessageChannel interface object length +PASS MessageChannel interface object name +PASS MessageChannel interface: existence and properties of interface prototype object +PASS MessageChannel interface: existence and properties of interface prototype object's "constructor" property +PASS MessageChannel interface: existence and properties of interface prototype object's @@unscopables property +PASS MessageChannel interface: attribute port1 +PASS MessageChannel interface: attribute port2 +PASS MessagePort interface: existence and properties of interface object +PASS MessagePort interface object length +PASS MessagePort interface object name +PASS MessagePort interface: existence and properties of interface prototype object +PASS MessagePort interface: existence and properties of interface prototype object's "constructor" property +PASS MessagePort interface: existence and properties of interface prototype object's @@unscopables property +PASS MessagePort interface: operation postMessage(any, [object Object]) +PASS MessagePort interface: operation postMessage(any, PostMessageOptions) +PASS MessagePort interface: operation start() +PASS MessagePort interface: operation close() +PASS MessagePort interface: attribute onmessage +PASS MessagePort interface: attribute onmessageerror +PASS BroadcastChannel interface: existence and properties of interface object +PASS BroadcastChannel interface object length +PASS BroadcastChannel interface object name +PASS BroadcastChannel interface: existence and properties of interface prototype object +PASS BroadcastChannel interface: existence and properties of interface prototype object's "constructor" property +PASS BroadcastChannel interface: existence and properties of interface prototype object's @@unscopables property +PASS BroadcastChannel interface: attribute name +PASS BroadcastChannel interface: operation postMessage(any) +PASS BroadcastChannel interface: operation close() +PASS BroadcastChannel interface: attribute onmessage +PASS BroadcastChannel interface: attribute onmessageerror +PASS WorkerGlobalScope interface: existence and properties of interface object +PASS WorkerGlobalScope interface object length +PASS WorkerGlobalScope interface object name +PASS WorkerGlobalScope interface: existence and properties of interface prototype object +PASS WorkerGlobalScope interface: existence and properties of interface prototype object's "constructor" property +PASS WorkerGlobalScope interface: existence and properties of interface prototype object's @@unscopables property +PASS WorkerGlobalScope interface: attribute self +PASS WorkerGlobalScope interface: attribute location +PASS WorkerGlobalScope interface: attribute navigator +PASS WorkerGlobalScope interface: operation importScripts(USVString) +PASS WorkerGlobalScope interface: attribute onerror +PASS WorkerGlobalScope interface: attribute onlanguagechange +FAIL WorkerGlobalScope interface: attribute onoffline assert_true: The prototype object must have a property "onoffline" expected true got false +FAIL WorkerGlobalScope interface: attribute ononline assert_true: The prototype object must have a property "ononline" expected true got false +PASS WorkerGlobalScope interface: attribute onrejectionhandled +PASS WorkerGlobalScope interface: attribute onunhandledrejection +PASS WorkerGlobalScope interface: attribute origin +PASS WorkerGlobalScope interface: operation btoa(DOMString) +PASS WorkerGlobalScope interface: operation atob(DOMString) +PASS WorkerGlobalScope interface: operation setTimeout(TimerHandler, long, any) +PASS WorkerGlobalScope interface: operation clearTimeout(long) +PASS WorkerGlobalScope interface: operation setInterval(TimerHandler, long, any) +PASS WorkerGlobalScope interface: operation clearInterval(long) +PASS WorkerGlobalScope interface: operation queueMicrotask(VoidFunction) +PASS WorkerGlobalScope interface: operation createImageBitmap(ImageBitmapSource, ImageBitmapOptions) +PASS WorkerGlobalScope interface: operation createImageBitmap(ImageBitmapSource, long, long, long, long, ImageBitmapOptions) +PASS DedicatedWorkerGlobalScope interface: existence and properties of interface object +PASS DedicatedWorkerGlobalScope interface object length +PASS DedicatedWorkerGlobalScope interface object name +PASS DedicatedWorkerGlobalScope interface: existence and properties of interface prototype object +PASS DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Object.setPrototypeOf should throw a TypeError +PASS DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via __proto__ should throw a TypeError +PASS DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Reflect.setPrototypeOf should return false +PASS DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Object.setPrototypeOf should not throw +PASS DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via __proto__ should not throw +PASS DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Reflect.setPrototypeOf should return true +PASS DedicatedWorkerGlobalScope interface: existence and properties of interface prototype object's "constructor" property +PASS DedicatedWorkerGlobalScope interface: existence and properties of interface prototype object's @@unscopables property +PASS DedicatedWorkerGlobalScope interface: attribute name +PASS DedicatedWorkerGlobalScope interface: operation postMessage(any, [object Object]) +PASS DedicatedWorkerGlobalScope interface: operation postMessage(any, PostMessageOptions) +PASS DedicatedWorkerGlobalScope interface: operation close() +PASS DedicatedWorkerGlobalScope interface: attribute onmessage +PASS DedicatedWorkerGlobalScope interface: attribute onmessageerror +FAIL DedicatedWorkerGlobalScope interface: operation requestAnimationFrame(FrameRequestCallback) assert_own_property: global object missing non-static operation expected property "requestAnimationFrame" missing +FAIL DedicatedWorkerGlobalScope interface: operation cancelAnimationFrame(unsigned long) assert_own_property: global object missing non-static operation expected property "cancelAnimationFrame" missing +PASS DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Object.setPrototypeOf should throw a TypeError +PASS DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via __proto__ should throw a TypeError +PASS DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Reflect.setPrototypeOf should return false +PASS DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Object.setPrototypeOf should not throw +PASS DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via __proto__ should not throw +PASS DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Reflect.setPrototypeOf should return true +PASS DedicatedWorkerGlobalScope must be primary interface of self +PASS Stringification of self +PASS DedicatedWorkerGlobalScope interface: self must inherit property "name" with the proper type +PASS DedicatedWorkerGlobalScope interface: self must inherit property "postMessage(any, [object Object])" with the proper type +PASS DedicatedWorkerGlobalScope interface: calling postMessage(any, [object Object]) on self with too few arguments must throw TypeError +PASS DedicatedWorkerGlobalScope interface: self must inherit property "postMessage(any, PostMessageOptions)" with the proper type +PASS DedicatedWorkerGlobalScope interface: calling postMessage(any, PostMessageOptions) on self with too few arguments must throw TypeError +PASS DedicatedWorkerGlobalScope interface: self must inherit property "close()" with the proper type +PASS DedicatedWorkerGlobalScope interface: self must inherit property "onmessage" with the proper type +PASS DedicatedWorkerGlobalScope interface: self must inherit property "onmessageerror" with the proper type +FAIL DedicatedWorkerGlobalScope interface: self must inherit property "requestAnimationFrame(FrameRequestCallback)" with the proper type assert_own_property: expected property "requestAnimationFrame" missing +FAIL DedicatedWorkerGlobalScope interface: calling requestAnimationFrame(FrameRequestCallback) on self with too few arguments must throw TypeError assert_own_property: expected property "requestAnimationFrame" missing +FAIL DedicatedWorkerGlobalScope interface: self must inherit property "cancelAnimationFrame(unsigned long)" with the proper type assert_own_property: expected property "cancelAnimationFrame" missing +FAIL DedicatedWorkerGlobalScope interface: calling cancelAnimationFrame(unsigned long) on self with too few arguments must throw TypeError assert_own_property: expected property "cancelAnimationFrame" missing +PASS WorkerGlobalScope interface: self must inherit property "self" with the proper type +PASS WorkerGlobalScope interface: self must inherit property "location" with the proper type +PASS WorkerGlobalScope interface: self must inherit property "navigator" with the proper type +PASS WorkerGlobalScope interface: self must inherit property "importScripts(USVString)" with the proper type +PASS WorkerGlobalScope interface: calling importScripts(USVString) on self with too few arguments must throw TypeError +PASS WorkerGlobalScope interface: self must inherit property "onerror" with the proper type +PASS WorkerGlobalScope interface: self must inherit property "onlanguagechange" with the proper type +FAIL WorkerGlobalScope interface: self must inherit property "onoffline" with the proper type assert_inherits: property "onoffline" not found in prototype chain +FAIL WorkerGlobalScope interface: self must inherit property "ononline" with the proper type assert_inherits: property "ononline" not found in prototype chain +PASS WorkerGlobalScope interface: self must inherit property "onrejectionhandled" with the proper type +PASS WorkerGlobalScope interface: self must inherit property "onunhandledrejection" with the proper type +PASS WorkerGlobalScope interface: self must inherit property "origin" with the proper type +PASS WorkerGlobalScope interface: self must inherit property "btoa(DOMString)" with the proper type +PASS WorkerGlobalScope interface: calling btoa(DOMString) on self with too few arguments must throw TypeError +PASS WorkerGlobalScope interface: self must inherit property "atob(DOMString)" with the proper type +PASS WorkerGlobalScope interface: calling atob(DOMString) on self with too few arguments must throw TypeError +PASS WorkerGlobalScope interface: self must inherit property "setTimeout(TimerHandler, long, any)" with the proper type +PASS WorkerGlobalScope interface: calling setTimeout(TimerHandler, long, any) on self with too few arguments must throw TypeError +PASS WorkerGlobalScope interface: self must inherit property "clearTimeout(long)" with the proper type +PASS WorkerGlobalScope interface: calling clearTimeout(long) on self with too few arguments must throw TypeError +PASS WorkerGlobalScope interface: self must inherit property "setInterval(TimerHandler, long, any)" with the proper type +PASS WorkerGlobalScope interface: calling setInterval(TimerHandler, long, any) on self with too few arguments must throw TypeError +PASS WorkerGlobalScope interface: self must inherit property "clearInterval(long)" with the proper type +PASS WorkerGlobalScope interface: calling clearInterval(long) on self with too few arguments must throw TypeError +PASS WorkerGlobalScope interface: self must inherit property "queueMicrotask(VoidFunction)" with the proper type +PASS WorkerGlobalScope interface: calling queueMicrotask(VoidFunction) on self with too few arguments must throw TypeError +PASS WorkerGlobalScope interface: self must inherit property "createImageBitmap(ImageBitmapSource, ImageBitmapOptions)" with the proper type +PASS WorkerGlobalScope interface: calling createImageBitmap(ImageBitmapSource, ImageBitmapOptions) on self with too few arguments must throw TypeError +PASS WorkerGlobalScope interface: self must inherit property "createImageBitmap(ImageBitmapSource, long, long, long, long, ImageBitmapOptions)" with the proper type +PASS WorkerGlobalScope interface: calling createImageBitmap(ImageBitmapSource, long, long, long, long, ImageBitmapOptions) on self with too few arguments must throw TypeError +PASS SharedWorkerGlobalScope interface: existence and properties of interface object +PASS Worker interface: existence and properties of interface object +PASS Worker interface object length +PASS Worker interface object name +PASS Worker interface: existence and properties of interface prototype object +PASS Worker interface: existence and properties of interface prototype object's "constructor" property +PASS Worker interface: existence and properties of interface prototype object's @@unscopables property +PASS Worker interface: operation terminate() +PASS Worker interface: operation postMessage(any, [object Object]) +PASS Worker interface: operation postMessage(any, PostMessageOptions) +PASS Worker interface: attribute onmessage +FAIL Worker interface: attribute onmessageerror assert_true: The prototype object must have a property "onmessageerror" expected true got false +PASS Worker interface: attribute onerror +FAIL SharedWorker interface: existence and properties of interface object assert_own_property: self does not have own property "SharedWorker" expected property "SharedWorker" missing +FAIL SharedWorker interface object length assert_own_property: self does not have own property "SharedWorker" expected property "SharedWorker" missing +FAIL SharedWorker interface object name assert_own_property: self does not have own property "SharedWorker" expected property "SharedWorker" missing +FAIL SharedWorker interface: existence and properties of interface prototype object assert_own_property: self does not have own property "SharedWorker" expected property "SharedWorker" missing +FAIL SharedWorker interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "SharedWorker" expected property "SharedWorker" missing +FAIL SharedWorker interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "SharedWorker" expected property "SharedWorker" missing +FAIL SharedWorker interface: attribute port assert_own_property: self does not have own property "SharedWorker" expected property "SharedWorker" missing +FAIL SharedWorker interface: attribute onerror assert_own_property: self does not have own property "SharedWorker" expected property "SharedWorker" missing +PASS WorkerNavigator interface: existence and properties of interface object +PASS WorkerNavigator interface object length +PASS WorkerNavigator interface object name +PASS WorkerNavigator interface: existence and properties of interface prototype object +PASS WorkerNavigator interface: existence and properties of interface prototype object's "constructor" property +PASS WorkerNavigator interface: existence and properties of interface prototype object's @@unscopables property +PASS WorkerNavigator interface: attribute appCodeName +PASS WorkerNavigator interface: attribute appName +PASS WorkerNavigator interface: attribute appVersion +PASS WorkerNavigator interface: attribute platform +PASS WorkerNavigator interface: attribute product +PASS WorkerNavigator interface: member productSub +PASS WorkerNavigator interface: attribute userAgent +PASS WorkerNavigator interface: member vendor +PASS WorkerNavigator interface: member vendorSub +PASS WorkerNavigator interface: member taintEnabled +PASS WorkerNavigator interface: member oscpu +PASS WorkerNavigator interface: attribute language +PASS WorkerNavigator interface: attribute languages +PASS WorkerNavigator interface: attribute onLine +PASS WorkerNavigator interface: attribute hardwareConcurrency +PASS WorkerNavigator must be primary interface of self.navigator +PASS Stringification of self.navigator +PASS WorkerNavigator interface: self.navigator must inherit property "appCodeName" with the proper type +PASS WorkerNavigator interface: self.navigator must inherit property "appName" with the proper type +PASS WorkerNavigator interface: self.navigator must inherit property "appVersion" with the proper type +PASS WorkerNavigator interface: self.navigator must inherit property "platform" with the proper type +PASS WorkerNavigator interface: self.navigator must inherit property "product" with the proper type +PASS WorkerNavigator interface: self.navigator must not have property "productSub" +PASS WorkerNavigator interface: self.navigator must inherit property "userAgent" with the proper type +PASS WorkerNavigator interface: self.navigator must not have property "vendor" +PASS WorkerNavigator interface: self.navigator must not have property "vendorSub" +PASS WorkerNavigator interface: self.navigator must not have property "taintEnabled" +PASS WorkerNavigator interface: self.navigator must not have property "oscpu" +PASS WorkerNavigator interface: self.navigator must inherit property "language" with the proper type +PASS WorkerNavigator interface: self.navigator must inherit property "languages" with the proper type +PASS WorkerNavigator interface: self.navigator must inherit property "onLine" with the proper type +PASS WorkerNavigator interface: self.navigator must inherit property "hardwareConcurrency" with the proper type +PASS WorkerLocation interface: existence and properties of interface object +PASS WorkerLocation interface object length +PASS WorkerLocation interface object name +PASS WorkerLocation interface: existence and properties of interface prototype object +PASS WorkerLocation interface: existence and properties of interface prototype object's "constructor" property +PASS WorkerLocation interface: existence and properties of interface prototype object's @@unscopables property +PASS WorkerLocation interface: attribute href +PASS WorkerLocation interface: stringifier +PASS WorkerLocation interface: attribute origin +PASS WorkerLocation interface: attribute protocol +PASS WorkerLocation interface: attribute host +PASS WorkerLocation interface: attribute hostname +PASS WorkerLocation interface: attribute port +PASS WorkerLocation interface: attribute pathname +PASS WorkerLocation interface: attribute search +PASS WorkerLocation interface: attribute hash +PASS WorkerLocation must be primary interface of self.location +PASS Stringification of self.location +PASS WorkerLocation interface: self.location must inherit property "href" with the proper type +PASS WorkerLocation interface: self.location must inherit property "origin" with the proper type +PASS WorkerLocation interface: self.location must inherit property "protocol" with the proper type +PASS WorkerLocation interface: self.location must inherit property "host" with the proper type +PASS WorkerLocation interface: self.location must inherit property "hostname" with the proper type +PASS WorkerLocation interface: self.location must inherit property "port" with the proper type +PASS WorkerLocation interface: self.location must inherit property "pathname" with the proper type +PASS WorkerLocation interface: self.location must inherit property "search" with the proper type +PASS WorkerLocation interface: self.location must inherit property "hash" with the proper type +PASS Storage interface: existence and properties of interface object +PASS StorageEvent interface: existence and properties of interface object +PASS HTMLMarqueeElement interface: existence and properties of interface object +PASS HTMLFrameSetElement interface: existence and properties of interface object +PASS HTMLFrameElement interface: existence and properties of interface object +PASS HTMLDirectoryElement interface: existence and properties of interface object +PASS HTMLFontElement interface: existence and properties of interface object +PASS External interface: existence and properties of interface object +PASS NodeList interface: existence and properties of interface object +PASS HTMLCollection interface: existence and properties of interface object +PASS Node interface: existence and properties of interface object +PASS Document interface: existence and properties of interface object +PASS DocumentFragment interface: existence and properties of interface object +PASS ShadowRoot interface: existence and properties of interface object +PASS Element interface: existence and properties of interface object +PASS DOMTokenList interface: existence and properties of interface object +PASS UIEvent interface: existence and properties of interface object +PASS MouseEvent interface: existence and properties of interface object Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/the-img-element/invalid-src-expected.txt b/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/the-img-element/invalid-src-expected.txt deleted file mode 100644 index 4b8f9770..0000000 --- a/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/the-img-element/invalid-src-expected.txt +++ /dev/null
@@ -1,5 +0,0 @@ -This is a testharness.js-based test. -FAIL src="http://[" assert_true: loadend event fired expected true got false -PASS src="" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/the-img-element/invalid-src.html b/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/the-img-element/invalid-src.html index c3c57ee3..37ea8ce7 100644 --- a/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/the-img-element/invalid-src.html +++ b/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/the-img-element/invalid-src.html
@@ -9,41 +9,23 @@ async_test(function(t) { var img = document.getElementById("brokenurl"); img.src = "http://["; - var errorevent = false; - var loadendevent = false; // The errors should be queued in the event loop, so they should only trigger // after this block of code finishes, not during the img.src setter itself img.addEventListener('error', t.step_func(function() { - assert_false(loadendevent, "loadend should fire after error"); - errorevent = true; - t.step_timeout(t.step_func_done(function() { - assert_true(loadendevent, "loadend event fired"); - }), 0); - })); - img.addEventListener('loadend', t.step_func(function() { - assert_true(errorevent, "error event fired"); - loadendevent = true; + t.step_timeout(t.step_func_done(), 0); })); }, 'src="http://["'); async_test(function(t) { var img = document.getElementById("emptysrc"); img.src = ""; - var loadendevent = false; // Setting src to empty string triggers only error event. // The errors should be queued in the event loop, so they should only trigger // after this block of code finishes, not during the img.src setter itself img.addEventListener('error', t.step_func(function() { - // Queue this check in the event loop to check there is no loadend event - // fired. - t.step_timeout(t.step_func_done(function() { - assert_false(loadendevent, "loadend event should not be fired"); - }), 0); - })); - img.addEventListener('loadend', t.step_func(function() { - loadendevent = true; + t.step_timeout(t.step_func_done(), 0); })); }, 'src=""');
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/autofocus-on-stable-document.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/autofocus-on-stable-document.html new file mode 100644 index 0000000..47e3e3f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/autofocus-on-stable-document.html
@@ -0,0 +1,21 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> + +<body> +<script> +'use strict'; + +promise_test(async t => { + await waitForLoad(window); + await timeOut(t, 1000); + let element = document.createElement('input'); + element.autofocus = true; + document.body.appendChild(element); + await waitUntilStableAutofocusState(); + assert_equals(document.activeElement, element); +}, 'Autofocus should work if an element with autofocus is inserted into a ' + + 'document which was loaded some time ago.'); +</script> +</body>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-reconnected-expected.txt b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-reconnected-expected.txt new file mode 100644 index 0000000..b056ed0 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-reconnected-expected.txt
@@ -0,0 +1,4 @@ +This is a testharness.js-based test. +FAIL The second autofocus element wins if the first autofocus element was disconnected and reconnected before flushing the autofocus candidates. assert_equals: expected Element node <input autofocus="" id="i2"></input> but got Element node <input autofocus="" id="i1"></input> +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-reconnected.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-reconnected.html new file mode 100644 index 0000000..99ee9198 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-reconnected.html
@@ -0,0 +1,22 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> + +<input autofocus id="i1"> +<input autofocus id="i2"> +<script> +"use strict"; + +promise_test(async () => { + const input1 = document.querySelector("#i1"); + const input2 = document.querySelector("#i2"); + input1.remove(); + input2.parentNode.insertBefore(input1, input2); + + await waitUntilStableAutofocusState(); + assert_equals(document.activeElement, input2); +}, 'The second autofocus element wins if the first autofocus element was ' + + 'disconnected and reconnected before flushing the autofocus candidates.'); +</script>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-when-later-but-before-expected.txt b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-when-later-but-before-expected.txt index 587c981..535ad230 100644 --- a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-when-later-but-before-expected.txt +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-when-later-but-before-expected.txt
@@ -1,4 +1,4 @@ This is a testharness.js-based test. -FAIL The temporally first autofocus in the document wins, even if an element is inserted later that is previous in the document tree Uncaught Error: assert_equals: expected Element node <input autofocus=""></input> but got Element node <input autofocus=""></input> +FAIL The temporally first autofocus in the document wins, even if an element is inserted later that is previous in the document tree. assert_equals: expected Element node <input autofocus=""></input> but got Element node <input autofocus=""></input> Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-when-later-but-before.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-when-later-but-before.html index 0267f46..f3614634 100644 --- a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-when-later-but-before.html +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-when-later-but-before.html
@@ -6,22 +6,21 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> <input autofocus> <script> "use strict"; -const input1 = document.querySelector("input"); +promise_test(async () => { + const input1 = document.querySelector("input"); + const input2 = document.createElement("input"); + input2.autofocus = true; + document.body.prepend(input2); -const input2 = document.createElement("input"); -input2.autofocus = true; -document.body.prepend(input2); - -step_timeout(() => { - assert_equals(document.activeElement, input1); - assert_not_equals(document.activeElement, input2); - - done(); -}, 100); + await waitUntilStableAutofocusState(); + assert_equals(document.activeElement, input1); + assert_not_equals(document.activeElement, input2); +}, 'The temporally first autofocus in the document wins, even if an element is inserted later that is previous in the document tree.'); </script>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-when-later.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-when-later.html index 9ced437f..1d64b86 100644 --- a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-when-later.html +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first-when-later.html
@@ -6,22 +6,21 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> <input autofocus> <script> "use strict"; -const input1 = document.querySelector("input"); +promise_test(async () => { + const input1 = document.querySelector("input"); + const input2 = document.createElement("input"); + input2.autofocus = true; + document.body.appendChild(input2); -const input2 = document.createElement("input"); -input2.autofocus = true; -document.body.appendChild(input2); - -step_timeout(() => { - assert_equals(document.activeElement, input1); - assert_not_equals(document.activeElement, input2); - - done(); -}, 100); + await waitUntilStableAutofocusState(); + assert_equals(document.activeElement, input1); + assert_not_equals(document.activeElement, input2); +}, 'The first autofocus in the document wins, even if elements are inserted later.'); </script>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first.html index de56cf7..02ebb79 100644 --- a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first.html +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/first.html
@@ -6,6 +6,7 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> <input autofocus> <input autofocus> @@ -13,12 +14,11 @@ <script> "use strict"; -const [input1, input2] = document.querySelectorAll("input"); +promise_test(async () => { + const [input1, input2] = document.querySelectorAll("input"); -step_timeout(() => { + await waitUntilStableAutofocusState(); assert_equals(document.activeElement, input1); assert_not_equals(document.activeElement, input2); - - done(); -}, 100); +}, 'The first autofocus element in the document should win.'); </script>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/focusable-area-in-top-document-expected.txt b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/focusable-area-in-top-document-expected.txt new file mode 100644 index 0000000..f8760c9 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/focusable-area-in-top-document-expected.txt
@@ -0,0 +1,4 @@ +This is a testharness.js-based test. +FAIL If topDocument's focused area is not topDocument, autofocus is not processed. assert_equals: activeElement should not be changed expected Element node <iframe srcdoc="<input><script>document.querySelector('in... but got Element node <input autofocus=""></input> +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/focusable-area-in-top-document.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/focusable-area-in-top-document.html new file mode 100644 index 0000000..327040e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/focusable-area-in-top-document.html
@@ -0,0 +1,24 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> + +<iframe srcdoc="<input><script>document.querySelector('input').focus();</script>"></iframe> + +<script> +'use strict'; + +promise_test(async () => { + await waitForLoad(window); + let iframe = document.querySelector('iframe'); + assert_equals(document.activeElement, iframe, 'Prereq: IFRAME should be focused'); + + let input = document.createElement('input'); + input.autofocus = true; + document.body.appendChild(input); + + await waitUntilStableAutofocusState(); + assert_equals(document.activeElement, iframe, 'activeElement should not be changed'); + assert_not_equals(document.activeElement, input); +}, 'If topDocument\'s focused area is not topDocument, autofocus is not processed.'); +</script>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/no-sandboxed-automatic-features.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/no-sandboxed-automatic-features.html new file mode 100644 index 0000000..991373d3 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/no-sandboxed-automatic-features.html
@@ -0,0 +1,17 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> + +<iframe sandbox srcdoc="<input autofocus>"></iframe> + +<script> +'use strict'; + +promise_test(async () => { + await waitForLoad(window); + await waitUntilStableAutofocusState(); + assert_not_equals(document.activeElement, document.querySelector('iframe')); +}, 'If the sandboxed automatic features browsing context flag is set, ' + + 'autofocus in the browsing context should not be handled.'); +</script>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/queue-non-focusable.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/queue-non-focusable.html new file mode 100644 index 0000000..e3b5560 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/queue-non-focusable.html
@@ -0,0 +1,20 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> + +<textarea autofocus disabled></textarea> +<select autofocus></select> + +<script> +'use strict'; + +promise_test(async () => { + const [textarea, select] = document.querySelectorAll('[autofocus]'); + textarea.disabled = false; + + await waitUntilStableAutofocusState(); + assert_equals(document.activeElement, textarea); + assert_not_equals(document.activeElement, select); +}, 'If the first autofocus element is not focusable, but becomes focusable before a frame, it should be focused.'); +</script>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/resources/erase-first.css b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/resources/erase-first.css new file mode 100644 index 0000000..bbbcf799 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/resources/erase-first.css
@@ -0,0 +1,3 @@ +#first { + display: none; +}
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/resources/frame-with-autofocus-element.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/resources/frame-with-autofocus-element.html new file mode 100644 index 0000000..985cba4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/resources/frame-with-autofocus-element.html
@@ -0,0 +1,5 @@ +<!DOCTYPE html> +<body> +<div id="anchor1"></div> +<input autofocus> +</body>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/resources/moving-autofocus-to-parent.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/resources/moving-autofocus-to-parent.html new file mode 100644 index 0000000..fc6c298 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/resources/moving-autofocus-to-parent.html
@@ -0,0 +1,10 @@ +<!DOCTYPE html> +<body> +<script> +const input = document.createElement('input'); +input.autofocus = true; +document.body.appendChild(input); +input.autofocus = false; +window.opener.document.body.appendChild(input); +</script> +</body>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/resources/utils.js b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/resources/utils.js new file mode 100644 index 0000000..0eeb5a9f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/resources/utils.js
@@ -0,0 +1,42 @@ +'use strict'; + +function waitForEvent(target, type, options) { + return new Promise((resolve, reject) => { + target.addEventListener(type, resolve, options); + }); +} + +function waitForAnimationFrame(w) { + let targetWindow = w || window; + return new Promise((resolve, reject) => { + targetWindow.requestAnimationFrame(resolve); + }); +} + +function waitForEvent(target, type, options) { + return new Promise((resolve, reject) => { + target.addEventListener(type, resolve, options); + }); +} + +function waitForLoad(target) { + return waitForEvent(target, 'load'); +} + +function timeOut(test, ms) { + return new Promise((resolve, reject) => { + test.step_timeout(resolve, ms); + }); +} + +// If an element with autofocus is connected to a document and this function +// is called, the autofocus result is deterministic after returning from the +// function. +// Exception: If the document has script-blocking style sheets, this function +// doesn't work well. +async function waitUntilStableAutofocusState(w) { + let targetWindow = w || window; + // Awaiting two animation frames is an easy way to determine autofocus state. + await waitForAnimationFrame(targetWindow); + await waitForAnimationFrame(targetWindow); +}
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-another-top-level-browsing-context.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-another-top-level-browsing-context.html new file mode 100644 index 0000000..d392b90 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-another-top-level-browsing-context.html
@@ -0,0 +1,17 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> +<script> +'use strict'; + +promise_test(async () => { + let w = window.open('resources/moving-autofocus-to-parent.html'); + await waitForLoad(w); + await waitUntilStableAutofocusState(w); + assert_equals(w.document.activeElement, w.document.body); + assert_equals(document.activeElement, document.body); + w.close(); +}, 'Autofocus elements queued in another top-level browsing context\'s ' + + 'documents should be skipped.'); +</script>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-document-with-fragment-expected.txt b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-document-with-fragment-expected.txt new file mode 100644 index 0000000..699bc67 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-document-with-fragment-expected.txt
@@ -0,0 +1,9 @@ +This is a testharness.js-based test. +FAIL Autofocus elements in iframed documents with URL fragments should be skipped. assert_equals: Autofocus elements in iframes should not be focused. expected Element node <body><iframe src="resources/frame-with-autofocus-element... but got Element node <iframe src="resources/frame-with-autofocus-element.html#... +FAIL Autofocus elements in top-level browsing context's documents with URI fragments should be skipped. assert_equals: expected Element node <body> +<div id="anchor1"></div> +<input autofocus=""> + +</b... but got Element node <input autofocus=""></input> +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-document-with-fragment.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-document-with-fragment.html new file mode 100644 index 0000000..a4301e13 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-document-with-fragment.html
@@ -0,0 +1,32 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> + +<iframe src="resources/frame-with-autofocus-element.html#anchor1"></iframe> +<iframe src="resources/frame-with-autofocus-element.html#non-existent-anchor"></iframe> + +<script> +'use strict'; + +promise_test(async () => { + await waitForLoad(window); + await waitUntilStableAutofocusState(); + assert_equals(document.activeElement, document.body, + 'Autofocus elements in iframes should not be focused.'); + + let input = document.createElement('input'); + input.autofocus = true; + document.body.appendChild(input); + await waitUntilStableAutofocusState(); + assert_equals(document.activeElement, input); +}, 'Autofocus elements in iframed documents with URL fragments should be skipped.'); + +promise_test(async () => { + let w = window.open('resources/frame-with-autofocus-element.html#xpointer(//body)'); + await waitForLoad(w); + await waitUntilStableAutofocusState(w); + assert_equals(w.document.activeElement, w.document.body); + w.close(); +}, 'Autofocus elements in top-level browsing context\'s documents with URI fragments should be skipped.'); +</script>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-non-focusable-expected.txt b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-non-focusable-expected.txt new file mode 100644 index 0000000..eaeff36a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-non-focusable-expected.txt
@@ -0,0 +1,5 @@ +This is a testharness.js-based test. +FAIL Non-focusable autofocus element is skipped. assert_equals: expected Element node <select autofocus=""></select> but got Element node <body><textarea autofocus="" disabled=""></textarea> +<sel... +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-non-focusable.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-non-focusable.html new file mode 100644 index 0000000..008371d --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-non-focusable.html
@@ -0,0 +1,19 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> + +<textarea autofocus disabled></textarea> +<select autofocus></select> + +<script> +'use strict'; + +promise_test(async () => { + const [textarea, select] = document.querySelectorAll('[autofocus]'); + + await waitUntilStableAutofocusState(); + assert_not_equals(document.activeElement, textarea); + assert_equals(document.activeElement, select); +}, 'Non-focusable autofocus element is skipped.'); +</script>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-not-fully-active.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-not-fully-active.html new file mode 100644 index 0000000..32008b30 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/skip-not-fully-active.html
@@ -0,0 +1,18 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> + +<iframe srcdoc="<input autofocus><script>window.frameElement.remove();</script>"></iframe> + +<script> +'use strict'; + +promise_test(async () => { + let iframe = document.querySelector('iframe'); + let iframeDocument = iframe.contentDocument; + await waitForLoad(window); + assert_not_equals(document.activeElement, iframe); + assert_equals(iframeDocument.activeElement, iframeDocument.body); +}, 'Autofocus element in not-fully-active document should be skipped.'); +</script>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/spin-by-blocking-style-sheet.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/spin-by-blocking-style-sheet.html new file mode 100644 index 0000000..22a4c35 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/spin-by-blocking-style-sheet.html
@@ -0,0 +1,17 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> +<link rel="stylesheet" href="resources/erase-first.css?pipe=trickle(d1)"> + +<input id="first" autofocus> +<input id="second" autofocus> + +<script> +'use strict'; + +promise_test(async () => { + await waitForEvent(document.body, 'focus', {capture:true}); + assert_equals(document.activeElement.id, 'second'); +}, 'Script-blocking style sheet should pause flushing autofocus candidates.'); +</script>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/supported-elements-expected.txt b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/supported-elements-expected.txt new file mode 100644 index 0000000..ad7ebdf --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/supported-elements-expected.txt
@@ -0,0 +1,6 @@ +This is a testharness.js-based test. +FAIL Contenteditable element should support autofocus assert_equals: expected "DIV" but got "BODY" +FAIL Element with tabindex should support autofocus assert_equals: expected "SPAN" but got "BODY" +PASS Non-HTMLElement should not support autofocus +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/supported-elements.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/supported-elements.html new file mode 100644 index 0000000..398577e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/supported-elements.html
@@ -0,0 +1,37 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> +<script> +"use strict"; + +promise_test(async t => { + let w = window.open('/common/blank.html'); + await waitForLoad(w); + t.add_cleanup(() => { w.close(); }); + w.document.body.innerHTML = '<div contenteditable=true autofocus></div>'; + await waitUntilStableAutofocusState(w); + assert_equals(w.document.activeElement.tagName, 'DIV'); +}, 'Contenteditable element should support autofocus'); + +promise_test(async t => { + let w = window.open('/common/blank.html'); + await waitForLoad(w); + t.add_cleanup(() => { w.close(); }); + w.document.body.innerHTML = '<span tabindex=0></span>'; + await waitUntilStableAutofocusState(w); + assert_equals(w.document.activeElement.tagName, 'SPAN'); +}, 'Element with tabindex should support autofocus'); + +promise_test(async t => { + let w = window.open('/common/blank.html'); + await waitForLoad(w); + t.add_cleanup(() => { w.close(); }); + let element = w.document.createElementNS('uri1', 'prefix:local'); + element.setAttribute('autofocus', ''); + w.document.body.appendChild(element); + await waitUntilStableAutofocusState(w); + assert_equals(w.document.activeElement.tagName, 'BODY'); +}, 'Non-HTMLElement should not support autofocus'); +</script>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/update-the-rendering-expected.txt b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/update-the-rendering-expected.txt new file mode 100644 index 0000000..5f907cc --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/update-the-rendering-expected.txt
@@ -0,0 +1,4 @@ +This is a testharness.js-based test. +FAIL "Flush autofocus candidates" should be happen after the first animation frame callbacks, and before a resize event in the next iteration of window event loop. assert_array_equals: lengths differ, expected 3 got 2 +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/update-the-rendering.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/update-the-rendering.html new file mode 100644 index 0000000..afaf0926 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/autofocus/update-the-rendering.html
@@ -0,0 +1,41 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<link rel="help" href="https://html.spec.whatwg.org/C/#update-the-rendering"> + +<body> +<script> +'use strict'; + +async_test(t => { + t.events = []; + + let iframe = document.createElement('iframe'); + iframe.addEventListener('load', t.step_func(() => { + let w = iframe.contentWindow; + w.requestAnimationFrame(t.step_func(() => { + t.events.push('animationFrame'); + w.requestAnimationFrame(t.step_func(() => { + t.events.push('animationFrame-should-not-be-recorded'); + })); + })); + let element = w.document.createElement('input'); + element.autofocus = true; + element.addEventListener('focus', t.step_func(() => { + t.events.push('autofocus'); + iframe.style.width = '71px'; + })); + + w.addEventListener('resize', t.step_func_done(() => { + t.events.push('resize'); + assert_array_equals(t.events, ['animationFrame', 'autofocus', 'resize']); + })); + + w.document.body.appendChild(element); + })); + document.body.appendChild(iframe); +}, '"Flush autofocus candidates" should be happen after the first animation ' + + 'frame callbacks, and before a resize event in the next iteration of ' + + 'window event loop.'); +</script> +</body>
diff --git a/third_party/blink/web_tests/external/wpt/html/webappapis/scripting/events/event-handler-all-global-events-expected.txt b/third_party/blink/web_tests/external/wpt/html/webappapis/scripting/events/event-handler-all-global-events-expected.txt index 3ef65dce..d3689768 100644 --- a/third_party/blink/web_tests/external/wpt/html/webappapis/scripting/events/event-handler-all-global-events-expected.txt +++ b/third_party/blink/web_tests/external/wpt/html/webappapis/scripting/events/event-handler-all-global-events-expected.txt
@@ -1,6 +1,309 @@ This is a testharness.js-based test. -FAIL GlobalEventHandlers Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list +Found 305 tests; 297 PASS, 8 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS onabort: must be on the appropriate locations for GlobalEventHandlers +PASS onabort: the default value must be null +PASS onabort: the content attribute must be compiled into a function as the corresponding property +PASS onabort: the content attribute must execute when an event is dispatched +PASS onabort: dispatching an Event at a <meta> element must trigger element.onabort +PASS onauxclick: must be on the appropriate locations for GlobalEventHandlers +PASS onauxclick: the default value must be null +PASS onauxclick: the content attribute must be compiled into a function as the corresponding property +PASS onauxclick: the content attribute must execute when an event is dispatched +PASS onauxclick: dispatching an Event at a <meta> element must trigger element.onauxclick +PASS onblur: must be on the appropriate locations for GlobalEventHandlers +PASS onblur: the default value must be null +PASS onblur: the content attribute must be compiled into a function as the corresponding property +PASS onblur: the content attribute must execute when an event is dispatched +PASS onblur: dispatching an Event at a <meta> element must trigger element.onblur +PASS oncancel: must be on the appropriate locations for GlobalEventHandlers +PASS oncancel: the default value must be null +PASS oncancel: the content attribute must be compiled into a function as the corresponding property +PASS oncancel: the content attribute must execute when an event is dispatched +PASS oncancel: dispatching an Event at a <meta> element must trigger element.oncancel +PASS oncanplay: must be on the appropriate locations for GlobalEventHandlers +PASS oncanplay: the default value must be null +PASS oncanplay: the content attribute must be compiled into a function as the corresponding property +PASS oncanplay: the content attribute must execute when an event is dispatched +PASS oncanplay: dispatching an Event at a <meta> element must trigger element.oncanplay +PASS oncanplaythrough: must be on the appropriate locations for GlobalEventHandlers +PASS oncanplaythrough: the default value must be null +PASS oncanplaythrough: the content attribute must be compiled into a function as the corresponding property +PASS oncanplaythrough: the content attribute must execute when an event is dispatched +PASS oncanplaythrough: dispatching an Event at a <meta> element must trigger element.oncanplaythrough +PASS onchange: must be on the appropriate locations for GlobalEventHandlers +PASS onchange: the default value must be null +PASS onchange: the content attribute must be compiled into a function as the corresponding property +PASS onchange: the content attribute must execute when an event is dispatched +PASS onchange: dispatching an Event at a <meta> element must trigger element.onchange +PASS onclick: must be on the appropriate locations for GlobalEventHandlers +PASS onclick: the default value must be null +PASS onclick: the content attribute must be compiled into a function as the corresponding property +PASS onclick: the content attribute must execute when an event is dispatched +PASS onclick: dispatching an Event at a <meta> element must trigger element.onclick +PASS onclose: must be on the appropriate locations for GlobalEventHandlers +PASS onclose: the default value must be null +PASS onclose: the content attribute must be compiled into a function as the corresponding property +PASS onclose: the content attribute must execute when an event is dispatched +PASS onclose: dispatching an Event at a <meta> element must trigger element.onclose +PASS oncontextmenu: must be on the appropriate locations for GlobalEventHandlers +PASS oncontextmenu: the default value must be null +PASS oncontextmenu: the content attribute must be compiled into a function as the corresponding property +PASS oncontextmenu: the content attribute must execute when an event is dispatched +PASS oncontextmenu: dispatching an Event at a <meta> element must trigger element.oncontextmenu +PASS oncuechange: must be on the appropriate locations for GlobalEventHandlers +PASS oncuechange: the default value must be null +PASS oncuechange: the content attribute must be compiled into a function as the corresponding property +PASS oncuechange: the content attribute must execute when an event is dispatched +PASS oncuechange: dispatching an Event at a <meta> element must trigger element.oncuechange +PASS ondblclick: must be on the appropriate locations for GlobalEventHandlers +PASS ondblclick: the default value must be null +PASS ondblclick: the content attribute must be compiled into a function as the corresponding property +PASS ondblclick: the content attribute must execute when an event is dispatched +PASS ondblclick: dispatching an Event at a <meta> element must trigger element.ondblclick +PASS ondrag: must be on the appropriate locations for GlobalEventHandlers +PASS ondrag: the default value must be null +PASS ondrag: the content attribute must be compiled into a function as the corresponding property +PASS ondrag: the content attribute must execute when an event is dispatched +PASS ondrag: dispatching an Event at a <meta> element must trigger element.ondrag +PASS ondragend: must be on the appropriate locations for GlobalEventHandlers +PASS ondragend: the default value must be null +PASS ondragend: the content attribute must be compiled into a function as the corresponding property +PASS ondragend: the content attribute must execute when an event is dispatched +PASS ondragend: dispatching an Event at a <meta> element must trigger element.ondragend +PASS ondragenter: must be on the appropriate locations for GlobalEventHandlers +PASS ondragenter: the default value must be null +PASS ondragenter: the content attribute must be compiled into a function as the corresponding property +PASS ondragenter: the content attribute must execute when an event is dispatched +PASS ondragenter: dispatching an Event at a <meta> element must trigger element.ondragenter +FAIL ondragexit: must be on the appropriate locations for GlobalEventHandlers assert_true: Window has an own property named "ondragexit" expected true got false +FAIL ondragexit: the default value must be null assert_equals: The default value of the property is null for a Window instance expected (object) null but got (undefined) undefined +FAIL ondragexit: the content attribute must be compiled into a function as the corresponding property assert_equals: The ondragexit property must be a function expected "function" but got "undefined" +FAIL ondragexit: the content attribute must execute when an event is dispatched assert_true: Dispatching an event must run the code expected true got undefined +PASS ondragexit: dispatching an Event at a <meta> element must trigger element.ondragexit +PASS ondragleave: must be on the appropriate locations for GlobalEventHandlers +PASS ondragleave: the default value must be null +PASS ondragleave: the content attribute must be compiled into a function as the corresponding property +PASS ondragleave: the content attribute must execute when an event is dispatched +PASS ondragleave: dispatching an Event at a <meta> element must trigger element.ondragleave +PASS ondragover: must be on the appropriate locations for GlobalEventHandlers +PASS ondragover: the default value must be null +PASS ondragover: the content attribute must be compiled into a function as the corresponding property +PASS ondragover: the content attribute must execute when an event is dispatched +PASS ondragover: dispatching an Event at a <meta> element must trigger element.ondragover +PASS ondragstart: must be on the appropriate locations for GlobalEventHandlers +PASS ondragstart: the default value must be null +PASS ondragstart: the content attribute must be compiled into a function as the corresponding property +PASS ondragstart: the content attribute must execute when an event is dispatched +PASS ondragstart: dispatching an Event at a <meta> element must trigger element.ondragstart +PASS ondrop: must be on the appropriate locations for GlobalEventHandlers +PASS ondrop: the default value must be null +PASS ondrop: the content attribute must be compiled into a function as the corresponding property +PASS ondrop: the content attribute must execute when an event is dispatched +PASS ondrop: dispatching an Event at a <meta> element must trigger element.ondrop +PASS ondurationchange: must be on the appropriate locations for GlobalEventHandlers +PASS ondurationchange: the default value must be null +PASS ondurationchange: the content attribute must be compiled into a function as the corresponding property +PASS ondurationchange: the content attribute must execute when an event is dispatched +PASS ondurationchange: dispatching an Event at a <meta> element must trigger element.ondurationchange +PASS onemptied: must be on the appropriate locations for GlobalEventHandlers +PASS onemptied: the default value must be null +PASS onemptied: the content attribute must be compiled into a function as the corresponding property +PASS onemptied: the content attribute must execute when an event is dispatched +PASS onemptied: dispatching an Event at a <meta> element must trigger element.onemptied +PASS onended: must be on the appropriate locations for GlobalEventHandlers +PASS onended: the default value must be null +PASS onended: the content attribute must be compiled into a function as the corresponding property +PASS onended: the content attribute must execute when an event is dispatched +PASS onended: dispatching an Event at a <meta> element must trigger element.onended +PASS onfocus: must be on the appropriate locations for GlobalEventHandlers +PASS onfocus: the default value must be null +PASS onfocus: the content attribute must be compiled into a function as the corresponding property +PASS onfocus: the content attribute must execute when an event is dispatched +PASS onfocus: dispatching an Event at a <meta> element must trigger element.onfocus +PASS onformdata: must be on the appropriate locations for GlobalEventHandlers +PASS onformdata: the default value must be null +PASS onformdata: the content attribute must be compiled into a function as the corresponding property +PASS onformdata: the content attribute must execute when an event is dispatched +PASS onformdata: dispatching an Event at a <meta> element must trigger element.onformdata +PASS oninput: must be on the appropriate locations for GlobalEventHandlers +PASS oninput: the default value must be null +PASS oninput: the content attribute must be compiled into a function as the corresponding property +PASS oninput: the content attribute must execute when an event is dispatched +PASS oninput: dispatching an Event at a <meta> element must trigger element.oninput +PASS oninvalid: must be on the appropriate locations for GlobalEventHandlers +PASS oninvalid: the default value must be null +PASS oninvalid: the content attribute must be compiled into a function as the corresponding property +PASS oninvalid: the content attribute must execute when an event is dispatched +PASS oninvalid: dispatching an Event at a <meta> element must trigger element.oninvalid +PASS onkeydown: must be on the appropriate locations for GlobalEventHandlers +PASS onkeydown: the default value must be null +PASS onkeydown: the content attribute must be compiled into a function as the corresponding property +PASS onkeydown: the content attribute must execute when an event is dispatched +PASS onkeydown: dispatching an Event at a <meta> element must trigger element.onkeydown +PASS onkeypress: must be on the appropriate locations for GlobalEventHandlers +PASS onkeypress: the default value must be null +PASS onkeypress: the content attribute must be compiled into a function as the corresponding property +PASS onkeypress: the content attribute must execute when an event is dispatched +PASS onkeypress: dispatching an Event at a <meta> element must trigger element.onkeypress +PASS onkeyup: must be on the appropriate locations for GlobalEventHandlers +PASS onkeyup: the default value must be null +PASS onkeyup: the content attribute must be compiled into a function as the corresponding property +PASS onkeyup: the content attribute must execute when an event is dispatched +PASS onkeyup: dispatching an Event at a <meta> element must trigger element.onkeyup +PASS onload: must be on the appropriate locations for GlobalEventHandlers +PASS onload: the default value must be null +PASS onload: the content attribute must be compiled into a function as the corresponding property +PASS onload: the content attribute must execute when an event is dispatched +PASS onload: dispatching an Event at a <meta> element must trigger element.onload +PASS onloadeddata: must be on the appropriate locations for GlobalEventHandlers +PASS onloadeddata: the default value must be null +PASS onloadeddata: the content attribute must be compiled into a function as the corresponding property +PASS onloadeddata: the content attribute must execute when an event is dispatched +PASS onloadeddata: dispatching an Event at a <meta> element must trigger element.onloadeddata +PASS onloadedmetadata: must be on the appropriate locations for GlobalEventHandlers +PASS onloadedmetadata: the default value must be null +PASS onloadedmetadata: the content attribute must be compiled into a function as the corresponding property +PASS onloadedmetadata: the content attribute must execute when an event is dispatched +PASS onloadedmetadata: dispatching an Event at a <meta> element must trigger element.onloadedmetadata +PASS onloadstart: must be on the appropriate locations for GlobalEventHandlers +PASS onloadstart: the default value must be null +PASS onloadstart: the content attribute must be compiled into a function as the corresponding property +PASS onloadstart: the content attribute must execute when an event is dispatched +PASS onloadstart: dispatching an Event at a <meta> element must trigger element.onloadstart +PASS onmousedown: must be on the appropriate locations for GlobalEventHandlers +PASS onmousedown: the default value must be null +PASS onmousedown: the content attribute must be compiled into a function as the corresponding property +PASS onmousedown: the content attribute must execute when an event is dispatched +PASS onmousedown: dispatching an Event at a <meta> element must trigger element.onmousedown +PASS onmouseenter: must be on the appropriate locations for GlobalEventHandlers +PASS onmouseenter: the default value must be null +PASS onmouseenter: the content attribute must be compiled into a function as the corresponding property +PASS onmouseenter: the content attribute must execute when an event is dispatched +PASS onmouseenter: dispatching an Event at a <meta> element must trigger element.onmouseenter +PASS onmouseleave: must be on the appropriate locations for GlobalEventHandlers +PASS onmouseleave: the default value must be null +PASS onmouseleave: the content attribute must be compiled into a function as the corresponding property +PASS onmouseleave: the content attribute must execute when an event is dispatched +PASS onmouseleave: dispatching an Event at a <meta> element must trigger element.onmouseleave +PASS onmousemove: must be on the appropriate locations for GlobalEventHandlers +PASS onmousemove: the default value must be null +PASS onmousemove: the content attribute must be compiled into a function as the corresponding property +PASS onmousemove: the content attribute must execute when an event is dispatched +PASS onmousemove: dispatching an Event at a <meta> element must trigger element.onmousemove +PASS onmouseout: must be on the appropriate locations for GlobalEventHandlers +PASS onmouseout: the default value must be null +PASS onmouseout: the content attribute must be compiled into a function as the corresponding property +PASS onmouseout: the content attribute must execute when an event is dispatched +PASS onmouseout: dispatching an Event at a <meta> element must trigger element.onmouseout +PASS onmouseover: must be on the appropriate locations for GlobalEventHandlers +PASS onmouseover: the default value must be null +PASS onmouseover: the content attribute must be compiled into a function as the corresponding property +PASS onmouseover: the content attribute must execute when an event is dispatched +PASS onmouseover: dispatching an Event at a <meta> element must trigger element.onmouseover +PASS onmouseup: must be on the appropriate locations for GlobalEventHandlers +PASS onmouseup: the default value must be null +PASS onmouseup: the content attribute must be compiled into a function as the corresponding property +PASS onmouseup: the content attribute must execute when an event is dispatched +PASS onmouseup: dispatching an Event at a <meta> element must trigger element.onmouseup +PASS onwheel: must be on the appropriate locations for GlobalEventHandlers +PASS onwheel: the default value must be null +PASS onwheel: the content attribute must be compiled into a function as the corresponding property +PASS onwheel: the content attribute must execute when an event is dispatched +PASS onwheel: dispatching an Event at a <meta> element must trigger element.onwheel +PASS onpause: must be on the appropriate locations for GlobalEventHandlers +PASS onpause: the default value must be null +PASS onpause: the content attribute must be compiled into a function as the corresponding property +PASS onpause: the content attribute must execute when an event is dispatched +PASS onpause: dispatching an Event at a <meta> element must trigger element.onpause +PASS onplay: must be on the appropriate locations for GlobalEventHandlers +PASS onplay: the default value must be null +PASS onplay: the content attribute must be compiled into a function as the corresponding property +PASS onplay: the content attribute must execute when an event is dispatched +PASS onplay: dispatching an Event at a <meta> element must trigger element.onplay +PASS onplaying: must be on the appropriate locations for GlobalEventHandlers +PASS onplaying: the default value must be null +PASS onplaying: the content attribute must be compiled into a function as the corresponding property +PASS onplaying: the content attribute must execute when an event is dispatched +PASS onplaying: dispatching an Event at a <meta> element must trigger element.onplaying +PASS onprogress: must be on the appropriate locations for GlobalEventHandlers +PASS onprogress: the default value must be null +PASS onprogress: the content attribute must be compiled into a function as the corresponding property +PASS onprogress: the content attribute must execute when an event is dispatched +PASS onprogress: dispatching an Event at a <meta> element must trigger element.onprogress +PASS onratechange: must be on the appropriate locations for GlobalEventHandlers +PASS onratechange: the default value must be null +PASS onratechange: the content attribute must be compiled into a function as the corresponding property +PASS onratechange: the content attribute must execute when an event is dispatched +PASS onratechange: dispatching an Event at a <meta> element must trigger element.onratechange +PASS onreset: must be on the appropriate locations for GlobalEventHandlers +PASS onreset: the default value must be null +PASS onreset: the content attribute must be compiled into a function as the corresponding property +PASS onreset: the content attribute must execute when an event is dispatched +PASS onreset: dispatching an Event at a <meta> element must trigger element.onreset +PASS onresize: must be on the appropriate locations for GlobalEventHandlers +PASS onresize: the default value must be null +PASS onresize: the content attribute must be compiled into a function as the corresponding property +PASS onresize: the content attribute must execute when an event is dispatched +PASS onresize: dispatching an Event at a <meta> element must trigger element.onresize +PASS onscroll: must be on the appropriate locations for GlobalEventHandlers +PASS onscroll: the default value must be null +PASS onscroll: the content attribute must be compiled into a function as the corresponding property +PASS onscroll: the content attribute must execute when an event is dispatched +PASS onscroll: dispatching an Event at a <meta> element must trigger element.onscroll +FAIL onsecuritypolicyviolation: must be on the appropriate locations for GlobalEventHandlers assert_true: Window has an own property named "onsecuritypolicyviolation" expected true got false +FAIL onsecuritypolicyviolation: the default value must be null assert_equals: The default value of the property is null for a Window instance expected (object) null but got (undefined) undefined +FAIL onsecuritypolicyviolation: the content attribute must be compiled into a function as the corresponding property assert_equals: The onsecuritypolicyviolation property must be a function expected "function" but got "undefined" +FAIL onsecuritypolicyviolation: the content attribute must execute when an event is dispatched assert_true: Dispatching an event must run the code expected true got undefined +PASS onsecuritypolicyviolation: dispatching an Event at a <meta> element must trigger element.onsecuritypolicyviolation +PASS onseeked: must be on the appropriate locations for GlobalEventHandlers +PASS onseeked: the default value must be null +PASS onseeked: the content attribute must be compiled into a function as the corresponding property +PASS onseeked: the content attribute must execute when an event is dispatched +PASS onseeked: dispatching an Event at a <meta> element must trigger element.onseeked +PASS onseeking: must be on the appropriate locations for GlobalEventHandlers +PASS onseeking: the default value must be null +PASS onseeking: the content attribute must be compiled into a function as the corresponding property +PASS onseeking: the content attribute must execute when an event is dispatched +PASS onseeking: dispatching an Event at a <meta> element must trigger element.onseeking +PASS onselect: must be on the appropriate locations for GlobalEventHandlers +PASS onselect: the default value must be null +PASS onselect: the content attribute must be compiled into a function as the corresponding property +PASS onselect: the content attribute must execute when an event is dispatched +PASS onselect: dispatching an Event at a <meta> element must trigger element.onselect +PASS onstalled: must be on the appropriate locations for GlobalEventHandlers +PASS onstalled: the default value must be null +PASS onstalled: the content attribute must be compiled into a function as the corresponding property +PASS onstalled: the content attribute must execute when an event is dispatched +PASS onstalled: dispatching an Event at a <meta> element must trigger element.onstalled +PASS onsubmit: must be on the appropriate locations for GlobalEventHandlers +PASS onsubmit: the default value must be null +PASS onsubmit: the content attribute must be compiled into a function as the corresponding property +PASS onsubmit: the content attribute must execute when an event is dispatched +PASS onsubmit: dispatching an Event at a <meta> element must trigger element.onsubmit +PASS onsuspend: must be on the appropriate locations for GlobalEventHandlers +PASS onsuspend: the default value must be null +PASS onsuspend: the content attribute must be compiled into a function as the corresponding property +PASS onsuspend: the content attribute must execute when an event is dispatched +PASS onsuspend: dispatching an Event at a <meta> element must trigger element.onsuspend +PASS ontimeupdate: must be on the appropriate locations for GlobalEventHandlers +PASS ontimeupdate: the default value must be null +PASS ontimeupdate: the content attribute must be compiled into a function as the corresponding property +PASS ontimeupdate: the content attribute must execute when an event is dispatched +PASS ontimeupdate: dispatching an Event at a <meta> element must trigger element.ontimeupdate +PASS ontoggle: must be on the appropriate locations for GlobalEventHandlers +PASS ontoggle: the default value must be null +PASS ontoggle: the content attribute must be compiled into a function as the corresponding property +PASS ontoggle: the content attribute must execute when an event is dispatched +PASS ontoggle: dispatching an Event at a <meta> element must trigger element.ontoggle +PASS onvolumechange: must be on the appropriate locations for GlobalEventHandlers +PASS onvolumechange: the default value must be null +PASS onvolumechange: the content attribute must be compiled into a function as the corresponding property +PASS onvolumechange: the content attribute must execute when an event is dispatched +PASS onvolumechange: dispatching an Event at a <meta> element must trigger element.onvolumechange +PASS onwaiting: must be on the appropriate locations for GlobalEventHandlers +PASS onwaiting: the default value must be null +PASS onwaiting: the content attribute must be compiled into a function as the corresponding property +PASS onwaiting: the content attribute must execute when an event is dispatched +PASS onwaiting: dispatching an Event at a <meta> element must trigger element.onwaiting Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/html/webappapis/scripting/events/event-handler-attributes-body-window-expected.txt b/third_party/blink/web_tests/external/wpt/html/webappapis/scripting/events/event-handler-attributes-body-window-expected.txt index 2f8c2372..e317caa 100644 --- a/third_party/blink/web_tests/external/wpt/html/webappapis/scripting/events/event-handler-attributes-body-window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/html/webappapis/scripting/events/event-handler-attributes-body-window-expected.txt
@@ -1,6 +1,313 @@ This is a testharness.js-based test. -FAIL HTMLBodyElement event handlers Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list +Found 309 tests; 297 PASS, 12 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS shadowed blur (document.body) +PASS shadowed error (document.body) +PASS shadowed focus (document.body) +PASS shadowed load (document.body) +PASS shadowed resize (document.body) +PASS shadowed scroll (document.body) +PASS shadowed afterprint (document.body) +PASS shadowed beforeprint (document.body) +PASS shadowed beforeunload (document.body) +PASS shadowed hashchange (document.body) +PASS shadowed languagechange (document.body) +PASS shadowed message (document.body) +PASS shadowed messageerror (document.body) +PASS shadowed offline (document.body) +PASS shadowed online (document.body) +PASS shadowed pagehide (document.body) +PASS shadowed pageshow (document.body) +PASS shadowed popstate (document.body) +PASS shadowed rejectionhandled (document.body) +PASS shadowed storage (document.body) +PASS shadowed unhandledrejection (document.body) +PASS shadowed unload (document.body) +PASS not shadowed abort (document.body) +PASS not shadowed auxclick (document.body) +PASS not shadowed cancel (document.body) +PASS not shadowed canplay (document.body) +PASS not shadowed canplaythrough (document.body) +PASS not shadowed change (document.body) +PASS not shadowed click (document.body) +PASS not shadowed close (document.body) +PASS not shadowed contextmenu (document.body) +PASS not shadowed cuechange (document.body) +PASS not shadowed dblclick (document.body) +PASS not shadowed drag (document.body) +PASS not shadowed dragend (document.body) +PASS not shadowed dragenter (document.body) +FAIL not shadowed dragexit (document.body) assert_equals: alternative body should reflect expected (object) null but got (undefined) undefined +PASS not shadowed dragleave (document.body) +PASS not shadowed dragover (document.body) +PASS not shadowed dragstart (document.body) +PASS not shadowed drop (document.body) +PASS not shadowed durationchange (document.body) +PASS not shadowed emptied (document.body) +PASS not shadowed ended (document.body) +PASS not shadowed formdata (document.body) +PASS not shadowed input (document.body) +PASS not shadowed invalid (document.body) +PASS not shadowed keydown (document.body) +PASS not shadowed keypress (document.body) +PASS not shadowed keyup (document.body) +PASS not shadowed loadeddata (document.body) +PASS not shadowed loadedmetadata (document.body) +PASS not shadowed loadstart (document.body) +PASS not shadowed mousedown (document.body) +PASS not shadowed mouseenter (document.body) +PASS not shadowed mouseleave (document.body) +PASS not shadowed mousemove (document.body) +PASS not shadowed mouseout (document.body) +PASS not shadowed mouseover (document.body) +PASS not shadowed mouseup (document.body) +PASS not shadowed wheel (document.body) +PASS not shadowed pause (document.body) +PASS not shadowed play (document.body) +PASS not shadowed playing (document.body) +PASS not shadowed progress (document.body) +PASS not shadowed ratechange (document.body) +PASS not shadowed reset (document.body) +FAIL not shadowed securitypolicyviolation (document.body) assert_equals: alternative body should reflect expected (object) null but got (undefined) undefined +PASS not shadowed seeked (document.body) +PASS not shadowed seeking (document.body) +PASS not shadowed select (document.body) +PASS not shadowed stalled (document.body) +PASS not shadowed submit (document.body) +PASS not shadowed suspend (document.body) +PASS not shadowed timeupdate (document.body) +PASS not shadowed toggle (document.body) +PASS not shadowed volumechange (document.body) +PASS not shadowed waiting (document.body) +FAIL not shadowed copy (document.body) assert_equals: window should reflect expected (object) null but got (undefined) undefined +FAIL not shadowed cut (document.body) assert_equals: window should reflect expected (object) null but got (undefined) undefined +FAIL not shadowed paste (document.body) assert_equals: window should reflect expected (object) null but got (undefined) undefined +PASS shadowed blur removal (document.body) +PASS shadowed error removal (document.body) +PASS shadowed focus removal (document.body) +PASS shadowed load removal (document.body) +PASS shadowed resize removal (document.body) +PASS shadowed scroll removal (document.body) +PASS shadowed afterprint removal (document.body) +PASS shadowed beforeprint removal (document.body) +PASS shadowed beforeunload removal (document.body) +PASS shadowed hashchange removal (document.body) +PASS shadowed languagechange removal (document.body) +PASS shadowed message removal (document.body) +PASS shadowed messageerror removal (document.body) +PASS shadowed offline removal (document.body) +PASS shadowed online removal (document.body) +PASS shadowed pagehide removal (document.body) +PASS shadowed pageshow removal (document.body) +PASS shadowed popstate removal (document.body) +PASS shadowed rejectionhandled removal (document.body) +PASS shadowed storage removal (document.body) +PASS shadowed unhandledrejection removal (document.body) +PASS shadowed unload removal (document.body) +PASS shadowed blur (document.createElement("body")) +PASS shadowed error (document.createElement("body")) +PASS shadowed focus (document.createElement("body")) +PASS shadowed load (document.createElement("body")) +PASS shadowed resize (document.createElement("body")) +PASS shadowed scroll (document.createElement("body")) +PASS shadowed afterprint (document.createElement("body")) +PASS shadowed beforeprint (document.createElement("body")) +PASS shadowed beforeunload (document.createElement("body")) +PASS shadowed hashchange (document.createElement("body")) +PASS shadowed languagechange (document.createElement("body")) +PASS shadowed message (document.createElement("body")) +PASS shadowed messageerror (document.createElement("body")) +PASS shadowed offline (document.createElement("body")) +PASS shadowed online (document.createElement("body")) +PASS shadowed pagehide (document.createElement("body")) +PASS shadowed pageshow (document.createElement("body")) +PASS shadowed popstate (document.createElement("body")) +PASS shadowed rejectionhandled (document.createElement("body")) +PASS shadowed storage (document.createElement("body")) +PASS shadowed unhandledrejection (document.createElement("body")) +PASS shadowed unload (document.createElement("body")) +PASS not shadowed abort (document.createElement("body")) +PASS not shadowed auxclick (document.createElement("body")) +PASS not shadowed cancel (document.createElement("body")) +PASS not shadowed canplay (document.createElement("body")) +PASS not shadowed canplaythrough (document.createElement("body")) +PASS not shadowed change (document.createElement("body")) +PASS not shadowed click (document.createElement("body")) +PASS not shadowed close (document.createElement("body")) +PASS not shadowed contextmenu (document.createElement("body")) +PASS not shadowed cuechange (document.createElement("body")) +PASS not shadowed dblclick (document.createElement("body")) +PASS not shadowed drag (document.createElement("body")) +PASS not shadowed dragend (document.createElement("body")) +PASS not shadowed dragenter (document.createElement("body")) +FAIL not shadowed dragexit (document.createElement("body")) assert_equals: body should reflect expected (object) null but got (undefined) undefined +PASS not shadowed dragleave (document.createElement("body")) +PASS not shadowed dragover (document.createElement("body")) +PASS not shadowed dragstart (document.createElement("body")) +PASS not shadowed drop (document.createElement("body")) +PASS not shadowed durationchange (document.createElement("body")) +PASS not shadowed emptied (document.createElement("body")) +PASS not shadowed ended (document.createElement("body")) +PASS not shadowed formdata (document.createElement("body")) +PASS not shadowed input (document.createElement("body")) +PASS not shadowed invalid (document.createElement("body")) +PASS not shadowed keydown (document.createElement("body")) +PASS not shadowed keypress (document.createElement("body")) +PASS not shadowed keyup (document.createElement("body")) +PASS not shadowed loadeddata (document.createElement("body")) +PASS not shadowed loadedmetadata (document.createElement("body")) +PASS not shadowed loadstart (document.createElement("body")) +PASS not shadowed mousedown (document.createElement("body")) +PASS not shadowed mouseenter (document.createElement("body")) +PASS not shadowed mouseleave (document.createElement("body")) +PASS not shadowed mousemove (document.createElement("body")) +PASS not shadowed mouseout (document.createElement("body")) +PASS not shadowed mouseover (document.createElement("body")) +PASS not shadowed mouseup (document.createElement("body")) +PASS not shadowed wheel (document.createElement("body")) +PASS not shadowed pause (document.createElement("body")) +PASS not shadowed play (document.createElement("body")) +PASS not shadowed playing (document.createElement("body")) +PASS not shadowed progress (document.createElement("body")) +PASS not shadowed ratechange (document.createElement("body")) +PASS not shadowed reset (document.createElement("body")) +FAIL not shadowed securitypolicyviolation (document.createElement("body")) assert_equals: body should reflect expected (object) null but got (undefined) undefined +PASS not shadowed seeked (document.createElement("body")) +PASS not shadowed seeking (document.createElement("body")) +PASS not shadowed select (document.createElement("body")) +PASS not shadowed stalled (document.createElement("body")) +PASS not shadowed submit (document.createElement("body")) +PASS not shadowed suspend (document.createElement("body")) +PASS not shadowed timeupdate (document.createElement("body")) +PASS not shadowed toggle (document.createElement("body")) +PASS not shadowed volumechange (document.createElement("body")) +PASS not shadowed waiting (document.createElement("body")) +FAIL not shadowed copy (document.createElement("body")) assert_equals: window should reflect expected (object) null but got (undefined) undefined +FAIL not shadowed cut (document.createElement("body")) assert_equals: window should reflect expected (object) null but got (undefined) undefined +FAIL not shadowed paste (document.createElement("body")) assert_equals: window should reflect expected (object) null but got (undefined) undefined +PASS shadowed blur removal (document.createElement("body")) +PASS shadowed error removal (document.createElement("body")) +PASS shadowed focus removal (document.createElement("body")) +PASS shadowed load removal (document.createElement("body")) +PASS shadowed resize removal (document.createElement("body")) +PASS shadowed scroll removal (document.createElement("body")) +PASS shadowed afterprint removal (document.createElement("body")) +PASS shadowed beforeprint removal (document.createElement("body")) +PASS shadowed beforeunload removal (document.createElement("body")) +PASS shadowed hashchange removal (document.createElement("body")) +PASS shadowed languagechange removal (document.createElement("body")) +PASS shadowed message removal (document.createElement("body")) +PASS shadowed messageerror removal (document.createElement("body")) +PASS shadowed offline removal (document.createElement("body")) +PASS shadowed online removal (document.createElement("body")) +PASS shadowed pagehide removal (document.createElement("body")) +PASS shadowed pageshow removal (document.createElement("body")) +PASS shadowed popstate removal (document.createElement("body")) +PASS shadowed rejectionhandled removal (document.createElement("body")) +PASS shadowed storage removal (document.createElement("body")) +PASS shadowed unhandledrejection removal (document.createElement("body")) +PASS shadowed unload removal (document.createElement("body")) +PASS shadowed blur (window) +PASS shadowed error (window) +PASS shadowed focus (window) +PASS shadowed load (window) +PASS shadowed resize (window) +PASS shadowed scroll (window) +PASS shadowed afterprint (window) +PASS shadowed beforeprint (window) +PASS shadowed beforeunload (window) +PASS shadowed hashchange (window) +PASS shadowed languagechange (window) +PASS shadowed message (window) +PASS shadowed messageerror (window) +PASS shadowed offline (window) +PASS shadowed online (window) +PASS shadowed pagehide (window) +PASS shadowed pageshow (window) +PASS shadowed popstate (window) +PASS shadowed rejectionhandled (window) +PASS shadowed storage (window) +PASS shadowed unhandledrejection (window) +PASS shadowed unload (window) +PASS not shadowed abort (window) +PASS not shadowed auxclick (window) +PASS not shadowed cancel (window) +PASS not shadowed canplay (window) +PASS not shadowed canplaythrough (window) +PASS not shadowed change (window) +PASS not shadowed click (window) +PASS not shadowed close (window) +PASS not shadowed contextmenu (window) +PASS not shadowed cuechange (window) +PASS not shadowed dblclick (window) +PASS not shadowed drag (window) +PASS not shadowed dragend (window) +PASS not shadowed dragenter (window) +FAIL not shadowed dragexit (window) assert_equals: body should reflect expected (object) null but got (undefined) undefined +PASS not shadowed dragleave (window) +PASS not shadowed dragover (window) +PASS not shadowed dragstart (window) +PASS not shadowed drop (window) +PASS not shadowed durationchange (window) +PASS not shadowed emptied (window) +PASS not shadowed ended (window) +PASS not shadowed formdata (window) +PASS not shadowed input (window) +PASS not shadowed invalid (window) +PASS not shadowed keydown (window) +PASS not shadowed keypress (window) +PASS not shadowed keyup (window) +PASS not shadowed loadeddata (window) +PASS not shadowed loadedmetadata (window) +PASS not shadowed loadstart (window) +PASS not shadowed mousedown (window) +PASS not shadowed mouseenter (window) +PASS not shadowed mouseleave (window) +PASS not shadowed mousemove (window) +PASS not shadowed mouseout (window) +PASS not shadowed mouseover (window) +PASS not shadowed mouseup (window) +PASS not shadowed wheel (window) +PASS not shadowed pause (window) +PASS not shadowed play (window) +PASS not shadowed playing (window) +PASS not shadowed progress (window) +PASS not shadowed ratechange (window) +PASS not shadowed reset (window) +FAIL not shadowed securitypolicyviolation (window) assert_equals: body should reflect expected (object) null but got (undefined) undefined +PASS not shadowed seeked (window) +PASS not shadowed seeking (window) +PASS not shadowed select (window) +PASS not shadowed stalled (window) +PASS not shadowed submit (window) +PASS not shadowed suspend (window) +PASS not shadowed timeupdate (window) +PASS not shadowed toggle (window) +PASS not shadowed volumechange (window) +PASS not shadowed waiting (window) +PASS not shadowed copy (window) +PASS not shadowed cut (window) +PASS not shadowed paste (window) +PASS shadowed blur removal (window) +PASS shadowed error removal (window) +PASS shadowed focus removal (window) +PASS shadowed load removal (window) +PASS shadowed resize removal (window) +PASS shadowed scroll removal (window) +PASS shadowed afterprint removal (window) +PASS shadowed beforeprint removal (window) +PASS shadowed beforeunload removal (window) +PASS shadowed hashchange removal (window) +PASS shadowed languagechange removal (window) +PASS shadowed message removal (window) +PASS shadowed messageerror removal (window) +PASS shadowed offline removal (window) +PASS shadowed online removal (window) +PASS shadowed pagehide removal (window) +PASS shadowed pageshow removal (window) +PASS shadowed popstate removal (window) +PASS shadowed rejectionhandled removal (window) +PASS shadowed storage removal (window) +PASS shadowed unhandledrejection removal (window) +PASS shadowed unload removal (window) Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/html/webappapis/scripting/events/event-handler-attributes-frameset-window-expected.txt b/third_party/blink/web_tests/external/wpt/html/webappapis/scripting/events/event-handler-attributes-frameset-window-expected.txt index 873ce5bc..c4e1cb8 100644 --- a/third_party/blink/web_tests/external/wpt/html/webappapis/scripting/events/event-handler-attributes-frameset-window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/html/webappapis/scripting/events/event-handler-attributes-frameset-window-expected.txt
@@ -1,6 +1,313 @@ This is a testharness.js-based test. -FAIL event handlers Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list +Found 309 tests; 297 PASS, 12 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS shadowed blur (document.body) +PASS shadowed error (document.body) +PASS shadowed focus (document.body) +PASS shadowed load (document.body) +PASS shadowed resize (document.body) +PASS shadowed scroll (document.body) +PASS shadowed afterprint (document.body) +PASS shadowed beforeprint (document.body) +PASS shadowed beforeunload (document.body) +PASS shadowed hashchange (document.body) +PASS shadowed languagechange (document.body) +PASS shadowed message (document.body) +PASS shadowed messageerror (document.body) +PASS shadowed offline (document.body) +PASS shadowed online (document.body) +PASS shadowed pagehide (document.body) +PASS shadowed pageshow (document.body) +PASS shadowed popstate (document.body) +PASS shadowed rejectionhandled (document.body) +PASS shadowed storage (document.body) +PASS shadowed unhandledrejection (document.body) +PASS shadowed unload (document.body) +PASS not shadowed abort (document.body) +PASS not shadowed auxclick (document.body) +PASS not shadowed cancel (document.body) +PASS not shadowed canplay (document.body) +PASS not shadowed canplaythrough (document.body) +PASS not shadowed change (document.body) +PASS not shadowed click (document.body) +PASS not shadowed close (document.body) +PASS not shadowed contextmenu (document.body) +PASS not shadowed cuechange (document.body) +PASS not shadowed dblclick (document.body) +PASS not shadowed drag (document.body) +PASS not shadowed dragend (document.body) +PASS not shadowed dragenter (document.body) +FAIL not shadowed dragexit (document.body) assert_equals: alternative body should reflect expected (object) null but got (undefined) undefined +PASS not shadowed dragleave (document.body) +PASS not shadowed dragover (document.body) +PASS not shadowed dragstart (document.body) +PASS not shadowed drop (document.body) +PASS not shadowed durationchange (document.body) +PASS not shadowed emptied (document.body) +PASS not shadowed ended (document.body) +PASS not shadowed formdata (document.body) +PASS not shadowed input (document.body) +PASS not shadowed invalid (document.body) +PASS not shadowed keydown (document.body) +PASS not shadowed keypress (document.body) +PASS not shadowed keyup (document.body) +PASS not shadowed loadeddata (document.body) +PASS not shadowed loadedmetadata (document.body) +PASS not shadowed loadstart (document.body) +PASS not shadowed mousedown (document.body) +PASS not shadowed mouseenter (document.body) +PASS not shadowed mouseleave (document.body) +PASS not shadowed mousemove (document.body) +PASS not shadowed mouseout (document.body) +PASS not shadowed mouseover (document.body) +PASS not shadowed mouseup (document.body) +PASS not shadowed wheel (document.body) +PASS not shadowed pause (document.body) +PASS not shadowed play (document.body) +PASS not shadowed playing (document.body) +PASS not shadowed progress (document.body) +PASS not shadowed ratechange (document.body) +PASS not shadowed reset (document.body) +FAIL not shadowed securitypolicyviolation (document.body) assert_equals: alternative body should reflect expected (object) null but got (undefined) undefined +PASS not shadowed seeked (document.body) +PASS not shadowed seeking (document.body) +PASS not shadowed select (document.body) +PASS not shadowed stalled (document.body) +PASS not shadowed submit (document.body) +PASS not shadowed suspend (document.body) +PASS not shadowed timeupdate (document.body) +PASS not shadowed toggle (document.body) +PASS not shadowed volumechange (document.body) +PASS not shadowed waiting (document.body) +FAIL not shadowed copy (document.body) assert_equals: window should reflect expected (object) null but got (undefined) undefined +FAIL not shadowed cut (document.body) assert_equals: window should reflect expected (object) null but got (undefined) undefined +FAIL not shadowed paste (document.body) assert_equals: window should reflect expected (object) null but got (undefined) undefined +PASS shadowed blur removal (document.body) +PASS shadowed error removal (document.body) +PASS shadowed focus removal (document.body) +PASS shadowed load removal (document.body) +PASS shadowed resize removal (document.body) +PASS shadowed scroll removal (document.body) +PASS shadowed afterprint removal (document.body) +PASS shadowed beforeprint removal (document.body) +PASS shadowed beforeunload removal (document.body) +PASS shadowed hashchange removal (document.body) +PASS shadowed languagechange removal (document.body) +PASS shadowed message removal (document.body) +PASS shadowed messageerror removal (document.body) +PASS shadowed offline removal (document.body) +PASS shadowed online removal (document.body) +PASS shadowed pagehide removal (document.body) +PASS shadowed pageshow removal (document.body) +PASS shadowed popstate removal (document.body) +PASS shadowed rejectionhandled removal (document.body) +PASS shadowed storage removal (document.body) +PASS shadowed unhandledrejection removal (document.body) +PASS shadowed unload removal (document.body) +PASS shadowed blur (document.createElement("frameset")) +PASS shadowed error (document.createElement("frameset")) +PASS shadowed focus (document.createElement("frameset")) +PASS shadowed load (document.createElement("frameset")) +PASS shadowed resize (document.createElement("frameset")) +PASS shadowed scroll (document.createElement("frameset")) +PASS shadowed afterprint (document.createElement("frameset")) +PASS shadowed beforeprint (document.createElement("frameset")) +PASS shadowed beforeunload (document.createElement("frameset")) +PASS shadowed hashchange (document.createElement("frameset")) +PASS shadowed languagechange (document.createElement("frameset")) +PASS shadowed message (document.createElement("frameset")) +PASS shadowed messageerror (document.createElement("frameset")) +PASS shadowed offline (document.createElement("frameset")) +PASS shadowed online (document.createElement("frameset")) +PASS shadowed pagehide (document.createElement("frameset")) +PASS shadowed pageshow (document.createElement("frameset")) +PASS shadowed popstate (document.createElement("frameset")) +PASS shadowed rejectionhandled (document.createElement("frameset")) +PASS shadowed storage (document.createElement("frameset")) +PASS shadowed unhandledrejection (document.createElement("frameset")) +PASS shadowed unload (document.createElement("frameset")) +PASS not shadowed abort (document.createElement("frameset")) +PASS not shadowed auxclick (document.createElement("frameset")) +PASS not shadowed cancel (document.createElement("frameset")) +PASS not shadowed canplay (document.createElement("frameset")) +PASS not shadowed canplaythrough (document.createElement("frameset")) +PASS not shadowed change (document.createElement("frameset")) +PASS not shadowed click (document.createElement("frameset")) +PASS not shadowed close (document.createElement("frameset")) +PASS not shadowed contextmenu (document.createElement("frameset")) +PASS not shadowed cuechange (document.createElement("frameset")) +PASS not shadowed dblclick (document.createElement("frameset")) +PASS not shadowed drag (document.createElement("frameset")) +PASS not shadowed dragend (document.createElement("frameset")) +PASS not shadowed dragenter (document.createElement("frameset")) +FAIL not shadowed dragexit (document.createElement("frameset")) assert_equals: body should reflect expected (object) null but got (undefined) undefined +PASS not shadowed dragleave (document.createElement("frameset")) +PASS not shadowed dragover (document.createElement("frameset")) +PASS not shadowed dragstart (document.createElement("frameset")) +PASS not shadowed drop (document.createElement("frameset")) +PASS not shadowed durationchange (document.createElement("frameset")) +PASS not shadowed emptied (document.createElement("frameset")) +PASS not shadowed ended (document.createElement("frameset")) +PASS not shadowed formdata (document.createElement("frameset")) +PASS not shadowed input (document.createElement("frameset")) +PASS not shadowed invalid (document.createElement("frameset")) +PASS not shadowed keydown (document.createElement("frameset")) +PASS not shadowed keypress (document.createElement("frameset")) +PASS not shadowed keyup (document.createElement("frameset")) +PASS not shadowed loadeddata (document.createElement("frameset")) +PASS not shadowed loadedmetadata (document.createElement("frameset")) +PASS not shadowed loadstart (document.createElement("frameset")) +PASS not shadowed mousedown (document.createElement("frameset")) +PASS not shadowed mouseenter (document.createElement("frameset")) +PASS not shadowed mouseleave (document.createElement("frameset")) +PASS not shadowed mousemove (document.createElement("frameset")) +PASS not shadowed mouseout (document.createElement("frameset")) +PASS not shadowed mouseover (document.createElement("frameset")) +PASS not shadowed mouseup (document.createElement("frameset")) +PASS not shadowed wheel (document.createElement("frameset")) +PASS not shadowed pause (document.createElement("frameset")) +PASS not shadowed play (document.createElement("frameset")) +PASS not shadowed playing (document.createElement("frameset")) +PASS not shadowed progress (document.createElement("frameset")) +PASS not shadowed ratechange (document.createElement("frameset")) +PASS not shadowed reset (document.createElement("frameset")) +FAIL not shadowed securitypolicyviolation (document.createElement("frameset")) assert_equals: body should reflect expected (object) null but got (undefined) undefined +PASS not shadowed seeked (document.createElement("frameset")) +PASS not shadowed seeking (document.createElement("frameset")) +PASS not shadowed select (document.createElement("frameset")) +PASS not shadowed stalled (document.createElement("frameset")) +PASS not shadowed submit (document.createElement("frameset")) +PASS not shadowed suspend (document.createElement("frameset")) +PASS not shadowed timeupdate (document.createElement("frameset")) +PASS not shadowed toggle (document.createElement("frameset")) +PASS not shadowed volumechange (document.createElement("frameset")) +PASS not shadowed waiting (document.createElement("frameset")) +FAIL not shadowed copy (document.createElement("frameset")) assert_equals: window should reflect expected (object) null but got (undefined) undefined +FAIL not shadowed cut (document.createElement("frameset")) assert_equals: window should reflect expected (object) null but got (undefined) undefined +FAIL not shadowed paste (document.createElement("frameset")) assert_equals: window should reflect expected (object) null but got (undefined) undefined +PASS shadowed blur removal (document.createElement("frameset")) +PASS shadowed error removal (document.createElement("frameset")) +PASS shadowed focus removal (document.createElement("frameset")) +PASS shadowed load removal (document.createElement("frameset")) +PASS shadowed resize removal (document.createElement("frameset")) +PASS shadowed scroll removal (document.createElement("frameset")) +PASS shadowed afterprint removal (document.createElement("frameset")) +PASS shadowed beforeprint removal (document.createElement("frameset")) +PASS shadowed beforeunload removal (document.createElement("frameset")) +PASS shadowed hashchange removal (document.createElement("frameset")) +PASS shadowed languagechange removal (document.createElement("frameset")) +PASS shadowed message removal (document.createElement("frameset")) +PASS shadowed messageerror removal (document.createElement("frameset")) +PASS shadowed offline removal (document.createElement("frameset")) +PASS shadowed online removal (document.createElement("frameset")) +PASS shadowed pagehide removal (document.createElement("frameset")) +PASS shadowed pageshow removal (document.createElement("frameset")) +PASS shadowed popstate removal (document.createElement("frameset")) +PASS shadowed rejectionhandled removal (document.createElement("frameset")) +PASS shadowed storage removal (document.createElement("frameset")) +PASS shadowed unhandledrejection removal (document.createElement("frameset")) +PASS shadowed unload removal (document.createElement("frameset")) +PASS shadowed blur (window) +PASS shadowed error (window) +PASS shadowed focus (window) +PASS shadowed load (window) +PASS shadowed resize (window) +PASS shadowed scroll (window) +PASS shadowed afterprint (window) +PASS shadowed beforeprint (window) +PASS shadowed beforeunload (window) +PASS shadowed hashchange (window) +PASS shadowed languagechange (window) +PASS shadowed message (window) +PASS shadowed messageerror (window) +PASS shadowed offline (window) +PASS shadowed online (window) +PASS shadowed pagehide (window) +PASS shadowed pageshow (window) +PASS shadowed popstate (window) +PASS shadowed rejectionhandled (window) +PASS shadowed storage (window) +PASS shadowed unhandledrejection (window) +PASS shadowed unload (window) +PASS not shadowed abort (window) +PASS not shadowed auxclick (window) +PASS not shadowed cancel (window) +PASS not shadowed canplay (window) +PASS not shadowed canplaythrough (window) +PASS not shadowed change (window) +PASS not shadowed click (window) +PASS not shadowed close (window) +PASS not shadowed contextmenu (window) +PASS not shadowed cuechange (window) +PASS not shadowed dblclick (window) +PASS not shadowed drag (window) +PASS not shadowed dragend (window) +PASS not shadowed dragenter (window) +FAIL not shadowed dragexit (window) assert_equals: body should reflect expected (object) null but got (undefined) undefined +PASS not shadowed dragleave (window) +PASS not shadowed dragover (window) +PASS not shadowed dragstart (window) +PASS not shadowed drop (window) +PASS not shadowed durationchange (window) +PASS not shadowed emptied (window) +PASS not shadowed ended (window) +PASS not shadowed formdata (window) +PASS not shadowed input (window) +PASS not shadowed invalid (window) +PASS not shadowed keydown (window) +PASS not shadowed keypress (window) +PASS not shadowed keyup (window) +PASS not shadowed loadeddata (window) +PASS not shadowed loadedmetadata (window) +PASS not shadowed loadstart (window) +PASS not shadowed mousedown (window) +PASS not shadowed mouseenter (window) +PASS not shadowed mouseleave (window) +PASS not shadowed mousemove (window) +PASS not shadowed mouseout (window) +PASS not shadowed mouseover (window) +PASS not shadowed mouseup (window) +PASS not shadowed wheel (window) +PASS not shadowed pause (window) +PASS not shadowed play (window) +PASS not shadowed playing (window) +PASS not shadowed progress (window) +PASS not shadowed ratechange (window) +PASS not shadowed reset (window) +FAIL not shadowed securitypolicyviolation (window) assert_equals: body should reflect expected (object) null but got (undefined) undefined +PASS not shadowed seeked (window) +PASS not shadowed seeking (window) +PASS not shadowed select (window) +PASS not shadowed stalled (window) +PASS not shadowed submit (window) +PASS not shadowed suspend (window) +PASS not shadowed timeupdate (window) +PASS not shadowed toggle (window) +PASS not shadowed volumechange (window) +PASS not shadowed waiting (window) +PASS not shadowed copy (window) +PASS not shadowed cut (window) +PASS not shadowed paste (window) +PASS shadowed blur removal (window) +PASS shadowed error removal (window) +PASS shadowed focus removal (window) +PASS shadowed load removal (window) +PASS shadowed resize removal (window) +PASS shadowed scroll removal (window) +PASS shadowed afterprint removal (window) +PASS shadowed beforeprint removal (window) +PASS shadowed beforeunload removal (window) +PASS shadowed hashchange removal (window) +PASS shadowed languagechange removal (window) +PASS shadowed message removal (window) +PASS shadowed messageerror removal (window) +PASS shadowed offline removal (window) +PASS shadowed online removal (window) +PASS shadowed pagehide removal (window) +PASS shadowed pageshow removal (window) +PASS shadowed popstate removal (window) +PASS shadowed rejectionhandled removal (window) +PASS shadowed storage removal (window) +PASS shadowed unhandledrejection removal (window) +PASS shadowed unload removal (window) Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/idle-detection/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/idle-detection/idlharness.https.any.worker-expected.txt deleted file mode 100644 index 7834d00..0000000 --- a/third_party/blink/web_tests/external/wpt/idle-detection/idlharness.https.any.worker-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL Test IDL implementation of Idle Detection API promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/images/canvas-line.png b/third_party/blink/web_tests/external/wpt/images/canvas-line.png deleted file mode 100644 index 30f8f45..0000000 --- a/third_party/blink/web_tests/external/wpt/images/canvas-line.png +++ /dev/null Binary files differ
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/expected-fail/uncaught-exception-expected.txt b/third_party/blink/web_tests/external/wpt/infrastructure/expected-fail/uncaught-exception-expected.txt new file mode 100644 index 0000000..1765dd9 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/infrastructure/expected-fail/uncaught-exception-expected.txt
@@ -0,0 +1,4 @@ +This is a testharness.js-based test. +FAIL Uncaught exception Uncaught Error: error outside any setup or test +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/expected-fail/uncaught-exception.html b/third_party/blink/web_tests/external/wpt/infrastructure/expected-fail/uncaught-exception.html new file mode 100644 index 0000000..4442d51 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/infrastructure/expected-fail/uncaught-exception.html
@@ -0,0 +1,8 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Uncaught exception</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +throw new Error("error outside any setup or test"); +</script>
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/assumptions/document-fonts-ready.html.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/assumptions/document-fonts-ready.html.ini new file mode 100644 index 0000000..d074292 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/assumptions/document-fonts-ready.html.ini
@@ -0,0 +1,4 @@ +[document-fonts-ready.html] + [document.fonts.ready resolves after layout depending on loaded fonts] + expected: + if product == "epiphany" or product == "webkit": FAIL # https://bugs.webkit.org/show_bug.cgi?id=174030
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini index 5bb1bf5..4be883a 100644 --- a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini
@@ -6,9 +6,9 @@ [Compare CSS span definitions (only valid if pre-reqs pass)] expected: - if product == "safari": FAIL # https://webkit.org/show_bug.cgi?id=187052 + if product == "safari" or product == "epiphany" or product == "webkit": FAIL # https://bugs.webkit.org/show_bug.cgi?id=187052 [Compare CSS div definitions (only valid if pre-reqs pass)] expected: - if product == "safari": FAIL # https://webkit.org/show_bug.cgi?id=187052 + if product == "safari" or product == "epiphany" or product == "webkit": FAIL # https://bugs.webkit.org/show_bug.cgi?id=187052
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/expected-fail/uncaught-exception.html.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/expected-fail/uncaught-exception.html.ini new file mode 100644 index 0000000..0bcdd374 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/expected-fail/uncaught-exception.html.ini
@@ -0,0 +1,4 @@ +[uncaught-exception.html] + [Uncaught exception] + expected: FAIL +
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/context.any.js.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/context.any.js.ini index ff57a13..9667d4d2 100644 --- a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/context.any.js.ini +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/context.any.js.ini
@@ -2,4 +2,9 @@ [context] expected: if product == "edge_webdriver": FAIL - if product == "safari": FAIL # https://bugs.webkit.org/show_bug.cgi?id=149850 + if product == "safari" or product == "epiphany" or product == "webkit": FAIL # https://bugs.webkit.org/show_bug.cgi?id=149850 + +[context.any.serviceworker.html] + [context] + expected: + if product == "epiphany" or product == "webkit": FAIL # https://bugs.webkit.org/show_bug.cgi?id=200815
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/order-of-metas.any.js.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/order-of-metas.any.js.ini index e4a96de..a62ae82b 100644 --- a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/order-of-metas.any.js.ini +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/order-of-metas.any.js.ini
@@ -18,7 +18,7 @@ [foo] expected: if product == "edge_webdriver": FAIL - if product == "safari": FAIL # https://bugs.webkit.org/show_bug.cgi?id=149850 + if product == "safari" or product == "epiphany" or product == "webkit": FAIL # https://bugs.webkit.org/show_bug.cgi?id=149850 [order-of-metas.window.html]
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/secure-context.https.any.js.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/secure-context.https.any.js.ini index f483bca..0a602b9a 100644 --- a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/secure-context.https.any.js.ini +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/secure-context.https.any.js.ini
@@ -2,4 +2,9 @@ [secure-context] expected: if product == "edge_webdriver": FAIL - if product == "safari": FAIL # https://bugs.webkit.org/show_bug.cgi?id=149850 + if product == "safari" or product == "epiphany" or product == "webkit": FAIL # https://bugs.webkit.org/show_bug.cgi?id=149850 + +[secure-context.https.any.serviceworker.html] + [secure-context] + expected: + if product == "epiphany" or product == "webkit": FAIL # https://bugs.webkit.org/show_bug.cgi?id=200815
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/title.any.js.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/title.any.js.ini index cbae6b15..6f7fed9 100644 --- a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/title.any.js.ini +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/title.any.js.ini
@@ -12,7 +12,7 @@ [foobar] expected: - if product == "safari": FAIL # https://bugs.webkit.org/show_bug.cgi?id=149850 + if product == "safari" or product == "epiphany" or product == "webkit": FAIL # https://bugs.webkit.org/show_bug.cgi?id=149850 [title.any.worker.html]
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/wpt-server-http.sub.html.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/wpt-server-http.sub.html.ini new file mode 100644 index 0000000..e2f26c7 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/wpt-server-http.sub.html.ini
@@ -0,0 +1,20 @@ +[wpt-server-http.sub.html] + [HTTPS protocol, punycode subdomain #1] + expected: + if product == "epiphany" or product == "webkit": FAIL + + [HTTPS protocol, www subdomain #1] + expected: + if product == "epiphany" or product == "webkit": FAIL + + [HTTPS protocol, www subdomain #2] + expected: + if product == "epiphany" or product == "webkit": FAIL + + [HTTPS protocol, www subdomain #3] + expected: + if product == "epiphany" or product == "webkit": FAIL + + [HTTPS protocol, punycode subdomain #2] + expected: + if product == "epiphany" or product == "webkit": FAIL
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/wpt-server-websocket.sub.html.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/wpt-server-websocket.sub.html.ini new file mode 100644 index 0000000..2cc364b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/server/wpt-server-websocket.sub.html.ini
@@ -0,0 +1,41 @@ +[wpt-server-websocket.sub.html] + [WSS protocol, www subdomain #3] + expected: + if product == "epiphany" or product == "webkit": FAIL + + [WSS protocol, punycode subdomain #1] + expected: + if product == "epiphany" or product == "webkit": FAIL + + [WSS protocol, punycode subdomain #2] + expected: + if product == "epiphany" or product == "webkit": FAIL + + [WSS protocol, www subdomain #1] + expected: + if product == "epiphany" or product == "webkit": FAIL + + [WSS protocol, www subdomain #2] + expected: + if product == "epiphany" or product == "webkit": FAIL + + [WSS protocol, www subdomain #3] + expected: + if product == "epiphany" or product == "webkit": FAIL + + [WSS protocol, punycode subdomain #1] + expected: + if product == "epiphany" or product == "webkit": FAIL + + [WSS protocol, punycode subdomain #2] + expected: + if product == "epiphany" or product == "webkit": FAIL + + [WSS protocol, www subdomain #1] + expected: + if product == "epiphany" or product == "webkit": FAIL + + [WSS protocol, www subdomain #2] + expected: + if product == "epiphany" or product == "webkit": FAIL +
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/actionsWithKeyPressed.html.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/actionsWithKeyPressed.html.ini index ee12178..c34584c 100644 --- a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/actionsWithKeyPressed.html.ini +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/actionsWithKeyPressed.html.ini
@@ -1,6 +1,6 @@ [actionsWithKeyPressed.html] expected: - if product == "safari": ERROR + if product == "safari" or product == "epiphany" or product == "webkit": ERROR [TestDriver actions: actions with key pressed] expected:
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/eventOrder.html.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/eventOrder.html.ini index bcd78da2..894f4a1 100644 --- a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/eventOrder.html.ini +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/eventOrder.html.ini
@@ -1,3 +1,3 @@ [eventOrder.html] expected: - if product == "safari": ERROR + if product == "safari" or product == "epiphany" or product == "webkit": ERROR
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/multiDevice.html.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/multiDevice.html.ini index 04b97a7..baf2116 100644 --- a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/multiDevice.html.ini +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/multiDevice.html.ini
@@ -1,3 +1,3 @@ [multiDevice.html] expected: - if product == "safari": ERROR + if product == "safari" or product == "epiphany" or product == "webkit": ERROR
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/pause.html.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/pause.html.ini index da47a2a..657d2a24 100644 --- a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/pause.html.ini +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/actions/pause.html.ini
@@ -1,3 +1,3 @@ [pause.html] expected: - if product == "safari": ERROR + if product == "epiphany" or product == "webkit": ERROR
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/file_upload.sub.html.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/file_upload.sub.html.ini index 42c9811..a39640b 100644 --- a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/file_upload.sub.html.ini +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/file_upload.sub.html.ini
@@ -1,3 +1,7 @@ [file_upload.sub.html] expected: if product == "edge_webdriver": ERROR + + [File upload using testdriver] + expected: + if product == "epiphany" or product == "webkit": FAIL
diff --git a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/generate_test_report.html.ini b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/generate_test_report.html.ini index 0b01c836..3e43b63 100644 --- a/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/generate_test_report.html.ini +++ b/third_party/blink/web_tests/external/wpt/infrastructure/metadata/infrastructure/testdriver/generate_test_report.html.ini
@@ -1,4 +1,4 @@ [generate_test_report.html] expected: if product == "firefox": ERROR - if product == "safari": ERROR + if product == "safari" or product == "epiphany" or product == "webkit": ERROR
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/InputDeviceCapabilities.idl b/third_party/blink/web_tests/external/wpt/interfaces/InputDeviceCapabilities.idl index 17f74b6..cb5d2827 100644 --- a/third_party/blink/web_tests/external/wpt/interfaces/InputDeviceCapabilities.idl +++ b/third_party/blink/web_tests/external/wpt/interfaces/InputDeviceCapabilities.idl
@@ -3,7 +3,8 @@ // (https://github.com/tidoust/reffy-reports) // Source: Input Device Capabilities (https://wicg.github.io/InputDeviceCapabilities/) -[Constructor(optional InputDeviceCapabilitiesInit deviceInitDict)] +[Exposed=Window, + Constructor(optional InputDeviceCapabilitiesInit deviceInitDict = {})] interface InputDeviceCapabilities { readonly attribute boolean firesTouchEvents; readonly attribute boolean pointerMovementScrolls;
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/SVG.idl b/third_party/blink/web_tests/external/wpt/interfaces/SVG.idl index 8894f7b33..97871c2 100644 --- a/third_party/blink/web_tests/external/wpt/interfaces/SVG.idl +++ b/third_party/blink/web_tests/external/wpt/interfaces/SVG.idl
@@ -219,16 +219,6 @@ [SameObject] readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio; }; -interface mixin SVGZoomAndPan { - - // Zoom and Pan Types - const unsigned short SVG_ZOOMANDPAN_UNKNOWN = 0; - const unsigned short SVG_ZOOMANDPAN_DISABLE = 1; - const unsigned short SVG_ZOOMANDPAN_MAGNIFY = 2; - - attribute unsigned short zoomAndPan; -}; - interface mixin SVGURIReference { [SameObject] readonly attribute SVGAnimatedString href; }; @@ -275,7 +265,6 @@ }; SVGSVGElement includes SVGFitToViewBox; -SVGSVGElement includes SVGZoomAndPan; SVGSVGElement includes WindowEventHandlers; [Exposed=Window] @@ -688,4 +677,3 @@ interface SVGViewElement : SVGElement {}; SVGViewElement includes SVGFitToViewBox; -SVGViewElement includes SVGZoomAndPan;
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/appmanifest.idl b/third_party/blink/web_tests/external/wpt/interfaces/appmanifest.idl index ddfe82d..4a642582 100644 --- a/third_party/blink/web_tests/external/wpt/interfaces/appmanifest.idl +++ b/third_party/blink/web_tests/external/wpt/interfaces/appmanifest.idl
@@ -3,10 +3,10 @@ // (https://github.com/tidoust/reffy-reports) // Source: Web App Manifest (https://w3c.github.io/manifest/) -[Constructor(DOMString type, optional EventInit eventInitDict = {}), - Exposed=Window] +[Exposed=Window] interface BeforeInstallPromptEvent : Event { - Promise<PromptResponseObject> prompt(); + constructor(DOMString type, optional EventInit eventInitDict = {}); + Promise<PromptResponseObject> prompt(); }; dictionary PromptResponseObject {
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/dom.idl b/third_party/blink/web_tests/external/wpt/interfaces/dom.idl index 91157033..03a0201b 100644 --- a/third_party/blink/web_tests/external/wpt/interfaces/dom.idl +++ b/third_party/blink/web_tests/external/wpt/interfaces/dom.idl
@@ -558,3 +558,51 @@ [CEReactions] stringifier attribute DOMString value; iterable<DOMString>; }; + +[Exposed=Window] +interface XPathResult { + const unsigned short ANY_TYPE = 0; + const unsigned short NUMBER_TYPE = 1; + const unsigned short STRING_TYPE = 2; + const unsigned short BOOLEAN_TYPE = 3; + const unsigned short UNORDERED_NODE_ITERATOR_TYPE = 4; + const unsigned short ORDERED_NODE_ITERATOR_TYPE = 5; + const unsigned short UNORDERED_NODE_SNAPSHOT_TYPE = 6; + const unsigned short ORDERED_NODE_SNAPSHOT_TYPE = 7; + const unsigned short ANY_UNORDERED_NODE_TYPE = 8; + const unsigned short FIRST_ORDERED_NODE_TYPE = 9; + + readonly attribute unsigned short resultType; + readonly attribute unrestricted double numberValue; + readonly attribute DOMString stringValue; + readonly attribute boolean booleanValue; + readonly attribute Node? singleNodeValue; + readonly attribute boolean invalidIteratorState; + readonly attribute unsigned long snapshotLength; + + Node? iterateNext(); + Node? snapshotItem(unsigned long index); +}; + +[Exposed=Window] +interface XPathExpression { + // XPathResult.ANY_TYPE = 0 + XPathResult evaluate(Node contextNode, optional unsigned short type = 0, optional XPathResult? result = null); +}; + +callback interface XPathNSResolver { + DOMString? lookupNamespaceURI(DOMString? prefix); +}; + +interface mixin XPathEvaluatorBase { + [NewObject] XPathExpression createExpression(DOMString expression, optional XPathNSResolver? resolver = null); + XPathNSResolver createNSResolver(Node nodeResolver); + // XPathResult.ANY_TYPE = 0 + XPathResult evaluate(DOMString expression, Node contextNode, optional XPathNSResolver? resolver = null, optional unsigned short type = 0, optional XPathResult? result = null); +}; +Document includes XPathEvaluatorBase; + +[Exposed=Window, Constructor] +interface XPathEvaluator {}; + +XPathEvaluator includes XPathEvaluatorBase;
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/html.idl b/third_party/blink/web_tests/external/wpt/interfaces/html.idl index 98c633af..d856cd5 100644 --- a/third_party/blink/web_tests/external/wpt/interfaces/html.idl +++ b/third_party/blink/web_tests/external/wpt/interfaces/html.idl
@@ -136,6 +136,7 @@ [SameObject] readonly attribute DOMStringMap dataset; attribute DOMString nonce; // intentionally no [CEReactions] + [CEReactions] attribute boolean autofocus; [CEReactions] attribute long tabIndex; void focus(optional FocusOptions options = {}); void blur(); @@ -820,7 +821,6 @@ [CEReactions] attribute DOMString accept; [CEReactions] attribute DOMString alt; [CEReactions] attribute DOMString autocomplete; - [CEReactions] attribute boolean autofocus; [CEReactions] attribute boolean defaultChecked; attribute boolean checked; [CEReactions] attribute DOMString dirName; @@ -881,7 +881,6 @@ [Exposed=Window, HTMLConstructor] interface HTMLButtonElement : HTMLElement { - [CEReactions] attribute boolean autofocus; [CEReactions] attribute boolean disabled; readonly attribute HTMLFormElement? form; [CEReactions] attribute USVString formAction; @@ -907,7 +906,6 @@ HTMLConstructor] interface HTMLSelectElement : HTMLElement { [CEReactions] attribute DOMString autocomplete; - [CEReactions] attribute boolean autofocus; [CEReactions] attribute boolean disabled; readonly attribute HTMLFormElement? form; [CEReactions] attribute boolean multiple; @@ -972,7 +970,6 @@ HTMLConstructor] interface HTMLTextAreaElement : HTMLElement { [CEReactions] attribute DOMString autocomplete; - [CEReactions] attribute boolean autofocus; [CEReactions] attribute unsigned long cols; [CEReactions] attribute DOMString dirName; [CEReactions] attribute boolean disabled;
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl b/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl index 76ed6f0..8c77339a 100644 --- a/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl +++ b/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl
@@ -3,8 +3,10 @@ // (https://github.com/tidoust/reffy-reports) // Source: Web NFC API (https://w3c.github.io/web-nfc/) -[Constructor(NDEFMessageInit messageInit), Exposed=Window] +[Exposed=Window] interface NDEFMessage { + constructor(NDEFMessageInit messageInit); + readonly attribute USVString url; readonly attribute FrozenArray<NDEFRecord> records; }; @@ -16,19 +18,24 @@ typedef any NDEFRecordData; -[Constructor(NDEFRecordInit recordInit), Exposed=Window] +[Exposed=Window] interface NDEFRecord { + constructor(NDEFRecordInit recordInit); + readonly attribute NDEFRecordType recordType; readonly attribute USVString mediaType; + readonly attribute USVString id; USVString? toText(); [NewObject] ArrayBuffer? toArrayBuffer(); [NewObject] any toJSON(); + sequence<NDEFRecord> toRecords(); }; dictionary NDEFRecordInit { NDEFRecordType recordType; USVString mediaType; + USVString id; NDEFRecordData data; }; @@ -37,21 +44,27 @@ typedef (DOMString or ArrayBuffer or NDEFMessageInit) NDEFMessageSource; -[Constructor, SecureContext, Exposed=Window] +[SecureContext, Exposed=Window] interface NFCWriter { + constructor(); + Promise<void> push(NDEFMessageSource message, optional NFCPushOptions options={}); }; -[Constructor, SecureContext, Exposed=Window] +[SecureContext, Exposed=Window] interface NFCReader : EventTarget { + constructor(); + attribute EventHandler onreading; attribute EventHandler onerror; void scan(optional NFCScanOptions options={}); }; -[Constructor(DOMString type, NFCReadingEventInit readingEventInitDict), SecureContext, Exposed=Window] +[SecureContext, Exposed=Window] interface NFCReadingEvent : Event { + constructor(DOMString type, NFCReadingEventInit readingEventInitDict); + readonly attribute DOMString serialNumber; [SameObject] readonly attribute NDEFMessage message; }; @@ -61,8 +74,10 @@ required NDEFMessageInit message; }; -[Constructor(DOMString type, NFCErrorEventInit errorEventInitDict), SecureContext, Exposed=Window] +[SecureContext, Exposed=Window] interface NFCErrorEvent : Event { + constructor(DOMString type, NFCErrorEventInit errorEventInitDict); + readonly attribute DOMException error; }; @@ -70,18 +85,11 @@ required DOMException error; }; -enum NDEFCompatibility { - "nfc-forum", - "vendor", - "any" -}; - dictionary NFCPushOptions { NFCPushTarget target = "any"; unrestricted double timeout = Infinity; boolean ignoreRead = true; AbortSignal? signal; - NDEFCompatibility compatibility = "nfc-forum"; }; enum NFCPushTarget { @@ -91,9 +99,8 @@ }; dictionary NFCScanOptions { - AbortSignal? signal; USVString url = ""; NDEFRecordType recordType; USVString mediaType = ""; - NDEFCompatibility compatibility = "nfc-forum"; + AbortSignal? signal; };
diff --git a/third_party/blink/web_tests/external/wpt/keyboard-lock/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/keyboard-lock/idlharness.https.window-expected.txt deleted file mode 100644 index 4be7529d..0000000 --- a/third_party/blink/web_tests/external/wpt/keyboard-lock/idlharness.https.window-expected.txt +++ /dev/null
@@ -1,15 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -PASS Keyboard interface: existence and properties of interface object -PASS Keyboard interface object length -PASS Keyboard interface object name -PASS Keyboard interface: existence and properties of interface prototype object -PASS Keyboard interface: existence and properties of interface prototype object's "constructor" property -PASS Keyboard interface: existence and properties of interface prototype object's @@unscopables property -PASS Keyboard interface: operation lock([object Object]) -PASS Keyboard interface: operation unlock() -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/keyboard-map/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/keyboard-map/idlharness.https.window-expected.txt deleted file mode 100644 index f3cf5bd1..0000000 --- a/third_party/blink/web_tests/external/wpt/keyboard-map/idlharness.https.window-expected.txt +++ /dev/null
@@ -1,20 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -PASS KeyboardLayoutMap interface: existence and properties of interface object -PASS KeyboardLayoutMap interface object length -PASS KeyboardLayoutMap interface object name -PASS KeyboardLayoutMap interface: existence and properties of interface prototype object -PASS KeyboardLayoutMap interface: existence and properties of interface prototype object's "constructor" property -PASS KeyboardLayoutMap interface: existence and properties of interface prototype object's @@unscopables property -PASS Keyboard interface: existence and properties of interface object -PASS Keyboard interface object length -PASS Keyboard interface object name -PASS Keyboard interface: existence and properties of interface prototype object -PASS Keyboard interface: existence and properties of interface prototype object's "constructor" property -PASS Keyboard interface: existence and properties of interface prototype object's @@unscopables property -PASS Keyboard interface: operation getLayoutMap() -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/html5-tree/css-inline-style-dynamic.tentative-ref.html b/third_party/blink/web_tests/external/wpt/mathml/relations/html5-tree/css-inline-style-dynamic.tentative-ref.html new file mode 100644 index 0000000..13f01392 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mathml/relations/html5-tree/css-inline-style-dynamic.tentative-ref.html
@@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"/> +<title>MathML 'ElementCSSInlineStyle` Dynamic Tests</title> +</head> +<body> + <span>This tests that `ElementCSSInlineStyle` interface changes update rendering.</span> + <div> + <math style="background-color: green"><mspace width="50px" height="100px"/><mspace width="50px" height="100px"/></math> + </div> +</body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/html5-tree/css-inline-style-dynamic.tentative.html b/third_party/blink/web_tests/external/wpt/mathml/relations/html5-tree/css-inline-style-dynamic.tentative.html new file mode 100644 index 0000000..ca3e679 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mathml/relations/html5-tree/css-inline-style-dynamic.tentative.html
@@ -0,0 +1,37 @@ +<!DOCTYPE html> +<html class="reftest-wait"> + <head> + <meta charset="utf-8" /> + <title>MathML 'ElementCSSInlineStyle` Dynamic Tests</title> + <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#dom-and-javascript"/> + <link rel="match" href="css-inline-style-dynamic.tentative-ref.html"/> + <style> + #hidden { + visibility: hidden; + background-color: green; + } + #red { + background-color: red; + } + </style> + <meta + name="assert" + content="MathMLElements ElementCSSInlineStyle interface changes update rendering" + /> + <script type="text/javascript"> + function test() + { + document.body.offsetTop; // Update layout + document.getElementById("hidden").style.visibility = "visible"; + document.getElementById("red").style.backgroundColor = "green"; + document.documentElement.className = ""; + } + </script> + </head> + <body onload="test()"> + <span>This tests that `ElementCSSInlineStyle` interface changes update rendering.</span> + <div> + <math><mspace width="50px" height="100px" id="hidden"/><mspace width="50px" height="100px" id="red"/></math> + </div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/media-capabilities/idlharness.any-expected.txt b/third_party/blink/web_tests/external/wpt/media-capabilities/idlharness.any-expected.txt index 687751c..55528510 100644 --- a/third_party/blink/web_tests/external/wpt/media-capabilities/idlharness.any-expected.txt +++ b/third_party/blink/web_tests/external/wpt/media-capabilities/idlharness.any-expected.txt
@@ -1,11 +1,11 @@ This is a testharness.js-based test. PASS idlharness -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface WorkerNavigator: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface Screen: original interface defined assert_true: Original interface should be defined expected true got false +PASS idl_test setup +PASS Partial interface Navigator: original interface defined +PASS Partial interface Navigator: valid exposure set +PASS Partial interface WorkerNavigator: original interface defined +PASS Partial interface WorkerNavigator: valid exposure set +PASS Partial interface Screen: original interface defined PASS MediaCapabilities interface: existence and properties of interface object PASS MediaCapabilities interface object length PASS MediaCapabilities interface object name @@ -14,6 +14,12 @@ PASS MediaCapabilities interface: existence and properties of interface prototype object's @@unscopables property PASS MediaCapabilities interface: operation decodingInfo(MediaDecodingConfiguration) PASS MediaCapabilities interface: operation encodingInfo(MediaEncodingConfiguration) +PASS MediaCapabilities must be primary interface of navigator.mediaCapabilities +PASS Stringification of navigator.mediaCapabilities +PASS MediaCapabilities interface: navigator.mediaCapabilities must inherit property "decodingInfo(MediaDecodingConfiguration)" with the proper type +PASS MediaCapabilities interface: calling decodingInfo(MediaDecodingConfiguration) on navigator.mediaCapabilities with too few arguments must throw TypeError +PASS MediaCapabilities interface: navigator.mediaCapabilities must inherit property "encodingInfo(MediaEncodingConfiguration)" with the proper type +PASS MediaCapabilities interface: calling encodingInfo(MediaEncodingConfiguration) on navigator.mediaCapabilities with too few arguments must throw TypeError FAIL ScreenLuminance interface: existence and properties of interface object assert_own_property: self does not have own property "ScreenLuminance" expected property "ScreenLuminance" missing FAIL ScreenLuminance interface object length assert_own_property: self does not have own property "ScreenLuminance" expected property "ScreenLuminance" missing FAIL ScreenLuminance interface object name assert_own_property: self does not have own property "ScreenLuminance" expected property "ScreenLuminance" missing @@ -23,5 +29,19 @@ FAIL ScreenLuminance interface: attribute min assert_own_property: self does not have own property "ScreenLuminance" expected property "ScreenLuminance" missing FAIL ScreenLuminance interface: attribute max assert_own_property: self does not have own property "ScreenLuminance" expected property "ScreenLuminance" missing FAIL ScreenLuminance interface: attribute maxAverage assert_own_property: self does not have own property "ScreenLuminance" expected property "ScreenLuminance" missing +FAIL ScreenLuminance must be primary interface of screen.luminance assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL Stringification of screen.luminance assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL ScreenLuminance interface: screen.luminance must inherit property "min" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL ScreenLuminance interface: screen.luminance must inherit property "max" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL ScreenLuminance interface: screen.luminance must inherit property "maxAverage" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +PASS Navigator interface: attribute mediaCapabilities +PASS Navigator interface: navigator must inherit property "mediaCapabilities" with the proper type +PASS WorkerNavigator interface: existence and properties of interface object +FAIL Screen interface: attribute colorGamut assert_true: The prototype object must have a property "colorGamut" expected true got false +FAIL Screen interface: attribute luminance assert_true: The prototype object must have a property "luminance" expected true got false +FAIL Screen interface: attribute onchange assert_true: The prototype object must have a property "onchange" expected true got false +FAIL Screen interface: screen must inherit property "colorGamut" with the proper type assert_inherits: property "colorGamut" not found in prototype chain +FAIL Screen interface: screen must inherit property "luminance" with the proper type assert_inherits: property "luminance" not found in prototype chain +FAIL Screen interface: screen must inherit property "onchange" with the proper type assert_inherits: property "onchange" not found in prototype chain Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/media-capabilities/idlharness.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/media-capabilities/idlharness.any.worker-expected.txt index e9ec6a3..405b3ba 100644 --- a/third_party/blink/web_tests/external/wpt/media-capabilities/idlharness.any.worker-expected.txt +++ b/third_party/blink/web_tests/external/wpt/media-capabilities/idlharness.any.worker-expected.txt
@@ -1,11 +1,11 @@ This is a testharness.js-based test. PASS idlharness -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface WorkerNavigator: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface Screen: original interface defined assert_true: Original interface should be defined expected true got false +PASS idl_test setup +PASS Partial interface Navigator: original interface defined +PASS Partial interface Navigator: valid exposure set +PASS Partial interface WorkerNavigator: original interface defined +PASS Partial interface WorkerNavigator: valid exposure set +PASS Partial interface Screen: original interface defined PASS MediaCapabilities interface: existence and properties of interface object PASS MediaCapabilities interface object length PASS MediaCapabilities interface object name @@ -14,6 +14,24 @@ PASS MediaCapabilities interface: existence and properties of interface prototype object's @@unscopables property PASS MediaCapabilities interface: operation decodingInfo(MediaDecodingConfiguration) PASS MediaCapabilities interface: operation encodingInfo(MediaEncodingConfiguration) +PASS MediaCapabilities must be primary interface of navigator.mediaCapabilities +PASS Stringification of navigator.mediaCapabilities +PASS MediaCapabilities interface: navigator.mediaCapabilities must inherit property "decodingInfo(MediaDecodingConfiguration)" with the proper type +PASS MediaCapabilities interface: calling decodingInfo(MediaDecodingConfiguration) on navigator.mediaCapabilities with too few arguments must throw TypeError +PASS MediaCapabilities interface: navigator.mediaCapabilities must inherit property "encodingInfo(MediaEncodingConfiguration)" with the proper type +PASS MediaCapabilities interface: calling encodingInfo(MediaEncodingConfiguration) on navigator.mediaCapabilities with too few arguments must throw TypeError PASS ScreenLuminance interface: existence and properties of interface object +FAIL ScreenLuminance must be primary interface of screen.luminance assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: screen is not defined" +FAIL Stringification of screen.luminance assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: screen is not defined" +FAIL ScreenLuminance interface: screen.luminance must not have property "min" assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: screen is not defined" +FAIL ScreenLuminance interface: screen.luminance must not have property "max" assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: screen is not defined" +FAIL ScreenLuminance interface: screen.luminance must not have property "maxAverage" assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: screen is not defined" +PASS Navigator interface: existence and properties of interface object +PASS WorkerNavigator interface: attribute mediaCapabilities +PASS WorkerNavigator interface: navigator must inherit property "mediaCapabilities" with the proper type +PASS Screen interface: existence and properties of interface object +FAIL Screen interface: screen must not have property "colorGamut" assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: screen is not defined" +FAIL Screen interface: screen must not have property "luminance" assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: screen is not defined" +FAIL Screen interface: screen must not have property "onchange" assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: screen is not defined" Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/media-playback-quality/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/media-playback-quality/idlharness.window-expected.txt deleted file mode 100644 index c770047e..0000000 --- a/third_party/blink/web_tests/external/wpt/media-playback-quality/idlharness.window-expected.txt +++ /dev/null
@@ -1,17 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface HTMLVideoElement: original interface defined assert_true: Original interface should be defined expected true got false -PASS VideoPlaybackQuality interface: existence and properties of interface object -PASS VideoPlaybackQuality interface object length -PASS VideoPlaybackQuality interface object name -PASS VideoPlaybackQuality interface: existence and properties of interface prototype object -PASS VideoPlaybackQuality interface: existence and properties of interface prototype object's "constructor" property -PASS VideoPlaybackQuality interface: existence and properties of interface prototype object's @@unscopables property -PASS VideoPlaybackQuality interface: attribute creationTime -PASS VideoPlaybackQuality interface: attribute corruptedVideoFrames -PASS VideoPlaybackQuality interface: attribute droppedVideoFrames -PASS VideoPlaybackQuality interface: attribute totalVideoFrames -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/media-source/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/media-source/idlharness.window-expected.txt index ad9883c..21a2eec7 100644 --- a/third_party/blink/web_tests/external/wpt/media-source/idlharness.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/media-source/idlharness.window-expected.txt
@@ -1,12 +1,11 @@ This is a testharness.js-based test. -Found 56 tests; 50 PASS, 6 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface URL: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface AudioTrack: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface VideoTrack: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface TextTrack: original interface defined assert_true: Original interface should be defined expected true got false +Found 107 tests; 104 PASS, 3 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface URL: original interface defined +PASS Partial interface URL: valid exposure set +PASS Partial interface AudioTrack: original interface defined +PASS Partial interface VideoTrack: original interface defined +PASS Partial interface TextTrack: original interface defined PASS MediaSource interface: existence and properties of interface object PASS MediaSource interface object length PASS MediaSource interface object name @@ -26,6 +25,26 @@ PASS MediaSource interface: operation setLiveSeekableRange(double, double) PASS MediaSource interface: operation clearLiveSeekableRange() PASS MediaSource interface: operation isTypeSupported(DOMString) +PASS MediaSource must be primary interface of mediaSource +PASS Stringification of mediaSource +PASS MediaSource interface: mediaSource must inherit property "sourceBuffers" with the proper type +PASS MediaSource interface: mediaSource must inherit property "activeSourceBuffers" with the proper type +PASS MediaSource interface: mediaSource must inherit property "readyState" with the proper type +PASS MediaSource interface: mediaSource must inherit property "duration" with the proper type +PASS MediaSource interface: mediaSource must inherit property "onsourceopen" with the proper type +PASS MediaSource interface: mediaSource must inherit property "onsourceended" with the proper type +PASS MediaSource interface: mediaSource must inherit property "onsourceclose" with the proper type +PASS MediaSource interface: mediaSource must inherit property "addSourceBuffer(DOMString)" with the proper type +PASS MediaSource interface: calling addSourceBuffer(DOMString) on mediaSource with too few arguments must throw TypeError +PASS MediaSource interface: mediaSource must inherit property "removeSourceBuffer(SourceBuffer)" with the proper type +PASS MediaSource interface: calling removeSourceBuffer(SourceBuffer) on mediaSource with too few arguments must throw TypeError +PASS MediaSource interface: mediaSource must inherit property "endOfStream(EndOfStreamError)" with the proper type +PASS MediaSource interface: calling endOfStream(EndOfStreamError) on mediaSource with too few arguments must throw TypeError +PASS MediaSource interface: mediaSource must inherit property "setLiveSeekableRange(double, double)" with the proper type +PASS MediaSource interface: calling setLiveSeekableRange(double, double) on mediaSource with too few arguments must throw TypeError +PASS MediaSource interface: mediaSource must inherit property "clearLiveSeekableRange()" with the proper type +PASS MediaSource interface: mediaSource must inherit property "isTypeSupported(DOMString)" with the proper type +PASS MediaSource interface: calling isTypeSupported(DOMString) on mediaSource with too few arguments must throw TypeError PASS SourceBuffer interface: existence and properties of interface object PASS SourceBuffer interface object length PASS SourceBuffer interface object name @@ -49,6 +68,27 @@ PASS SourceBuffer interface: operation appendBuffer(BufferSource) PASS SourceBuffer interface: operation abort() PASS SourceBuffer interface: operation remove(double, unrestricted double) +PASS SourceBuffer must be primary interface of sourceBuffer +PASS Stringification of sourceBuffer +PASS SourceBuffer interface: sourceBuffer must inherit property "mode" with the proper type +PASS SourceBuffer interface: sourceBuffer must inherit property "updating" with the proper type +PASS SourceBuffer interface: sourceBuffer must inherit property "buffered" with the proper type +PASS SourceBuffer interface: sourceBuffer must inherit property "timestampOffset" with the proper type +PASS SourceBuffer interface: sourceBuffer must inherit property "audioTracks" with the proper type +PASS SourceBuffer interface: sourceBuffer must inherit property "videoTracks" with the proper type +FAIL SourceBuffer interface: sourceBuffer must inherit property "textTracks" with the proper type assert_inherits: property "textTracks" not found in prototype chain +PASS SourceBuffer interface: sourceBuffer must inherit property "appendWindowStart" with the proper type +PASS SourceBuffer interface: sourceBuffer must inherit property "appendWindowEnd" with the proper type +PASS SourceBuffer interface: sourceBuffer must inherit property "onupdatestart" with the proper type +PASS SourceBuffer interface: sourceBuffer must inherit property "onupdate" with the proper type +PASS SourceBuffer interface: sourceBuffer must inherit property "onupdateend" with the proper type +PASS SourceBuffer interface: sourceBuffer must inherit property "onerror" with the proper type +PASS SourceBuffer interface: sourceBuffer must inherit property "onabort" with the proper type +PASS SourceBuffer interface: sourceBuffer must inherit property "appendBuffer(BufferSource)" with the proper type +PASS SourceBuffer interface: calling appendBuffer(BufferSource) on sourceBuffer with too few arguments must throw TypeError +PASS SourceBuffer interface: sourceBuffer must inherit property "abort()" with the proper type +PASS SourceBuffer interface: sourceBuffer must inherit property "remove(double, unrestricted double)" with the proper type +PASS SourceBuffer interface: calling remove(double, unrestricted double) on sourceBuffer with too few arguments must throw TypeError PASS SourceBufferList interface: existence and properties of interface object PASS SourceBufferList interface object length PASS SourceBufferList interface object name @@ -58,5 +98,14 @@ PASS SourceBufferList interface: attribute length PASS SourceBufferList interface: attribute onaddsourcebuffer PASS SourceBufferList interface: attribute onremovesourcebuffer +PASS SourceBufferList must be primary interface of mediaSource.sourceBuffers +PASS Stringification of mediaSource.sourceBuffers +PASS SourceBufferList interface: mediaSource.sourceBuffers must inherit property "length" with the proper type +PASS SourceBufferList interface: mediaSource.sourceBuffers must inherit property "onaddsourcebuffer" with the proper type +PASS SourceBufferList interface: mediaSource.sourceBuffers must inherit property "onremovesourcebuffer" with the proper type +PASS AudioTrack interface: attribute sourceBuffer +PASS VideoTrack interface: attribute sourceBuffer +FAIL TextTrack interface: attribute sourceBuffer assert_true: The prototype object must have a property "sourceBuffer" expected true got false +PASS URL interface: operation createObjectURL(MediaSource) Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/mediacapture-fromelement/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/mediacapture-fromelement/idlharness.window-expected.txt index ef7061c..e2149ce 100644 --- a/third_party/blink/web_tests/external/wpt/mediacapture-fromelement/idlharness.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/mediacapture-fromelement/idlharness.window-expected.txt
@@ -1,8 +1,23 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface HTMLMediaElement: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface HTMLCanvasElement: original interface defined assert_true: Original interface should be defined expected true got false +PASS idl_test setup +PASS Partial interface HTMLMediaElement: original interface defined +PASS Partial interface HTMLCanvasElement: original interface defined +PASS CanvasCaptureMediaStreamTrack interface: existence and properties of interface object +PASS CanvasCaptureMediaStreamTrack interface object length +PASS CanvasCaptureMediaStreamTrack interface object name +PASS CanvasCaptureMediaStreamTrack interface: existence and properties of interface prototype object +PASS CanvasCaptureMediaStreamTrack interface: existence and properties of interface prototype object's "constructor" property +PASS CanvasCaptureMediaStreamTrack interface: existence and properties of interface prototype object's @@unscopables property +PASS CanvasCaptureMediaStreamTrack interface: attribute canvas +PASS CanvasCaptureMediaStreamTrack interface: operation requestFrame() +PASS CanvasCaptureMediaStreamTrack must be primary interface of track +PASS Stringification of track +PASS CanvasCaptureMediaStreamTrack interface: track must inherit property "canvas" with the proper type +PASS CanvasCaptureMediaStreamTrack interface: track must inherit property "requestFrame()" with the proper type +PASS HTMLMediaElement interface: operation captureStream() +FAIL HTMLMediaElement interface: media must inherit property "captureStream()" with the proper type assert_inherits: property "captureStream" not found in prototype chain +PASS HTMLCanvasElement interface: operation captureStream(double) +PASS HTMLCanvasElement interface: canvas must inherit property "captureStream(double)" with the proper type +PASS HTMLCanvasElement interface: calling captureStream(double) on canvas with too few arguments must throw TypeError Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/mediacapture-image/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/mediacapture-image/idlharness.window-expected.txt deleted file mode 100644 index 73dc3c5..0000000 --- a/third_party/blink/web_tests/external/wpt/mediacapture-image/idlharness.window-expected.txt +++ /dev/null
@@ -1,10 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial dictionary MediaTrackSupportedConstraints: original dictionary defined -PASS Partial dictionary MediaTrackCapabilities: original dictionary defined -PASS Partial dictionary MediaTrackConstraintSet: original dictionary defined -PASS Partial dictionary MediaTrackSettings: original dictionary defined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/mediacapture-record/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/mediacapture-record/idlharness.window-expected.txt index adb6cc43..743e472 100644 --- a/third_party/blink/web_tests/external/wpt/mediacapture-record/idlharness.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/mediacapture-record/idlharness.window-expected.txt
@@ -1,6 +1,71 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 67 tests; 57 PASS, 10 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS MediaRecorder interface: existence and properties of interface object +PASS MediaRecorder interface object length +PASS MediaRecorder interface object name +PASS MediaRecorder interface: existence and properties of interface prototype object +PASS MediaRecorder interface: existence and properties of interface prototype object's "constructor" property +PASS MediaRecorder interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaRecorder interface: attribute stream +PASS MediaRecorder interface: attribute mimeType +PASS MediaRecorder interface: attribute state +PASS MediaRecorder interface: attribute onstart +PASS MediaRecorder interface: attribute onstop +PASS MediaRecorder interface: attribute ondataavailable +PASS MediaRecorder interface: attribute onpause +PASS MediaRecorder interface: attribute onresume +PASS MediaRecorder interface: attribute onerror +PASS MediaRecorder interface: attribute videoBitsPerSecond +PASS MediaRecorder interface: attribute audioBitsPerSecond +PASS MediaRecorder interface: operation start(unsigned long) +PASS MediaRecorder interface: operation stop() +PASS MediaRecorder interface: operation pause() +PASS MediaRecorder interface: operation resume() +PASS MediaRecorder interface: operation requestData() +PASS MediaRecorder interface: operation isTypeSupported(DOMString) +PASS MediaRecorder must be primary interface of [object MediaRecorder] +PASS Stringification of [object MediaRecorder] +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "stream" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "mimeType" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "state" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "onstart" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "onstop" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "ondataavailable" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "onpause" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "onresume" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "onerror" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "videoBitsPerSecond" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "audioBitsPerSecond" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "start(unsigned long)" with the proper type +PASS MediaRecorder interface: calling start(unsigned long) on [object MediaRecorder] with too few arguments must throw TypeError +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "stop()" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "pause()" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "resume()" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "requestData()" with the proper type +PASS MediaRecorder interface: [object MediaRecorder] must inherit property "isTypeSupported(DOMString)" with the proper type +PASS MediaRecorder interface: calling isTypeSupported(DOMString) on [object MediaRecorder] with too few arguments must throw TypeError +PASS BlobEvent interface: existence and properties of interface object +PASS BlobEvent interface object length +PASS BlobEvent interface object name +PASS BlobEvent interface: existence and properties of interface prototype object +PASS BlobEvent interface: existence and properties of interface prototype object's "constructor" property +PASS BlobEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS BlobEvent interface: attribute data +PASS BlobEvent interface: attribute timecode +PASS BlobEvent must be primary interface of [object BlobEvent] +PASS Stringification of [object BlobEvent] +PASS BlobEvent interface: [object BlobEvent] must inherit property "data" with the proper type +PASS BlobEvent interface: [object BlobEvent] must inherit property "timecode" with the proper type +FAIL MediaRecorderErrorEvent interface: existence and properties of interface object assert_own_property: self does not have own property "MediaRecorderErrorEvent" expected property "MediaRecorderErrorEvent" missing +FAIL MediaRecorderErrorEvent interface object length assert_own_property: self does not have own property "MediaRecorderErrorEvent" expected property "MediaRecorderErrorEvent" missing +FAIL MediaRecorderErrorEvent interface object name assert_own_property: self does not have own property "MediaRecorderErrorEvent" expected property "MediaRecorderErrorEvent" missing +FAIL MediaRecorderErrorEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "MediaRecorderErrorEvent" expected property "MediaRecorderErrorEvent" missing +FAIL MediaRecorderErrorEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "MediaRecorderErrorEvent" expected property "MediaRecorderErrorEvent" missing +FAIL MediaRecorderErrorEvent interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "MediaRecorderErrorEvent" expected property "MediaRecorderErrorEvent" missing +FAIL MediaRecorderErrorEvent interface: attribute error assert_own_property: self does not have own property "MediaRecorderErrorEvent" expected property "MediaRecorderErrorEvent" missing +FAIL MediaRecorderErrorEvent must be primary interface of undefined assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL Stringification of undefined assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL MediaRecorderErrorEvent interface: undefined must inherit property "error" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/mediacapture-streams/MediaStream-removetrack.https-expected.txt b/third_party/blink/web_tests/external/wpt/mediacapture-streams/MediaStream-removetrack.https-expected.txt index 09d4d66..59a5126 100644 --- a/third_party/blink/web_tests/external/wpt/mediacapture-streams/MediaStream-removetrack.https-expected.txt +++ b/third_party/blink/web_tests/external/wpt/mediacapture-streams/MediaStream-removetrack.https-expected.txt
@@ -1,7 +1,6 @@ This is a testharness.js-based test. -Harness Error. harness_status.status = 1 , harness_status.message = Test named 'Test that removal from a MediaStream fires ended on media elements (video first)' specified 2 'cleanup' functions, and 1 returned a non-thenable value. PASS Tests that a removal from a MediaStream works as expected FAIL Test that removal from a MediaStream fires ended on media elements (video first) assert_equals: audio element ended because no more audio tracks expected true but got false -NOTRUN Test that removal from a MediaStream fires ended on media elements (audio first) +FAIL Test that removal from a MediaStream fires ended on media elements (audio first) assert_equals: audio element ended because no more audio tracks expected true but got false Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/mediacapture-streams/MediaStream-removetrack.https.html b/third_party/blink/web_tests/external/wpt/mediacapture-streams/MediaStream-removetrack.https.html index b934397..1e9ebbc 100644 --- a/third_party/blink/web_tests/external/wpt/mediacapture-streams/MediaStream-removetrack.https.html +++ b/third_party/blink/web_tests/external/wpt/mediacapture-streams/MediaStream-removetrack.https.html
@@ -56,10 +56,15 @@ promise_test(async t => { const stream = await navigator.mediaDevices.getUserMedia({video: true, audio: true}); const tracks = stream.getTracks(); - t.add_cleanup(() => tracks.forEach(track => track.stop())); audio.srcObject = video.srcObject = stream; - t.add_cleanup(() => audio.srcObject = video.srcObject = null); + + t.add_cleanup(() => { + for (const track of tracks) { + track.stop(); + } + audio.srcObject = video.srcObject = null; + }); await Promise.all([ new Promise(r => audio.onloadedmetadata = r), @@ -90,10 +95,15 @@ promise_test(async t => { const stream = await navigator.mediaDevices.getUserMedia({video: true, audio: true}); const tracks = stream.getTracks(); - t.add_cleanup(() => tracks.forEach(track => track.stop())); audio.srcObject = video.srcObject = stream; - t.add_cleanup(() => audio.srcObject = video.srcObject = null); + + t.add_cleanup(() => { + for (const track of tracks) { + track.stop(); + } + audio.srcObject = video.srcObject = null; + }); await Promise.all([ new Promise(r => audio.onloadedmetadata = r),
diff --git a/third_party/blink/web_tests/external/wpt/mediacapture-streams/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/mediacapture-streams/idlharness.https.window-expected.txt deleted file mode 100644 index 506bdb6..0000000 --- a/third_party/blink/web_tests/external/wpt/mediacapture-streams/idlharness.https.window-expected.txt +++ /dev/null
@@ -1,83 +0,0 @@ -This is a testharness.js-based test. -Found 77 tests; 74 PASS, 3 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface Navigator[2]: original interface defined assert_true: Original interface should be defined expected true got false -PASS Partial interface MediaDevices: original interface defined -PASS MediaStream interface: existence and properties of interface object -PASS MediaStream interface object length -PASS MediaStream interface object name -PASS MediaStream interface: existence and properties of interface prototype object -PASS MediaStream interface: existence and properties of interface prototype object's "constructor" property -PASS MediaStream interface: existence and properties of interface prototype object's @@unscopables property -PASS MediaStream interface: attribute id -PASS MediaStream interface: operation getAudioTracks() -PASS MediaStream interface: operation getVideoTracks() -PASS MediaStream interface: operation getTracks() -PASS MediaStream interface: operation getTrackById(DOMString) -PASS MediaStream interface: operation addTrack(MediaStreamTrack) -PASS MediaStream interface: operation removeTrack(MediaStreamTrack) -PASS MediaStream interface: operation clone() -PASS MediaStream interface: attribute active -PASS MediaStream interface: attribute onaddtrack -PASS MediaStream interface: attribute onremovetrack -PASS MediaStreamTrack interface: existence and properties of interface object -PASS MediaStreamTrack interface object length -PASS MediaStreamTrack interface object name -PASS MediaStreamTrack interface: existence and properties of interface prototype object -PASS MediaStreamTrack interface: existence and properties of interface prototype object's "constructor" property -PASS MediaStreamTrack interface: existence and properties of interface prototype object's @@unscopables property -PASS MediaStreamTrack interface: attribute kind -PASS MediaStreamTrack interface: attribute id -PASS MediaStreamTrack interface: attribute label -PASS MediaStreamTrack interface: attribute enabled -PASS MediaStreamTrack interface: attribute muted -PASS MediaStreamTrack interface: attribute onmute -PASS MediaStreamTrack interface: attribute onunmute -PASS MediaStreamTrack interface: attribute readyState -PASS MediaStreamTrack interface: attribute onended -PASS MediaStreamTrack interface: operation clone() -PASS MediaStreamTrack interface: operation stop() -PASS MediaStreamTrack interface: operation getCapabilities() -PASS MediaStreamTrack interface: operation getConstraints() -PASS MediaStreamTrack interface: operation getSettings() -PASS MediaStreamTrack interface: operation applyConstraints(MediaTrackConstraints) -PASS MediaStreamTrackEvent interface: existence and properties of interface object -PASS MediaStreamTrackEvent interface object length -PASS MediaStreamTrackEvent interface object name -PASS MediaStreamTrackEvent interface: existence and properties of interface prototype object -PASS MediaStreamTrackEvent interface: existence and properties of interface prototype object's "constructor" property -PASS MediaStreamTrackEvent interface: existence and properties of interface prototype object's @@unscopables property -PASS MediaStreamTrackEvent interface: attribute track -PASS MediaDevices interface: existence and properties of interface object -PASS MediaDevices interface object length -PASS MediaDevices interface object name -PASS MediaDevices interface: existence and properties of interface prototype object -PASS MediaDevices interface: existence and properties of interface prototype object's "constructor" property -PASS MediaDevices interface: existence and properties of interface prototype object's @@unscopables property -PASS MediaDevices interface: attribute ondevicechange -PASS MediaDevices interface: operation enumerateDevices() -PASS MediaDevices interface: operation getSupportedConstraints() -PASS MediaDevices interface: operation getUserMedia(MediaStreamConstraints) -PASS MediaDeviceInfo interface: existence and properties of interface object -PASS MediaDeviceInfo interface object length -PASS MediaDeviceInfo interface object name -PASS MediaDeviceInfo interface: existence and properties of interface prototype object -PASS MediaDeviceInfo interface: existence and properties of interface prototype object's "constructor" property -PASS MediaDeviceInfo interface: existence and properties of interface prototype object's @@unscopables property -PASS MediaDeviceInfo interface: attribute deviceId -PASS MediaDeviceInfo interface: attribute kind -PASS MediaDeviceInfo interface: attribute label -PASS MediaDeviceInfo interface: attribute groupId -PASS MediaDeviceInfo interface: operation toJSON() -PASS InputDeviceInfo interface: existence and properties of interface object -PASS InputDeviceInfo interface object length -PASS InputDeviceInfo interface object name -PASS InputDeviceInfo interface: existence and properties of interface prototype object -PASS InputDeviceInfo interface: existence and properties of interface prototype object's "constructor" property -PASS InputDeviceInfo interface: existence and properties of interface prototype object's @@unscopables property -PASS InputDeviceInfo interface: operation getCapabilities() -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/mediasession/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/mediasession/idlharness.window-expected.txt index 45298ab..96abe20 100644 --- a/third_party/blink/web_tests/external/wpt/mediasession/idlharness.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/mediasession/idlharness.window-expected.txt
@@ -1,8 +1,7 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false +PASS idl_test setup +PASS Partial interface Navigator: original interface defined +PASS Partial interface Navigator: valid exposure set PASS MediaSession interface: existence and properties of interface object PASS MediaSession interface object length PASS MediaSession interface object name @@ -13,6 +12,14 @@ PASS MediaSession interface: attribute playbackState PASS MediaSession interface: operation setActionHandler(MediaSessionAction, MediaSessionActionHandler) FAIL MediaSession interface: operation setPositionState(MediaPositionState) assert_equals: property has wrong .length expected 0 but got 1 +PASS MediaSession must be primary interface of navigator.mediaSession +PASS Stringification of navigator.mediaSession +PASS MediaSession interface: navigator.mediaSession must inherit property "metadata" with the proper type +PASS MediaSession interface: navigator.mediaSession must inherit property "playbackState" with the proper type +PASS MediaSession interface: navigator.mediaSession must inherit property "setActionHandler(MediaSessionAction, MediaSessionActionHandler)" with the proper type +PASS MediaSession interface: calling setActionHandler(MediaSessionAction, MediaSessionActionHandler) on navigator.mediaSession with too few arguments must throw TypeError +PASS MediaSession interface: navigator.mediaSession must inherit property "setPositionState(MediaPositionState)" with the proper type +PASS MediaSession interface: calling setPositionState(MediaPositionState) on navigator.mediaSession with too few arguments must throw TypeError PASS MediaMetadata interface: existence and properties of interface object PASS MediaMetadata interface object length PASS MediaMetadata interface object name @@ -23,5 +30,13 @@ PASS MediaMetadata interface: attribute artist PASS MediaMetadata interface: attribute album PASS MediaMetadata interface: attribute artwork +PASS MediaMetadata must be primary interface of new MediaMetadata() +PASS Stringification of new MediaMetadata() +PASS MediaMetadata interface: new MediaMetadata() must inherit property "title" with the proper type +PASS MediaMetadata interface: new MediaMetadata() must inherit property "artist" with the proper type +PASS MediaMetadata interface: new MediaMetadata() must inherit property "album" with the proper type +PASS MediaMetadata interface: new MediaMetadata() must inherit property "artwork" with the proper type +PASS Navigator interface: attribute mediaSession +PASS Navigator interface: navigator must inherit property "mediaSession" with the proper type Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index cb58cbcd..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: audio-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "audio-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 815d926..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: audio-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "audio-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 3a9ba21..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: audio-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "audio-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 163b1dc..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: audio-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "audio-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 4dbbc6c4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: audio-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "audio-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index c3bc943e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: audio-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "audio-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 2c8a8cc..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: audio-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "audio-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index d97aaba..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: audio-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "audio-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/meta-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/meta-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index c04597d..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/meta-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: audio-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "audio-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/meta-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/meta-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 5b0987b3..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/meta-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: audio-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "audio-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 0253efc8..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: audio-tag - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "audio-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index 238565f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: audio-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "audio-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/cross-origin-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/cross-origin-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index 8ddc972..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/cross-origin-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: audio-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "audio-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index 09ffb26b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: audio-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "audio-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index b17073db..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: audio-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "audio-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index 6e86a30..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: audio-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "audio-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index 1aae605..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: audio-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "audio-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index b8ef228..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: audio-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "audio-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 5130274..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: audio-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "audio-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 52aef35..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: beacon-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "beacon-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 44fb9c5..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: beacon-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "beacon-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index bd211c00..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: beacon-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "beacon-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index fbb5502..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: beacon-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "beacon-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 3392d1b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: beacon-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "beacon-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 5ea4cd97..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: beacon-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "beacon-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 2ea1e37..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: beacon-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "beacon-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 89d7b82..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: beacon-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "beacon-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index ac205269..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: beacon-request - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "beacon-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 9cf67c8..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: beacon-request - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "beacon-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index ce86221..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: beacon-request - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "beacon-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index e331f57..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: beacon-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "beacon-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index bb5d94c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: beacon-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "beacon-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index f3cddf5..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: beacon-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "beacon-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index ccbaeb9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: beacon-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "beacon-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 6b0daa2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: beacon-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "beacon-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index adffe35..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: beacon-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "beacon-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index f0353c39f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: beacon-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "beacon-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 2cfc380..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/beacon-request/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: beacon-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "beacon-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index af17b7e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: classic-data-worker-fetch - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 2fff8e8..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: classic-data-worker-fetch - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index d654f3b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: classic-data-worker-fetch - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index af004635..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: classic-data-worker-fetch - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index bd45fa9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: classic-data-worker-fetch - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 6258bc95..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: classic-data-worker-fetch - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index ce000b1..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: classic-data-worker-fetch - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 84342c0..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: classic-data-worker-fetch - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index d77d386..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: classic-data-worker-fetch - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 4334777..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: classic-data-worker-fetch - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 1de38b5a..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: classic-data-worker-fetch - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 6b811116..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: classic-data-worker-fetch - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 35a7e584..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: classic-data-worker-fetch - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index e69505d7f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: classic-data-worker-fetch - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index b56a6baa..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: classic-data-worker-fetch - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 4ae4cb8..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: classic-data-worker-fetch - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 919e992..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: classic-data-worker-fetch - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index e56db94..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: classic-data-worker-fetch - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index e5110a4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/classic-data-worker-fetch/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: classic-data-worker-fetch - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "classic-data-worker-fetch", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index a84f29e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: fetch-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "fetch-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 4de2f75..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: fetch-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "fetch-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 3e0fb52..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: fetch-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "fetch-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 542a186..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: fetch-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "fetch-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 39ccde3..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: fetch-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "fetch-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 4c9d38e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: fetch-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "fetch-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index fa4e8f2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: fetch-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "fetch-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index f05c4b9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: fetch-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "fetch-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index a1e69a67..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: fetch-request - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "fetch-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index b9599b2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: fetch-request - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "fetch-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 256fca63..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: fetch-request - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "fetch-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 1ebe923..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: fetch-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "fetch-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 250bbd4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: fetch-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "fetch-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 98b12d2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: fetch-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "fetch-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index a63a7940..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: fetch-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "fetch-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 43a6499..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: fetch-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "fetch-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index b1534c8..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: fetch-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "fetch-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index bbc089ba..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: fetch-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "fetch-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 7040421..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: fetch-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "fetch-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
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 new file mode 100644 index 0000000..1c26f51 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for audio-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..19c29c82 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for audio-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..0d2ae743 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for audio-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..88c8cb3 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for audio-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.keep-scheme.https.html.headers similarity index 100% rename from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers rename to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..6b0d938 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for audio-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..2a988a3 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for audio-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..de8968e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for audio-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..2bf8a47 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for audio-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..f4fb15f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for beacon to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..c16ae8e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for beacon to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..ff0531b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for beacon to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..eb67d663 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for beacon to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..406d5a5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for beacon to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..84b8ad9d --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for beacon to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..4059540a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for beacon to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..6969fa1 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for beacon to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..b8e4bd1 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..1252613 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..a1d642b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..7a9a470 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..c2fe5c5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..c86a880 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..2531ded --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..1373a58 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..ef9d9f6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for img-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..fe411c0 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for img-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..6e6b74b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for img-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..7c486c0cd --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for img-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..9380cf26 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for img-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..eb2bc29 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for img-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..7292d2e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for img-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..44d6f7f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for img-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..4543a05 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-css-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..b83b676 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-css-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..e8f3722 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-css-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..2d18346 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-css-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..e7148b2 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-css-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..5ee5049a --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-css-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..7e10fce --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for link-css-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..42ce62a --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for link-css-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..a54df13 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-prefetch-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..96c67a6 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-prefetch-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..cdb36d0e --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-prefetch-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..bfb329c --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-prefetch-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..51f424d --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-prefetch-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..7aec4f0 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-prefetch-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..956dfc3d --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for link-prefetch-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..91e7ee61 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for link-prefetch-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..fe827e53 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for object-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..d0508e5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for object-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..e170c92 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for object-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..c18e678 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for object-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..de94548 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for object-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..dd2fb1f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for object-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..8140072 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for object-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..9eb97a1e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for object-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..18b3d985 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for picture-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..d8b062f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for picture-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..b76c6ce --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for picture-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..42c01b37 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for picture-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..ea12f43 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for picture-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..ebfdb983 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for picture-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..a969c40d --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for picture-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..fade858 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for picture-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..880beead --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for script-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..0224dc2 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for script-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..d0790c1 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for script-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..0f703b5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for script-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..9b3f770 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for script-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..0f0aade8 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for script-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..ce117946 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for script-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..6d8471a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for script-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..fa68df2 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for video-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..0f00654 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for video-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..fc0e298 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for video-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..63be32ca --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for video-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..e52afc00 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for video-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..8182dda --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for video-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..677eac105 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for video-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..e8fdae6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for video-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..277fb17b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for websocket to cross-ws origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-ws", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..37367a4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for websocket to cross-ws origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-ws", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..763b7a4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for websocket to cross-ws origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-ws", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..82f8ceac9 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for websocket to same-ws origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-ws", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.keep-scheme.https.html.headers similarity index 100% rename from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers rename to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..cadadda --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for websocket to same-ws origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-ws", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..ac48beb --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for websocket to same-ws origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-ws", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..89613650 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-wss.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for websocket to same-wss origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-wss", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-wss.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-wss.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..f9cab28 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-wss.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for websocket to same-wss origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-wss", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-wss.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-wss.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..9f19e5f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-classic to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..8b1ee70 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-classic to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..df3194a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-classic to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..8006ec2 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-classic to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..2462b55d6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-classic to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..8e47ea0 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-classic to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..5c3c85c --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-classic to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..aebea3a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-classic to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..789a840 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-import-data to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..18ee67c --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-import-data to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..f3e7a468 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-import-data to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..4062257f --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-import-data to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..f0e55bd --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-import-data to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..e585c807 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-import-data to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..e714fee6 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-import-data to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..fe7e30c6 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-import-data to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..720fa1d0d --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-module to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..ae0f798 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-module to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..77ceb91 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-module to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..e5e13eac --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-module to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.keep-scheme.https.html.headers similarity index 100% rename from third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers rename to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..808dbfc4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-module to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..f860cf02e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-module to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/fetch-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..90dd2c9 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-module to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..f8f65417 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-module to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..5d3e79e3 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation-import-data to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..84c5e8f --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation-import-data to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..8165630d --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation-import-data to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..99fd1416 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation-import-data to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..1f8bc89 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation-import-data to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..65d0a63 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation-import-data to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..6343bd51 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-animation-import-data to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..1a1e85f9 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-animation-import-data to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..cd37da6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..6b61aaa --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..2904c84 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..23ad7c9 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..de7b01a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..58fda268 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..5f657ea4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-animation to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..831c3f8 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-animation to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..f2bedf04 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio-import-data to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..8610bcea --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio-import-data to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..c338054 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio-import-data to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..49fd780 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio-import-data to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..458202b --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio-import-data to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..58552921 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio-import-data to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..30a88c2 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-audio-import-data to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..509d5b7 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-audio-import-data to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..d85dbac --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..d11b971 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..c258b28 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..1a04fc11 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..654c2ac --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..a411aca --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..2f4baf8 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-audio to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..99ec3b5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-audio to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..789189ce --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout-import-data to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..04a5c5b9 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout-import-data to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..c9c753b --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout-import-data to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..583b6e9f --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout-import-data to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..d4e0701c --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout-import-data to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..4f6b03fe --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout-import-data to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..1f73fa2 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-layout-import-data to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..16abae6 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-layout-import-data to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..2b9c6a4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..ffbe1c5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..7fdf21d8 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..28e89c1e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..2f311e2 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..a51bde6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..43dcbfd7 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-layout to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..4daed5c --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-layout to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..e7f398f8 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint-import-data to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..1bd0df34 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint-import-data to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..bb1516fd --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint-import-data to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..473ab6a --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint-import-data to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..1929cb7b --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint-import-data to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..fdc59a1 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint-import-data to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..9cc12fe --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-paint-import-data to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..a63225c9 --- /dev/null +++ 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
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-paint-import-data to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to 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.headers
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 new file mode 100644 index 0000000..e88f6c7 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..f78ac6a0 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..cafd243 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..577633ff --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..3d434f4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..548565f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..2009cabd --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-paint to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..dcd74fbc --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-paint to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..49ed805 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..5e5b1f5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..2121a4f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..07b8ca6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..321ecc5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..edaefc8b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.swap-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..b851c701 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for xhr to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-https.keep-scheme.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..3647f6cd --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for xhr to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-https.no-redirect.https.html.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..a041ea3 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for audio-tag to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..fe361ea --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for audio-tag to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..e6b8764 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for audio-tag to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..6992cd5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for beacon to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
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 new file mode 100644 index 0000000..24c1d2e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for beacon to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
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 new file mode 100644 index 0000000..4746000 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for beacon to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
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 new file mode 100644 index 0000000..aef2c40 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..543e8c8 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..305424e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..482ff0bb --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for img-tag to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..f0faae9 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for img-tag to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..8845056 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for img-tag to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..0e81db7 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-css-tag to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..f637cbe --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-css-tag to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..97ad5f4d --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for link-css-tag to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..a841895a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-prefetch-tag to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..6502ac39 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-prefetch-tag to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..b7a96ad5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for link-prefetch-tag to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..e211052 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for object-tag to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..281ffdf9 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for object-tag to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..c5fd222 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for object-tag to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..ab5d0dc --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for picture-tag to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..7870772a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for picture-tag to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..633ee3b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for picture-tag to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..dd94367 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for script-tag to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..d5c40ef --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for script-tag to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..e43ba60 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for script-tag to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..1b70d5c --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for video-tag to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..6f9d659 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for video-tag to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..7d276a5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for video-tag to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..bdf8b6ad --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/cross-ws.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for websocket to cross-ws origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-ws", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..342d02a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/same-ws.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for websocket to same-ws origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-ws", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..dbdad00c --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/same-wss.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for websocket to same-wss origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-wss", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..0dfb8b49 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-classic to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..3a09cb2 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-classic to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..bf9c417 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-classic to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..aa8971a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-import-data to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..5e3cf2c --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-import-data to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..466f348 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-import-data to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..cd7df4a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-module to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..081ff9a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-module to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..3b9e52f1 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-module to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..f6b3c56 --- /dev/null +++ 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
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation-import-data to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..389a5aeb --- /dev/null +++ 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
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation-import-data to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..5491d064 --- /dev/null +++ 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
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-animation-import-data to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..d79e04a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..44597fc --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..a944e82 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-animation to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..c018bba --- /dev/null +++ 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
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio-import-data to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..de7a557 --- /dev/null +++ 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
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio-import-data to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..565166a --- /dev/null +++ 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
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-audio-import-data to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..087e9f6e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..b87c62d --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..0cac182 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-audio to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..7c3a5f5f --- /dev/null +++ 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
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout-import-data to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..9ba7403 --- /dev/null +++ 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
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout-import-data to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..44ab46b --- /dev/null +++ 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
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-layout-import-data to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..3b7b61b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..3009dc32 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..d00259c --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-layout to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..67b1a50 --- /dev/null +++ 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
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint-import-data to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..359b1fb --- /dev/null +++ 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
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint-import-data to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..97a493f --- /dev/null +++ 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
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-paint-import-data to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..f0c9f7b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..967294d --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..0748955 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-paint to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..78b7a6f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/cross-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..6eae7d50 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/same-http.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..b9be76f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/same-https.no-redirect.https.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for xhr to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..a3bdca3 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for audio-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..34c1eb8 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for audio-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..fd98cf4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for audio-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..a870fc0 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for audio-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..511c3045 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for audio-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..bd61f0fb --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for audio-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..de8968e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for audio-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..2bf8a47 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for audio-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "audio-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..f4fb15f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for beacon to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
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 new file mode 100644 index 0000000..c16ae8e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for beacon to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
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 new file mode 100644 index 0000000..ff0531b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for beacon to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
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 new file mode 100644 index 0000000..eb67d663 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for beacon to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
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 new file mode 100644 index 0000000..406d5a5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for beacon to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
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 new file mode 100644 index 0000000..84b8ad9d --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for beacon to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
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 new file mode 100644 index 0000000..4059540a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for beacon to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
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 new file mode 100644 index 0000000..6969fa1 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for beacon to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "beacon", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
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 new file mode 100644 index 0000000..b8e4bd1 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..1252613 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..a1d642b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..7a9a470 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..c2fe5c5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..c86a880 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..2531ded --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..1373a58 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..6eea005 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for img-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..14ce3316 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for img-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..db54313 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for img-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..79abf5a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for img-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..4d996962 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for img-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..1ef072fa --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for img-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..7292d2e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for img-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..44d6f7f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for img-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "img-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..4543a05 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-css-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..b83b676 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-css-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..e8f3722 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-css-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..2d18346 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-css-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..e7148b2 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-css-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..5ee5049a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-css-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..7e10fce --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for link-css-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..42ce62a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for link-css-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-css-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..a54df13 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-prefetch-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..96c67a6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-prefetch-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..cdb36d0e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-prefetch-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..bfb329c --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-prefetch-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..51f424d --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-prefetch-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..7aec4f0 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for link-prefetch-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..956dfc3d --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for link-prefetch-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..91e7ee61 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for link-prefetch-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "link-prefetch-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..fe827e53 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for object-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..d0508e5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for object-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..e170c92 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for object-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..c18e678 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for object-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..de94548 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for object-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..dd2fb1f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for object-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..8140072 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for object-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..9eb97a1e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for object-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "object-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..18b3d985 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for picture-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..d8b062f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for picture-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..b76c6ce --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for picture-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..42c01b37 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for picture-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..ea12f43 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for picture-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..ebfdb983 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for picture-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..a969c40d --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for picture-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..fade858 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for picture-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "picture-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..880beead --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for script-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..0224dc2 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for script-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..d0790c1 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for script-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..0f703b5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for script-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..9b3f770 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for script-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..0f0aade8 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for script-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..ce117946 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for script-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..6d8471a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for script-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "script-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..7b1d742 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for video-tag to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..cca4f39 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for video-tag to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..2c01360 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for video-tag to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..ed75b86 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for video-tag to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..c556a61 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for video-tag to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..15de6ef0 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Optionally-blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of optionally-blockable content"> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> + <meta name="assert" content="Mixed-Content: Expects allowed for video-tag to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..677eac105 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for video-tag to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..e8fdae6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for video-tag to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "video-tag", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..277fb17b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for websocket to cross-ws origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-ws", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..37367a4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for websocket to cross-ws origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-ws", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..763b7a4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for websocket to cross-ws origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-ws", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..82f8ceac9 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for websocket to same-ws origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-ws", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..cadadda --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for websocket to same-ws origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-ws", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..ac48beb --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for websocket to same-ws origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-ws", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..89613650 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-wss.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for websocket to same-wss origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-wss", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..f9cab28 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-wss.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for websocket to same-wss origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-wss", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "websocket", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..9f19e5f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-classic to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..8b1ee70 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-classic to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..df3194a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-classic to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..8006ec2 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-classic to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..2462b55d6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-classic to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..8e47ea0 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-classic to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..5c3c85c --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-classic to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..aebea3a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-classic to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-classic", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..789a840 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-import-data to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..18ee67c --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-import-data to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..f3e7a468 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-import-data to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..4062257f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-import-data to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..f0e55bd --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-import-data to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..e585c807 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-import-data to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..e714fee6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-import-data to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..fe7e30c6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-import-data to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..720fa1d0d --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-module to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..ae0f798 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-module to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..77ceb91 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-module to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..e5e13eac --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-module to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..808dbfc4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-module to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..f860cf02e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worker-module to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..90dd2c9 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-module to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..f8f65417 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worker-module to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worker-module", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..5d3e79e3 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation-import-data to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..84c5e8f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation-import-data to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..8165630d --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation-import-data to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..99fd1416 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation-import-data to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..1f8bc89 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation-import-data to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..65d0a63 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation-import-data to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..6343bd51 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-animation-import-data to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..1a1e85f9 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-animation-import-data to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..cd37da6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..6b61aaa --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..2904c84 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..23ad7c9 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..de7b01a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..58fda268 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-animation to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..5f657ea4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-animation to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..831c3f8 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-animation to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-animation", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..f2bedf04 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio-import-data to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..8610bcea --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio-import-data to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..c338054 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio-import-data to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..49fd780 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio-import-data to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..458202b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio-import-data to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..58552921 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio-import-data to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..30a88c2 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-audio-import-data to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..509d5b7 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-audio-import-data to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..d85dbac --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..d11b971 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..c258b28 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..1a04fc11 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..654c2ac --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..a411aca --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-audio to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..2f4baf8 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-audio to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..99ec3b5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-audio to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-audio", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..789189ce --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout-import-data to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..04a5c5b9 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout-import-data to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..c9c753b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout-import-data to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..583b6e9f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout-import-data to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..d4e0701c --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout-import-data to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..4f6b03fe --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout-import-data to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..1f73fa2 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-layout-import-data to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..16abae6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-layout-import-data to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..2b9c6a4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..ffbe1c5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..7fdf21d8 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..28e89c1e --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..2f311e2 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..a51bde6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-layout to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..43dcbfd7 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-layout to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..4daed5c --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-layout to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-layout", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..e7f398f8 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint-import-data to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..1bd0df34 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint-import-data to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..bb1516fd --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint-import-data to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..473ab6a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint-import-data to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..1929cb7b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint-import-data to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..fdc59a1 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint-import-data to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..9cc12fe --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-paint-import-data to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..a63225c9 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-paint-import-data to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint-import-data", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..e88f6c7 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..f78ac6a0 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..cafd243 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..577633ff --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..3d434f4 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..548565f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for worklet-paint to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..2009cabd --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-paint to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..dcd74fbc --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for worklet-paint to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "worklet-paint", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..49ed805 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..5e5b1f5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..2121a4f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..07b8ca6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..321ecc5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..edaefc8b --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.swap-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..b851c701 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-https.keep-scheme.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for xhr to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..3647f6cd --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-https.no-redirect.https.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for xhr to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [], + "source_scheme": "https", + "subresource": "xhr", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..dd14bc1 --- /dev/null +++ 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
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..75b90ba --- /dev/null +++ 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
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..f8c8992 --- /dev/null +++ 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
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..8f471a0 --- /dev/null +++ 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
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..9483cf8 --- /dev/null +++ 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
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..c526406c0 --- /dev/null +++ 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
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.swap-scheme.https.html.headers
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 new file mode 100644 index 0000000..7ed9c10 --- /dev/null +++ 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
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-https.keep-scheme.https.html.headers
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 new file mode 100644 index 0000000..2aa18a6 --- /dev/null +++ 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
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers 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.headers similarity index 100% copy from third_party/blink/web_tests/external/wpt/mixed-content/audio-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers copy to third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-https.no-redirect.https.html.headers
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 new file mode 100644 index 0000000..5ae5d46 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/cross-http.no-redirect.https.html
@@ -0,0 +1,40 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..ed6d93f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/same-http.no-redirect.https.html
@@ -0,0 +1,40 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..ba4fb513 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/same-https.no-redirect.https.html
@@ -0,0 +1,40 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and no-redirect redirection from https context."> + <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..dd14bc1 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.keep-scheme.https.html
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "keep-scheme", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..75b90ba --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.no-redirect.https.html
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "no-redirect", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..f8c8992 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.swap-scheme.https.html
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "cross-http", + "redirection": "swap-scheme", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..8f471a0 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.keep-scheme.https.html
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "keep-scheme", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..9483cf8 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.no-redirect.https.html
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "no-redirect", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..c526406c0 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.swap-scheme.https.html
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Blockable content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of blockable content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> + <meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and swap-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "blocked", + "origin": "same-http", + "redirection": "swap-scheme", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..7ed9c10 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-https.keep-scheme.https.html
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and keep-scheme redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "keep-scheme", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/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 new file mode 100644 index 0000000..2aa18a6 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-https.no-redirect.https.html
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. --> +<html> + <head> + <title>Mixed-Content: Allowed content</title> + <meta charset='utf-8'> + <meta name="description" content="Test behavior of allowed content."> + <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> + <link rel="help" href="http://www.w3.org/TR/mixed-content/"> + <meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and no-redirect redirection from https context."> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/common/security-features/resources/common.js"></script> + <script src="/mixed-content/generic/test-case.sub.js"></script> + </head> + <body> + <script> + TestCase( + { + "expectation": "allowed", + "origin": "same-https", + "redirection": "no-redirect", + "source_context_list": [ + { + "policyDeliveries": [], + "sourceContextType": "worker-classic-data" + } + ], + "source_scheme": "https", + "subresource": "fetch", + "subresource_policy_deliveries": [] + }, + document.querySelector("meta[name=assert]").content, + new SanityChecker() + ).start(); + </script> + <div id="log"></div> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 9b3b46ff..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: img-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "img-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index f39f0c69..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: img-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "img-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 149d0dc..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: img-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "img-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index d37a441..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: img-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "img-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 49d3813..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: img-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "img-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 9787e9c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: img-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "img-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 740e202..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: img-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "img-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index d45384a..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: img-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "img-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/meta-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/meta-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index b1e4649..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/meta-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: img-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "img-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/meta-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/meta-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 3c0bce6b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/meta-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: img-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "img-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index cc943fd..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: img-tag - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "img-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index 8cc7a82c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: img-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "img-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/cross-origin-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/cross-origin-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index fae9b1e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/cross-origin-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: img-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "img-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index 9273ac43..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: img-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "img-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index 030de70..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: img-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "img-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index c9c2081..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: img-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "img-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index dddd339..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: img-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "img-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 3e78d29..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: img-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "img-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 5d5e55e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/img-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: img-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "img-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 482accfd..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: link-css-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "link-css-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 4db9717..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-css-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-css-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 90aa192e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: link-css-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "link-css-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 3a8c8cf..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: link-css-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "link-css-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index a44839fb..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-css-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-css-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 7a8949053..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: link-css-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "link-css-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 585b54c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: link-css-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "link-css-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index d6166d0..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-css-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-css-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 9b6036b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-css-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-css-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index dc18ca7..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-css-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-css-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 5e74a770..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-css-tag - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-css-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index e6b3dedf..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: link-css-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "link-css-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 88f21d4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-css-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-css-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index ebd1747..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: link-css-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "link-css-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 76b18d6..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: link-css-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "link-css-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 4449e58..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-css-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-css-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 1000359..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: link-css-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "link-css-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index e07e2fa..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: link-css-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "link-css-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index cbbfa07..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-css-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-css-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-css-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 9f69cae4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: link-prefetch-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "link-prefetch-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 883cfde5..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-prefetch-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-prefetch-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 13e9b46c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: link-prefetch-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "link-prefetch-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index a806be7..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: link-prefetch-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "link-prefetch-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 69cd3b29..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-prefetch-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-prefetch-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index f337745e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: link-prefetch-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "link-prefetch-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 9e0ab39c5..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: link-prefetch-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "link-prefetch-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 819b543..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-prefetch-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-prefetch-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index a9e57c1..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-prefetch-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-prefetch-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index f2025dce..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-prefetch-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-prefetch-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index b787497c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-prefetch-tag - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-prefetch-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 9317d5c7..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: link-prefetch-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "link-prefetch-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 8dc0000..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-prefetch-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-prefetch-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 6404268..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: link-prefetch-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "link-prefetch-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 1655a2e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: link-prefetch-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "link-prefetch-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index a47869e4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-prefetch-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-prefetch-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 1359609..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: link-prefetch-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "link-prefetch-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 853bd27..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: link-prefetch-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "link-prefetch-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index f450941..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/link-prefetch-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: link-prefetch-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "link-prefetch-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 0d0e79c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: module-data-worker-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "module-data-worker-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 8f09c46..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-data-worker-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-data-worker-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 77e7aad..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: module-data-worker-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "module-data-worker-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index adb8f07..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: module-data-worker-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "module-data-worker-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 39560f5e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-data-worker-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-data-worker-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 2a37811..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: module-data-worker-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "module-data-worker-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 5b8b9ef..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: module-data-worker-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "module-data-worker-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index ce6e2072..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-data-worker-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-data-worker-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 5055e60..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-data-worker-import - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-data-worker-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index f2e537b78..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-data-worker-import - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-data-worker-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index acb39cc..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-data-worker-import - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-data-worker-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 9adb36a3..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: module-data-worker-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "module-data-worker-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 4124504..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-data-worker-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-data-worker-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 20133bc..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: module-data-worker-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "module-data-worker-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 29010df..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: module-data-worker-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "module-data-worker-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index fb989ec..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-data-worker-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-data-worker-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index c4a8417..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: module-data-worker-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "module-data-worker-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 1f734b4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: module-data-worker-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "module-data-worker-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 4c171710..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-data-worker-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-data-worker-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-data-worker-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 48bd7e2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: module-worker-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "module-worker-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 905108ca2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-worker-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-worker-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 9992cf9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: module-worker-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "module-worker-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 895b875..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: module-worker-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "module-worker-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index ed48895..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-worker-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-worker-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 4dacb3a7..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: module-worker-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "module-worker-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index e7e01df..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: module-worker-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "module-worker-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 1adac77..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-worker-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-worker-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index bff5398..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-worker-top-level - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-worker-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index ac623c71..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-worker-top-level - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-worker-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index ff7b496..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-worker-top-level - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-worker-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index fd30ae9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: module-worker-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "module-worker-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 2fa81d5..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-worker-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-worker-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 7a9a845..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: module-worker-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "module-worker-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 4f9e979..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: module-worker-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "module-worker-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 8d83c1f9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-worker-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-worker-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 5719538..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: module-worker-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "module-worker-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 16c4d61a..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: module-worker-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "module-worker-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 91db146..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/module-worker-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: module-worker-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "module-worker-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 5e71036..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: object-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "object-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 242569e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: object-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "object-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index d2fe8ea..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: object-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "object-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 4959d445..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: object-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "object-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 45d70e81..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: object-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "object-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 119dda32..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: object-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "object-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 01cc099..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: object-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "object-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 72275f994..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: object-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "object-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 4cba2b5..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: object-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "object-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index ea3e1dc..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: object-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "object-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index d8c0fda..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: object-tag - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "object-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 5ba5744..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: object-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "object-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 414ed3a0..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: object-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "object-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index a9a07e7c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: object-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "object-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 36ee113..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: object-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "object-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 32bf8286..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: object-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "object-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 57d8e55..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: object-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "object-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 1fc9bd3..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: object-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "object-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 66e4183..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/object-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: object-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "object-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index f4284d2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: picture-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "picture-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 81c5e31..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: picture-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "picture-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 423d55b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: picture-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "picture-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 265c22f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: picture-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "picture-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index e78b35a..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: picture-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "picture-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index e71eca9f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: picture-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "picture-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 60bb063..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: picture-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "picture-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 082a5d02..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: picture-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "picture-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index d240025..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: picture-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "picture-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 545858e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: picture-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "picture-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 1722e18..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: picture-tag - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "picture-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 07b58b5..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: picture-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "picture-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 7cd7005..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: picture-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "picture-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 5109e5a..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: picture-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "picture-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 1005c62..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: picture-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "picture-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 98bf20f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: picture-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "picture-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index a5b1bed..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: picture-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "picture-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 76580a4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: picture-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "picture-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 7e6f59e3..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/picture-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: picture-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "picture-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index a1c58ee..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: script-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "script-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 53729bb..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: script-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "script-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 3f6d7671..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: script-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "script-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index c89c2a5..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: script-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "script-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 84d81d6..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: script-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "script-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 83110755..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: script-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "script-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index e7b7bd4e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: script-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "script-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 1aaa445..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: script-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "script-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index bcb3b05..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: script-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "script-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index c6af6e42..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: script-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "script-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index df5aa522..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: script-tag - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "script-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index d0048db305..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: script-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "script-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index a1519d9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: script-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "script-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 9e46278..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: script-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "script-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index d92025d3..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: script-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "script-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index d84c70e5..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: script-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "script-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index d4ee795..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: script-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "script-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index d8b2161..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: script-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "script-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 7b4423b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/script-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: script-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "script-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 97d76b32..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: video-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "video-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 6d2d972e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: video-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "video-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 912f5901..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: video-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "video-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index a0957ec..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: video-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "video-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index a01f53a0..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: video-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "video-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index fb3b6344..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: video-tag - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "video-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 8bd2c9f6..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: video-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "video-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 94a5e8e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: video-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "video-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/meta-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/meta-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 5910d53..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/meta-csp/cross-origin-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: video-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "video-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/meta-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/meta-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html deleted file mode 100644 index 44fb602..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/meta-csp/same-host-http/top-level/no-redirect/optionally-blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: video-tag - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "video-tag", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 1cd1855..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: video-tag - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "video-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index 48687c6..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: video-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "video-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/cross-origin-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/cross-origin-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index e39519b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/cross-origin-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: video-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "video-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index 1075bb4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: video-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "video-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index e97fcd5..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-http/top-level/keep-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: video-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "video-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index e74ae75..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-http/top-level/no-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: video-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "video-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html deleted file mode 100644 index eaaf53b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-http/top-level/swap-scheme-redirect/optionally-blockable/no-opt-in-allows.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Optionally-blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of optionally-blockable content"> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-optionally-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: video-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "video-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 399566f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: video-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "video-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 2b51bd4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/video-tag/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: video-tag - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "video-tag", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html deleted file mode 100644 index 4f52562..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-ws - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: websocket-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-ws", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "websocket-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html deleted file mode 100644 index 20fc9b9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-ws - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: websocket-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-ws", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "websocket-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html deleted file mode 100644 index 3a67d12..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-ws - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: websocket-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-ws", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "websocket-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/cross-origin-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html deleted file mode 100644 index 0b1702a5..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-ws - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: websocket-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-ws", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "websocket-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html deleted file mode 100644 index 087f54d..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-ws - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: websocket-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-ws", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "websocket-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html deleted file mode 100644 index 2491c538..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-ws - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: websocket-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-ws", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "websocket-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-wss/top-level/keep-scheme-redirect/allowed/websocket-allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-wss/top-level/keep-scheme-redirect/allowed/websocket-allowed.https.html deleted file mode 100644 index 727cc35..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-wss/top-level/keep-scheme-redirect/allowed/websocket-allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-wss - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: websocket-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-wss", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "websocket-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-wss/top-level/keep-scheme-redirect/allowed/websocket-allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-wss/top-level/keep-scheme-redirect/allowed/websocket-allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-wss/top-level/keep-scheme-redirect/allowed/websocket-allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-wss/top-level/no-redirect/allowed/websocket-allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-wss/top-level/no-redirect/allowed/websocket-allowed.https.html deleted file mode 100644 index 5a10108..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-wss/top-level/no-redirect/allowed/websocket-allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-wss - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: websocket-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-wss", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "websocket-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-wss/top-level/no-redirect/allowed/websocket-allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-wss/top-level/no-redirect/allowed/websocket-allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/http-csp/same-host-wss/top-level/no-redirect/allowed/websocket-allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/meta-csp/cross-origin-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/meta-csp/cross-origin-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html deleted file mode 100644 index f2e2642..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/meta-csp/cross-origin-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-ws - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: websocket-request - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-ws", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "websocket-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/meta-csp/same-host-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/meta-csp/same-host-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html deleted file mode 100644 index e944297..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/meta-csp/same-host-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-ws - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: websocket-request - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-ws", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "websocket-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/meta-csp/same-host-wss/top-level/no-redirect/allowed/websocket-allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/meta-csp/same-host-wss/top-level/no-redirect/allowed/websocket-allowed.https.html deleted file mode 100644 index 45bf7d3bb..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/meta-csp/same-host-wss/top-level/no-redirect/allowed/websocket-allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-wss - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: websocket-request - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-wss", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "websocket-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/cross-origin-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/cross-origin-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html deleted file mode 100644 index 049e61b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/cross-origin-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-ws - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: websocket-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-ws", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "websocket-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/cross-origin-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/cross-origin-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html deleted file mode 100644 index 2a28208..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/cross-origin-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-ws - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: websocket-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-ws", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "websocket-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/cross-origin-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/cross-origin-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html deleted file mode 100644 index 099056f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/cross-origin-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-ws - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: websocket-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-ws", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "websocket-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html deleted file mode 100644 index c24e1d7..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-ws/top-level/keep-scheme-redirect/blockable/ws-downgrade-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-ws - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: websocket-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-ws", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "websocket-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html deleted file mode 100644 index 8312066..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-ws/top-level/no-redirect/blockable/ws-downgrade-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-ws - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: websocket-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-ws", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "websocket-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html deleted file mode 100644 index 5fb923f2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-ws/top-level/swap-scheme-redirect/blockable/ws-downgrade-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-ws - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: websocket-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-ws", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "websocket-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-wss/top-level/keep-scheme-redirect/allowed/websocket-allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-wss/top-level/keep-scheme-redirect/allowed/websocket-allowed.https.html deleted file mode 100644 index 09fd3e42..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-wss/top-level/keep-scheme-redirect/allowed/websocket-allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-wss - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: websocket-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-wss", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "websocket-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-wss/top-level/no-redirect/allowed/websocket-allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-wss/top-level/no-redirect/allowed/websocket-allowed.https.html deleted file mode 100644 index 4e104fb..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/websocket-request/no-opt-in/same-host-wss/top-level/no-redirect/allowed/websocket-allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-wss - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: websocket-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-wss", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "websocket-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 3b1be17..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worker-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worker-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index e5c5a86..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worker-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worker-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index f318d00..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worker-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worker-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 1e133c2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worker-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worker-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 1d7c1ec..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worker-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worker-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 3e31998..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worker-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worker-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 2fa9e6b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worker-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worker-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index c4651834..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worker-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worker-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 140133f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worker-request - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worker-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index f664dfc3..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worker-request - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worker-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index f639f30e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worker-request - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worker-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 7a8df78..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worker-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worker-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 99162059..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worker-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worker-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 5b69f15..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worker-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worker-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index f6bad6b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worker-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worker-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index e2f8a28..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worker-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worker-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 54b34e7..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worker-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worker-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index a277471..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worker-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worker-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index db091027..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worker-request/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worker-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worker-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 1db0a1e4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-animation-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 30cf903..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 8840673..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-animation-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index fcb3ed1f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-animation-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index e97d9ed9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index b9e6af0..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-animation-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 79ace77..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-animation-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 3a41ecf..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 9bf5482..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-data-import - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index a7d02739..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-data-import - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 2e7aa07..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-data-import - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 4a97df5..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-animation-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 0358e5f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index d59023de..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-animation-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 13e91504..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-animation-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 84b53d8..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 4b6dc464..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-animation-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index ad35a45..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-animation-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 2ca7129..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-data-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 3ca94248..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-animation-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 0ebfe517..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 85f339a..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-animation-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 2ff42bf..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-animation-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 3e0fbbc9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index b12e3d7f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-animation-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 3877b4a..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-animation-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 1aeee58..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index f96210c1..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-top-level - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 86e8c0c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-top-level - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index ef94f6d..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-top-level - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 557f3f78..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-animation-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index f9dd061..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index f6e6751..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-animation-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 2b1b0b2d..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-animation-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 159329a..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 0e045e1..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-animation-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 6658abc7..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-animation-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 32ac8f2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-animation-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-animation-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-animation-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 189a25b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-audio-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 3144aba7..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 6e5dcc59..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-audio-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index d78de561..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-audio-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index a1f5f72b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 85d1a1e9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-audio-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 00b5d6f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-audio-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 9cae068..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index c4846185..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-data-import - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 5f10d56..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-data-import - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 502407c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-data-import - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index c0f2fc7..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-audio-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 7b6e331e2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 94cfb96..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-audio-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 49b9103..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-audio-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 6f8ea01..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 1b18de0..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-audio-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index dfdbae7..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-audio-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index c6ce305c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-data-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index cba9bdc..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-audio-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 13eb20d..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 4df48a8..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-audio-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 9c79635..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-audio-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 176da0f4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 3ba97cc..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-audio-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 66857b1..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-audio-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index e0b664b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 6f688d7..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-top-level - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 63bb81d1..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-top-level - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index e9b1153..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-top-level - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 6d72fbe..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-audio-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index ddb4146..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index f2e6058f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-audio-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 970723e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-audio-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 4901118..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index b0ea6b3..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-audio-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 4b14527..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-audio-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 4737340..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-audio-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-audio-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-audio-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 7e1db35..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-layout-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 617237da..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 3a90c1da..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-layout-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 3f2b4aa4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-layout-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index f620172..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index c96d2d4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-layout-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 685bd1e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-layout-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index aaa62a9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 37d3c51..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-data-import - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 8c1cecce..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-data-import - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index c766c5e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-data-import - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 408d01c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-layout-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index bd5f1b0..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 006ee9d..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-layout-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 905856f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-layout-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index c031756..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index c8c56c45..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-layout-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index a86f3b4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-layout-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index e0a437e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-data-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 89b2402e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-layout-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 5b01dbc..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 55d23f9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-layout-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 64d4588..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-layout-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 27bb937..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 2bd8a10..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-layout-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 8fec9a0..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-layout-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 4bd8277..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index cc56889..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-top-level - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index f50bb18..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-top-level - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 785bc579..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-top-level - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 2918d12d..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-layout-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 63ce10a..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 333b26e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-layout-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 29edc680..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-layout-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 12ea7f2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index ede2b9e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-layout-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index b35999d8..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-layout-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 5ad4fdc..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-layout-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-layout-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-layout-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 94dc4fa..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-paint-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 1637723..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index c0df274..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-paint-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 2e99652a..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-paint-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 202b22c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 3e4c570..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-paint-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index df15dd9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-paint-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 23668777..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index a8b19ae..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-data-import - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index cfa30e47..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-data-import - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 1c8391e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-data-import - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index d33c792..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-paint-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 939f20f9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index be7e4ce7c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-paint-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index f69486e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-paint-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 806b2ae..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index f0b30f8..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-paint-data-import - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 9ff4c3c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-paint-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 0edffdf..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-data-import/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-data-import - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-data-import", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index ab3439a..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-paint-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 3d17e69c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index c060ab3..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-paint-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 22760d9..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-paint-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 9f3bc48..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 95ef469..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-paint-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 145cb04..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-paint-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 9110517..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 82434165..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-top-level - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index e8d26e8..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-top-level - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 9db55dc..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-top-level - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 4412335c..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-paint-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 7f7d6b2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 97664540..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-paint-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 196f60ff..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-paint-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index b2bf5c4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index b931d339..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: worklet-paint-top-level - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 0eeba32e2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: worklet-paint-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 1da3a84..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/worklet-paint-top-level/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: worklet-paint-top-level - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "worklet-paint-top-level", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index f70e0d7..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: xhr-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "xhr-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index be74d7f..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: xhr-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "xhr-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 39f508c2b..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: xhr-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "xhr-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/cross-origin-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 703e0af..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: xhr-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "xhr-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/keep-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index a1323d4..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: xhr-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "xhr-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 0aa1bf3..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: xhr-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "xhr-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 61fe95d..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: xhr-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "xhr-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 8a0c5b1..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: http-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: xhr-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "http-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "xhr-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers deleted file mode 100644 index 46e2255e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/http-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html.headers +++ /dev/null
@@ -1 +0,0 @@ -Content-Security-Policy: block-all-mixed-content
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index df3f8cc..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/meta-csp/cross-origin-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: xhr-request - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "xhr-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html deleted file mode 100644 index 74261daf..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/meta-csp/same-host-http/top-level/no-redirect/blockable/opt-in-blocks.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: xhr-request - expectation: blocked"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "xhr-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index 45cd5ea..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/meta-csp/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,41 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: meta-csp - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: xhr-request - expectation: allowed"> - <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "meta-csp", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "xhr-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index ed8f550d..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/cross-origin-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: xhr-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "xhr-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index c14bc41..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/cross-origin-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: xhr-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "xhr-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 1061f61..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/cross-origin-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: cross-origin-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: xhr-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "cross-origin-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "xhr-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index 18a5a3e..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-http/top-level/keep-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: xhr-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "xhr-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index d47797a..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-http/top-level/no-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: xhr-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "xhr-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html deleted file mode 100644 index ff17fa2..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-http/top-level/swap-scheme-redirect/blockable/no-opt-in-blocks.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Blockable content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of blockable content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-http - source_scheme: https - context_nesting: top-level - redirection: swap-scheme-redirect - subresource: xhr-request - expectation: blocked"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-http", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "swap-scheme-redirect", - "subresource": "xhr-request", - "expectation": "blocked" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html deleted file mode 100644 index 76d5442..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-https/top-level/keep-scheme-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: keep-scheme-redirect - subresource: xhr-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "keep-scheme-redirect", - "subresource": "xhr-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html deleted file mode 100644 index e6eba571..0000000 --- a/third_party/blink/web_tests/external/wpt/mixed-content/xhr-request/no-opt-in/same-host-https/top-level/no-redirect/allowed/allowed.https.html +++ /dev/null
@@ -1,40 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. --> -<html> - <head> - <title>Mixed-Content: Allowed content</title> - <meta charset='utf-8'> - <meta name="description" content="Test behavior of allowed content."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="http://www.w3.org/TR/mixed-content/"> - <meta name="assert" content="opt_in_method: no-opt-in - origin: same-host-https - source_scheme: https - context_nesting: top-level - redirection: no-redirect - subresource: xhr-request - expectation: allowed"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script> - </head> - <body> - <script> - MixedContentTestCase( - { - "opt_in_method": "no-opt-in", - "origin": "same-host-https", - "source_scheme": "https", - "context_nesting": "top-level", - "redirection": "no-redirect", - "subresource": "xhr-request", - "expectation": "allowed" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/netinfo/idlharness.any-expected.txt b/third_party/blink/web_tests/external/wpt/netinfo/idlharness.any-expected.txt deleted file mode 100644 index adb6cc43..0000000 --- a/third_party/blink/web_tests/external/wpt/netinfo/idlharness.any-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/netinfo/idlharness.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/netinfo/idlharness.any.worker-expected.txt deleted file mode 100644 index adb6cc43..0000000 --- a/third_party/blink/web_tests/external/wpt/netinfo/idlharness.any.worker-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/notifications/idlharness.https.any-expected.txt b/third_party/blink/web_tests/external/wpt/notifications/idlharness.https.any-expected.txt deleted file mode 100644 index 9882a5f8..0000000 --- a/third_party/blink/web_tests/external/wpt/notifications/idlharness.https.any-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface ServiceWorkerRegistration: original interface defined -PASS Partial interface ServiceWorkerGlobalScope: original interface defined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/notifications/idlharness.https.any.sharedworker-expected.txt b/third_party/blink/web_tests/external/wpt/notifications/idlharness.https.any.sharedworker-expected.txt deleted file mode 100644 index 9882a5f8..0000000 --- a/third_party/blink/web_tests/external/wpt/notifications/idlharness.https.any.sharedworker-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface ServiceWorkerRegistration: original interface defined -PASS Partial interface ServiceWorkerGlobalScope: original interface defined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/notifications/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/notifications/idlharness.https.any.worker-expected.txt deleted file mode 100644 index 9882a5f8..0000000 --- a/third_party/blink/web_tests/external/wpt/notifications/idlharness.https.any.worker-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface ServiceWorkerRegistration: original interface defined -PASS Partial interface ServiceWorkerGlobalScope: original interface defined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/orientation-event/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/orientation-event/idlharness.https.window-expected.txt deleted file mode 100644 index b177b51b..0000000 --- a/third_party/blink/web_tests/external/wpt/orientation-event/idlharness.https.window-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Window: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface Window[2]: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/page-visibility/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/page-visibility/idlharness.window-expected.txt deleted file mode 100644 index 2e357951..0000000 --- a/third_party/blink/web_tests/external/wpt/page-visibility/idlharness.window-expected.txt +++ /dev/null
@@ -1,10 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface Document: original interface defined -PASS Document interface: attribute hidden -PASS Document interface: attribute visibilityState -PASS Document interface: attribute onvisibilitychange -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any-expected.txt b/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any-expected.txt deleted file mode 100644 index c3a62e81..0000000 --- a/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any-expected.txt +++ /dev/null
@@ -1,9 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface ServiceWorkerRegistration: original interface defined -PASS Partial interface ServiceWorkerGlobalScope: original interface defined -PASS Partial interface ServiceWorkerGlobalScope[2]: original interface defined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any.serviceworker-expected.txt b/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any.serviceworker-expected.txt index c3a62e81..d568ca4c 100644 --- a/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any.serviceworker-expected.txt +++ b/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any.serviceworker-expected.txt
@@ -1,9 +1,100 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 96 tests; 63 PASS, 33 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup PASS Partial interface ServiceWorkerRegistration: original interface defined PASS Partial interface ServiceWorkerGlobalScope: original interface defined PASS Partial interface ServiceWorkerGlobalScope[2]: original interface defined +FAIL PaymentManager interface: existence and properties of interface object assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface object length assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface object name assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: existence and properties of interface prototype object assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: attribute instruments assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: attribute userHint assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager must be primary interface of paymentManager assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +PASS Stringification of paymentManager +PASS PaymentManager interface: paymentManager must inherit property "instruments" with the proper type +PASS PaymentManager interface: paymentManager must inherit property "userHint" with the proper type +PASS PaymentInstruments interface: existence and properties of interface object +PASS PaymentInstruments interface object length +PASS PaymentInstruments interface object name +PASS PaymentInstruments interface: existence and properties of interface prototype object +PASS PaymentInstruments interface: existence and properties of interface prototype object's "constructor" property +PASS PaymentInstruments interface: existence and properties of interface prototype object's @@unscopables property +PASS PaymentInstruments interface: operation delete(DOMString) +PASS PaymentInstruments interface: operation get(DOMString) +PASS PaymentInstruments interface: operation keys() +PASS PaymentInstruments interface: operation has(DOMString) +PASS PaymentInstruments interface: operation set(DOMString, PaymentInstrument) +PASS PaymentInstruments interface: operation clear() +PASS PaymentInstruments must be primary interface of instruments +PASS Stringification of instruments +PASS PaymentInstruments interface: instruments must inherit property "delete(DOMString)" with the proper type +PASS PaymentInstruments interface: calling delete(DOMString) on instruments with too few arguments must throw TypeError +PASS PaymentInstruments interface: instruments must inherit property "get(DOMString)" with the proper type +PASS PaymentInstruments interface: calling get(DOMString) on instruments with too few arguments must throw TypeError +PASS PaymentInstruments interface: instruments must inherit property "keys()" with the proper type +PASS PaymentInstruments interface: instruments must inherit property "has(DOMString)" with the proper type +PASS PaymentInstruments interface: calling has(DOMString) on instruments with too few arguments must throw TypeError +PASS PaymentInstruments interface: instruments must inherit property "set(DOMString, PaymentInstrument)" with the proper type +PASS PaymentInstruments interface: calling set(DOMString, PaymentInstrument) on instruments with too few arguments must throw TypeError +PASS PaymentInstruments interface: instruments must inherit property "clear()" with the proper type +PASS CanMakePaymentEvent interface: existence and properties of interface object +PASS CanMakePaymentEvent interface object length +PASS CanMakePaymentEvent interface object name +PASS CanMakePaymentEvent interface: existence and properties of interface prototype object +PASS CanMakePaymentEvent interface: existence and properties of interface prototype object's "constructor" property +PASS CanMakePaymentEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS CanMakePaymentEvent interface: attribute topOrigin +PASS CanMakePaymentEvent interface: attribute paymentRequestOrigin +PASS CanMakePaymentEvent interface: attribute methodData +PASS CanMakePaymentEvent interface: operation respondWith([object Object]) +FAIL CanMakePaymentEvent must be primary interface of new CanMakePaymentEvent("type") assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'CanMakePaymentEvent': 2 arguments required, but only 1 present." +FAIL Stringification of new CanMakePaymentEvent("type") assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'CanMakePaymentEvent': 2 arguments required, but only 1 present." +FAIL CanMakePaymentEvent interface: new CanMakePaymentEvent("type") must inherit property "topOrigin" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'CanMakePaymentEvent': 2 arguments required, but only 1 present." +FAIL CanMakePaymentEvent interface: new CanMakePaymentEvent("type") must inherit property "paymentRequestOrigin" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'CanMakePaymentEvent': 2 arguments required, but only 1 present." +FAIL CanMakePaymentEvent interface: new CanMakePaymentEvent("type") must inherit property "methodData" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'CanMakePaymentEvent': 2 arguments required, but only 1 present." +FAIL CanMakePaymentEvent interface: new CanMakePaymentEvent("type") must inherit property "respondWith([object Object])" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'CanMakePaymentEvent': 2 arguments required, but only 1 present." +FAIL CanMakePaymentEvent interface: calling respondWith([object Object]) on new CanMakePaymentEvent("type") with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'CanMakePaymentEvent': 2 arguments required, but only 1 present." +PASS PaymentRequestEvent interface: existence and properties of interface object +PASS PaymentRequestEvent interface object length +PASS PaymentRequestEvent interface object name +PASS PaymentRequestEvent interface: existence and properties of interface prototype object +PASS PaymentRequestEvent interface: existence and properties of interface prototype object's "constructor" property +PASS PaymentRequestEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS PaymentRequestEvent interface: attribute topOrigin +PASS PaymentRequestEvent interface: attribute paymentRequestOrigin +PASS PaymentRequestEvent interface: attribute paymentRequestId +PASS PaymentRequestEvent interface: attribute methodData +PASS PaymentRequestEvent interface: attribute total +PASS PaymentRequestEvent interface: attribute modifiers +PASS PaymentRequestEvent interface: attribute instrumentKey +FAIL PaymentRequestEvent interface: attribute requestBillingAddress assert_true: The prototype object must have a property "requestBillingAddress" expected true got false +PASS PaymentRequestEvent interface: operation openWindow(USVString) +PASS PaymentRequestEvent interface: operation changePaymentMethod(DOMString, object) +PASS PaymentRequestEvent interface: operation respondWith([object Object]) +FAIL PaymentRequestEvent must be primary interface of new PaymentRequestEvent("type") assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL Stringification of new PaymentRequestEvent("type") assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL PaymentRequestEvent interface: new PaymentRequestEvent("type") must inherit property "topOrigin" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL PaymentRequestEvent interface: new PaymentRequestEvent("type") must inherit property "paymentRequestOrigin" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL PaymentRequestEvent interface: new PaymentRequestEvent("type") must inherit property "paymentRequestId" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL PaymentRequestEvent interface: new PaymentRequestEvent("type") must inherit property "methodData" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL PaymentRequestEvent interface: new PaymentRequestEvent("type") must inherit property "total" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL PaymentRequestEvent interface: new PaymentRequestEvent("type") must inherit property "modifiers" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL PaymentRequestEvent interface: new PaymentRequestEvent("type") must inherit property "instrumentKey" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL PaymentRequestEvent interface: new PaymentRequestEvent("type") must inherit property "requestBillingAddress" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL PaymentRequestEvent interface: new PaymentRequestEvent("type") must inherit property "openWindow(USVString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL PaymentRequestEvent interface: calling openWindow(USVString) on new PaymentRequestEvent("type") with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL PaymentRequestEvent interface: new PaymentRequestEvent("type") must inherit property "changePaymentMethod(DOMString, object)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL PaymentRequestEvent interface: calling changePaymentMethod(DOMString, object) on new PaymentRequestEvent("type") with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL PaymentRequestEvent interface: new PaymentRequestEvent("type") must inherit property "respondWith([object Object])" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +FAIL PaymentRequestEvent interface: calling respondWith([object Object]) on new PaymentRequestEvent("type") with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'PaymentRequestEvent': 2 arguments required, but only 1 present." +PASS ServiceWorkerRegistration interface: attribute paymentManager +PASS ServiceWorkerRegistration interface: registration must inherit property "paymentManager" with the proper type +PASS ServiceWorkerGlobalScope interface: attribute oncanmakepayment +PASS ServiceWorkerGlobalScope interface: attribute onpaymentrequest +PASS ServiceWorkerGlobalScope interface: self must inherit property "oncanmakepayment" with the proper type +PASS ServiceWorkerGlobalScope interface: self must inherit property "onpaymentrequest" with the proper type Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any.sharedworker-expected.txt b/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any.sharedworker-expected.txt index c3a62e81..9f716c5e 100644 --- a/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any.sharedworker-expected.txt +++ b/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any.sharedworker-expected.txt
@@ -1,9 +1,32 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +PASS idl_test setup PASS Partial interface ServiceWorkerRegistration: original interface defined PASS Partial interface ServiceWorkerGlobalScope: original interface defined PASS Partial interface ServiceWorkerGlobalScope[2]: original interface defined +FAIL PaymentManager interface: existence and properties of interface object assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface object length assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface object name assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: existence and properties of interface prototype object assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: attribute instruments assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: attribute userHint assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +PASS PaymentInstruments interface: existence and properties of interface object +PASS PaymentInstruments interface object length +PASS PaymentInstruments interface object name +PASS PaymentInstruments interface: existence and properties of interface prototype object +PASS PaymentInstruments interface: existence and properties of interface prototype object's "constructor" property +PASS PaymentInstruments interface: existence and properties of interface prototype object's @@unscopables property +PASS PaymentInstruments interface: operation delete(DOMString) +PASS PaymentInstruments interface: operation get(DOMString) +PASS PaymentInstruments interface: operation keys() +PASS PaymentInstruments interface: operation has(DOMString) +PASS PaymentInstruments interface: operation set(DOMString, PaymentInstrument) +PASS PaymentInstruments interface: operation clear() +PASS CanMakePaymentEvent interface: existence and properties of interface object +PASS PaymentRequestEvent interface: existence and properties of interface object +PASS ServiceWorkerRegistration interface: attribute paymentManager +PASS ServiceWorkerGlobalScope interface: existence and properties of interface object +PASS ExtendableEvent interface: existence and properties of interface object Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any.worker-expected.txt index c3a62e81..9f716c5e 100644 --- a/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any.worker-expected.txt +++ b/third_party/blink/web_tests/external/wpt/payment-handler/idlharness.https.any.worker-expected.txt
@@ -1,9 +1,32 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +PASS idl_test setup PASS Partial interface ServiceWorkerRegistration: original interface defined PASS Partial interface ServiceWorkerGlobalScope: original interface defined PASS Partial interface ServiceWorkerGlobalScope[2]: original interface defined +FAIL PaymentManager interface: existence and properties of interface object assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface object length assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface object name assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: existence and properties of interface prototype object assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: attribute instruments assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +FAIL PaymentManager interface: attribute userHint assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing +PASS PaymentInstruments interface: existence and properties of interface object +PASS PaymentInstruments interface object length +PASS PaymentInstruments interface object name +PASS PaymentInstruments interface: existence and properties of interface prototype object +PASS PaymentInstruments interface: existence and properties of interface prototype object's "constructor" property +PASS PaymentInstruments interface: existence and properties of interface prototype object's @@unscopables property +PASS PaymentInstruments interface: operation delete(DOMString) +PASS PaymentInstruments interface: operation get(DOMString) +PASS PaymentInstruments interface: operation keys() +PASS PaymentInstruments interface: operation has(DOMString) +PASS PaymentInstruments interface: operation set(DOMString, PaymentInstrument) +PASS PaymentInstruments interface: operation clear() +PASS CanMakePaymentEvent interface: existence and properties of interface object +PASS PaymentRequestEvent interface: existence and properties of interface object +PASS ServiceWorkerRegistration interface: attribute paymentManager +PASS ServiceWorkerGlobalScope interface: existence and properties of interface object +PASS ExtendableEvent interface: existence and properties of interface object Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/payment-request/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/payment-request/idlharness.https.window-expected.txt index b8f707a..62e7edf 100644 --- a/third_party/blink/web_tests/external/wpt/payment-request/idlharness.https.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/payment-request/idlharness.https.window-expected.txt
@@ -1,8 +1,6 @@ This is a testharness.js-based test. -Found 78 tests; 76 PASS, 2 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 109 tests; 107 PASS, 2 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup PASS PaymentRequest interface: existence and properties of interface object PASS PaymentRequest interface object length PASS PaymentRequest interface object name @@ -21,6 +19,21 @@ PASS PaymentRequest interface: attribute onshippingaddresschange PASS PaymentRequest interface: attribute onshippingoptionchange PASS PaymentRequest interface: attribute onpaymentmethodchange +PASS PaymentRequest must be primary interface of paymentRequest +PASS Stringification of paymentRequest +PASS PaymentRequest interface: paymentRequest must inherit property "show([object Object])" with the proper type +PASS PaymentRequest interface: calling show([object Object]) on paymentRequest with too few arguments must throw TypeError +PASS PaymentRequest interface: paymentRequest must inherit property "abort()" with the proper type +PASS PaymentRequest interface: paymentRequest must inherit property "canMakePayment()" with the proper type +PASS PaymentRequest interface: paymentRequest must inherit property "hasEnrolledInstrument()" with the proper type +PASS PaymentRequest interface: paymentRequest must inherit property "id" with the proper type +PASS PaymentRequest interface: paymentRequest must inherit property "shippingAddress" with the proper type +PASS PaymentRequest interface: paymentRequest must inherit property "shippingOption" with the proper type +PASS PaymentRequest interface: paymentRequest must inherit property "shippingType" with the proper type +FAIL PaymentRequest interface: paymentRequest must inherit property "onmerchantvalidation" with the proper type assert_inherits: property "onmerchantvalidation" not found in prototype chain +PASS PaymentRequest interface: paymentRequest must inherit property "onshippingaddresschange" with the proper type +PASS PaymentRequest interface: paymentRequest must inherit property "onshippingoptionchange" with the proper type +PASS PaymentRequest interface: paymentRequest must inherit property "onpaymentmethodchange" with the proper type PASS PaymentAddress interface: existence and properties of interface object PASS PaymentAddress interface object length PASS PaymentAddress interface object name @@ -65,6 +78,12 @@ PASS MerchantValidationEvent interface: attribute methodName PASS MerchantValidationEvent interface: attribute validationURL PASS MerchantValidationEvent interface: operation complete([object Object]) +PASS MerchantValidationEvent must be primary interface of new MerchantValidationEvent("merchantvalidation") +PASS Stringification of new MerchantValidationEvent("merchantvalidation") +PASS MerchantValidationEvent interface: new MerchantValidationEvent("merchantvalidation") must inherit property "methodName" with the proper type +PASS MerchantValidationEvent interface: new MerchantValidationEvent("merchantvalidation") must inherit property "validationURL" with the proper type +PASS MerchantValidationEvent interface: new MerchantValidationEvent("merchantvalidation") must inherit property "complete([object Object])" with the proper type +PASS MerchantValidationEvent interface: calling complete([object Object]) on new MerchantValidationEvent("merchantvalidation") with too few arguments must throw TypeError PASS PaymentMethodChangeEvent interface: existence and properties of interface object PASS PaymentMethodChangeEvent interface object length PASS PaymentMethodChangeEvent interface object name @@ -73,6 +92,12 @@ PASS PaymentMethodChangeEvent interface: existence and properties of interface prototype object's @@unscopables property PASS PaymentMethodChangeEvent interface: attribute methodName PASS PaymentMethodChangeEvent interface: attribute methodDetails +PASS PaymentMethodChangeEvent must be primary interface of new PaymentMethodChangeEvent("paymentmethodchange") +PASS Stringification of new PaymentMethodChangeEvent("paymentmethodchange") +PASS PaymentMethodChangeEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "methodName" with the proper type +PASS PaymentMethodChangeEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "methodDetails" with the proper type +PASS PaymentRequestUpdateEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "updateWith([object Object])" with the proper type +PASS PaymentRequestUpdateEvent interface: calling updateWith([object Object]) on new PaymentMethodChangeEvent("paymentmethodchange") with too few arguments must throw TypeError PASS PaymentRequestUpdateEvent interface: existence and properties of interface object PASS PaymentRequestUpdateEvent interface object length PASS PaymentRequestUpdateEvent interface object name @@ -80,5 +105,9 @@ PASS PaymentRequestUpdateEvent interface: existence and properties of interface prototype object's "constructor" property PASS PaymentRequestUpdateEvent interface: existence and properties of interface prototype object's @@unscopables property PASS PaymentRequestUpdateEvent interface: operation updateWith([object Object]) +PASS PaymentRequestUpdateEvent must be primary interface of new PaymentRequestUpdateEvent("paymentrequestupdate") +PASS Stringification of new PaymentRequestUpdateEvent("paymentrequestupdate") +PASS PaymentRequestUpdateEvent interface: new PaymentRequestUpdateEvent("paymentrequestupdate") must inherit property "updateWith([object Object])" with the proper type +PASS PaymentRequestUpdateEvent interface: calling updateWith([object Object]) on new PaymentRequestUpdateEvent("paymentrequestupdate") with too few arguments must throw TypeError Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/permissions/idlharness.any-expected.txt b/third_party/blink/web_tests/external/wpt/permissions/idlharness.any-expected.txt deleted file mode 100644 index 11d4d700..0000000 --- a/third_party/blink/web_tests/external/wpt/permissions/idlharness.any-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface WorkerNavigator: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/permissions/idlharness.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/permissions/idlharness.any.worker-expected.txt deleted file mode 100644 index 11d4d700..0000000 --- a/third_party/blink/web_tests/external/wpt/permissions/idlharness.any.worker-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface WorkerNavigator: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/picture-in-picture/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/picture-in-picture/idlharness.window-expected.txt deleted file mode 100644 index fc66edd..0000000 --- a/third_party/blink/web_tests/external/wpt/picture-in-picture/idlharness.window-expected.txt +++ /dev/null
@@ -1,9 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface HTMLVideoElement: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface Document: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface mixin DocumentOrShadowRoot: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/pointerevents/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/pointerevents/idlharness.window-expected.txt index fbd91e36..e0ed9cea 100644 --- a/third_party/blink/web_tests/external/wpt/pointerevents/idlharness.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/pointerevents/idlharness.window-expected.txt
@@ -1,28 +1,7 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +FAIL idl_test setup promise_test: Unhandled rejection with value: "Document includes GlobalEventHandlers, but Document is undefined." PASS Partial interface Element: original interface defined -FAIL Partial interface mixin GlobalEventHandlers: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -PASS PointerEvent interface: existence and properties of interface object -PASS PointerEvent interface object length -PASS PointerEvent interface object name -PASS PointerEvent interface: existence and properties of interface prototype object -PASS PointerEvent interface: existence and properties of interface prototype object's "constructor" property -PASS PointerEvent interface: existence and properties of interface prototype object's @@unscopables property -PASS PointerEvent interface: attribute pointerId -PASS PointerEvent interface: attribute width -PASS PointerEvent interface: attribute height -PASS PointerEvent interface: attribute pressure -PASS PointerEvent interface: attribute tangentialPressure -PASS PointerEvent interface: attribute tiltX -PASS PointerEvent interface: attribute tiltY -PASS PointerEvent interface: attribute twist -PASS PointerEvent interface: attribute pointerType -PASS PointerEvent interface: attribute isPrimary -PASS Element interface: operation setPointerCapture(long) -PASS Element interface: operation releasePointerCapture(long) -PASS Element interface: operation hasPointerCapture(long) +PASS Partial interface mixin GlobalEventHandlers: original interface mixin defined +PASS Partial interface Navigator: original interface defined Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/pointerlock/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/pointerlock/idlharness.window-expected.txt deleted file mode 100644 index a007606..0000000 --- a/third_party/blink/web_tests/external/wpt/pointerlock/idlharness.window-expected.txt +++ /dev/null
@@ -1,11 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Element: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface Document: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface mixin DocumentOrShadowRoot: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -PASS Partial interface MouseEvent: original interface defined -PASS Partial dictionary MouseEventInit: original dictionary defined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/presentation-api/controlling-ua/idlharness.https-expected.txt b/third_party/blink/web_tests/external/wpt/presentation-api/controlling-ua/idlharness.https-expected.txt deleted file mode 100644 index ab74615..0000000 --- a/third_party/blink/web_tests/external/wpt/presentation-api/controlling-ua/idlharness.https-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL Test IDL implementation of Presentation API promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/push-api/idlharness.https.any-expected.txt b/third_party/blink/web_tests/external/wpt/push-api/idlharness.https.any-expected.txt deleted file mode 100644 index a4772fd..0000000 --- a/third_party/blink/web_tests/external/wpt/push-api/idlharness.https.any-expected.txt +++ /dev/null
@@ -1,9 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface ServiceWorkerRegistration: original interface defined -PASS Partial interface ServiceWorkerGlobalScope: original interface defined -PASS Partial interface ServiceWorkerGlobalScope: valid exposure set -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/push-api/idlharness.https.any.serviceworker-expected.txt b/third_party/blink/web_tests/external/wpt/push-api/idlharness.https.any.serviceworker-expected.txt deleted file mode 100644 index a4772fd..0000000 --- a/third_party/blink/web_tests/external/wpt/push-api/idlharness.https.any.serviceworker-expected.txt +++ /dev/null
@@ -1,9 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface ServiceWorkerRegistration: original interface defined -PASS Partial interface ServiceWorkerGlobalScope: original interface defined -PASS Partial interface ServiceWorkerGlobalScope: valid exposure set -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/push-api/idlharness.https.any.sharedworker-expected.txt b/third_party/blink/web_tests/external/wpt/push-api/idlharness.https.any.sharedworker-expected.txt deleted file mode 100644 index a4772fd..0000000 --- a/third_party/blink/web_tests/external/wpt/push-api/idlharness.https.any.sharedworker-expected.txt +++ /dev/null
@@ -1,9 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface ServiceWorkerRegistration: original interface defined -PASS Partial interface ServiceWorkerGlobalScope: original interface defined -PASS Partial interface ServiceWorkerGlobalScope: valid exposure set -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/a-tag/no-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/a-tag/no-redirect/insecure-protocol.http.html deleted file mode 100644 index 14a6eeb2..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/a-tag/no-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via a-tag using the attr-referrer - delivery method with no-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "a-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/iframe-tag/keep-origin-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/iframe-tag/keep-origin-redirect/insecure-protocol.http.html deleted file mode 100644 index 92c65585..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/iframe-tag/keep-origin-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via iframe-tag using the attr-referrer - delivery method with keep-origin-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "keep-origin-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "iframe-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/iframe-tag/no-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/iframe-tag/no-redirect/insecure-protocol.http.html deleted file mode 100644 index ede753c..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/iframe-tag/no-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via iframe-tag using the attr-referrer - delivery method with no-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "iframe-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/iframe-tag/swap-origin-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/iframe-tag/swap-origin-redirect/insecure-protocol.http.html deleted file mode 100644 index b1f6e1dc..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/iframe-tag/swap-origin-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via iframe-tag using the attr-referrer - delivery method with swap-origin-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "swap-origin-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "iframe-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html deleted file mode 100644 index b69090f..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via img-tag using the attr-referrer - delivery method with keep-origin-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "keep-origin-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "img-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html deleted file mode 100644 index a5bda07fa..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via img-tag using the attr-referrer - delivery method with no-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "img-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html deleted file mode 100644 index c61e9dfe..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via img-tag using the attr-referrer - delivery method with swap-origin-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "swap-origin-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "img-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/script-tag/keep-origin-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/script-tag/keep-origin-redirect/insecure-protocol.http.html deleted file mode 100644 index d7a06ea..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/script-tag/keep-origin-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via script-tag using the attr-referrer - delivery method with keep-origin-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "keep-origin-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "script-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/script-tag/no-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/script-tag/no-redirect/insecure-protocol.http.html deleted file mode 100644 index bd9d445..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/script-tag/no-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via script-tag using the attr-referrer - delivery method with no-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "script-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/script-tag/swap-origin-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/script-tag/swap-origin-redirect/insecure-protocol.http.html deleted file mode 100644 index 4bcfe74..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/script-tag/swap-origin-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via script-tag using the attr-referrer - delivery method with swap-origin-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "swap-origin-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "script-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/a-tag/no-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/a-tag/no-redirect/upgrade-protocol.http.html deleted file mode 100644 index 2f55f3f..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/a-tag/no-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via a-tag using the attr-referrer - delivery method with no-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "a-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/iframe-tag/keep-origin-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/iframe-tag/keep-origin-redirect/upgrade-protocol.http.html deleted file mode 100644 index fcdb3014..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/iframe-tag/keep-origin-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via iframe-tag using the attr-referrer - delivery method with keep-origin-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "keep-origin-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "iframe-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/iframe-tag/no-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/iframe-tag/no-redirect/upgrade-protocol.http.html deleted file mode 100644 index f6fc0dee..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/iframe-tag/no-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via iframe-tag using the attr-referrer - delivery method with no-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "iframe-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/iframe-tag/swap-origin-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/iframe-tag/swap-origin-redirect/upgrade-protocol.http.html deleted file mode 100644 index 90db32e..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/iframe-tag/swap-origin-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via iframe-tag using the attr-referrer - delivery method with swap-origin-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "swap-origin-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "iframe-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html deleted file mode 100644 index 2260553..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via img-tag using the attr-referrer - delivery method with keep-origin-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "keep-origin-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "img-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html deleted file mode 100644 index 83d3733..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via img-tag using the attr-referrer - delivery method with no-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "img-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html deleted file mode 100644 index 269dd5ab..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via img-tag using the attr-referrer - delivery method with swap-origin-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "swap-origin-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "img-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/script-tag/keep-origin-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/script-tag/keep-origin-redirect/upgrade-protocol.http.html deleted file mode 100644 index 5367d9e8..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/script-tag/keep-origin-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via script-tag using the attr-referrer - delivery method with keep-origin-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "keep-origin-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "script-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/script-tag/no-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/script-tag/no-redirect/upgrade-protocol.http.html deleted file mode 100644 index 999d68c..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/script-tag/no-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via script-tag using the attr-referrer - delivery method with no-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "script-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/script-tag/swap-origin-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/script-tag/swap-origin-redirect/upgrade-protocol.http.html deleted file mode 100644 index 6e57d20..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/script-tag/swap-origin-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via script-tag using the attr-referrer - delivery method with swap-origin-redirect and when - the target request is cross-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "swap-origin-redirect", - "origin": "cross-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "script-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/a-tag/no-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/a-tag/no-redirect/insecure-protocol.http.html deleted file mode 100644 index b5e3d6c..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/a-tag/no-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via a-tag using the attr-referrer - delivery method with no-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "a-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/iframe-tag/keep-origin-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/iframe-tag/keep-origin-redirect/insecure-protocol.http.html deleted file mode 100644 index 35dc6568..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/iframe-tag/keep-origin-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via iframe-tag using the attr-referrer - delivery method with keep-origin-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "keep-origin-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "iframe-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/iframe-tag/no-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/iframe-tag/no-redirect/insecure-protocol.http.html deleted file mode 100644 index cc38b182..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/iframe-tag/no-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via iframe-tag using the attr-referrer - delivery method with no-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "iframe-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/iframe-tag/swap-origin-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/iframe-tag/swap-origin-redirect/insecure-protocol.http.html deleted file mode 100644 index dc3f4cf..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/iframe-tag/swap-origin-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via iframe-tag using the attr-referrer - delivery method with swap-origin-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "swap-origin-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "iframe-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html deleted file mode 100644 index e5c1855..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via img-tag using the attr-referrer - delivery method with keep-origin-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "keep-origin-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "img-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html deleted file mode 100644 index 4724f67..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via img-tag using the attr-referrer - delivery method with no-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "img-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html deleted file mode 100644 index 74f9f0e8..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via img-tag using the attr-referrer - delivery method with swap-origin-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "swap-origin-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "img-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/script-tag/keep-origin-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/script-tag/keep-origin-redirect/insecure-protocol.http.html deleted file mode 100644 index 15a6abb..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/script-tag/keep-origin-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via script-tag using the attr-referrer - delivery method with keep-origin-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "keep-origin-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "script-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/script-tag/no-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/script-tag/no-redirect/insecure-protocol.http.html deleted file mode 100644 index d8f487a..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/script-tag/no-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via script-tag using the attr-referrer - delivery method with no-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "script-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/script-tag/swap-origin-redirect/insecure-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/script-tag/swap-origin-redirect/insecure-protocol.http.html deleted file mode 100644 index 14d4f5fb0..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/script-tag/swap-origin-redirect/insecure-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an http - sub-resource via script-tag using the attr-referrer - delivery method with swap-origin-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "swap-origin-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "http", - "subresource": "script-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/a-tag/no-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/a-tag/no-redirect/upgrade-protocol.http.html deleted file mode 100644 index 3e02f034..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/a-tag/no-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via a-tag using the attr-referrer - delivery method with no-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "a-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/iframe-tag/keep-origin-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/iframe-tag/keep-origin-redirect/upgrade-protocol.http.html deleted file mode 100644 index 3f20abb..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/iframe-tag/keep-origin-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via iframe-tag using the attr-referrer - delivery method with keep-origin-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "keep-origin-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "iframe-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/iframe-tag/no-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/iframe-tag/no-redirect/upgrade-protocol.http.html deleted file mode 100644 index e594604..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/iframe-tag/no-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via iframe-tag using the attr-referrer - delivery method with no-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "iframe-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/iframe-tag/swap-origin-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/iframe-tag/swap-origin-redirect/upgrade-protocol.http.html deleted file mode 100644 index 3e0dcd4..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/iframe-tag/swap-origin-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via iframe-tag using the attr-referrer - delivery method with swap-origin-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "swap-origin-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "iframe-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html deleted file mode 100644 index ef5a7e6..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via img-tag using the attr-referrer - delivery method with keep-origin-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "keep-origin-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "img-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html deleted file mode 100644 index a50da9c..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via img-tag using the attr-referrer - delivery method with no-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "img-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html deleted file mode 100644 index 4a01a41..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via img-tag using the attr-referrer - delivery method with swap-origin-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "swap-origin-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "img-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/script-tag/keep-origin-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/script-tag/keep-origin-redirect/upgrade-protocol.http.html deleted file mode 100644 index 0a66eea4..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/script-tag/keep-origin-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via script-tag using the attr-referrer - delivery method with keep-origin-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "keep-origin-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "script-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/script-tag/no-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/script-tag/no-redirect/upgrade-protocol.http.html deleted file mode 100644 index 5984794..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/script-tag/no-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via script-tag using the attr-referrer - delivery method with no-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "no-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "script-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/script-tag/swap-origin-redirect/upgrade-protocol.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/script-tag/swap-origin-redirect/upgrade-protocol.http.html deleted file mode 100644 index 0c02a2e..0000000 --- a/third_party/blink/web_tests/external/wpt/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/script-tag/swap-origin-redirect/upgrade-protocol.http.html +++ /dev/null
@@ -1,38 +0,0 @@ -<!DOCTYPE html> -<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. --> -<html> - <head> - <title>Referrer-Policy: Referrer Policy is not explicitly defined</title> - <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set."> - <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org"> - <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies"> - <meta name="assert" content="The referrer URL is stripped-referrer when a - document served over http requires an https - sub-resource via script-tag using the attr-referrer - delivery method with swap-origin-redirect and when - the target request is same-origin."> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/common/security-features/resources/common.js"></script> - <script src="/referrer-policy/generic/referrer-policy-test-case.sub.js"></script> - </head> - <body> - <script> - ReferrerPolicyTestCase( - { - "referrer_policy": null, - "delivery_method": "attr-referrer", - "redirection": "swap-origin-redirect", - "origin": "same-origin", - "source_protocol": "http", - "target_protocol": "https", - "subresource": "script-tag", - "referrer_url": "stripped-referrer" - }, - document.querySelector("meta[name=assert]").content, - new SanityChecker() - ).start(); - </script> - <div id="log"></div> - </body> -</html>
diff --git a/third_party/blink/web_tests/external/wpt/remote-playback/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/remote-playback/idlharness.window-expected.txt deleted file mode 100644 index e4b69030..0000000 --- a/third_party/blink/web_tests/external/wpt/remote-playback/idlharness.window-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface HTMLMediaElement: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/requestidlecallback/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/requestidlecallback/idlharness.window-expected.txt deleted file mode 100644 index f53fe32..0000000 --- a/third_party/blink/web_tests/external/wpt/requestidlecallback/idlharness.window-expected.txt +++ /dev/null
@@ -1,15 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Window: original interface defined assert_true: Original interface should be defined expected true got false -PASS IdleDeadline interface: existence and properties of interface object -PASS IdleDeadline interface object length -PASS IdleDeadline interface object name -PASS IdleDeadline interface: existence and properties of interface prototype object -PASS IdleDeadline interface: existence and properties of interface prototype object's "constructor" property -PASS IdleDeadline interface: existence and properties of interface prototype object's @@unscopables property -PASS IdleDeadline interface: operation timeRemaining() -PASS IdleDeadline interface: attribute didTimeout -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/resource-timing/idlharness.any-expected.txt b/third_party/blink/web_tests/external/wpt/resource-timing/idlharness.any-expected.txt deleted file mode 100644 index eda8abd6..0000000 --- a/third_party/blink/web_tests/external/wpt/resource-timing/idlharness.any-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface Performance: original interface defined -PASS PerformanceResourceTiming interface: existence and properties of interface object -PASS PerformanceResourceTiming interface object length -PASS PerformanceResourceTiming interface object name -PASS PerformanceResourceTiming interface: existence and properties of interface prototype object -PASS PerformanceResourceTiming interface: existence and properties of interface prototype object's "constructor" property -PASS PerformanceResourceTiming interface: existence and properties of interface prototype object's @@unscopables property -PASS PerformanceResourceTiming interface: attribute initiatorType -PASS PerformanceResourceTiming interface: attribute nextHopProtocol -PASS PerformanceResourceTiming interface: attribute workerStart -PASS PerformanceResourceTiming interface: attribute redirectStart -PASS PerformanceResourceTiming interface: attribute redirectEnd -PASS PerformanceResourceTiming interface: attribute fetchStart -PASS PerformanceResourceTiming interface: attribute domainLookupStart -PASS PerformanceResourceTiming interface: attribute domainLookupEnd -PASS PerformanceResourceTiming interface: attribute connectStart -PASS PerformanceResourceTiming interface: attribute connectEnd -PASS PerformanceResourceTiming interface: attribute secureConnectionStart -PASS PerformanceResourceTiming interface: attribute requestStart -PASS PerformanceResourceTiming interface: attribute responseStart -PASS PerformanceResourceTiming interface: attribute responseEnd -PASS PerformanceResourceTiming interface: attribute transferSize -PASS PerformanceResourceTiming interface: attribute encodedBodySize -PASS PerformanceResourceTiming interface: attribute decodedBodySize -PASS PerformanceResourceTiming interface: operation toJSON() -PASS Performance interface: operation clearResourceTimings() -PASS Performance interface: operation setResourceTimingBufferSize(unsigned long) -PASS Performance interface: attribute onresourcetimingbufferfull -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/resource-timing/idlharness.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/resource-timing/idlharness.any.worker-expected.txt deleted file mode 100644 index eda8abd6..0000000 --- a/third_party/blink/web_tests/external/wpt/resource-timing/idlharness.any.worker-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface Performance: original interface defined -PASS PerformanceResourceTiming interface: existence and properties of interface object -PASS PerformanceResourceTiming interface object length -PASS PerformanceResourceTiming interface object name -PASS PerformanceResourceTiming interface: existence and properties of interface prototype object -PASS PerformanceResourceTiming interface: existence and properties of interface prototype object's "constructor" property -PASS PerformanceResourceTiming interface: existence and properties of interface prototype object's @@unscopables property -PASS PerformanceResourceTiming interface: attribute initiatorType -PASS PerformanceResourceTiming interface: attribute nextHopProtocol -PASS PerformanceResourceTiming interface: attribute workerStart -PASS PerformanceResourceTiming interface: attribute redirectStart -PASS PerformanceResourceTiming interface: attribute redirectEnd -PASS PerformanceResourceTiming interface: attribute fetchStart -PASS PerformanceResourceTiming interface: attribute domainLookupStart -PASS PerformanceResourceTiming interface: attribute domainLookupEnd -PASS PerformanceResourceTiming interface: attribute connectStart -PASS PerformanceResourceTiming interface: attribute connectEnd -PASS PerformanceResourceTiming interface: attribute secureConnectionStart -PASS PerformanceResourceTiming interface: attribute requestStart -PASS PerformanceResourceTiming interface: attribute responseStart -PASS PerformanceResourceTiming interface: attribute responseEnd -PASS PerformanceResourceTiming interface: attribute transferSize -PASS PerformanceResourceTiming interface: attribute encodedBodySize -PASS PerformanceResourceTiming interface: attribute decodedBodySize -PASS PerformanceResourceTiming interface: operation toJSON() -PASS Performance interface: operation clearResourceTimings() -PASS Performance interface: operation setResourceTimingBufferSize(unsigned long) -PASS Performance interface: attribute onresourcetimingbufferfull -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/resources/chromium/webxr-test.js b/third_party/blink/web_tests/external/wpt/resources/chromium/webxr-test.js index b52ee3b..73dda09 100644 --- a/third_party/blink/web_tests/external/wpt/resources/chromium/webxr-test.js +++ b/third_party/blink/web_tests/external/wpt/resources/chromium/webxr-test.js
@@ -45,6 +45,15 @@ m14, m24, m34, 1]; } +function getGFXTransformFromPosition(x, y, z) { + let transform = new gfx.mojom.Transform(); + transform.matrix = getMatrixFromTransform({ + position: [x, y, z], + orientation: [0, 0, 0, 1] + }); + return transform; +} + class ChromeXRTest { constructor() { this.mockVRService_ = new MockVRService(mojo.frameInterfaces); @@ -369,7 +378,7 @@ leftDegrees: 50.899, rightDegrees: 35.197 }, - offset: { x: -0.032, y: 0, z: 0 }, + headFromEye: getGFXTransformFromPosition(-0.032, 0, 0), renderWidth: 20, renderHeight: 20 }, @@ -380,7 +389,7 @@ leftDegrees: 50.899, rightDegrees: 35.197 }, - offset: { x: 0.032, y: 0, z: 0 }, + headFromEye: getGFXTransformFromPosition(0.032, 0, 0), renderWidth: 20, renderHeight: 20 }, @@ -415,7 +424,7 @@ leftDegrees: toDegrees(leftTan), rightDegrees: toDegrees(rightTan) }, - offset: { x: offset[0], y: offset[1], z: offset[2] }, + headFromEye: getGFXTransformFromPosition(offset[0], offset[1], offset[2]), renderWidth: fakeXRViewInit.resolution.width, renderHeight: fakeXRViewInit.resolution.height };
diff --git a/third_party/blink/web_tests/external/wpt/resources/webidl2/lib/webidl2.js b/third_party/blink/web_tests/external/wpt/resources/webidl2/lib/webidl2.js index 98216ab7..c60a456 100644 --- a/third_party/blink/web_tests/external/wpt/resources/webidl2/lib/webidl2.js +++ b/third_party/blink/web_tests/external/wpt/resources/webidl2/lib/webidl2.js
@@ -122,9 +122,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parse", function() { return parse; }); /* harmony import */ var _tokeniser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); -/* harmony import */ var _productions_enum_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); +/* harmony import */ var _productions_enum_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15); /* harmony import */ var _productions_includes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16); -/* harmony import */ var _productions_extended_attributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11); +/* harmony import */ var _productions_extended_attributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10); /* harmony import */ var _productions_typedef_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17); /* harmony import */ var _productions_callback_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(18); /* harmony import */ var _productions_interface_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(19); @@ -243,6 +243,8 @@ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "argumentNameKeywords", function() { return argumentNameKeywords; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Tokeniser", function() { return Tokeniser; }); /* harmony import */ var _error_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3); +/* harmony import */ var _productions_helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); + // These regular expressions use the sticky flag so they will only match at @@ -270,6 +272,7 @@ "attribute", "callback", "const", + "constructor", "deleter", "dictionary", "enum", @@ -335,6 +338,13 @@ "}" ]; +const reserved = [ + // "constructor" is now a keyword + "_constructor", + "toString", + "_toString", +]; + /** * @param {string} str */ @@ -366,9 +376,15 @@ } if (result === -1) { result = attemptTokenMatch("identifier"); - const token = tokens[tokens.length - 1]; - if (result !== -1 && nonRegexTerminals.includes(token.value)) { - token.type = token.value; + const lastIndex = tokens.length - 1; + const token = tokens[lastIndex]; + if (result !== -1) { + if (reserved.includes(token.value)) { + const message = `${Object(_productions_helpers_js__WEBPACK_IMPORTED_MODULE_1__["unescape"])(token.value)} is a reserved identifier and must not be used.`; + throw new WebIDLParseError(Object(_error_js__WEBPACK_IMPORTED_MODULE_0__["syntaxError"])(tokens, lastIndex, null, message)); + } else if (nonRegexTerminals.includes(token.value)) { + token.type = token.value; + } } } } else if (nextChar === '"') { @@ -586,77 +602,6 @@ "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Enum", function() { return Enum; }); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5); -/* harmony import */ var _token_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(13); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7); - - - - -class EnumValue extends _token_js__WEBPACK_IMPORTED_MODULE_1__["Token"] { - /** - * @param {import("../tokeniser").Tokeniser} tokeniser - */ - static parse(tokeniser) { - const value = tokeniser.consume("string"); - if (value) { - return new EnumValue({ source: tokeniser.source, tokens: { value } }); - } - } - - get type() { - return "enum-value"; - } - get value() { - return super.value.slice(1, -1); - } -} - -class Enum extends _base_js__WEBPACK_IMPORTED_MODULE_2__["Base"] { - /** - * @param {import("../tokeniser").Tokeniser} tokeniser - */ - static parse(tokeniser) { - const tokens = {}; - tokens.base = tokeniser.consume("enum"); - if (!tokens.base) { - return; - } - tokens.name = tokeniser.consume("identifier") || tokeniser.error("No name for enum"); - const ret = tokeniser.current = new Enum({ source: tokeniser.source, tokens }); - tokens.open = tokeniser.consume("{") || tokeniser.error("Bodyless enum"); - ret.values = Object(_helpers_js__WEBPACK_IMPORTED_MODULE_0__["list"])(tokeniser, { - parser: EnumValue.parse, - allowDangler: true, - listName: "enumeration" - }); - if (tokeniser.probe("string")) { - tokeniser.error("No comma between enum values"); - } - tokens.close = tokeniser.consume("}") || tokeniser.error("Unexpected value in enum"); - if (!ret.values.length) { - tokeniser.error("No value in enum"); - } - tokens.termination = tokeniser.consume(";") || tokeniser.error("No semicolon after enum"); - return ret; - } - - get type() { - return "enum"; - } - get name() { - return Object(_helpers_js__WEBPACK_IMPORTED_MODULE_0__["unescape"])(this.tokens.name.value); - } -} - - -/***/ }), -/* 5 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "unescape", function() { return unescape; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "list", function() { return list; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "const_value", function() { return const_value; }); @@ -668,12 +613,12 @@ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "return_type", function() { return return_type; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "stringifier", function() { return stringifier; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "autofixAddExposedWindow", function() { return autofixAddExposedWindow; }); -/* harmony import */ var _type_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); -/* harmony import */ var _argument_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9); -/* harmony import */ var _token_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13); -/* harmony import */ var _extended_attributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11); -/* harmony import */ var _operation_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(14); -/* harmony import */ var _attribute_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(15); +/* harmony import */ var _type_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5); +/* harmony import */ var _argument_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8); +/* harmony import */ var _token_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12); +/* harmony import */ var _extended_attributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10); +/* harmony import */ var _operation_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13); +/* harmony import */ var _attribute_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(14); /* harmony import */ var _tokeniser_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2); @@ -869,17 +814,17 @@ /***/ }), -/* 6 */ +/* 5 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Type", function() { return Type; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); /* harmony import */ var _tokeniser_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2); /* harmony import */ var _error_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3); -/* harmony import */ var _validators_helpers_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8); +/* harmony import */ var _validators_helpers_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7); @@ -1057,7 +1002,7 @@ /***/ }), -/* 7 */ +/* 6 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1089,7 +1034,7 @@ /***/ }), -/* 8 */ +/* 7 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1139,19 +1084,19 @@ /***/ }), -/* 9 */ +/* 8 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Argument", function() { return Argument; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _default_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _extended_attributes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _default_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9); +/* harmony import */ var _extended_attributes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(10); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4); /* harmony import */ var _tokeniser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2); /* harmony import */ var _error_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3); -/* harmony import */ var _validators_helpers_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8); +/* harmony import */ var _validators_helpers_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7); @@ -1225,14 +1170,14 @@ /***/ }), -/* 10 */ +/* 9 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Default", function() { return Default; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); @@ -1275,16 +1220,16 @@ /***/ }), -/* 11 */ +/* 10 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SimpleExtendedAttribute", function() { return SimpleExtendedAttribute; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ExtendedAttributes", function() { return ExtendedAttributes; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _array_base_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _array_base_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); /* harmony import */ var _error_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3); @@ -1412,7 +1357,7 @@ /***/ }), -/* 12 */ +/* 11 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1430,13 +1375,13 @@ /***/ }), -/* 13 */ +/* 12 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Token", function() { return Token; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); class Token extends _base_js__WEBPACK_IMPORTED_MODULE_0__["Base"] { @@ -1460,14 +1405,16 @@ /***/ }), -/* 14 */ +/* 13 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Operation", function() { return Operation; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); +/* harmony import */ var _error_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3); + @@ -1515,6 +1462,10 @@ } *validate(defs) { + if (!this.name && ["", "static"].includes(this.special)) { + const message = `Regular or static operations must have both a return type and an identifier.`; + yield Object(_error_js__WEBPACK_IMPORTED_MODULE_2__["validationError"])(this.source, this.tokens.open, this, message); + } if (this.idlType) { yield* this.idlType.validate(defs); } @@ -1526,14 +1477,14 @@ /***/ }), -/* 15 */ +/* 14 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Attribute", function() { return Attribute; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); @@ -1593,14 +1544,85 @@ /***/ }), +/* 15 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Enum", function() { return Enum; }); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); +/* harmony import */ var _token_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6); + + + + +class EnumValue extends _token_js__WEBPACK_IMPORTED_MODULE_1__["Token"] { + /** + * @param {import("../tokeniser").Tokeniser} tokeniser + */ + static parse(tokeniser) { + const value = tokeniser.consume("string"); + if (value) { + return new EnumValue({ source: tokeniser.source, tokens: { value } }); + } + } + + get type() { + return "enum-value"; + } + get value() { + return super.value.slice(1, -1); + } +} + +class Enum extends _base_js__WEBPACK_IMPORTED_MODULE_2__["Base"] { + /** + * @param {import("../tokeniser").Tokeniser} tokeniser + */ + static parse(tokeniser) { + const tokens = {}; + tokens.base = tokeniser.consume("enum"); + if (!tokens.base) { + return; + } + tokens.name = tokeniser.consume("identifier") || tokeniser.error("No name for enum"); + const ret = tokeniser.current = new Enum({ source: tokeniser.source, tokens }); + tokens.open = tokeniser.consume("{") || tokeniser.error("Bodyless enum"); + ret.values = Object(_helpers_js__WEBPACK_IMPORTED_MODULE_0__["list"])(tokeniser, { + parser: EnumValue.parse, + allowDangler: true, + listName: "enumeration" + }); + if (tokeniser.probe("string")) { + tokeniser.error("No comma between enum values"); + } + tokens.close = tokeniser.consume("}") || tokeniser.error("Unexpected value in enum"); + if (!ret.values.length) { + tokeniser.error("No value in enum"); + } + tokens.termination = tokeniser.consume(";") || tokeniser.error("No semicolon after enum"); + return ret; + } + + get type() { + return "enum"; + } + get name() { + return Object(_helpers_js__WEBPACK_IMPORTED_MODULE_0__["unescape"])(this.tokens.name.value); + } +} + + +/***/ }), /* 16 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Includes", function() { return Includes; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); @@ -1643,8 +1665,8 @@ "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Typedef", function() { return Typedef; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); @@ -1686,8 +1708,8 @@ "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CallbackFunction", function() { return CallbackFunction; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); @@ -1730,11 +1752,11 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Interface", function() { return Interface; }); /* harmony import */ var _container_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20); -/* harmony import */ var _attribute_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15); -/* harmony import */ var _operation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14); +/* harmony import */ var _attribute_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _operation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13); /* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21); /* harmony import */ var _iterable_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(22); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4); /* harmony import */ var _error_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3); /* harmony import */ var _validators_interface_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(23); /* harmony import */ var _constructor_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(24); @@ -1817,9 +1839,9 @@ "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Container", function() { return Container; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _extended_attributes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _extended_attributes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); @@ -1903,9 +1925,9 @@ "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Constant", function() { return Constant; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _type_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _type_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); @@ -1957,8 +1979,8 @@ "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "IterableLike", function() { return IterableLike; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); @@ -2063,8 +2085,8 @@ "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Constructor", function() { return Constructor; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); @@ -2102,9 +2124,9 @@ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Mixin", function() { return Mixin; }); /* harmony import */ var _container_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20); /* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21); -/* harmony import */ var _attribute_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15); -/* harmony import */ var _operation_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5); +/* harmony import */ var _attribute_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14); +/* harmony import */ var _operation_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4); @@ -2182,10 +2204,10 @@ "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Field", function() { return Field; }); -/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); -/* harmony import */ var _extended_attributes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11); -/* harmony import */ var _default_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10); +/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); +/* harmony import */ var _extended_attributes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(10); +/* harmony import */ var _default_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9); @@ -2232,10 +2254,10 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Namespace", function() { return Namespace; }); /* harmony import */ var _container_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20); -/* harmony import */ var _attribute_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15); -/* harmony import */ var _operation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14); +/* harmony import */ var _attribute_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _operation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13); /* harmony import */ var _error_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3); -/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5); +/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4); @@ -2289,7 +2311,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CallbackInterface", function() { return CallbackInterface; }); /* harmony import */ var _container_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20); -/* harmony import */ var _operation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _operation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(13); /* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21); @@ -2342,6 +2364,7 @@ reference: noop, type: noop, generic: noop, + nameless: noop, inheritance: noop, definition: noop, extendedAttribute: noop, @@ -2466,7 +2489,7 @@ ] : []; return ts.definition(ts.wrap([ extended_attributes(it.extAttrs), - token(it.tokens.special), + it.tokens.name ? token(it.tokens.special) : token(it.tokens.special, ts.nameless, { data: it, parent }), ...body, token(it.tokens.termination) ]), { data: it, parent }); @@ -2487,7 +2510,7 @@ function constructor(it, parent) { return ts.definition(ts.wrap([ extended_attributes(it.extAttrs), - token(it.tokens.base), + token(it.tokens.base, ts.nameless, { data: it, parent }), token(it.tokens.open), ts.wrap(it.arguments.map(argument)), token(it.tokens.close),
diff --git a/third_party/blink/web_tests/external/wpt/screen-capture/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/screen-capture/idlharness.https.window-expected.txt deleted file mode 100644 index e75bd5f..0000000 --- a/third_party/blink/web_tests/external/wpt/screen-capture/idlharness.https.window-expected.txt +++ /dev/null
@@ -1,10 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface MediaDevices: original interface defined -PASS Partial dictionary MediaTrackSupportedConstraints: original dictionary defined -PASS Partial dictionary MediaTrackConstraintSet: original dictionary defined -PASS Partial dictionary MediaTrackSettings: original dictionary defined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/screen-orientation/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/screen-orientation/idlharness.window-expected.txt deleted file mode 100644 index 5d4d3494..0000000 --- a/third_party/blink/web_tests/external/wpt/screen-orientation/idlharness.window-expected.txt +++ /dev/null
@@ -1,19 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS Partial interface Screen: original interface defined -PASS ScreenOrientation interface: existence and properties of interface object -PASS ScreenOrientation interface object length -PASS ScreenOrientation interface object name -PASS ScreenOrientation interface: existence and properties of interface prototype object -PASS ScreenOrientation interface: existence and properties of interface prototype object's "constructor" property -PASS ScreenOrientation interface: existence and properties of interface prototype object's @@unscopables property -PASS ScreenOrientation interface: operation lock(OrientationLockType) -PASS ScreenOrientation interface: operation unlock() -PASS ScreenOrientation interface: attribute type -PASS ScreenOrientation interface: attribute angle -PASS ScreenOrientation interface: attribute onchange -PASS Screen interface: attribute orientation -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/secure-contexts/idlharness.any-expected.txt b/third_party/blink/web_tests/external/wpt/secure-contexts/idlharness.any-expected.txt deleted file mode 100644 index c717e8b..0000000 --- a/third_party/blink/web_tests/external/wpt/secure-contexts/idlharness.any-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/secure-contexts/idlharness.any.serviceworker-expected.txt b/third_party/blink/web_tests/external/wpt/secure-contexts/idlharness.any.serviceworker-expected.txt deleted file mode 100644 index c717e8b..0000000 --- a/third_party/blink/web_tests/external/wpt/secure-contexts/idlharness.any.serviceworker-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/secure-contexts/idlharness.any.sharedworker-expected.txt b/third_party/blink/web_tests/external/wpt/secure-contexts/idlharness.any.sharedworker-expected.txt deleted file mode 100644 index c717e8b..0000000 --- a/third_party/blink/web_tests/external/wpt/secure-contexts/idlharness.any.sharedworker-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/secure-contexts/idlharness.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/secure-contexts/idlharness.any.worker-expected.txt deleted file mode 100644 index c717e8b..0000000 --- a/third_party/blink/web_tests/external/wpt/secure-contexts/idlharness.any.worker-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/selection/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/selection/idlharness.window-expected.txt deleted file mode 100644 index 7a270e0..0000000 --- a/third_party/blink/web_tests/external/wpt/selection/idlharness.window-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Document: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface Window: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface mixin GlobalEventHandlers: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -PASS Selection interface: existence and properties of interface object -PASS Selection interface object length -PASS Selection interface object name -PASS Selection interface: existence and properties of interface prototype object -PASS Selection interface: existence and properties of interface prototype object's "constructor" property -PASS Selection interface: existence and properties of interface prototype object's @@unscopables property -PASS Selection interface: attribute anchorNode -PASS Selection interface: attribute anchorOffset -PASS Selection interface: attribute focusNode -PASS Selection interface: attribute focusOffset -PASS Selection interface: attribute isCollapsed -PASS Selection interface: attribute rangeCount -PASS Selection interface: attribute type -PASS Selection interface: operation getRangeAt(unsigned long) -PASS Selection interface: operation addRange(Range) -PASS Selection interface: operation removeRange(Range) -PASS Selection interface: operation removeAllRanges() -PASS Selection interface: operation empty() -PASS Selection interface: operation collapse(Node, unsigned long) -PASS Selection interface: operation setPosition(Node, unsigned long) -PASS Selection interface: operation collapseToStart() -PASS Selection interface: operation collapseToEnd() -PASS Selection interface: operation extend(Node, unsigned long) -PASS Selection interface: operation setBaseAndExtent(Node, unsigned long, Node, unsigned long) -PASS Selection interface: operation selectAllChildren(Node) -PASS Selection interface: operation deleteFromDocument() -PASS Selection interface: operation containsNode(Node, boolean) -PASS Selection interface: stringifier -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/activation.https.html b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/activation.https.html index 5755758e..007ecaad 100644 --- a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/activation.https.html +++ b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/activation.https.html
@@ -113,10 +113,12 @@ var scope = 'resources/skip-waiting'; var worker_url = 'resources/mint-new-worker.py?skip-waiting'; var registration; + var iframe; var new_worker; return setup_activation_test(t, scope, worker_url) .then(result => { registration = result.registration; + iframe = result.iframe; // Finish the request. The iframe does not need to be removed because // skipWaiting() was called. new_worker = registration.waiting; @@ -126,6 +128,8 @@ }) .then(() => { assert_equals(registration.active, new_worker); + // Remove the iframe. + iframe.remove(); }); }, 'skipWaiting bypasses no controllee requirement');
diff --git a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/detached-context.https.html b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/detached-context.https.html index 5ae4de8c..f96370d 100644 --- a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/detached-context.https.html +++ b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/detached-context.https.html
@@ -59,6 +59,7 @@ .then(() => { assert_equals(resolvedCount, 0, 'methods called on a detached registration should not resolve'); + frame.remove(); }) }, 'accessing a ServiceWorkerRegistration from a removed iframe'); @@ -102,6 +103,7 @@ assert_equals( get_navigator().serviceWorker, iframe.contentWindow.navigator.serviceWorker); + iframe.remove(); }); }, 'accessing navigator.serviceWorker on a detached iframe');
diff --git a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/interfaces-sw.https-expected.txt b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/interfaces-sw.https-expected.txt index 401cb4a8..ea3fd1a 100644 --- a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/interfaces-sw.https-expected.txt +++ b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/interfaces-sw.https-expected.txt
@@ -1,10 +1,187 @@ This is a testharness.js-based test. +Found 183 tests; 177 PASS, 6 FAIL, 0 TIMEOUT, 0 NOTRUN. PASS Interfaces and attributes in ServiceWorkerGlobalScope -FAIL test setup (cache creation) promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +PASS test setup (cache creation) FAIL Event constructors assert_equals: FetchEvent.isReload should not exist expected (undefined) undefined but got (boolean) false PASS xhr is not exposed PASS URL.createObjectURL is not exposed +PASS ServiceWorker interface: existence and properties of interface object +PASS ServiceWorker interface object length +PASS ServiceWorker interface object name +PASS ServiceWorker interface: existence and properties of interface prototype object +PASS ServiceWorker interface: existence and properties of interface prototype object's "constructor" property +PASS ServiceWorker interface: existence and properties of interface prototype object's @@unscopables property +PASS ServiceWorker interface: attribute scriptURL +PASS ServiceWorker interface: attribute state +PASS ServiceWorker interface: operation postMessage(any, [object Object]) +PASS ServiceWorker interface: operation postMessage(any, PostMessageOptions) +PASS ServiceWorker interface: attribute onstatechange +PASS ServiceWorkerRegistration interface: existence and properties of interface object +PASS ServiceWorkerRegistration interface object length +PASS ServiceWorkerRegistration interface object name +PASS ServiceWorkerRegistration interface: existence and properties of interface prototype object +PASS ServiceWorkerRegistration interface: existence and properties of interface prototype object's "constructor" property +PASS ServiceWorkerRegistration interface: existence and properties of interface prototype object's @@unscopables property +PASS ServiceWorkerRegistration interface: attribute installing +PASS ServiceWorkerRegistration interface: attribute waiting +PASS ServiceWorkerRegistration interface: attribute active +PASS ServiceWorkerRegistration interface: attribute navigationPreload +PASS ServiceWorkerRegistration interface: attribute scope +PASS ServiceWorkerRegistration interface: attribute updateViaCache +PASS ServiceWorkerRegistration interface: operation update() +PASS ServiceWorkerRegistration interface: operation unregister() +PASS ServiceWorkerRegistration interface: attribute onupdatefound +PASS ServiceWorkerRegistration must be primary interface of self.registration +PASS Stringification of self.registration +PASS ServiceWorkerRegistration interface: self.registration must inherit property "installing" with the proper type +PASS ServiceWorkerRegistration interface: self.registration must inherit property "waiting" with the proper type +PASS ServiceWorkerRegistration interface: self.registration must inherit property "active" with the proper type +PASS ServiceWorkerRegistration interface: self.registration must inherit property "navigationPreload" with the proper type +PASS ServiceWorkerRegistration interface: self.registration must inherit property "scope" with the proper type +PASS ServiceWorkerRegistration interface: self.registration must inherit property "updateViaCache" with the proper type +PASS ServiceWorkerRegistration interface: self.registration must inherit property "update()" with the proper type +PASS ServiceWorkerRegistration interface: self.registration must inherit property "unregister()" with the proper type +PASS ServiceWorkerRegistration interface: self.registration must inherit property "onupdatefound" with the proper type +PASS NavigationPreloadManager interface: existence and properties of interface object +PASS NavigationPreloadManager interface object length +PASS NavigationPreloadManager interface object name +PASS NavigationPreloadManager interface: existence and properties of interface prototype object +PASS NavigationPreloadManager interface: existence and properties of interface prototype object's "constructor" property +PASS NavigationPreloadManager interface: existence and properties of interface prototype object's @@unscopables property +PASS NavigationPreloadManager interface: operation enable() +PASS NavigationPreloadManager interface: operation disable() +PASS NavigationPreloadManager interface: operation setHeaderValue(ByteString) +PASS NavigationPreloadManager interface: operation getState() +PASS ServiceWorkerGlobalScope interface: existence and properties of interface object +PASS ServiceWorkerGlobalScope interface object length +PASS ServiceWorkerGlobalScope interface object name +PASS ServiceWorkerGlobalScope interface: existence and properties of interface prototype object +PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Object.setPrototypeOf should throw a TypeError +PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via __proto__ should throw a TypeError +PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Reflect.setPrototypeOf should return false +PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Object.setPrototypeOf should not throw +PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via __proto__ should not throw +PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Reflect.setPrototypeOf should return true +PASS ServiceWorkerGlobalScope interface: existence and properties of interface prototype object's "constructor" property +PASS ServiceWorkerGlobalScope interface: existence and properties of interface prototype object's @@unscopables property +PASS ServiceWorkerGlobalScope interface: attribute clients +PASS ServiceWorkerGlobalScope interface: attribute registration +FAIL ServiceWorkerGlobalScope interface: attribute serviceWorker assert_own_property: The global object must have a property "serviceWorker" expected property "serviceWorker" missing +PASS ServiceWorkerGlobalScope interface: operation skipWaiting() +PASS ServiceWorkerGlobalScope interface: attribute oninstall +PASS ServiceWorkerGlobalScope interface: attribute onactivate +PASS ServiceWorkerGlobalScope interface: attribute onfetch +PASS ServiceWorkerGlobalScope interface: attribute onmessage +FAIL ServiceWorkerGlobalScope interface: attribute onmessageerror assert_own_property: The global object must have a property "onmessageerror" expected property "onmessageerror" missing +PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Object.setPrototypeOf should throw a TypeError +PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via __proto__ should throw a TypeError +PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Reflect.setPrototypeOf should return false +PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Object.setPrototypeOf should not throw +PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via __proto__ should not throw +PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Reflect.setPrototypeOf should return true +PASS ServiceWorkerGlobalScope must be primary interface of self +PASS Stringification of self +PASS ServiceWorkerGlobalScope interface: self must inherit property "clients" with the proper type +PASS ServiceWorkerGlobalScope interface: self must inherit property "registration" with the proper type +FAIL ServiceWorkerGlobalScope interface: self must inherit property "serviceWorker" with the proper type assert_own_property: expected property "serviceWorker" missing +PASS ServiceWorkerGlobalScope interface: self must inherit property "skipWaiting()" with the proper type +PASS ServiceWorkerGlobalScope interface: self must inherit property "oninstall" with the proper type +PASS ServiceWorkerGlobalScope interface: self must inherit property "onactivate" with the proper type +PASS ServiceWorkerGlobalScope interface: self must inherit property "onfetch" with the proper type +PASS ServiceWorkerGlobalScope interface: self must inherit property "onmessage" with the proper type +FAIL ServiceWorkerGlobalScope interface: self must inherit property "onmessageerror" with the proper type assert_own_property: expected property "onmessageerror" missing +PASS Client interface: existence and properties of interface object +PASS Client interface object length +PASS Client interface object name +PASS Client interface: existence and properties of interface prototype object +PASS Client interface: existence and properties of interface prototype object's "constructor" property +PASS Client interface: existence and properties of interface prototype object's @@unscopables property +PASS Client interface: attribute url +PASS Client interface: attribute frameType +PASS Client interface: attribute id +PASS Client interface: attribute type +PASS Client interface: operation postMessage(any, [object Object]) +PASS Client interface: operation postMessage(any, PostMessageOptions) +PASS WindowClient interface: existence and properties of interface object +PASS WindowClient interface object length +PASS WindowClient interface object name +PASS WindowClient interface: existence and properties of interface prototype object +PASS WindowClient interface: existence and properties of interface prototype object's "constructor" property +PASS WindowClient interface: existence and properties of interface prototype object's @@unscopables property +PASS WindowClient interface: attribute visibilityState +PASS WindowClient interface: attribute focused +FAIL WindowClient interface: attribute ancestorOrigins assert_true: The prototype object must have a property "ancestorOrigins" expected true got false +PASS WindowClient interface: operation focus() +PASS WindowClient interface: operation navigate(USVString) +PASS Clients interface: existence and properties of interface object +PASS Clients interface object length +PASS Clients interface object name +PASS Clients interface: existence and properties of interface prototype object +PASS Clients interface: existence and properties of interface prototype object's "constructor" property +PASS Clients interface: existence and properties of interface prototype object's @@unscopables property +PASS Clients interface: operation get(DOMString) +PASS Clients interface: operation matchAll(ClientQueryOptions) +PASS Clients interface: operation openWindow(USVString) +PASS Clients interface: operation claim() +PASS Clients must be primary interface of self.clients +PASS Stringification of self.clients +PASS Clients interface: self.clients must inherit property "get(DOMString)" with the proper type +PASS Clients interface: calling get(DOMString) on self.clients with too few arguments must throw TypeError +PASS Clients interface: self.clients must inherit property "matchAll(ClientQueryOptions)" with the proper type +PASS Clients interface: calling matchAll(ClientQueryOptions) on self.clients with too few arguments must throw TypeError +PASS Clients interface: self.clients must inherit property "openWindow(USVString)" with the proper type +PASS Clients interface: calling openWindow(USVString) on self.clients with too few arguments must throw TypeError +PASS Clients interface: self.clients must inherit property "claim()" with the proper type +PASS Cache interface: existence and properties of interface object +PASS Cache interface object length +PASS Cache interface object name +PASS Cache interface: existence and properties of interface prototype object +PASS Cache interface: existence and properties of interface prototype object's "constructor" property +PASS Cache interface: existence and properties of interface prototype object's @@unscopables property +PASS Cache interface: operation match(RequestInfo, CacheQueryOptions) +PASS Cache interface: operation matchAll(RequestInfo, CacheQueryOptions) +PASS Cache interface: operation add(RequestInfo) +PASS Cache interface: operation addAll([object Object]) +PASS Cache interface: operation put(RequestInfo, Response) +PASS Cache interface: operation delete(RequestInfo, CacheQueryOptions) +PASS Cache interface: operation keys(RequestInfo, CacheQueryOptions) +PASS Cache must be primary interface of self.cacheInstance +PASS Stringification of self.cacheInstance +PASS Cache interface: self.cacheInstance must inherit property "match(RequestInfo, CacheQueryOptions)" with the proper type +PASS Cache interface: calling match(RequestInfo, CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError +PASS Cache interface: self.cacheInstance must inherit property "matchAll(RequestInfo, CacheQueryOptions)" with the proper type +PASS Cache interface: calling matchAll(RequestInfo, CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError +PASS Cache interface: self.cacheInstance must inherit property "add(RequestInfo)" with the proper type +PASS Cache interface: calling add(RequestInfo) on self.cacheInstance with too few arguments must throw TypeError +PASS Cache interface: self.cacheInstance must inherit property "addAll([object Object])" with the proper type +PASS Cache interface: calling addAll([object Object]) on self.cacheInstance with too few arguments must throw TypeError +PASS Cache interface: self.cacheInstance must inherit property "put(RequestInfo, Response)" with the proper type +PASS Cache interface: calling put(RequestInfo, Response) on self.cacheInstance with too few arguments must throw TypeError +PASS Cache interface: self.cacheInstance must inherit property "delete(RequestInfo, CacheQueryOptions)" with the proper type +PASS Cache interface: calling delete(RequestInfo, CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError +PASS Cache interface: self.cacheInstance must inherit property "keys(RequestInfo, CacheQueryOptions)" with the proper type +PASS Cache interface: calling keys(RequestInfo, CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError +PASS CacheStorage interface: existence and properties of interface object +PASS CacheStorage interface object length +PASS CacheStorage interface object name +PASS CacheStorage interface: existence and properties of interface prototype object +PASS CacheStorage interface: existence and properties of interface prototype object's "constructor" property +PASS CacheStorage interface: existence and properties of interface prototype object's @@unscopables property +PASS CacheStorage interface: operation match(RequestInfo, MultiCacheQueryOptions) +PASS CacheStorage interface: operation has(DOMString) +PASS CacheStorage interface: operation open(DOMString) +PASS CacheStorage interface: operation delete(DOMString) +PASS CacheStorage interface: operation keys() +PASS CacheStorage must be primary interface of self.caches +PASS Stringification of self.caches +PASS CacheStorage interface: self.caches must inherit property "match(RequestInfo, MultiCacheQueryOptions)" with the proper type +PASS CacheStorage interface: calling match(RequestInfo, MultiCacheQueryOptions) on self.caches with too few arguments must throw TypeError +PASS CacheStorage interface: self.caches must inherit property "has(DOMString)" with the proper type +PASS CacheStorage interface: calling has(DOMString) on self.caches with too few arguments must throw TypeError +PASS CacheStorage interface: self.caches must inherit property "open(DOMString)" with the proper type +PASS CacheStorage interface: calling open(DOMString) on self.caches with too few arguments must throw TypeError +PASS CacheStorage interface: self.caches must inherit property "delete(DOMString)" with the proper type +PASS CacheStorage interface: calling delete(DOMString) on self.caches with too few arguments must throw TypeError +PASS CacheStorage interface: self.caches must inherit property "keys()" with the proper type Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/interfaces-window.https-expected.txt b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/interfaces-window.https-expected.txt deleted file mode 100644 index 9d94267..0000000 --- a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/interfaces-window.https-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL test setup (worker registration) promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS navigator.serviceWorker is not available in a data: iframe -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/sms/idlharness.https.any-expected.txt b/third_party/blink/web_tests/external/wpt/sms/idlharness.https.any-expected.txt deleted file mode 100644 index df3b871..0000000 --- a/third_party/blink/web_tests/external/wpt/sms/idlharness.https.any-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL Test IDL implementation of the SMS Receiver API promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/sms/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/sms/idlharness.https.any.worker-expected.txt deleted file mode 100644 index df3b871..0000000 --- a/third_party/blink/web_tests/external/wpt/sms/idlharness.https.any.worker-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL Test IDL implementation of the SMS Receiver API promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/storage/idlharness.https.any-expected.txt b/third_party/blink/web_tests/external/wpt/storage/idlharness.https.any-expected.txt deleted file mode 100644 index adb6cc43..0000000 --- a/third_party/blink/web_tests/external/wpt/storage/idlharness.https.any-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/storage/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/storage/idlharness.https.any.worker-expected.txt deleted file mode 100644 index adb6cc43..0000000 --- a/third_party/blink/web_tests/external/wpt/storage/idlharness.https.any.worker-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/subresource-integrity/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/subresource-integrity/idlharness.window-expected.txt deleted file mode 100644 index 66572ce..0000000 --- a/third_party/blink/web_tests/external/wpt/subresource-integrity/idlharness.window-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface HTMLLinkElement: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface HTMLScriptElement: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/svg/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/svg/idlharness.window-expected.txt index 5b85a02..85b399ff 100644 --- a/third_party/blink/web_tests/external/wpt/svg/idlharness.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/svg/idlharness.window-expected.txt
@@ -1,7 +1,1576 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Document: original interface defined assert_true: Original interface should be defined expected true got false +Found 1572 tests; 1452 PASS, 120 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface Document: original interface defined +PASS SVGElement interface: existence and properties of interface object +PASS SVGElement interface object length +PASS SVGElement interface object name +PASS SVGElement interface: existence and properties of interface prototype object +PASS SVGElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGElement interface: attribute className +PASS SVGElement interface: attribute ownerSVGElement +PASS SVGElement interface: attribute viewportElement +FAIL SVGElement interface: attribute correspondingElement assert_true: The prototype object must have a property "correspondingElement" expected true got false +FAIL SVGElement interface: attribute correspondingUseElement assert_true: The prototype object must have a property "correspondingUseElement" expected true got false +PASS SVGGraphicsElement interface: existence and properties of interface object +PASS SVGGraphicsElement interface object length +PASS SVGGraphicsElement interface object name +PASS SVGGraphicsElement interface: existence and properties of interface prototype object +PASS SVGGraphicsElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGGraphicsElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGGraphicsElement interface: attribute transform +PASS SVGGraphicsElement interface: operation getBBox(SVGBoundingBoxOptions) +PASS SVGGraphicsElement interface: operation getCTM() +PASS SVGGraphicsElement interface: operation getScreenCTM() +PASS SVGGraphicsElement interface: attribute requiredExtensions +PASS SVGGraphicsElement interface: attribute systemLanguage +PASS SVGGeometryElement interface: existence and properties of interface object +PASS SVGGeometryElement interface object length +PASS SVGGeometryElement interface object name +PASS SVGGeometryElement interface: existence and properties of interface prototype object +PASS SVGGeometryElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGGeometryElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGGeometryElement interface: attribute pathLength +FAIL SVGGeometryElement interface: operation isPointInFill(DOMPointInit) assert_equals: property has wrong .length expected 0 but got 1 +FAIL SVGGeometryElement interface: operation isPointInStroke(DOMPointInit) assert_equals: property has wrong .length expected 0 but got 1 +PASS SVGGeometryElement interface: operation getTotalLength() +PASS SVGGeometryElement interface: operation getPointAtLength(float) +PASS SVGNumber interface: existence and properties of interface object +PASS SVGNumber interface object length +PASS SVGNumber interface object name +PASS SVGNumber interface: existence and properties of interface prototype object +PASS SVGNumber interface: existence and properties of interface prototype object's "constructor" property +PASS SVGNumber interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGNumber interface: attribute value +PASS SVGNumber must be primary interface of objects.svg.createSVGNumber() +PASS Stringification of objects.svg.createSVGNumber() +PASS SVGNumber interface: objects.svg.createSVGNumber() must inherit property "value" with the proper type +PASS SVGLength interface: existence and properties of interface object +PASS SVGLength interface object length +PASS SVGLength interface object name +PASS SVGLength interface: existence and properties of interface prototype object +PASS SVGLength interface: existence and properties of interface prototype object's "constructor" property +PASS SVGLength interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGLength interface: constant SVG_LENGTHTYPE_UNKNOWN on interface object +PASS SVGLength interface: constant SVG_LENGTHTYPE_UNKNOWN on interface prototype object +PASS SVGLength interface: constant SVG_LENGTHTYPE_NUMBER on interface object +PASS SVGLength interface: constant SVG_LENGTHTYPE_NUMBER on interface prototype object +PASS SVGLength interface: constant SVG_LENGTHTYPE_PERCENTAGE on interface object +PASS SVGLength interface: constant SVG_LENGTHTYPE_PERCENTAGE on interface prototype object +PASS SVGLength interface: constant SVG_LENGTHTYPE_EMS on interface object +PASS SVGLength interface: constant SVG_LENGTHTYPE_EMS on interface prototype object +PASS SVGLength interface: constant SVG_LENGTHTYPE_EXS on interface object +PASS SVGLength interface: constant SVG_LENGTHTYPE_EXS on interface prototype object +PASS SVGLength interface: constant SVG_LENGTHTYPE_PX on interface object +PASS SVGLength interface: constant SVG_LENGTHTYPE_PX on interface prototype object +PASS SVGLength interface: constant SVG_LENGTHTYPE_CM on interface object +PASS SVGLength interface: constant SVG_LENGTHTYPE_CM on interface prototype object +PASS SVGLength interface: constant SVG_LENGTHTYPE_MM on interface object +PASS SVGLength interface: constant SVG_LENGTHTYPE_MM on interface prototype object +PASS SVGLength interface: constant SVG_LENGTHTYPE_IN on interface object +PASS SVGLength interface: constant SVG_LENGTHTYPE_IN on interface prototype object +PASS SVGLength interface: constant SVG_LENGTHTYPE_PT on interface object +PASS SVGLength interface: constant SVG_LENGTHTYPE_PT on interface prototype object +PASS SVGLength interface: constant SVG_LENGTHTYPE_PC on interface object +PASS SVGLength interface: constant SVG_LENGTHTYPE_PC on interface prototype object +PASS SVGLength interface: attribute unitType +PASS SVGLength interface: attribute value +PASS SVGLength interface: attribute valueInSpecifiedUnits +PASS SVGLength interface: attribute valueAsString +PASS SVGLength interface: operation newValueSpecifiedUnits(unsigned short, float) +PASS SVGLength interface: operation convertToSpecifiedUnits(unsigned short) +PASS SVGLength must be primary interface of objects.svg.createSVGLength() +PASS Stringification of objects.svg.createSVGLength() +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_UNKNOWN" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_NUMBER" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_PERCENTAGE" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_EMS" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_EXS" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_PX" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_CM" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_MM" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_IN" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_PT" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_PC" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "unitType" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "value" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "valueInSpecifiedUnits" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "valueAsString" with the proper type +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "newValueSpecifiedUnits(unsigned short, float)" with the proper type +PASS SVGLength interface: calling newValueSpecifiedUnits(unsigned short, float) on objects.svg.createSVGLength() with too few arguments must throw TypeError +PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "convertToSpecifiedUnits(unsigned short)" with the proper type +PASS SVGLength interface: calling convertToSpecifiedUnits(unsigned short) on objects.svg.createSVGLength() with too few arguments must throw TypeError +PASS SVGAngle interface: existence and properties of interface object +PASS SVGAngle interface object length +PASS SVGAngle interface object name +PASS SVGAngle interface: existence and properties of interface prototype object +PASS SVGAngle interface: existence and properties of interface prototype object's "constructor" property +PASS SVGAngle interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGAngle interface: constant SVG_ANGLETYPE_UNKNOWN on interface object +PASS SVGAngle interface: constant SVG_ANGLETYPE_UNKNOWN on interface prototype object +PASS SVGAngle interface: constant SVG_ANGLETYPE_UNSPECIFIED on interface object +PASS SVGAngle interface: constant SVG_ANGLETYPE_UNSPECIFIED on interface prototype object +PASS SVGAngle interface: constant SVG_ANGLETYPE_DEG on interface object +PASS SVGAngle interface: constant SVG_ANGLETYPE_DEG on interface prototype object +PASS SVGAngle interface: constant SVG_ANGLETYPE_RAD on interface object +PASS SVGAngle interface: constant SVG_ANGLETYPE_RAD on interface prototype object +PASS SVGAngle interface: constant SVG_ANGLETYPE_GRAD on interface object +PASS SVGAngle interface: constant SVG_ANGLETYPE_GRAD on interface prototype object +PASS SVGAngle interface: attribute unitType +PASS SVGAngle interface: attribute value +PASS SVGAngle interface: attribute valueInSpecifiedUnits +PASS SVGAngle interface: attribute valueAsString +PASS SVGAngle interface: operation newValueSpecifiedUnits(unsigned short, float) +PASS SVGAngle interface: operation convertToSpecifiedUnits(unsigned short) +PASS SVGAngle must be primary interface of objects.svg.createSVGAngle() +PASS Stringification of objects.svg.createSVGAngle() +PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "SVG_ANGLETYPE_UNKNOWN" with the proper type +PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "SVG_ANGLETYPE_UNSPECIFIED" with the proper type +PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "SVG_ANGLETYPE_DEG" with the proper type +PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "SVG_ANGLETYPE_RAD" with the proper type +PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "SVG_ANGLETYPE_GRAD" with the proper type +PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "unitType" with the proper type +PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "value" with the proper type +PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "valueInSpecifiedUnits" with the proper type +PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "valueAsString" with the proper type +PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "newValueSpecifiedUnits(unsigned short, float)" with the proper type +PASS SVGAngle interface: calling newValueSpecifiedUnits(unsigned short, float) on objects.svg.createSVGAngle() with too few arguments must throw TypeError +PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "convertToSpecifiedUnits(unsigned short)" with the proper type +PASS SVGAngle interface: calling convertToSpecifiedUnits(unsigned short) on objects.svg.createSVGAngle() with too few arguments must throw TypeError +PASS SVGNumberList interface: existence and properties of interface object +PASS SVGNumberList interface object length +PASS SVGNumberList interface object name +PASS SVGNumberList interface: existence and properties of interface prototype object +PASS SVGNumberList interface: existence and properties of interface prototype object's "constructor" property +PASS SVGNumberList interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGNumberList interface: attribute length +PASS SVGNumberList interface: attribute numberOfItems +PASS SVGNumberList interface: operation clear() +PASS SVGNumberList interface: operation initialize(SVGNumber) +PASS SVGNumberList interface: operation getItem(unsigned long) +PASS SVGNumberList interface: operation insertItemBefore(SVGNumber, unsigned long) +PASS SVGNumberList interface: operation replaceItem(SVGNumber, unsigned long) +PASS SVGNumberList interface: operation removeItem(unsigned long) +PASS SVGNumberList interface: operation appendItem(SVGNumber) +PASS SVGNumberList must be primary interface of objects.text.rotate.baseVal +PASS Stringification of objects.text.rotate.baseVal +PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "length" with the proper type +PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "numberOfItems" with the proper type +PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "clear()" with the proper type +PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "initialize(SVGNumber)" with the proper type +PASS SVGNumberList interface: calling initialize(SVGNumber) on objects.text.rotate.baseVal with too few arguments must throw TypeError +PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "getItem(unsigned long)" with the proper type +PASS SVGNumberList interface: calling getItem(unsigned long) on objects.text.rotate.baseVal with too few arguments must throw TypeError +PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "insertItemBefore(SVGNumber, unsigned long)" with the proper type +PASS SVGNumberList interface: calling insertItemBefore(SVGNumber, unsigned long) on objects.text.rotate.baseVal with too few arguments must throw TypeError +PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "replaceItem(SVGNumber, unsigned long)" with the proper type +PASS SVGNumberList interface: calling replaceItem(SVGNumber, unsigned long) on objects.text.rotate.baseVal with too few arguments must throw TypeError +PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "removeItem(unsigned long)" with the proper type +PASS SVGNumberList interface: calling removeItem(unsigned long) on objects.text.rotate.baseVal with too few arguments must throw TypeError +PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "appendItem(SVGNumber)" with the proper type +PASS SVGNumberList interface: calling appendItem(SVGNumber) on objects.text.rotate.baseVal with too few arguments must throw TypeError +PASS SVGLengthList interface: existence and properties of interface object +PASS SVGLengthList interface object length +PASS SVGLengthList interface object name +PASS SVGLengthList interface: existence and properties of interface prototype object +PASS SVGLengthList interface: existence and properties of interface prototype object's "constructor" property +PASS SVGLengthList interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGLengthList interface: attribute length +PASS SVGLengthList interface: attribute numberOfItems +PASS SVGLengthList interface: operation clear() +PASS SVGLengthList interface: operation initialize(SVGLength) +PASS SVGLengthList interface: operation getItem(unsigned long) +PASS SVGLengthList interface: operation insertItemBefore(SVGLength, unsigned long) +PASS SVGLengthList interface: operation replaceItem(SVGLength, unsigned long) +PASS SVGLengthList interface: operation removeItem(unsigned long) +PASS SVGLengthList interface: operation appendItem(SVGLength) +PASS SVGStringList interface: existence and properties of interface object +PASS SVGStringList interface object length +PASS SVGStringList interface object name +PASS SVGStringList interface: existence and properties of interface prototype object +PASS SVGStringList interface: existence and properties of interface prototype object's "constructor" property +PASS SVGStringList interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGStringList interface: attribute length +PASS SVGStringList interface: attribute numberOfItems +PASS SVGStringList interface: operation clear() +PASS SVGStringList interface: operation initialize(DOMString) +PASS SVGStringList interface: operation getItem(unsigned long) +PASS SVGStringList interface: operation insertItemBefore(DOMString, unsigned long) +PASS SVGStringList interface: operation replaceItem(DOMString, unsigned long) +PASS SVGStringList interface: operation removeItem(unsigned long) +PASS SVGStringList interface: operation appendItem(DOMString) +PASS SVGStringList must be primary interface of objects.a.requiredExtensions +PASS Stringification of objects.a.requiredExtensions +PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "length" with the proper type +PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "numberOfItems" with the proper type +PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "clear()" with the proper type +PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "initialize(DOMString)" with the proper type +PASS SVGStringList interface: calling initialize(DOMString) on objects.a.requiredExtensions with too few arguments must throw TypeError +PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "getItem(unsigned long)" with the proper type +PASS SVGStringList interface: calling getItem(unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError +PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "insertItemBefore(DOMString, unsigned long)" with the proper type +PASS SVGStringList interface: calling insertItemBefore(DOMString, unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError +PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "replaceItem(DOMString, unsigned long)" with the proper type +PASS SVGStringList interface: calling replaceItem(DOMString, unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError +PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "removeItem(unsigned long)" with the proper type +PASS SVGStringList interface: calling removeItem(unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError +PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "appendItem(DOMString)" with the proper type +PASS SVGStringList interface: calling appendItem(DOMString) on objects.a.requiredExtensions with too few arguments must throw TypeError +PASS SVGAnimatedBoolean interface: existence and properties of interface object +PASS SVGAnimatedBoolean interface object length +PASS SVGAnimatedBoolean interface object name +PASS SVGAnimatedBoolean interface: existence and properties of interface prototype object +PASS SVGAnimatedBoolean interface: existence and properties of interface prototype object's "constructor" property +PASS SVGAnimatedBoolean interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGAnimatedBoolean interface: attribute baseVal +PASS SVGAnimatedBoolean interface: attribute animVal +PASS SVGAnimatedBoolean must be primary interface of objects.feConvolveMatrix.preserveAlpha +PASS Stringification of objects.feConvolveMatrix.preserveAlpha +PASS SVGAnimatedBoolean interface: objects.feConvolveMatrix.preserveAlpha must inherit property "baseVal" with the proper type +PASS SVGAnimatedBoolean interface: objects.feConvolveMatrix.preserveAlpha must inherit property "animVal" with the proper type +PASS SVGAnimatedEnumeration interface: existence and properties of interface object +PASS SVGAnimatedEnumeration interface object length +PASS SVGAnimatedEnumeration interface object name +PASS SVGAnimatedEnumeration interface: existence and properties of interface prototype object +PASS SVGAnimatedEnumeration interface: existence and properties of interface prototype object's "constructor" property +PASS SVGAnimatedEnumeration interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGAnimatedEnumeration interface: attribute baseVal +PASS SVGAnimatedEnumeration interface: attribute animVal +PASS SVGAnimatedEnumeration must be primary interface of objects.text.lengthAdjust +PASS Stringification of objects.text.lengthAdjust +PASS SVGAnimatedEnumeration interface: objects.text.lengthAdjust must inherit property "baseVal" with the proper type +PASS SVGAnimatedEnumeration interface: objects.text.lengthAdjust must inherit property "animVal" with the proper type +PASS SVGAnimatedInteger interface: existence and properties of interface object +PASS SVGAnimatedInteger interface object length +PASS SVGAnimatedInteger interface object name +PASS SVGAnimatedInteger interface: existence and properties of interface prototype object +PASS SVGAnimatedInteger interface: existence and properties of interface prototype object's "constructor" property +PASS SVGAnimatedInteger interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGAnimatedInteger interface: attribute baseVal +PASS SVGAnimatedInteger interface: attribute animVal +PASS SVGAnimatedInteger must be primary interface of objects.feConvolveMatrix.orderX +PASS Stringification of objects.feConvolveMatrix.orderX +PASS SVGAnimatedInteger interface: objects.feConvolveMatrix.orderX must inherit property "baseVal" with the proper type +PASS SVGAnimatedInteger interface: objects.feConvolveMatrix.orderX must inherit property "animVal" with the proper type +PASS SVGAnimatedNumber interface: existence and properties of interface object +PASS SVGAnimatedNumber interface object length +PASS SVGAnimatedNumber interface object name +PASS SVGAnimatedNumber interface: existence and properties of interface prototype object +PASS SVGAnimatedNumber interface: existence and properties of interface prototype object's "constructor" property +PASS SVGAnimatedNumber interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGAnimatedNumber interface: attribute baseVal +PASS SVGAnimatedNumber interface: attribute animVal +PASS SVGAnimatedNumber must be primary interface of objects.stop.offset +PASS Stringification of objects.stop.offset +PASS SVGAnimatedNumber interface: objects.stop.offset must inherit property "baseVal" with the proper type +PASS SVGAnimatedNumber interface: objects.stop.offset must inherit property "animVal" with the proper type +PASS SVGAnimatedLength interface: existence and properties of interface object +PASS SVGAnimatedLength interface object length +PASS SVGAnimatedLength interface object name +PASS SVGAnimatedLength interface: existence and properties of interface prototype object +PASS SVGAnimatedLength interface: existence and properties of interface prototype object's "constructor" property +PASS SVGAnimatedLength interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGAnimatedLength interface: attribute baseVal +PASS SVGAnimatedLength interface: attribute animVal +PASS SVGAnimatedLength must be primary interface of objects.svg.x +PASS Stringification of objects.svg.x +PASS SVGAnimatedLength interface: objects.svg.x must inherit property "baseVal" with the proper type +PASS SVGAnimatedLength interface: objects.svg.x must inherit property "animVal" with the proper type +PASS SVGAnimatedAngle interface: existence and properties of interface object +PASS SVGAnimatedAngle interface object length +PASS SVGAnimatedAngle interface object name +PASS SVGAnimatedAngle interface: existence and properties of interface prototype object +PASS SVGAnimatedAngle interface: existence and properties of interface prototype object's "constructor" property +PASS SVGAnimatedAngle interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGAnimatedAngle interface: attribute baseVal +PASS SVGAnimatedAngle interface: attribute animVal +PASS SVGAnimatedAngle must be primary interface of objects.marker.orientAngle +PASS Stringification of objects.marker.orientAngle +PASS SVGAnimatedAngle interface: objects.marker.orientAngle must inherit property "baseVal" with the proper type +PASS SVGAnimatedAngle interface: objects.marker.orientAngle must inherit property "animVal" with the proper type +PASS SVGAnimatedString interface: existence and properties of interface object +PASS SVGAnimatedString interface object length +PASS SVGAnimatedString interface object name +PASS SVGAnimatedString interface: existence and properties of interface prototype object +PASS SVGAnimatedString interface: existence and properties of interface prototype object's "constructor" property +PASS SVGAnimatedString interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGAnimatedString interface: attribute baseVal +PASS SVGAnimatedString interface: attribute animVal +PASS SVGAnimatedString must be primary interface of objects.a.target +PASS Stringification of objects.a.target +PASS SVGAnimatedString interface: objects.a.target must inherit property "baseVal" with the proper type +PASS SVGAnimatedString interface: objects.a.target must inherit property "animVal" with the proper type +PASS SVGAnimatedRect interface: existence and properties of interface object +PASS SVGAnimatedRect interface object length +PASS SVGAnimatedRect interface object name +PASS SVGAnimatedRect interface: existence and properties of interface prototype object +PASS SVGAnimatedRect interface: existence and properties of interface prototype object's "constructor" property +PASS SVGAnimatedRect interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGAnimatedRect interface: attribute baseVal +PASS SVGAnimatedRect interface: attribute animVal +PASS SVGAnimatedRect must be primary interface of objects.svg.viewBox +PASS Stringification of objects.svg.viewBox +FAIL SVGAnimatedRect interface: objects.svg.viewBox must inherit property "baseVal" with the proper type Unrecognized type DOMRect +FAIL SVGAnimatedRect interface: objects.svg.viewBox must inherit property "animVal" with the proper type Unrecognized type DOMRectReadOnly +PASS SVGAnimatedNumberList interface: existence and properties of interface object +PASS SVGAnimatedNumberList interface object length +PASS SVGAnimatedNumberList interface object name +PASS SVGAnimatedNumberList interface: existence and properties of interface prototype object +PASS SVGAnimatedNumberList interface: existence and properties of interface prototype object's "constructor" property +PASS SVGAnimatedNumberList interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGAnimatedNumberList interface: attribute baseVal +PASS SVGAnimatedNumberList interface: attribute animVal +PASS SVGAnimatedNumberList must be primary interface of objects.text.rotate +PASS Stringification of objects.text.rotate +PASS SVGAnimatedNumberList interface: objects.text.rotate must inherit property "baseVal" with the proper type +PASS SVGAnimatedNumberList interface: objects.text.rotate must inherit property "animVal" with the proper type +PASS SVGAnimatedLengthList interface: existence and properties of interface object +PASS SVGAnimatedLengthList interface object length +PASS SVGAnimatedLengthList interface object name +PASS SVGAnimatedLengthList interface: existence and properties of interface prototype object +PASS SVGAnimatedLengthList interface: existence and properties of interface prototype object's "constructor" property +PASS SVGAnimatedLengthList interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGAnimatedLengthList interface: attribute baseVal +PASS SVGAnimatedLengthList interface: attribute animVal +PASS SVGAnimatedLengthList must be primary interface of objects.text.x +PASS Stringification of objects.text.x +PASS SVGAnimatedLengthList interface: objects.text.x must inherit property "baseVal" with the proper type +PASS SVGAnimatedLengthList interface: objects.text.x must inherit property "animVal" with the proper type +PASS SVGUnitTypes interface: existence and properties of interface object +PASS SVGUnitTypes interface object length +PASS SVGUnitTypes interface object name +PASS SVGUnitTypes interface: existence and properties of interface prototype object +PASS SVGUnitTypes interface: existence and properties of interface prototype object's "constructor" property +PASS SVGUnitTypes interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGUnitTypes interface: constant SVG_UNIT_TYPE_UNKNOWN on interface object +PASS SVGUnitTypes interface: constant SVG_UNIT_TYPE_UNKNOWN on interface prototype object +PASS SVGUnitTypes interface: constant SVG_UNIT_TYPE_USERSPACEONUSE on interface object +PASS SVGUnitTypes interface: constant SVG_UNIT_TYPE_USERSPACEONUSE on interface prototype object +PASS SVGUnitTypes interface: constant SVG_UNIT_TYPE_OBJECTBOUNDINGBOX on interface object +PASS SVGUnitTypes interface: constant SVG_UNIT_TYPE_OBJECTBOUNDINGBOX on interface prototype object +PASS SVGSVGElement interface: existence and properties of interface object +PASS SVGSVGElement interface object length +PASS SVGSVGElement interface object name +PASS SVGSVGElement interface: existence and properties of interface prototype object +PASS SVGSVGElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGSVGElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGSVGElement interface: attribute x +PASS SVGSVGElement interface: attribute y +PASS SVGSVGElement interface: attribute width +PASS SVGSVGElement interface: attribute height +PASS SVGSVGElement interface: attribute currentScale +PASS SVGSVGElement interface: attribute currentTranslate +PASS SVGSVGElement interface: operation getIntersectionList(DOMRectReadOnly, SVGElement) +PASS SVGSVGElement interface: operation getEnclosureList(DOMRectReadOnly, SVGElement) +PASS SVGSVGElement interface: operation checkIntersection(SVGElement, DOMRectReadOnly) +PASS SVGSVGElement interface: operation checkEnclosure(SVGElement, DOMRectReadOnly) +PASS SVGSVGElement interface: operation deselectAll() +PASS SVGSVGElement interface: operation createSVGNumber() +PASS SVGSVGElement interface: operation createSVGLength() +PASS SVGSVGElement interface: operation createSVGAngle() +PASS SVGSVGElement interface: operation createSVGPoint() +PASS SVGSVGElement interface: operation createSVGMatrix() +PASS SVGSVGElement interface: operation createSVGRect() +PASS SVGSVGElement interface: operation createSVGTransform() +FAIL SVGSVGElement interface: operation createSVGTransformFromMatrix(DOMMatrix2DInit) assert_equals: property has wrong .length expected 0 but got 1 +PASS SVGSVGElement interface: operation getElementById(DOMString) +PASS SVGSVGElement interface: operation suspendRedraw(unsigned long) +PASS SVGSVGElement interface: operation unsuspendRedraw(unsigned long) +PASS SVGSVGElement interface: operation unsuspendRedrawAll() +PASS SVGSVGElement interface: operation forceRedraw() +PASS SVGSVGElement interface: attribute viewBox +PASS SVGSVGElement interface: attribute preserveAspectRatio +PASS SVGSVGElement must be primary interface of objects.svg +PASS Stringification of objects.svg +PASS SVGSVGElement interface: objects.svg must inherit property "x" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "y" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "width" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "height" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "currentScale" with the proper type +FAIL SVGSVGElement interface: objects.svg must inherit property "currentTranslate" with the proper type Unrecognized type DOMPointReadOnly +PASS SVGSVGElement interface: objects.svg must inherit property "getIntersectionList(DOMRectReadOnly, SVGElement)" with the proper type +PASS SVGSVGElement interface: calling getIntersectionList(DOMRectReadOnly, SVGElement) on objects.svg with too few arguments must throw TypeError +PASS SVGSVGElement interface: objects.svg must inherit property "getEnclosureList(DOMRectReadOnly, SVGElement)" with the proper type +PASS SVGSVGElement interface: calling getEnclosureList(DOMRectReadOnly, SVGElement) on objects.svg with too few arguments must throw TypeError +PASS SVGSVGElement interface: objects.svg must inherit property "checkIntersection(SVGElement, DOMRectReadOnly)" with the proper type +PASS SVGSVGElement interface: calling checkIntersection(SVGElement, DOMRectReadOnly) on objects.svg with too few arguments must throw TypeError +PASS SVGSVGElement interface: objects.svg must inherit property "checkEnclosure(SVGElement, DOMRectReadOnly)" with the proper type +PASS SVGSVGElement interface: calling checkEnclosure(SVGElement, DOMRectReadOnly) on objects.svg with too few arguments must throw TypeError +PASS SVGSVGElement interface: objects.svg must inherit property "deselectAll()" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "createSVGNumber()" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "createSVGLength()" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "createSVGAngle()" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "createSVGPoint()" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "createSVGMatrix()" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "createSVGRect()" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "createSVGTransform()" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "createSVGTransformFromMatrix(DOMMatrix2DInit)" with the proper type +PASS SVGSVGElement interface: calling createSVGTransformFromMatrix(DOMMatrix2DInit) on objects.svg with too few arguments must throw TypeError +PASS SVGSVGElement interface: objects.svg must inherit property "getElementById(DOMString)" with the proper type +PASS SVGSVGElement interface: calling getElementById(DOMString) on objects.svg with too few arguments must throw TypeError +PASS SVGSVGElement interface: objects.svg must inherit property "suspendRedraw(unsigned long)" with the proper type +PASS SVGSVGElement interface: calling suspendRedraw(unsigned long) on objects.svg with too few arguments must throw TypeError +PASS SVGSVGElement interface: objects.svg must inherit property "unsuspendRedraw(unsigned long)" with the proper type +PASS SVGSVGElement interface: calling unsuspendRedraw(unsigned long) on objects.svg with too few arguments must throw TypeError +PASS SVGSVGElement interface: objects.svg must inherit property "unsuspendRedrawAll()" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "forceRedraw()" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "viewBox" with the proper type +PASS SVGSVGElement interface: objects.svg must inherit property "preserveAspectRatio" with the proper type +PASS SVGGraphicsElement interface: objects.svg must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.svg must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.svg with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.svg must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.svg must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.svg must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.svg must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.svg must inherit property "className" with the proper type +PASS SVGElement interface: objects.svg must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.svg must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.svg must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.svg must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGGElement interface: existence and properties of interface object +PASS SVGGElement interface object length +PASS SVGGElement interface object name +PASS SVGGElement interface: existence and properties of interface prototype object +PASS SVGGElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGGElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGGElement must be primary interface of objects.g +PASS Stringification of objects.g +PASS SVGGraphicsElement interface: objects.g must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.g must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.g with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.g must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.g must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.g must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.g must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.g must inherit property "className" with the proper type +PASS SVGElement interface: objects.g must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.g must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.g must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.g must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGDefsElement interface: existence and properties of interface object +PASS SVGDefsElement interface object length +PASS SVGDefsElement interface object name +PASS SVGDefsElement interface: existence and properties of interface prototype object +PASS SVGDefsElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGDefsElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGDefsElement must be primary interface of objects.defs +PASS Stringification of objects.defs +PASS SVGGraphicsElement interface: objects.defs must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.defs must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.defs with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.defs must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.defs must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.defs must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.defs must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.defs must inherit property "className" with the proper type +PASS SVGElement interface: objects.defs must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.defs must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.defs must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.defs must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGDescElement interface: existence and properties of interface object +PASS SVGDescElement interface object length +PASS SVGDescElement interface object name +PASS SVGDescElement interface: existence and properties of interface prototype object +PASS SVGDescElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGDescElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGDescElement must be primary interface of objects.desc +PASS Stringification of objects.desc +PASS SVGElement interface: objects.desc must inherit property "className" with the proper type +PASS SVGElement interface: objects.desc must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.desc must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.desc must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.desc must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGMetadataElement interface: existence and properties of interface object +PASS SVGMetadataElement interface object length +PASS SVGMetadataElement interface object name +PASS SVGMetadataElement interface: existence and properties of interface prototype object +PASS SVGMetadataElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGMetadataElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGMetadataElement must be primary interface of objects.metadata +PASS Stringification of objects.metadata +PASS SVGElement interface: objects.metadata must inherit property "className" with the proper type +PASS SVGElement interface: objects.metadata must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.metadata must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.metadata must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.metadata must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGTitleElement interface: existence and properties of interface object +PASS SVGTitleElement interface object length +PASS SVGTitleElement interface object name +PASS SVGTitleElement interface: existence and properties of interface prototype object +PASS SVGTitleElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGTitleElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGTitleElement must be primary interface of objects.title +PASS Stringification of objects.title +PASS SVGElement interface: objects.title must inherit property "className" with the proper type +PASS SVGElement interface: objects.title must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.title must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.title must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.title must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +FAIL SVGSymbolElement interface: existence and properties of interface object assert_equals: prototype of SVGSymbolElement is not SVGGraphicsElement expected function "function SVGGraphicsElement() { [native code] }" but got function "function SVGElement() { [native code] }" +PASS SVGSymbolElement interface object length +PASS SVGSymbolElement interface object name +FAIL SVGSymbolElement interface: existence and properties of interface prototype object assert_equals: prototype of SVGSymbolElement.prototype is not SVGGraphicsElement.prototype expected object "[object SVGGraphicsElement]" but got object "[object SVGElement]" +PASS SVGSymbolElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGSymbolElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGSymbolElement interface: attribute viewBox +PASS SVGSymbolElement interface: attribute preserveAspectRatio +PASS SVGSymbolElement must be primary interface of objects.symbol +PASS Stringification of objects.symbol +PASS SVGSymbolElement interface: objects.symbol must inherit property "viewBox" with the proper type +PASS SVGSymbolElement interface: objects.symbol must inherit property "preserveAspectRatio" with the proper type +FAIL SVGGraphicsElement interface: objects.symbol must inherit property "transform" with the proper type assert_inherits: property "transform" not found in prototype chain +FAIL SVGGraphicsElement interface: objects.symbol must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type assert_inherits: property "getBBox" not found in prototype chain +FAIL SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.symbol with too few arguments must throw TypeError assert_inherits: property "getBBox" not found in prototype chain +FAIL SVGGraphicsElement interface: objects.symbol must inherit property "getCTM()" with the proper type assert_inherits: property "getCTM" not found in prototype chain +FAIL SVGGraphicsElement interface: objects.symbol must inherit property "getScreenCTM()" with the proper type assert_inherits: property "getScreenCTM" not found in prototype chain +FAIL SVGGraphicsElement interface: objects.symbol must inherit property "requiredExtensions" with the proper type assert_inherits: property "requiredExtensions" not found in prototype chain +FAIL SVGGraphicsElement interface: objects.symbol must inherit property "systemLanguage" with the proper type assert_inherits: property "systemLanguage" not found in prototype chain +PASS SVGElement interface: objects.symbol must inherit property "className" with the proper type +PASS SVGElement interface: objects.symbol must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.symbol must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.symbol must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.symbol must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGUseElement interface: existence and properties of interface object +PASS SVGUseElement interface object length +PASS SVGUseElement interface object name +PASS SVGUseElement interface: existence and properties of interface prototype object +PASS SVGUseElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGUseElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGUseElement interface: attribute x +PASS SVGUseElement interface: attribute y +PASS SVGUseElement interface: attribute width +PASS SVGUseElement interface: attribute height +FAIL SVGUseElement interface: attribute instanceRoot assert_true: The prototype object must have a property "instanceRoot" expected true got false +FAIL SVGUseElement interface: attribute animatedInstanceRoot assert_true: The prototype object must have a property "animatedInstanceRoot" expected true got false +PASS SVGUseElement interface: attribute href +PASS SVGUseElement must be primary interface of objects.use +PASS Stringification of objects.use +PASS SVGUseElement interface: objects.use must inherit property "x" with the proper type +PASS SVGUseElement interface: objects.use must inherit property "y" with the proper type +PASS SVGUseElement interface: objects.use must inherit property "width" with the proper type +PASS SVGUseElement interface: objects.use must inherit property "height" with the proper type +FAIL SVGUseElement interface: objects.use must inherit property "instanceRoot" with the proper type assert_inherits: property "instanceRoot" not found in prototype chain +FAIL SVGUseElement interface: objects.use must inherit property "animatedInstanceRoot" with the proper type assert_inherits: property "animatedInstanceRoot" not found in prototype chain +PASS SVGUseElement interface: objects.use must inherit property "href" with the proper type +PASS SVGGraphicsElement interface: objects.use must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.use must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.use with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.use must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.use must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.use must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.use must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.use must inherit property "className" with the proper type +PASS SVGElement interface: objects.use must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.use must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.use must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.use must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +FAIL SVGUseElementShadowRoot interface: existence and properties of interface object assert_own_property: self does not have own property "SVGUseElementShadowRoot" expected property "SVGUseElementShadowRoot" missing +FAIL SVGUseElementShadowRoot interface object length assert_own_property: self does not have own property "SVGUseElementShadowRoot" expected property "SVGUseElementShadowRoot" missing +FAIL SVGUseElementShadowRoot interface object name assert_own_property: self does not have own property "SVGUseElementShadowRoot" expected property "SVGUseElementShadowRoot" missing +FAIL SVGUseElementShadowRoot interface: existence and properties of interface prototype object assert_own_property: self does not have own property "SVGUseElementShadowRoot" expected property "SVGUseElementShadowRoot" missing +FAIL SVGUseElementShadowRoot interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "SVGUseElementShadowRoot" expected property "SVGUseElementShadowRoot" missing +FAIL SVGUseElementShadowRoot interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "SVGUseElementShadowRoot" expected property "SVGUseElementShadowRoot" missing +FAIL ShadowAnimation interface: existence and properties of interface object assert_own_property: self does not have own property "ShadowAnimation" expected property "ShadowAnimation" missing +FAIL ShadowAnimation interface object length assert_own_property: self does not have own property "ShadowAnimation" expected property "ShadowAnimation" missing +FAIL ShadowAnimation interface object name assert_own_property: self does not have own property "ShadowAnimation" expected property "ShadowAnimation" missing +FAIL ShadowAnimation interface: existence and properties of interface prototype object assert_own_property: self does not have own property "ShadowAnimation" expected property "ShadowAnimation" missing +FAIL ShadowAnimation interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "ShadowAnimation" expected property "ShadowAnimation" missing +FAIL ShadowAnimation interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "ShadowAnimation" expected property "ShadowAnimation" missing +FAIL ShadowAnimation interface: attribute sourceAnimation assert_own_property: self does not have own property "ShadowAnimation" expected property "ShadowAnimation" missing +PASS SVGSwitchElement interface: existence and properties of interface object +PASS SVGSwitchElement interface object length +PASS SVGSwitchElement interface object name +PASS SVGSwitchElement interface: existence and properties of interface prototype object +PASS SVGSwitchElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGSwitchElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGSwitchElement must be primary interface of objects.switch +PASS Stringification of objects.switch +PASS SVGGraphicsElement interface: objects.switch must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.switch must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.switch with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.switch must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.switch must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.switch must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.switch must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.switch must inherit property "className" with the proper type +PASS SVGElement interface: objects.switch must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.switch must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.switch must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.switch must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGStyleElement interface: existence and properties of interface object +PASS SVGStyleElement interface object length +PASS SVGStyleElement interface object name +PASS SVGStyleElement interface: existence and properties of interface prototype object +PASS SVGStyleElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGStyleElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGStyleElement interface: attribute type +PASS SVGStyleElement interface: attribute media +PASS SVGStyleElement interface: attribute title +PASS SVGStyleElement must be primary interface of objects.style +PASS Stringification of objects.style +PASS SVGStyleElement interface: objects.style must inherit property "type" with the proper type +PASS SVGStyleElement interface: objects.style must inherit property "media" with the proper type +PASS SVGStyleElement interface: objects.style must inherit property "title" with the proper type +PASS SVGElement interface: objects.style must inherit property "className" with the proper type +PASS SVGElement interface: objects.style must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.style must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.style must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.style must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGTransform interface: existence and properties of interface object +PASS SVGTransform interface object length +PASS SVGTransform interface object name +PASS SVGTransform interface: existence and properties of interface prototype object +PASS SVGTransform interface: existence and properties of interface prototype object's "constructor" property +PASS SVGTransform interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGTransform interface: constant SVG_TRANSFORM_UNKNOWN on interface object +PASS SVGTransform interface: constant SVG_TRANSFORM_UNKNOWN on interface prototype object +PASS SVGTransform interface: constant SVG_TRANSFORM_MATRIX on interface object +PASS SVGTransform interface: constant SVG_TRANSFORM_MATRIX on interface prototype object +PASS SVGTransform interface: constant SVG_TRANSFORM_TRANSLATE on interface object +PASS SVGTransform interface: constant SVG_TRANSFORM_TRANSLATE on interface prototype object +PASS SVGTransform interface: constant SVG_TRANSFORM_SCALE on interface object +PASS SVGTransform interface: constant SVG_TRANSFORM_SCALE on interface prototype object +PASS SVGTransform interface: constant SVG_TRANSFORM_ROTATE on interface object +PASS SVGTransform interface: constant SVG_TRANSFORM_ROTATE on interface prototype object +PASS SVGTransform interface: constant SVG_TRANSFORM_SKEWX on interface object +PASS SVGTransform interface: constant SVG_TRANSFORM_SKEWX on interface prototype object +PASS SVGTransform interface: constant SVG_TRANSFORM_SKEWY on interface object +PASS SVGTransform interface: constant SVG_TRANSFORM_SKEWY on interface prototype object +PASS SVGTransform interface: attribute type +PASS SVGTransform interface: attribute matrix +PASS SVGTransform interface: attribute angle +FAIL SVGTransform interface: operation setMatrix(DOMMatrix2DInit) assert_equals: property has wrong .length expected 0 but got 1 +PASS SVGTransform interface: operation setTranslate(float, float) +PASS SVGTransform interface: operation setScale(float, float) +PASS SVGTransform interface: operation setRotate(float, float, float) +PASS SVGTransform interface: operation setSkewX(float) +PASS SVGTransform interface: operation setSkewY(float) +PASS SVGTransform must be primary interface of objects.svg.createSVGTransform() +PASS Stringification of objects.svg.createSVGTransform() +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "SVG_TRANSFORM_UNKNOWN" with the proper type +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "SVG_TRANSFORM_MATRIX" with the proper type +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "SVG_TRANSFORM_TRANSLATE" with the proper type +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "SVG_TRANSFORM_SCALE" with the proper type +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "SVG_TRANSFORM_ROTATE" with the proper type +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "SVG_TRANSFORM_SKEWX" with the proper type +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "SVG_TRANSFORM_SKEWY" with the proper type +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "type" with the proper type +FAIL SVGTransform interface: objects.svg.createSVGTransform() must inherit property "matrix" with the proper type Unrecognized type DOMMatrix +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "angle" with the proper type +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "setMatrix(DOMMatrix2DInit)" with the proper type +PASS SVGTransform interface: calling setMatrix(DOMMatrix2DInit) on objects.svg.createSVGTransform() with too few arguments must throw TypeError +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "setTranslate(float, float)" with the proper type +PASS SVGTransform interface: calling setTranslate(float, float) on objects.svg.createSVGTransform() with too few arguments must throw TypeError +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "setScale(float, float)" with the proper type +PASS SVGTransform interface: calling setScale(float, float) on objects.svg.createSVGTransform() with too few arguments must throw TypeError +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "setRotate(float, float, float)" with the proper type +PASS SVGTransform interface: calling setRotate(float, float, float) on objects.svg.createSVGTransform() with too few arguments must throw TypeError +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "setSkewX(float)" with the proper type +PASS SVGTransform interface: calling setSkewX(float) on objects.svg.createSVGTransform() with too few arguments must throw TypeError +PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "setSkewY(float)" with the proper type +PASS SVGTransform interface: calling setSkewY(float) on objects.svg.createSVGTransform() with too few arguments must throw TypeError +PASS SVGTransformList interface: existence and properties of interface object +PASS SVGTransformList interface object length +PASS SVGTransformList interface object name +PASS SVGTransformList interface: existence and properties of interface prototype object +PASS SVGTransformList interface: existence and properties of interface prototype object's "constructor" property +PASS SVGTransformList interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGTransformList interface: attribute length +PASS SVGTransformList interface: attribute numberOfItems +PASS SVGTransformList interface: operation clear() +PASS SVGTransformList interface: operation initialize(SVGTransform) +PASS SVGTransformList interface: operation getItem(unsigned long) +PASS SVGTransformList interface: operation insertItemBefore(SVGTransform, unsigned long) +PASS SVGTransformList interface: operation replaceItem(SVGTransform, unsigned long) +PASS SVGTransformList interface: operation removeItem(unsigned long) +PASS SVGTransformList interface: operation appendItem(SVGTransform) +FAIL SVGTransformList interface: operation createSVGTransformFromMatrix(DOMMatrix2DInit) assert_equals: property has wrong .length expected 0 but got 1 +PASS SVGTransformList interface: operation consolidate() +PASS SVGTransformList must be primary interface of objects.pattern.patternTransform.baseVal +PASS Stringification of objects.pattern.patternTransform.baseVal +PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "length" with the proper type +PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "numberOfItems" with the proper type +PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "clear()" with the proper type +PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "initialize(SVGTransform)" with the proper type +PASS SVGTransformList interface: calling initialize(SVGTransform) on objects.pattern.patternTransform.baseVal with too few arguments must throw TypeError +PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "getItem(unsigned long)" with the proper type +PASS SVGTransformList interface: calling getItem(unsigned long) on objects.pattern.patternTransform.baseVal with too few arguments must throw TypeError +PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "insertItemBefore(SVGTransform, unsigned long)" with the proper type +PASS SVGTransformList interface: calling insertItemBefore(SVGTransform, unsigned long) on objects.pattern.patternTransform.baseVal with too few arguments must throw TypeError +PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "replaceItem(SVGTransform, unsigned long)" with the proper type +PASS SVGTransformList interface: calling replaceItem(SVGTransform, unsigned long) on objects.pattern.patternTransform.baseVal with too few arguments must throw TypeError +PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "removeItem(unsigned long)" with the proper type +PASS SVGTransformList interface: calling removeItem(unsigned long) on objects.pattern.patternTransform.baseVal with too few arguments must throw TypeError +PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "appendItem(SVGTransform)" with the proper type +PASS SVGTransformList interface: calling appendItem(SVGTransform) on objects.pattern.patternTransform.baseVal with too few arguments must throw TypeError +PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "createSVGTransformFromMatrix(DOMMatrix2DInit)" with the proper type +PASS SVGTransformList interface: calling createSVGTransformFromMatrix(DOMMatrix2DInit) on objects.pattern.patternTransform.baseVal with too few arguments must throw TypeError +PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "consolidate()" with the proper type +PASS SVGAnimatedTransformList interface: existence and properties of interface object +PASS SVGAnimatedTransformList interface object length +PASS SVGAnimatedTransformList interface object name +PASS SVGAnimatedTransformList interface: existence and properties of interface prototype object +PASS SVGAnimatedTransformList interface: existence and properties of interface prototype object's "constructor" property +PASS SVGAnimatedTransformList interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGAnimatedTransformList interface: attribute baseVal +PASS SVGAnimatedTransformList interface: attribute animVal +PASS SVGAnimatedTransformList must be primary interface of objects.pattern.patternTransform +PASS Stringification of objects.pattern.patternTransform +PASS SVGAnimatedTransformList interface: objects.pattern.patternTransform must inherit property "baseVal" with the proper type +PASS SVGAnimatedTransformList interface: objects.pattern.patternTransform must inherit property "animVal" with the proper type +PASS SVGPreserveAspectRatio interface: existence and properties of interface object +PASS SVGPreserveAspectRatio interface object length +PASS SVGPreserveAspectRatio interface object name +PASS SVGPreserveAspectRatio interface: existence and properties of interface prototype object +PASS SVGPreserveAspectRatio interface: existence and properties of interface prototype object's "constructor" property +PASS SVGPreserveAspectRatio interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_UNKNOWN on interface object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_UNKNOWN on interface prototype object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_NONE on interface object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_NONE on interface prototype object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMINYMIN on interface object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMINYMIN on interface prototype object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMIDYMIN on interface object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMIDYMIN on interface prototype object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMAXYMIN on interface object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMAXYMIN on interface prototype object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMINYMID on interface object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMINYMID on interface prototype object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMIDYMID on interface object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMIDYMID on interface prototype object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMAXYMID on interface object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMAXYMID on interface prototype object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMINYMAX on interface object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMINYMAX on interface prototype object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMIDYMAX on interface object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMIDYMAX on interface prototype object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMAXYMAX on interface object +PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMAXYMAX on interface prototype object +PASS SVGPreserveAspectRatio interface: constant SVG_MEETORSLICE_UNKNOWN on interface object +PASS SVGPreserveAspectRatio interface: constant SVG_MEETORSLICE_UNKNOWN on interface prototype object +PASS SVGPreserveAspectRatio interface: constant SVG_MEETORSLICE_MEET on interface object +PASS SVGPreserveAspectRatio interface: constant SVG_MEETORSLICE_MEET on interface prototype object +PASS SVGPreserveAspectRatio interface: constant SVG_MEETORSLICE_SLICE on interface object +PASS SVGPreserveAspectRatio interface: constant SVG_MEETORSLICE_SLICE on interface prototype object +PASS SVGPreserveAspectRatio interface: attribute align +PASS SVGPreserveAspectRatio interface: attribute meetOrSlice +PASS SVGPreserveAspectRatio must be primary interface of objects.image.preserveAspectRatio.baseVal +PASS Stringification of objects.image.preserveAspectRatio.baseVal +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_UNKNOWN" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_NONE" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMINYMIN" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMIDYMIN" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMAXYMIN" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMINYMID" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMIDYMID" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMAXYMID" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMINYMAX" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMIDYMAX" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMAXYMAX" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_MEETORSLICE_UNKNOWN" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_MEETORSLICE_MEET" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_MEETORSLICE_SLICE" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "align" with the proper type +PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "meetOrSlice" with the proper type +PASS SVGAnimatedPreserveAspectRatio interface: existence and properties of interface object +PASS SVGAnimatedPreserveAspectRatio interface object length +PASS SVGAnimatedPreserveAspectRatio interface object name +PASS SVGAnimatedPreserveAspectRatio interface: existence and properties of interface prototype object +PASS SVGAnimatedPreserveAspectRatio interface: existence and properties of interface prototype object's "constructor" property +PASS SVGAnimatedPreserveAspectRatio interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGAnimatedPreserveAspectRatio interface: attribute baseVal +PASS SVGAnimatedPreserveAspectRatio interface: attribute animVal +PASS SVGAnimatedPreserveAspectRatio must be primary interface of objects.image.preserveAspectRatio +PASS Stringification of objects.image.preserveAspectRatio +PASS SVGAnimatedPreserveAspectRatio interface: objects.image.preserveAspectRatio must inherit property "baseVal" with the proper type +PASS SVGAnimatedPreserveAspectRatio interface: objects.image.preserveAspectRatio must inherit property "animVal" with the proper type +PASS SVGPathElement interface: existence and properties of interface object +PASS SVGPathElement interface object length +PASS SVGPathElement interface object name +PASS SVGPathElement interface: existence and properties of interface prototype object +PASS SVGPathElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGPathElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGPathElement must be primary interface of objects.path +PASS Stringification of objects.path +PASS SVGGeometryElement interface: objects.path must inherit property "pathLength" with the proper type +PASS SVGGeometryElement interface: objects.path must inherit property "isPointInFill(DOMPointInit)" with the proper type +PASS SVGGeometryElement interface: calling isPointInFill(DOMPointInit) on objects.path with too few arguments must throw TypeError +PASS SVGGeometryElement interface: objects.path must inherit property "isPointInStroke(DOMPointInit)" with the proper type +PASS SVGGeometryElement interface: calling isPointInStroke(DOMPointInit) on objects.path with too few arguments must throw TypeError +PASS SVGGeometryElement interface: objects.path must inherit property "getTotalLength()" with the proper type +PASS SVGGeometryElement interface: objects.path must inherit property "getPointAtLength(float)" with the proper type +PASS SVGGeometryElement interface: calling getPointAtLength(float) on objects.path with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.path must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.path must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.path with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.path must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.path must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.path must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.path must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.path must inherit property "className" with the proper type +PASS SVGElement interface: objects.path must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.path must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.path must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.path must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGRectElement interface: existence and properties of interface object +PASS SVGRectElement interface object length +PASS SVGRectElement interface object name +PASS SVGRectElement interface: existence and properties of interface prototype object +PASS SVGRectElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGRectElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGRectElement interface: attribute x +PASS SVGRectElement interface: attribute y +PASS SVGRectElement interface: attribute width +PASS SVGRectElement interface: attribute height +PASS SVGRectElement interface: attribute rx +PASS SVGRectElement interface: attribute ry +PASS SVGRectElement must be primary interface of objects.rect +PASS Stringification of objects.rect +PASS SVGRectElement interface: objects.rect must inherit property "x" with the proper type +PASS SVGRectElement interface: objects.rect must inherit property "y" with the proper type +PASS SVGRectElement interface: objects.rect must inherit property "width" with the proper type +PASS SVGRectElement interface: objects.rect must inherit property "height" with the proper type +PASS SVGRectElement interface: objects.rect must inherit property "rx" with the proper type +PASS SVGRectElement interface: objects.rect must inherit property "ry" with the proper type +PASS SVGGeometryElement interface: objects.rect must inherit property "pathLength" with the proper type +PASS SVGGeometryElement interface: objects.rect must inherit property "isPointInFill(DOMPointInit)" with the proper type +PASS SVGGeometryElement interface: calling isPointInFill(DOMPointInit) on objects.rect with too few arguments must throw TypeError +PASS SVGGeometryElement interface: objects.rect must inherit property "isPointInStroke(DOMPointInit)" with the proper type +PASS SVGGeometryElement interface: calling isPointInStroke(DOMPointInit) on objects.rect with too few arguments must throw TypeError +PASS SVGGeometryElement interface: objects.rect must inherit property "getTotalLength()" with the proper type +PASS SVGGeometryElement interface: objects.rect must inherit property "getPointAtLength(float)" with the proper type +PASS SVGGeometryElement interface: calling getPointAtLength(float) on objects.rect with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.rect must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.rect must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.rect with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.rect must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.rect must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.rect must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.rect must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.rect must inherit property "className" with the proper type +PASS SVGElement interface: objects.rect must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.rect must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.rect must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.rect must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGCircleElement interface: existence and properties of interface object +PASS SVGCircleElement interface object length +PASS SVGCircleElement interface object name +PASS SVGCircleElement interface: existence and properties of interface prototype object +PASS SVGCircleElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGCircleElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGCircleElement interface: attribute cx +PASS SVGCircleElement interface: attribute cy +PASS SVGCircleElement interface: attribute r +PASS SVGCircleElement must be primary interface of objects.circle +PASS Stringification of objects.circle +PASS SVGCircleElement interface: objects.circle must inherit property "cx" with the proper type +PASS SVGCircleElement interface: objects.circle must inherit property "cy" with the proper type +PASS SVGCircleElement interface: objects.circle must inherit property "r" with the proper type +PASS SVGGeometryElement interface: objects.circle must inherit property "pathLength" with the proper type +PASS SVGGeometryElement interface: objects.circle must inherit property "isPointInFill(DOMPointInit)" with the proper type +PASS SVGGeometryElement interface: calling isPointInFill(DOMPointInit) on objects.circle with too few arguments must throw TypeError +PASS SVGGeometryElement interface: objects.circle must inherit property "isPointInStroke(DOMPointInit)" with the proper type +PASS SVGGeometryElement interface: calling isPointInStroke(DOMPointInit) on objects.circle with too few arguments must throw TypeError +PASS SVGGeometryElement interface: objects.circle must inherit property "getTotalLength()" with the proper type +PASS SVGGeometryElement interface: objects.circle must inherit property "getPointAtLength(float)" with the proper type +PASS SVGGeometryElement interface: calling getPointAtLength(float) on objects.circle with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.circle must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.circle must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.circle with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.circle must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.circle must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.circle must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.circle must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.circle must inherit property "className" with the proper type +PASS SVGElement interface: objects.circle must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.circle must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.circle must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.circle must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGEllipseElement interface: existence and properties of interface object +PASS SVGEllipseElement interface object length +PASS SVGEllipseElement interface object name +PASS SVGEllipseElement interface: existence and properties of interface prototype object +PASS SVGEllipseElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGEllipseElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGEllipseElement interface: attribute cx +PASS SVGEllipseElement interface: attribute cy +PASS SVGEllipseElement interface: attribute rx +PASS SVGEllipseElement interface: attribute ry +PASS SVGEllipseElement must be primary interface of objects.ellipse +PASS Stringification of objects.ellipse +PASS SVGEllipseElement interface: objects.ellipse must inherit property "cx" with the proper type +PASS SVGEllipseElement interface: objects.ellipse must inherit property "cy" with the proper type +PASS SVGEllipseElement interface: objects.ellipse must inherit property "rx" with the proper type +PASS SVGEllipseElement interface: objects.ellipse must inherit property "ry" with the proper type +PASS SVGGeometryElement interface: objects.ellipse must inherit property "pathLength" with the proper type +PASS SVGGeometryElement interface: objects.ellipse must inherit property "isPointInFill(DOMPointInit)" with the proper type +PASS SVGGeometryElement interface: calling isPointInFill(DOMPointInit) on objects.ellipse with too few arguments must throw TypeError +PASS SVGGeometryElement interface: objects.ellipse must inherit property "isPointInStroke(DOMPointInit)" with the proper type +PASS SVGGeometryElement interface: calling isPointInStroke(DOMPointInit) on objects.ellipse with too few arguments must throw TypeError +PASS SVGGeometryElement interface: objects.ellipse must inherit property "getTotalLength()" with the proper type +PASS SVGGeometryElement interface: objects.ellipse must inherit property "getPointAtLength(float)" with the proper type +PASS SVGGeometryElement interface: calling getPointAtLength(float) on objects.ellipse with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.ellipse must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.ellipse must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.ellipse with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.ellipse must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.ellipse must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.ellipse must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.ellipse must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.ellipse must inherit property "className" with the proper type +PASS SVGElement interface: objects.ellipse must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.ellipse must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.ellipse must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.ellipse must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGLineElement interface: existence and properties of interface object +PASS SVGLineElement interface object length +PASS SVGLineElement interface object name +PASS SVGLineElement interface: existence and properties of interface prototype object +PASS SVGLineElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGLineElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGLineElement interface: attribute x1 +PASS SVGLineElement interface: attribute y1 +PASS SVGLineElement interface: attribute x2 +PASS SVGLineElement interface: attribute y2 +PASS SVGLineElement must be primary interface of objects.line +PASS Stringification of objects.line +PASS SVGLineElement interface: objects.line must inherit property "x1" with the proper type +PASS SVGLineElement interface: objects.line must inherit property "y1" with the proper type +PASS SVGLineElement interface: objects.line must inherit property "x2" with the proper type +PASS SVGLineElement interface: objects.line must inherit property "y2" with the proper type +PASS SVGGeometryElement interface: objects.line must inherit property "pathLength" with the proper type +PASS SVGGeometryElement interface: objects.line must inherit property "isPointInFill(DOMPointInit)" with the proper type +PASS SVGGeometryElement interface: calling isPointInFill(DOMPointInit) on objects.line with too few arguments must throw TypeError +PASS SVGGeometryElement interface: objects.line must inherit property "isPointInStroke(DOMPointInit)" with the proper type +PASS SVGGeometryElement interface: calling isPointInStroke(DOMPointInit) on objects.line with too few arguments must throw TypeError +PASS SVGGeometryElement interface: objects.line must inherit property "getTotalLength()" with the proper type +PASS SVGGeometryElement interface: objects.line must inherit property "getPointAtLength(float)" with the proper type +PASS SVGGeometryElement interface: calling getPointAtLength(float) on objects.line with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.line must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.line must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.line with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.line must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.line must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.line must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.line must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.line must inherit property "className" with the proper type +PASS SVGElement interface: objects.line must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.line must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.line must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.line must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGPointList interface: existence and properties of interface object +PASS SVGPointList interface object length +PASS SVGPointList interface object name +PASS SVGPointList interface: existence and properties of interface prototype object +PASS SVGPointList interface: existence and properties of interface prototype object's "constructor" property +PASS SVGPointList interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGPointList interface: attribute length +PASS SVGPointList interface: attribute numberOfItems +PASS SVGPointList interface: operation clear() +PASS SVGPointList interface: operation initialize(DOMPoint) +PASS SVGPointList interface: operation getItem(unsigned long) +PASS SVGPointList interface: operation insertItemBefore(DOMPoint, unsigned long) +PASS SVGPointList interface: operation replaceItem(DOMPoint, unsigned long) +PASS SVGPointList interface: operation removeItem(unsigned long) +PASS SVGPointList interface: operation appendItem(DOMPoint) +PASS SVGPointList must be primary interface of objects.polygon.points +PASS Stringification of objects.polygon.points +PASS SVGPointList interface: objects.polygon.points must inherit property "length" with the proper type +PASS SVGPointList interface: objects.polygon.points must inherit property "numberOfItems" with the proper type +PASS SVGPointList interface: objects.polygon.points must inherit property "clear()" with the proper type +PASS SVGPointList interface: objects.polygon.points must inherit property "initialize(DOMPoint)" with the proper type +PASS SVGPointList interface: calling initialize(DOMPoint) on objects.polygon.points with too few arguments must throw TypeError +PASS SVGPointList interface: objects.polygon.points must inherit property "getItem(unsigned long)" with the proper type +PASS SVGPointList interface: calling getItem(unsigned long) on objects.polygon.points with too few arguments must throw TypeError +PASS SVGPointList interface: objects.polygon.points must inherit property "insertItemBefore(DOMPoint, unsigned long)" with the proper type +PASS SVGPointList interface: calling insertItemBefore(DOMPoint, unsigned long) on objects.polygon.points with too few arguments must throw TypeError +PASS SVGPointList interface: objects.polygon.points must inherit property "replaceItem(DOMPoint, unsigned long)" with the proper type +PASS SVGPointList interface: calling replaceItem(DOMPoint, unsigned long) on objects.polygon.points with too few arguments must throw TypeError +PASS SVGPointList interface: objects.polygon.points must inherit property "removeItem(unsigned long)" with the proper type +PASS SVGPointList interface: calling removeItem(unsigned long) on objects.polygon.points with too few arguments must throw TypeError +PASS SVGPointList interface: objects.polygon.points must inherit property "appendItem(DOMPoint)" with the proper type +PASS SVGPointList interface: calling appendItem(DOMPoint) on objects.polygon.points with too few arguments must throw TypeError +PASS SVGPolylineElement interface: existence and properties of interface object +PASS SVGPolylineElement interface object length +PASS SVGPolylineElement interface object name +PASS SVGPolylineElement interface: existence and properties of interface prototype object +PASS SVGPolylineElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGPolylineElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGPolylineElement interface: attribute points +PASS SVGPolylineElement interface: attribute animatedPoints +PASS SVGPolylineElement must be primary interface of objects.polyline +PASS Stringification of objects.polyline +PASS SVGPolylineElement interface: objects.polyline must inherit property "points" with the proper type +PASS SVGPolylineElement interface: objects.polyline must inherit property "animatedPoints" with the proper type +PASS SVGGeometryElement interface: objects.polyline must inherit property "pathLength" with the proper type +PASS SVGGeometryElement interface: objects.polyline must inherit property "isPointInFill(DOMPointInit)" with the proper type +PASS SVGGeometryElement interface: calling isPointInFill(DOMPointInit) on objects.polyline with too few arguments must throw TypeError +PASS SVGGeometryElement interface: objects.polyline must inherit property "isPointInStroke(DOMPointInit)" with the proper type +PASS SVGGeometryElement interface: calling isPointInStroke(DOMPointInit) on objects.polyline with too few arguments must throw TypeError +PASS SVGGeometryElement interface: objects.polyline must inherit property "getTotalLength()" with the proper type +PASS SVGGeometryElement interface: objects.polyline must inherit property "getPointAtLength(float)" with the proper type +PASS SVGGeometryElement interface: calling getPointAtLength(float) on objects.polyline with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.polyline must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.polyline must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.polyline with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.polyline must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.polyline must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.polyline must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.polyline must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.polyline must inherit property "className" with the proper type +PASS SVGElement interface: objects.polyline must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.polyline must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.polyline must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.polyline must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGPolygonElement interface: existence and properties of interface object +PASS SVGPolygonElement interface object length +PASS SVGPolygonElement interface object name +PASS SVGPolygonElement interface: existence and properties of interface prototype object +PASS SVGPolygonElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGPolygonElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGPolygonElement interface: attribute points +PASS SVGPolygonElement interface: attribute animatedPoints +PASS SVGPolygonElement must be primary interface of objects.polygon +PASS Stringification of objects.polygon +PASS SVGPolygonElement interface: objects.polygon must inherit property "points" with the proper type +PASS SVGPolygonElement interface: objects.polygon must inherit property "animatedPoints" with the proper type +PASS SVGGeometryElement interface: objects.polygon must inherit property "pathLength" with the proper type +PASS SVGGeometryElement interface: objects.polygon must inherit property "isPointInFill(DOMPointInit)" with the proper type +PASS SVGGeometryElement interface: calling isPointInFill(DOMPointInit) on objects.polygon with too few arguments must throw TypeError +PASS SVGGeometryElement interface: objects.polygon must inherit property "isPointInStroke(DOMPointInit)" with the proper type +PASS SVGGeometryElement interface: calling isPointInStroke(DOMPointInit) on objects.polygon with too few arguments must throw TypeError +PASS SVGGeometryElement interface: objects.polygon must inherit property "getTotalLength()" with the proper type +PASS SVGGeometryElement interface: objects.polygon must inherit property "getPointAtLength(float)" with the proper type +PASS SVGGeometryElement interface: calling getPointAtLength(float) on objects.polygon with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.polygon must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.polygon must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.polygon with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.polygon must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.polygon must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.polygon must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.polygon must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.polygon must inherit property "className" with the proper type +PASS SVGElement interface: objects.polygon must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.polygon must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.polygon must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.polygon must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGTextContentElement interface: existence and properties of interface object +PASS SVGTextContentElement interface object length +PASS SVGTextContentElement interface object name +PASS SVGTextContentElement interface: existence and properties of interface prototype object +PASS SVGTextContentElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGTextContentElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGTextContentElement interface: constant LENGTHADJUST_UNKNOWN on interface object +PASS SVGTextContentElement interface: constant LENGTHADJUST_UNKNOWN on interface prototype object +PASS SVGTextContentElement interface: constant LENGTHADJUST_SPACING on interface object +PASS SVGTextContentElement interface: constant LENGTHADJUST_SPACING on interface prototype object +PASS SVGTextContentElement interface: constant LENGTHADJUST_SPACINGANDGLYPHS on interface object +PASS SVGTextContentElement interface: constant LENGTHADJUST_SPACINGANDGLYPHS on interface prototype object +PASS SVGTextContentElement interface: attribute textLength +PASS SVGTextContentElement interface: attribute lengthAdjust +PASS SVGTextContentElement interface: operation getNumberOfChars() +PASS SVGTextContentElement interface: operation getComputedTextLength() +PASS SVGTextContentElement interface: operation getSubStringLength(unsigned long, unsigned long) +PASS SVGTextContentElement interface: operation getStartPositionOfChar(unsigned long) +PASS SVGTextContentElement interface: operation getEndPositionOfChar(unsigned long) +PASS SVGTextContentElement interface: operation getExtentOfChar(unsigned long) +PASS SVGTextContentElement interface: operation getRotationOfChar(unsigned long) +FAIL SVGTextContentElement interface: operation getCharNumAtPosition(DOMPointInit) assert_equals: property has wrong .length expected 0 but got 1 +PASS SVGTextContentElement interface: operation selectSubString(unsigned long, unsigned long) +PASS SVGTextPositioningElement interface: existence and properties of interface object +PASS SVGTextPositioningElement interface object length +PASS SVGTextPositioningElement interface object name +PASS SVGTextPositioningElement interface: existence and properties of interface prototype object +PASS SVGTextPositioningElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGTextPositioningElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGTextPositioningElement interface: attribute x +PASS SVGTextPositioningElement interface: attribute y +PASS SVGTextPositioningElement interface: attribute dx +PASS SVGTextPositioningElement interface: attribute dy +PASS SVGTextPositioningElement interface: attribute rotate +PASS SVGTextElement interface: existence and properties of interface object +PASS SVGTextElement interface object length +PASS SVGTextElement interface object name +PASS SVGTextElement interface: existence and properties of interface prototype object +PASS SVGTextElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGTextElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGTextElement must be primary interface of objects.text +PASS Stringification of objects.text +PASS SVGTextPositioningElement interface: objects.text must inherit property "x" with the proper type +PASS SVGTextPositioningElement interface: objects.text must inherit property "y" with the proper type +PASS SVGTextPositioningElement interface: objects.text must inherit property "dx" with the proper type +PASS SVGTextPositioningElement interface: objects.text must inherit property "dy" with the proper type +PASS SVGTextPositioningElement interface: objects.text must inherit property "rotate" with the proper type +PASS SVGTextContentElement interface: objects.text must inherit property "LENGTHADJUST_UNKNOWN" with the proper type +PASS SVGTextContentElement interface: objects.text must inherit property "LENGTHADJUST_SPACING" with the proper type +PASS SVGTextContentElement interface: objects.text must inherit property "LENGTHADJUST_SPACINGANDGLYPHS" with the proper type +PASS SVGTextContentElement interface: objects.text must inherit property "textLength" with the proper type +PASS SVGTextContentElement interface: objects.text must inherit property "lengthAdjust" with the proper type +PASS SVGTextContentElement interface: objects.text must inherit property "getNumberOfChars()" with the proper type +PASS SVGTextContentElement interface: objects.text must inherit property "getComputedTextLength()" with the proper type +PASS SVGTextContentElement interface: objects.text must inherit property "getSubStringLength(unsigned long, unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getSubStringLength(unsigned long, unsigned long) on objects.text with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.text must inherit property "getStartPositionOfChar(unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getStartPositionOfChar(unsigned long) on objects.text with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.text must inherit property "getEndPositionOfChar(unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getEndPositionOfChar(unsigned long) on objects.text with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.text must inherit property "getExtentOfChar(unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getExtentOfChar(unsigned long) on objects.text with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.text must inherit property "getRotationOfChar(unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getRotationOfChar(unsigned long) on objects.text with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.text must inherit property "getCharNumAtPosition(DOMPointInit)" with the proper type +PASS SVGTextContentElement interface: calling getCharNumAtPosition(DOMPointInit) on objects.text with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.text must inherit property "selectSubString(unsigned long, unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling selectSubString(unsigned long, unsigned long) on objects.text with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.text must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.text must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.text with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.text must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.text must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.text must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.text must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.text must inherit property "className" with the proper type +PASS SVGElement interface: objects.text must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.text must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.text must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.text must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGTSpanElement interface: existence and properties of interface object +PASS SVGTSpanElement interface object length +PASS SVGTSpanElement interface object name +PASS SVGTSpanElement interface: existence and properties of interface prototype object +PASS SVGTSpanElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGTSpanElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGTSpanElement must be primary interface of objects.tspan +PASS Stringification of objects.tspan +PASS SVGTextPositioningElement interface: objects.tspan must inherit property "x" with the proper type +PASS SVGTextPositioningElement interface: objects.tspan must inherit property "y" with the proper type +PASS SVGTextPositioningElement interface: objects.tspan must inherit property "dx" with the proper type +PASS SVGTextPositioningElement interface: objects.tspan must inherit property "dy" with the proper type +PASS SVGTextPositioningElement interface: objects.tspan must inherit property "rotate" with the proper type +PASS SVGTextContentElement interface: objects.tspan must inherit property "LENGTHADJUST_UNKNOWN" with the proper type +PASS SVGTextContentElement interface: objects.tspan must inherit property "LENGTHADJUST_SPACING" with the proper type +PASS SVGTextContentElement interface: objects.tspan must inherit property "LENGTHADJUST_SPACINGANDGLYPHS" with the proper type +PASS SVGTextContentElement interface: objects.tspan must inherit property "textLength" with the proper type +PASS SVGTextContentElement interface: objects.tspan must inherit property "lengthAdjust" with the proper type +PASS SVGTextContentElement interface: objects.tspan must inherit property "getNumberOfChars()" with the proper type +PASS SVGTextContentElement interface: objects.tspan must inherit property "getComputedTextLength()" with the proper type +PASS SVGTextContentElement interface: objects.tspan must inherit property "getSubStringLength(unsigned long, unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getSubStringLength(unsigned long, unsigned long) on objects.tspan with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.tspan must inherit property "getStartPositionOfChar(unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getStartPositionOfChar(unsigned long) on objects.tspan with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.tspan must inherit property "getEndPositionOfChar(unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getEndPositionOfChar(unsigned long) on objects.tspan with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.tspan must inherit property "getExtentOfChar(unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getExtentOfChar(unsigned long) on objects.tspan with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.tspan must inherit property "getRotationOfChar(unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getRotationOfChar(unsigned long) on objects.tspan with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.tspan must inherit property "getCharNumAtPosition(DOMPointInit)" with the proper type +PASS SVGTextContentElement interface: calling getCharNumAtPosition(DOMPointInit) on objects.tspan with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.tspan must inherit property "selectSubString(unsigned long, unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling selectSubString(unsigned long, unsigned long) on objects.tspan with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.tspan must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.tspan must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.tspan with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.tspan must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.tspan must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.tspan must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.tspan must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.tspan must inherit property "className" with the proper type +PASS SVGElement interface: objects.tspan must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.tspan must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.tspan must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.tspan must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGTextPathElement interface: existence and properties of interface object +PASS SVGTextPathElement interface object length +PASS SVGTextPathElement interface object name +PASS SVGTextPathElement interface: existence and properties of interface prototype object +PASS SVGTextPathElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGTextPathElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGTextPathElement interface: constant TEXTPATH_METHODTYPE_UNKNOWN on interface object +PASS SVGTextPathElement interface: constant TEXTPATH_METHODTYPE_UNKNOWN on interface prototype object +PASS SVGTextPathElement interface: constant TEXTPATH_METHODTYPE_ALIGN on interface object +PASS SVGTextPathElement interface: constant TEXTPATH_METHODTYPE_ALIGN on interface prototype object +PASS SVGTextPathElement interface: constant TEXTPATH_METHODTYPE_STRETCH on interface object +PASS SVGTextPathElement interface: constant TEXTPATH_METHODTYPE_STRETCH on interface prototype object +PASS SVGTextPathElement interface: constant TEXTPATH_SPACINGTYPE_UNKNOWN on interface object +PASS SVGTextPathElement interface: constant TEXTPATH_SPACINGTYPE_UNKNOWN on interface prototype object +PASS SVGTextPathElement interface: constant TEXTPATH_SPACINGTYPE_AUTO on interface object +PASS SVGTextPathElement interface: constant TEXTPATH_SPACINGTYPE_AUTO on interface prototype object +PASS SVGTextPathElement interface: constant TEXTPATH_SPACINGTYPE_EXACT on interface object +PASS SVGTextPathElement interface: constant TEXTPATH_SPACINGTYPE_EXACT on interface prototype object +PASS SVGTextPathElement interface: attribute startOffset +PASS SVGTextPathElement interface: attribute method +PASS SVGTextPathElement interface: attribute spacing +PASS SVGTextPathElement interface: attribute href +PASS SVGTextPathElement must be primary interface of objects.textPath +PASS Stringification of objects.textPath +PASS SVGTextPathElement interface: objects.textPath must inherit property "TEXTPATH_METHODTYPE_UNKNOWN" with the proper type +PASS SVGTextPathElement interface: objects.textPath must inherit property "TEXTPATH_METHODTYPE_ALIGN" with the proper type +PASS SVGTextPathElement interface: objects.textPath must inherit property "TEXTPATH_METHODTYPE_STRETCH" with the proper type +PASS SVGTextPathElement interface: objects.textPath must inherit property "TEXTPATH_SPACINGTYPE_UNKNOWN" with the proper type +PASS SVGTextPathElement interface: objects.textPath must inherit property "TEXTPATH_SPACINGTYPE_AUTO" with the proper type +PASS SVGTextPathElement interface: objects.textPath must inherit property "TEXTPATH_SPACINGTYPE_EXACT" with the proper type +PASS SVGTextPathElement interface: objects.textPath must inherit property "startOffset" with the proper type +PASS SVGTextPathElement interface: objects.textPath must inherit property "method" with the proper type +PASS SVGTextPathElement interface: objects.textPath must inherit property "spacing" with the proper type +PASS SVGTextPathElement interface: objects.textPath must inherit property "href" with the proper type +PASS SVGTextContentElement interface: objects.textPath must inherit property "LENGTHADJUST_UNKNOWN" with the proper type +PASS SVGTextContentElement interface: objects.textPath must inherit property "LENGTHADJUST_SPACING" with the proper type +PASS SVGTextContentElement interface: objects.textPath must inherit property "LENGTHADJUST_SPACINGANDGLYPHS" with the proper type +PASS SVGTextContentElement interface: objects.textPath must inherit property "textLength" with the proper type +PASS SVGTextContentElement interface: objects.textPath must inherit property "lengthAdjust" with the proper type +PASS SVGTextContentElement interface: objects.textPath must inherit property "getNumberOfChars()" with the proper type +PASS SVGTextContentElement interface: objects.textPath must inherit property "getComputedTextLength()" with the proper type +PASS SVGTextContentElement interface: objects.textPath must inherit property "getSubStringLength(unsigned long, unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getSubStringLength(unsigned long, unsigned long) on objects.textPath with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.textPath must inherit property "getStartPositionOfChar(unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getStartPositionOfChar(unsigned long) on objects.textPath with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.textPath must inherit property "getEndPositionOfChar(unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getEndPositionOfChar(unsigned long) on objects.textPath with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.textPath must inherit property "getExtentOfChar(unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getExtentOfChar(unsigned long) on objects.textPath with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.textPath must inherit property "getRotationOfChar(unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling getRotationOfChar(unsigned long) on objects.textPath with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.textPath must inherit property "getCharNumAtPosition(DOMPointInit)" with the proper type +PASS SVGTextContentElement interface: calling getCharNumAtPosition(DOMPointInit) on objects.textPath with too few arguments must throw TypeError +PASS SVGTextContentElement interface: objects.textPath must inherit property "selectSubString(unsigned long, unsigned long)" with the proper type +PASS SVGTextContentElement interface: calling selectSubString(unsigned long, unsigned long) on objects.textPath with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.textPath must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.textPath must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.textPath with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.textPath must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.textPath must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.textPath must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.textPath must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.textPath must inherit property "className" with the proper type +PASS SVGElement interface: objects.textPath must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.textPath must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.textPath must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.textPath must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGImageElement interface: existence and properties of interface object +PASS SVGImageElement interface object length +PASS SVGImageElement interface object name +PASS SVGImageElement interface: existence and properties of interface prototype object +PASS SVGImageElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGImageElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGImageElement interface: attribute x +PASS SVGImageElement interface: attribute y +PASS SVGImageElement interface: attribute width +PASS SVGImageElement interface: attribute height +PASS SVGImageElement interface: attribute preserveAspectRatio +FAIL SVGImageElement interface: attribute crossOrigin assert_true: The prototype object must have a property "crossOrigin" expected true got false +PASS SVGImageElement interface: attribute href +PASS SVGImageElement must be primary interface of objects.image +PASS Stringification of objects.image +PASS SVGImageElement interface: objects.image must inherit property "x" with the proper type +PASS SVGImageElement interface: objects.image must inherit property "y" with the proper type +PASS SVGImageElement interface: objects.image must inherit property "width" with the proper type +PASS SVGImageElement interface: objects.image must inherit property "height" with the proper type +PASS SVGImageElement interface: objects.image must inherit property "preserveAspectRatio" with the proper type +FAIL SVGImageElement interface: objects.image must inherit property "crossOrigin" with the proper type assert_inherits: property "crossOrigin" not found in prototype chain +PASS SVGImageElement interface: objects.image must inherit property "href" with the proper type +PASS SVGGraphicsElement interface: objects.image must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.image must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.image with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.image must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.image must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.image must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.image must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.image must inherit property "className" with the proper type +PASS SVGElement interface: objects.image must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.image must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.image must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.image must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGForeignObjectElement interface: existence and properties of interface object +PASS SVGForeignObjectElement interface object length +PASS SVGForeignObjectElement interface object name +PASS SVGForeignObjectElement interface: existence and properties of interface prototype object +PASS SVGForeignObjectElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGForeignObjectElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGForeignObjectElement interface: attribute x +PASS SVGForeignObjectElement interface: attribute y +PASS SVGForeignObjectElement interface: attribute width +PASS SVGForeignObjectElement interface: attribute height +PASS SVGForeignObjectElement must be primary interface of objects.foreignObject +PASS Stringification of objects.foreignObject +PASS SVGForeignObjectElement interface: objects.foreignObject must inherit property "x" with the proper type +PASS SVGForeignObjectElement interface: objects.foreignObject must inherit property "y" with the proper type +PASS SVGForeignObjectElement interface: objects.foreignObject must inherit property "width" with the proper type +PASS SVGForeignObjectElement interface: objects.foreignObject must inherit property "height" with the proper type +PASS SVGGraphicsElement interface: objects.foreignObject must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.foreignObject must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.foreignObject with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.foreignObject must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.foreignObject must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.foreignObject must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.foreignObject must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.foreignObject must inherit property "className" with the proper type +PASS SVGElement interface: objects.foreignObject must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.foreignObject must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.foreignObject must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.foreignObject must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGMarkerElement interface: existence and properties of interface object +PASS SVGMarkerElement interface object length +PASS SVGMarkerElement interface object name +PASS SVGMarkerElement interface: existence and properties of interface prototype object +PASS SVGMarkerElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGMarkerElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGMarkerElement interface: constant SVG_MARKERUNITS_UNKNOWN on interface object +PASS SVGMarkerElement interface: constant SVG_MARKERUNITS_UNKNOWN on interface prototype object +PASS SVGMarkerElement interface: constant SVG_MARKERUNITS_USERSPACEONUSE on interface object +PASS SVGMarkerElement interface: constant SVG_MARKERUNITS_USERSPACEONUSE on interface prototype object +PASS SVGMarkerElement interface: constant SVG_MARKERUNITS_STROKEWIDTH on interface object +PASS SVGMarkerElement interface: constant SVG_MARKERUNITS_STROKEWIDTH on interface prototype object +PASS SVGMarkerElement interface: constant SVG_MARKER_ORIENT_UNKNOWN on interface object +PASS SVGMarkerElement interface: constant SVG_MARKER_ORIENT_UNKNOWN on interface prototype object +PASS SVGMarkerElement interface: constant SVG_MARKER_ORIENT_AUTO on interface object +PASS SVGMarkerElement interface: constant SVG_MARKER_ORIENT_AUTO on interface prototype object +PASS SVGMarkerElement interface: constant SVG_MARKER_ORIENT_ANGLE on interface object +PASS SVGMarkerElement interface: constant SVG_MARKER_ORIENT_ANGLE on interface prototype object +PASS SVGMarkerElement interface: attribute refX +PASS SVGMarkerElement interface: attribute refY +PASS SVGMarkerElement interface: attribute markerUnits +PASS SVGMarkerElement interface: attribute markerWidth +PASS SVGMarkerElement interface: attribute markerHeight +PASS SVGMarkerElement interface: attribute orientType +PASS SVGMarkerElement interface: attribute orientAngle +FAIL SVGMarkerElement interface: attribute orient assert_true: The prototype object must have a property "orient" expected true got false +PASS SVGMarkerElement interface: operation setOrientToAuto() +PASS SVGMarkerElement interface: operation setOrientToAngle(SVGAngle) +PASS SVGMarkerElement interface: attribute viewBox +PASS SVGMarkerElement interface: attribute preserveAspectRatio +PASS SVGMarkerElement must be primary interface of objects.marker +PASS Stringification of objects.marker +PASS SVGMarkerElement interface: objects.marker must inherit property "SVG_MARKERUNITS_UNKNOWN" with the proper type +PASS SVGMarkerElement interface: objects.marker must inherit property "SVG_MARKERUNITS_USERSPACEONUSE" with the proper type +PASS SVGMarkerElement interface: objects.marker must inherit property "SVG_MARKERUNITS_STROKEWIDTH" with the proper type +PASS SVGMarkerElement interface: objects.marker must inherit property "SVG_MARKER_ORIENT_UNKNOWN" with the proper type +PASS SVGMarkerElement interface: objects.marker must inherit property "SVG_MARKER_ORIENT_AUTO" with the proper type +PASS SVGMarkerElement interface: objects.marker must inherit property "SVG_MARKER_ORIENT_ANGLE" with the proper type +PASS SVGMarkerElement interface: objects.marker must inherit property "refX" with the proper type +PASS SVGMarkerElement interface: objects.marker must inherit property "refY" with the proper type +PASS SVGMarkerElement interface: objects.marker must inherit property "markerUnits" with the proper type +PASS SVGMarkerElement interface: objects.marker must inherit property "markerWidth" with the proper type +PASS SVGMarkerElement interface: objects.marker must inherit property "markerHeight" with the proper type +PASS SVGMarkerElement interface: objects.marker must inherit property "orientType" with the proper type +PASS SVGMarkerElement interface: objects.marker must inherit property "orientAngle" with the proper type +FAIL SVGMarkerElement interface: objects.marker must inherit property "orient" with the proper type assert_inherits: property "orient" not found in prototype chain +PASS SVGMarkerElement interface: objects.marker must inherit property "setOrientToAuto()" with the proper type +PASS SVGMarkerElement interface: objects.marker must inherit property "setOrientToAngle(SVGAngle)" with the proper type +PASS SVGMarkerElement interface: calling setOrientToAngle(SVGAngle) on objects.marker with too few arguments must throw TypeError +PASS SVGMarkerElement interface: objects.marker must inherit property "viewBox" with the proper type +PASS SVGMarkerElement interface: objects.marker must inherit property "preserveAspectRatio" with the proper type +PASS SVGElement interface: objects.marker must inherit property "className" with the proper type +PASS SVGElement interface: objects.marker must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.marker must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.marker must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.marker must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGGradientElement interface: existence and properties of interface object +PASS SVGGradientElement interface object length +PASS SVGGradientElement interface object name +PASS SVGGradientElement interface: existence and properties of interface prototype object +PASS SVGGradientElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGGradientElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_UNKNOWN on interface object +PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_UNKNOWN on interface prototype object +PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_PAD on interface object +PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_PAD on interface prototype object +PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_REFLECT on interface object +PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_REFLECT on interface prototype object +PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_REPEAT on interface object +PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_REPEAT on interface prototype object +PASS SVGGradientElement interface: attribute gradientUnits +PASS SVGGradientElement interface: attribute gradientTransform +PASS SVGGradientElement interface: attribute spreadMethod +PASS SVGGradientElement interface: attribute href +PASS SVGLinearGradientElement interface: existence and properties of interface object +PASS SVGLinearGradientElement interface object length +PASS SVGLinearGradientElement interface object name +PASS SVGLinearGradientElement interface: existence and properties of interface prototype object +PASS SVGLinearGradientElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGLinearGradientElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGLinearGradientElement interface: attribute x1 +PASS SVGLinearGradientElement interface: attribute y1 +PASS SVGLinearGradientElement interface: attribute x2 +PASS SVGLinearGradientElement interface: attribute y2 +PASS SVGLinearGradientElement must be primary interface of objects.linearGradient +PASS Stringification of objects.linearGradient +PASS SVGLinearGradientElement interface: objects.linearGradient must inherit property "x1" with the proper type +PASS SVGLinearGradientElement interface: objects.linearGradient must inherit property "y1" with the proper type +PASS SVGLinearGradientElement interface: objects.linearGradient must inherit property "x2" with the proper type +PASS SVGLinearGradientElement interface: objects.linearGradient must inherit property "y2" with the proper type +PASS SVGGradientElement interface: objects.linearGradient must inherit property "SVG_SPREADMETHOD_UNKNOWN" with the proper type +PASS SVGGradientElement interface: objects.linearGradient must inherit property "SVG_SPREADMETHOD_PAD" with the proper type +PASS SVGGradientElement interface: objects.linearGradient must inherit property "SVG_SPREADMETHOD_REFLECT" with the proper type +PASS SVGGradientElement interface: objects.linearGradient must inherit property "SVG_SPREADMETHOD_REPEAT" with the proper type +PASS SVGGradientElement interface: objects.linearGradient must inherit property "gradientUnits" with the proper type +PASS SVGGradientElement interface: objects.linearGradient must inherit property "gradientTransform" with the proper type +PASS SVGGradientElement interface: objects.linearGradient must inherit property "spreadMethod" with the proper type +PASS SVGGradientElement interface: objects.linearGradient must inherit property "href" with the proper type +PASS SVGElement interface: objects.linearGradient must inherit property "className" with the proper type +PASS SVGElement interface: objects.linearGradient must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.linearGradient must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.linearGradient must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.linearGradient must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGRadialGradientElement interface: existence and properties of interface object +PASS SVGRadialGradientElement interface object length +PASS SVGRadialGradientElement interface object name +PASS SVGRadialGradientElement interface: existence and properties of interface prototype object +PASS SVGRadialGradientElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGRadialGradientElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGRadialGradientElement interface: attribute cx +PASS SVGRadialGradientElement interface: attribute cy +PASS SVGRadialGradientElement interface: attribute r +PASS SVGRadialGradientElement interface: attribute fx +PASS SVGRadialGradientElement interface: attribute fy +PASS SVGRadialGradientElement interface: attribute fr +PASS SVGRadialGradientElement must be primary interface of objects.radialGradient +PASS Stringification of objects.radialGradient +PASS SVGRadialGradientElement interface: objects.radialGradient must inherit property "cx" with the proper type +PASS SVGRadialGradientElement interface: objects.radialGradient must inherit property "cy" with the proper type +PASS SVGRadialGradientElement interface: objects.radialGradient must inherit property "r" with the proper type +PASS SVGRadialGradientElement interface: objects.radialGradient must inherit property "fx" with the proper type +PASS SVGRadialGradientElement interface: objects.radialGradient must inherit property "fy" with the proper type +PASS SVGRadialGradientElement interface: objects.radialGradient must inherit property "fr" with the proper type +PASS SVGGradientElement interface: objects.radialGradient must inherit property "SVG_SPREADMETHOD_UNKNOWN" with the proper type +PASS SVGGradientElement interface: objects.radialGradient must inherit property "SVG_SPREADMETHOD_PAD" with the proper type +PASS SVGGradientElement interface: objects.radialGradient must inherit property "SVG_SPREADMETHOD_REFLECT" with the proper type +PASS SVGGradientElement interface: objects.radialGradient must inherit property "SVG_SPREADMETHOD_REPEAT" with the proper type +PASS SVGGradientElement interface: objects.radialGradient must inherit property "gradientUnits" with the proper type +PASS SVGGradientElement interface: objects.radialGradient must inherit property "gradientTransform" with the proper type +PASS SVGGradientElement interface: objects.radialGradient must inherit property "spreadMethod" with the proper type +PASS SVGGradientElement interface: objects.radialGradient must inherit property "href" with the proper type +PASS SVGElement interface: objects.radialGradient must inherit property "className" with the proper type +PASS SVGElement interface: objects.radialGradient must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.radialGradient must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.radialGradient must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.radialGradient must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGStopElement interface: existence and properties of interface object +PASS SVGStopElement interface object length +PASS SVGStopElement interface object name +PASS SVGStopElement interface: existence and properties of interface prototype object +PASS SVGStopElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGStopElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGStopElement interface: attribute offset +PASS SVGStopElement must be primary interface of objects.stop +PASS Stringification of objects.stop +PASS SVGStopElement interface: objects.stop must inherit property "offset" with the proper type +PASS SVGElement interface: objects.stop must inherit property "className" with the proper type +PASS SVGElement interface: objects.stop must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.stop must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.stop must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.stop must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGPatternElement interface: existence and properties of interface object +PASS SVGPatternElement interface object length +PASS SVGPatternElement interface object name +PASS SVGPatternElement interface: existence and properties of interface prototype object +PASS SVGPatternElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGPatternElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGPatternElement interface: attribute patternUnits +PASS SVGPatternElement interface: attribute patternContentUnits +PASS SVGPatternElement interface: attribute patternTransform +PASS SVGPatternElement interface: attribute x +PASS SVGPatternElement interface: attribute y +PASS SVGPatternElement interface: attribute width +PASS SVGPatternElement interface: attribute height +PASS SVGPatternElement interface: attribute viewBox +PASS SVGPatternElement interface: attribute preserveAspectRatio +PASS SVGPatternElement interface: attribute href +PASS SVGPatternElement must be primary interface of objects.pattern +PASS Stringification of objects.pattern +PASS SVGPatternElement interface: objects.pattern must inherit property "patternUnits" with the proper type +PASS SVGPatternElement interface: objects.pattern must inherit property "patternContentUnits" with the proper type +PASS SVGPatternElement interface: objects.pattern must inherit property "patternTransform" with the proper type +PASS SVGPatternElement interface: objects.pattern must inherit property "x" with the proper type +PASS SVGPatternElement interface: objects.pattern must inherit property "y" with the proper type +PASS SVGPatternElement interface: objects.pattern must inherit property "width" with the proper type +PASS SVGPatternElement interface: objects.pattern must inherit property "height" with the proper type +PASS SVGPatternElement interface: objects.pattern must inherit property "viewBox" with the proper type +PASS SVGPatternElement interface: objects.pattern must inherit property "preserveAspectRatio" with the proper type +PASS SVGPatternElement interface: objects.pattern must inherit property "href" with the proper type +PASS SVGElement interface: objects.pattern must inherit property "className" with the proper type +PASS SVGElement interface: objects.pattern must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.pattern must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.pattern must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.pattern must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGScriptElement interface: existence and properties of interface object +PASS SVGScriptElement interface object length +PASS SVGScriptElement interface object name +PASS SVGScriptElement interface: existence and properties of interface prototype object +PASS SVGScriptElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGScriptElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGScriptElement interface: attribute type +FAIL SVGScriptElement interface: attribute crossOrigin assert_true: The prototype object must have a property "crossOrigin" expected true got false +PASS SVGScriptElement interface: attribute href +PASS SVGScriptElement must be primary interface of objects.script +PASS Stringification of objects.script +PASS SVGScriptElement interface: objects.script must inherit property "type" with the proper type +FAIL SVGScriptElement interface: objects.script must inherit property "crossOrigin" with the proper type assert_inherits: property "crossOrigin" not found in prototype chain +PASS SVGScriptElement interface: objects.script must inherit property "href" with the proper type +PASS SVGElement interface: objects.script must inherit property "className" with the proper type +PASS SVGElement interface: objects.script must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.script must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.script must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.script must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGAElement interface: existence and properties of interface object +PASS SVGAElement interface object length +PASS SVGAElement interface object name +PASS SVGAElement interface: existence and properties of interface prototype object +PASS SVGAElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGAElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGAElement interface: attribute target +FAIL SVGAElement interface: attribute download assert_true: The prototype object must have a property "download" expected true got false +FAIL SVGAElement interface: attribute ping assert_true: The prototype object must have a property "ping" expected true got false +FAIL SVGAElement interface: attribute rel assert_true: The prototype object must have a property "rel" expected true got false +FAIL SVGAElement interface: attribute relList assert_true: The prototype object must have a property "relList" expected true got false +FAIL SVGAElement interface: attribute hreflang assert_true: The prototype object must have a property "hreflang" expected true got false +FAIL SVGAElement interface: attribute type assert_true: The prototype object must have a property "type" expected true got false +FAIL SVGAElement interface: attribute text assert_true: The prototype object must have a property "text" expected true got false +FAIL SVGAElement interface: attribute referrerPolicy assert_true: The prototype object must have a property "referrerPolicy" expected true got false +PASS SVGAElement interface: attribute href +PASS SVGAElement must be primary interface of objects.a +PASS Stringification of objects.a +PASS SVGAElement interface: objects.a must inherit property "target" with the proper type +FAIL SVGAElement interface: objects.a must inherit property "download" with the proper type assert_inherits: property "download" not found in prototype chain +FAIL SVGAElement interface: objects.a must inherit property "ping" with the proper type assert_inherits: property "ping" not found in prototype chain +FAIL SVGAElement interface: objects.a must inherit property "rel" with the proper type assert_inherits: property "rel" not found in prototype chain +FAIL SVGAElement interface: objects.a must inherit property "relList" with the proper type assert_inherits: property "relList" not found in prototype chain +FAIL SVGAElement interface: objects.a must inherit property "hreflang" with the proper type assert_inherits: property "hreflang" not found in prototype chain +FAIL SVGAElement interface: objects.a must inherit property "type" with the proper type assert_inherits: property "type" not found in prototype chain +FAIL SVGAElement interface: objects.a must inherit property "text" with the proper type assert_inherits: property "text" not found in prototype chain +FAIL SVGAElement interface: objects.a must inherit property "referrerPolicy" with the proper type assert_inherits: property "referrerPolicy" not found in prototype chain +PASS SVGAElement interface: objects.a must inherit property "href" with the proper type +PASS SVGGraphicsElement interface: objects.a must inherit property "transform" with the proper type +PASS SVGGraphicsElement interface: objects.a must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type +PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.a with too few arguments must throw TypeError +PASS SVGGraphicsElement interface: objects.a must inherit property "getCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.a must inherit property "getScreenCTM()" with the proper type +PASS SVGGraphicsElement interface: objects.a must inherit property "requiredExtensions" with the proper type +PASS SVGGraphicsElement interface: objects.a must inherit property "systemLanguage" with the proper type +PASS SVGElement interface: objects.a must inherit property "className" with the proper type +PASS SVGElement interface: objects.a must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.a must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.a must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.a must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS SVGViewElement interface: existence and properties of interface object +PASS SVGViewElement interface object length +PASS SVGViewElement interface object name +PASS SVGViewElement interface: existence and properties of interface prototype object +PASS SVGViewElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGViewElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGViewElement interface: attribute viewBox +PASS SVGViewElement interface: attribute preserveAspectRatio +PASS SVGViewElement must be primary interface of objects.view +PASS Stringification of objects.view +PASS SVGViewElement interface: objects.view must inherit property "viewBox" with the proper type +PASS SVGViewElement interface: objects.view must inherit property "preserveAspectRatio" with the proper type +PASS SVGElement interface: objects.view must inherit property "className" with the proper type +PASS SVGElement interface: objects.view must inherit property "ownerSVGElement" with the proper type +PASS SVGElement interface: objects.view must inherit property "viewportElement" with the proper type +FAIL SVGElement interface: objects.view must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain +FAIL SVGElement interface: objects.view must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain +PASS Document interface: attribute rootElement Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/svg/struct/scripted/autofocus-attribute-expected.txt b/third_party/blink/web_tests/external/wpt/svg/struct/scripted/autofocus-attribute-expected.txt new file mode 100644 index 0000000..653e39d71 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/svg/struct/scripted/autofocus-attribute-expected.txt
@@ -0,0 +1,6 @@ +This is a testharness.js-based test. +FAIL <a> should support autofocus assert_equals: expected Element node <a href="#" autofocus="autofocus"></a> but got null +FAIL Renderable element with tabindex should support autofocus assert_equals: expected Element node <path d="M0,0h8v8z" tabindex="0" autofocus="autofocus"></... but got null +FAIL Never-rendered element with tabindex should not support autofocus promise_test: Unhandled rejection with value: object "TypeError: Cannot read property 'tagName' of null" +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/external/wpt/svg/struct/scripted/autofocus-attribute.svg b/third_party/blink/web_tests/external/wpt/svg/struct/scripted/autofocus-attribute.svg new file mode 100644 index 0000000..d8f2574 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/svg/struct/scripted/autofocus-attribute.svg
@@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" + xmlns:h="http://www.w3.org/1999/xhtml"> + <title>Autofocus attribute</title> + <metadata> + <h:link rel="help" href="https://svgwg.org/svg2-draft/struct.html#autofocusattribute"/> + </metadata> + <h:script src="/resources/testharness.js"/> + <h:script src="/resources/testharnessreport.js"/> + <h:script src="/html/semantics/forms/autofocus/resources/utils.js"/> + <script><![CDATA[ +const SVG_NS = 'http://www.w3.org/2000/svg'; + +promise_test(async t => { + let w = window.open('blank.svg'); + await waitForLoad(w); + t.add_cleanup(() => { w.close(); }); + const svgA = w.document.createElementNS(SVG_NS, 'a'); + svgA.setAttribute('href', '#'); + svgA.setAttribute('autofocus', 'autofocus'); + w.document.documentElement.appendChild(svgA); + await waitUntilStableAutofocusState(w); + assert_equals(w.document.activeElement, svgA); +}, '<a> should support autofocus'); + +promise_test(async t => { + let w = window.open('blank.svg'); + await waitForLoad(w); + t.add_cleanup(() => { w.close(); }); + const path = w.document.createElementNS(SVG_NS, 'path'); + path.setAttribute('d', 'M0,0h8v8z'); + path.setAttribute('tabindex', '0'); + path.setAttribute('autofocus', 'autofocus'); + w.document.documentElement.appendChild(path); + await waitUntilStableAutofocusState(w); + assert_equals(w.document.activeElement, path); +}, 'Renderable element with tabindex should support autofocus'); + +promise_test(async t => { + let w = window.open('blank.svg'); + await waitForLoad(w); + t.add_cleanup(() => { w.close(); }); + let element = w.document.createElementNS(SVG_NS, 'metadata'); + element.setAttribute('tabindex', '0'); + element.setAttribute('autofocus', 'autofocus'); + w.document.documentElement.appendChild(element); + await waitUntilStableAutofocusState(w); + // https://html.spec.whatwg.org/C/#dom-documentorshadowroot-activeelement + // 6. If candidate's document element is non-null, then return that document + // element. + assert_equals(w.document.activeElement.tagName, 'svg'); +}, 'Never-rendered element with tabindex should not support autofocus'); +]]></script> +</svg>
diff --git a/third_party/blink/web_tests/external/wpt/svg/struct/scripted/blank.svg b/third_party/blink/web_tests/external/wpt/svg/struct/scripted/blank.svg new file mode 100644 index 0000000..9e560bd --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/svg/struct/scripted/blank.svg
@@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg"></svg>
diff --git a/third_party/blink/web_tests/external/wpt/touch-events/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/touch-events/idlharness.window-expected.txt index c498dc5..10ad290 100644 --- a/third_party/blink/web_tests/external/wpt/touch-events/idlharness.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/touch-events/idlharness.window-expected.txt
@@ -1,49 +1,5 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface mixin GlobalEventHandlers: original interface mixin defined assert_true: Original interface mixin should be defined expected true got false -PASS Touch interface: existence and properties of interface object -PASS Touch interface object length -PASS Touch interface object name -PASS Touch interface: existence and properties of interface prototype object -PASS Touch interface: existence and properties of interface prototype object's "constructor" property -PASS Touch interface: existence and properties of interface prototype object's @@unscopables property -PASS Touch interface: attribute identifier -PASS Touch interface: attribute target -PASS Touch interface: attribute screenX -PASS Touch interface: attribute screenY -PASS Touch interface: attribute clientX -PASS Touch interface: attribute clientY -PASS Touch interface: attribute pageX -PASS Touch interface: attribute pageY -PASS Touch interface: attribute radiusX -PASS Touch interface: attribute radiusY -PASS Touch interface: attribute rotationAngle -PASS Touch interface: attribute force -FAIL Touch interface: attribute altitudeAngle assert_true: The prototype object must have a property "altitudeAngle" expected true got false -FAIL Touch interface: attribute azimuthAngle assert_true: The prototype object must have a property "azimuthAngle" expected true got false -FAIL Touch interface: attribute touchType assert_true: The prototype object must have a property "touchType" expected true got false -PASS TouchList interface: existence and properties of interface object -PASS TouchList interface object length -PASS TouchList interface object name -PASS TouchList interface: existence and properties of interface prototype object -PASS TouchList interface: existence and properties of interface prototype object's "constructor" property -PASS TouchList interface: existence and properties of interface prototype object's @@unscopables property -PASS TouchList interface: attribute length -PASS TouchList interface: operation item(unsigned long) -PASS TouchEvent interface: existence and properties of interface object -PASS TouchEvent interface object length -PASS TouchEvent interface object name -PASS TouchEvent interface: existence and properties of interface prototype object -PASS TouchEvent interface: existence and properties of interface prototype object's "constructor" property -PASS TouchEvent interface: existence and properties of interface prototype object's @@unscopables property -PASS TouchEvent interface: attribute touches -PASS TouchEvent interface: attribute targetTouches -PASS TouchEvent interface: attribute changedTouches -PASS TouchEvent interface: attribute altKey -PASS TouchEvent interface: attribute metaKey -PASS TouchEvent interface: attribute ctrlKey -PASS TouchEvent interface: attribute shiftKey +FAIL idl_test setup promise_test: Unhandled rejection with value: "Document includes GlobalEventHandlers, but Document is undefined." +PASS Partial interface mixin GlobalEventHandlers: original interface mixin defined Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/trusted-types/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/trusted-types/idlharness.window-expected.txt deleted file mode 100644 index f306478..0000000 --- a/third_party/blink/web_tests/external/wpt/trusted-types/idlharness.window-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS TrustedHTML interface: existence and properties of interface object -PASS TrustedHTML interface object length -PASS TrustedHTML interface object name -PASS TrustedHTML interface: existence and properties of interface prototype object -PASS TrustedHTML interface: existence and properties of interface prototype object's "constructor" property -PASS TrustedHTML interface: existence and properties of interface prototype object's @@unscopables property -PASS TrustedHTML interface: stringifier -PASS TrustedScript interface: existence and properties of interface object -PASS TrustedScript interface object length -PASS TrustedScript interface object name -PASS TrustedScript interface: existence and properties of interface prototype object -PASS TrustedScript interface: existence and properties of interface prototype object's "constructor" property -PASS TrustedScript interface: existence and properties of interface prototype object's @@unscopables property -PASS TrustedScript interface: stringifier -PASS TrustedScriptURL interface: existence and properties of interface object -PASS TrustedScriptURL interface object length -PASS TrustedScriptURL interface object name -PASS TrustedScriptURL interface: existence and properties of interface prototype object -PASS TrustedScriptURL interface: existence and properties of interface prototype object's "constructor" property -PASS TrustedScriptURL interface: existence and properties of interface prototype object's @@unscopables property -PASS TrustedScriptURL interface: stringifier -PASS TrustedURL interface: existence and properties of interface object -PASS TrustedURL interface object length -PASS TrustedURL interface object name -PASS TrustedURL interface: existence and properties of interface prototype object -PASS TrustedURL interface: existence and properties of interface prototype object's "constructor" property -PASS TrustedURL interface: existence and properties of interface prototype object's @@unscopables property -PASS TrustedURL interface: stringifier -PASS TrustedTypePolicyFactory interface: existence and properties of interface object -PASS TrustedTypePolicyFactory interface object length -PASS TrustedTypePolicyFactory interface object name -PASS TrustedTypePolicyFactory interface: existence and properties of interface prototype object -PASS TrustedTypePolicyFactory interface: existence and properties of interface prototype object's "constructor" property -PASS TrustedTypePolicyFactory interface: existence and properties of interface prototype object's @@unscopables property -PASS TrustedTypePolicy interface: existence and properties of interface object -PASS TrustedTypePolicy interface object length -PASS TrustedTypePolicy interface object name -PASS TrustedTypePolicy interface: existence and properties of interface prototype object -PASS TrustedTypePolicy interface: existence and properties of interface prototype object's "constructor" property -PASS TrustedTypePolicy interface: existence and properties of interface prototype object's @@unscopables property -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/vibration/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/vibration/idlharness.window-expected.txt deleted file mode 100644 index 23bf13b5..0000000 --- a/third_party/blink/web_tests/external/wpt/vibration/idlharness.window-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/wake-lock/idlharness.https.any-expected.txt b/third_party/blink/web_tests/external/wpt/wake-lock/idlharness.https.any-expected.txt deleted file mode 100644 index adb6cc43..0000000 --- a/third_party/blink/web_tests/external/wpt/wake-lock/idlharness.https.any-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/wake-lock/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/wake-lock/idlharness.https.any.worker-expected.txt deleted file mode 100644 index adb6cc43..0000000 --- a/third_party/blink/web_tests/external/wpt/wake-lock/idlharness.https.any.worker-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/web-animations/interfaces/Animation/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/web-animations/interfaces/Animation/idlharness.window-expected.txt index 91e59de..75523c9 100644 --- a/third_party/blink/web_tests/external/wpt/web-animations/interfaces/Animation/idlharness.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/web-animations/interfaces/Animation/idlharness.window-expected.txt
@@ -1,6 +1,58 @@ This is a testharness.js-based test. -FAIL Animation interface. promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 54 tests; 45 PASS, 9 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS Animation interface. +PASS Animation interface: existence and properties of interface object +PASS Animation interface object length +PASS Animation interface object name +PASS Animation interface: existence and properties of interface prototype object +PASS Animation interface: existence and properties of interface prototype object's "constructor" property +PASS Animation interface: existence and properties of interface prototype object's @@unscopables property +PASS Animation interface: attribute id +PASS Animation interface: attribute effect +FAIL Animation interface: attribute timeline assert_equals: setter must be function for PutForwards, Replaceable, or non-readonly attributes expected "function" but got "undefined" +PASS Animation interface: attribute startTime +PASS Animation interface: attribute currentTime +PASS Animation interface: attribute playbackRate +PASS Animation interface: attribute playState +FAIL Animation interface: attribute replaceState assert_true: The prototype object must have a property "replaceState" expected true got false +PASS Animation interface: attribute pending +PASS Animation interface: attribute ready +PASS Animation interface: attribute finished +PASS Animation interface: attribute onfinish +PASS Animation interface: attribute oncancel +FAIL Animation interface: attribute onremove assert_true: The prototype object must have a property "onremove" expected true got false +PASS Animation interface: operation cancel() +PASS Animation interface: operation finish() +PASS Animation interface: operation play() +PASS Animation interface: operation pause() +PASS Animation interface: operation updatePlaybackRate(double) +PASS Animation interface: operation reverse() +FAIL Animation interface: operation persist() assert_own_property: interface prototype object missing non-static operation expected property "persist" missing +FAIL Animation interface: operation commitStyles() assert_own_property: interface prototype object missing non-static operation expected property "commitStyles" missing +PASS Animation must be primary interface of new Animation() +PASS Stringification of new Animation() +PASS Animation interface: new Animation() must inherit property "id" with the proper type +PASS Animation interface: new Animation() must inherit property "effect" with the proper type +PASS Animation interface: new Animation() must inherit property "timeline" with the proper type +PASS Animation interface: new Animation() must inherit property "startTime" with the proper type +PASS Animation interface: new Animation() must inherit property "currentTime" with the proper type +PASS Animation interface: new Animation() must inherit property "playbackRate" with the proper type +PASS Animation interface: new Animation() must inherit property "playState" with the proper type +FAIL Animation interface: new Animation() must inherit property "replaceState" with the proper type assert_inherits: property "replaceState" not found in prototype chain +PASS Animation interface: new Animation() must inherit property "pending" with the proper type +PASS Animation interface: new Animation() must inherit property "ready" with the proper type +PASS Animation interface: new Animation() must inherit property "finished" with the proper type +PASS Animation interface: new Animation() must inherit property "onfinish" with the proper type +PASS Animation interface: new Animation() must inherit property "oncancel" with the proper type +FAIL Animation interface: new Animation() must inherit property "onremove" with the proper type assert_inherits: property "onremove" not found in prototype chain +PASS Animation interface: new Animation() must inherit property "cancel()" with the proper type +PASS Animation interface: new Animation() must inherit property "finish()" with the proper type +PASS Animation interface: new Animation() must inherit property "play()" with the proper type +PASS Animation interface: new Animation() must inherit property "pause()" with the proper type +PASS Animation interface: new Animation() must inherit property "updatePlaybackRate(double)" with the proper type +PASS Animation interface: calling updatePlaybackRate(double) on new Animation() with too few arguments must throw TypeError +PASS Animation interface: new Animation() must inherit property "reverse()" with the proper type +FAIL Animation interface: new Animation() must inherit property "persist()" with the proper type assert_inherits: property "persist" not found in prototype chain +FAIL Animation interface: new Animation() must inherit property "commitStyles()" with the proper type assert_inherits: property "commitStyles" not found in prototype chain Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/web-animations/interfaces/KeyframeEffect/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/web-animations/interfaces/KeyframeEffect/idlharness.window-expected.txt index 66fc2d2..8c8f9cb 100644 --- a/third_party/blink/web_tests/external/wpt/web-animations/interfaces/KeyframeEffect/idlharness.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/web-animations/interfaces/KeyframeEffect/idlharness.window-expected.txt
@@ -1,6 +1,23 @@ This is a testharness.js-based test. -FAIL KeyframeEffect interface. promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +PASS KeyframeEffect interface. +PASS KeyframeEffect interface: existence and properties of interface object +PASS KeyframeEffect interface object length +PASS KeyframeEffect interface object name +PASS KeyframeEffect interface: existence and properties of interface prototype object +PASS KeyframeEffect interface: existence and properties of interface prototype object's "constructor" property +PASS KeyframeEffect interface: existence and properties of interface prototype object's @@unscopables property +PASS KeyframeEffect interface: attribute target +FAIL KeyframeEffect interface: attribute iterationComposite assert_true: The prototype object must have a property "iterationComposite" expected true got false +PASS KeyframeEffect interface: attribute composite +PASS KeyframeEffect interface: operation getKeyframes() +PASS KeyframeEffect interface: operation setKeyframes(object) +PASS KeyframeEffect must be primary interface of new KeyframeEffect(null, null) +PASS Stringification of new KeyframeEffect(null, null) +FAIL KeyframeEffect interface: new KeyframeEffect(null, null) must inherit property "target" with the proper type Unrecognized type Element +FAIL KeyframeEffect interface: new KeyframeEffect(null, null) must inherit property "iterationComposite" with the proper type assert_inherits: property "iterationComposite" not found in prototype chain +PASS KeyframeEffect interface: new KeyframeEffect(null, null) must inherit property "composite" with the proper type +PASS KeyframeEffect interface: new KeyframeEffect(null, null) must inherit property "getKeyframes()" with the proper type +PASS KeyframeEffect interface: new KeyframeEffect(null, null) must inherit property "setKeyframes(object)" with the proper type +PASS KeyframeEffect interface: calling setKeyframes(object) on new KeyframeEffect(null, null) with too few arguments must throw TypeError Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/web-locks/idlharness.tentative.https.any-expected.txt b/third_party/blink/web_tests/external/wpt/web-locks/idlharness.tentative.https.any-expected.txt deleted file mode 100644 index 3bb4ac901..0000000 --- a/third_party/blink/web_tests/external/wpt/web-locks/idlharness.tentative.https.any-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL idlharness promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/web-locks/idlharness.tentative.https.any.serviceworker-expected.txt b/third_party/blink/web_tests/external/wpt/web-locks/idlharness.tentative.https.any.serviceworker-expected.txt deleted file mode 100644 index 3bb4ac901..0000000 --- a/third_party/blink/web_tests/external/wpt/web-locks/idlharness.tentative.https.any.serviceworker-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL idlharness promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/web-locks/idlharness.tentative.https.any.sharedworker-expected.txt b/third_party/blink/web_tests/external/wpt/web-locks/idlharness.tentative.https.any.sharedworker-expected.txt deleted file mode 100644 index 3bb4ac901..0000000 --- a/third_party/blink/web_tests/external/wpt/web-locks/idlharness.tentative.https.any.sharedworker-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL idlharness promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/web-locks/idlharness.tentative.https.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/web-locks/idlharness.tentative.https.any.worker-expected.txt deleted file mode 100644 index 3bb4ac901..0000000 --- a/third_party/blink/web_tests/external/wpt/web-locks/idlharness.tentative.https.any.worker-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL idlharness promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
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 adb6cc43..4abf6fc 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,6 +1,74 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 70 tests; 68 PASS, 2 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS NDEFMessage interface: existence and properties of interface object +PASS NDEFMessage interface object length +PASS NDEFMessage interface object name +PASS NDEFMessage interface: existence and properties of interface prototype object +PASS NDEFMessage interface: existence and properties of interface prototype object's "constructor" property +PASS NDEFMessage interface: existence and properties of interface prototype object's @@unscopables property +PASS NDEFMessage interface: attribute url +PASS NDEFMessage interface: attribute records +PASS NDEFRecord interface: existence and properties of interface object +PASS NDEFRecord interface object length +PASS NDEFRecord interface object name +PASS NDEFRecord interface: existence and properties of interface prototype object +PASS NDEFRecord interface: existence and properties of interface prototype object's "constructor" property +PASS NDEFRecord interface: existence and properties of interface prototype object's @@unscopables property +PASS NDEFRecord interface: attribute recordType +PASS NDEFRecord interface: attribute mediaType +FAIL NDEFRecord interface: attribute id assert_true: The prototype object must have a property "id" expected true got false +PASS NDEFRecord interface: operation toText() +PASS NDEFRecord interface: operation toArrayBuffer() +PASS NDEFRecord interface: operation toJSON() +FAIL NDEFRecord interface: operation toRecords() assert_own_property: interface prototype object missing non-static operation expected property "toRecords" missing +PASS NFCWriter interface: existence and properties of interface object +PASS NFCWriter interface object length +PASS NFCWriter interface object name +PASS NFCWriter interface: existence and properties of interface prototype object +PASS NFCWriter interface: existence and properties of interface prototype object's "constructor" property +PASS NFCWriter interface: existence and properties of interface prototype object's @@unscopables property +PASS NFCWriter interface: operation push(NDEFMessageSource, NFCPushOptions) +PASS NFCWriter must be primary interface of new NFCWriter(); +PASS Stringification of new NFCWriter(); +PASS NFCWriter interface: new NFCWriter(); must inherit property "push(NDEFMessageSource, NFCPushOptions)" with the proper type +PASS NFCWriter interface: calling push(NDEFMessageSource, NFCPushOptions) on new NFCWriter(); with too few arguments must throw TypeError +PASS NFCReader interface: existence and properties of interface object +PASS NFCReader interface object length +PASS NFCReader interface object name +PASS NFCReader interface: existence and properties of interface prototype object +PASS NFCReader interface: existence and properties of interface prototype object's "constructor" property +PASS NFCReader interface: existence and properties of interface prototype object's @@unscopables property +PASS NFCReader interface: attribute onreading +PASS NFCReader interface: attribute onerror +PASS NFCReader interface: operation scan(NFCScanOptions) +PASS NFCReader must be primary interface of new NFCReader(); +PASS Stringification of new NFCReader(); +PASS NFCReader interface: new NFCReader(); must inherit property "onreading" with the proper type +PASS NFCReader interface: new NFCReader(); must inherit property "onerror" with the proper type +PASS NFCReader interface: new NFCReader(); must inherit property "scan(NFCScanOptions)" with the proper type +PASS NFCReader interface: calling scan(NFCScanOptions) on new NFCReader(); with too few arguments must throw TypeError +PASS NFCReadingEvent interface: existence and properties of interface object +PASS NFCReadingEvent interface object length +PASS NFCReadingEvent interface object name +PASS NFCReadingEvent interface: existence and properties of interface prototype object +PASS NFCReadingEvent interface: existence and properties of interface prototype object's "constructor" property +PASS NFCReadingEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS NFCReadingEvent interface: attribute serialNumber +PASS NFCReadingEvent interface: attribute message +PASS NFCReadingEvent must be primary interface of new NFCReadingEvent("reading", { message: {"url":"/custom/path","records":[{"recordType":"text","data":"Hello World"}]} }) +PASS Stringification of new NFCReadingEvent("reading", { message: {"url":"/custom/path","records":[{"recordType":"text","data":"Hello World"}]} }) +PASS NFCReadingEvent interface: new NFCReadingEvent("reading", { message: {"url":"/custom/path","records":[{"recordType":"text","data":"Hello World"}]} }) must inherit property "serialNumber" with the proper type +PASS NFCReadingEvent interface: new NFCReadingEvent("reading", { message: {"url":"/custom/path","records":[{"recordType":"text","data":"Hello World"}]} }) must inherit property "message" with the proper type +PASS NFCErrorEvent interface: existence and properties of interface object +PASS NFCErrorEvent interface object length +PASS NFCErrorEvent interface object name +PASS NFCErrorEvent interface: existence and properties of interface prototype object +PASS NFCErrorEvent interface: existence and properties of interface prototype object's "constructor" property +PASS NFCErrorEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS NFCErrorEvent interface: attribute error +PASS NFCErrorEvent must be primary interface of new NFCErrorEvent("error", { error: new DOMException() }); +PASS Stringification of new NFCErrorEvent("error", { error: new DOMException() }); +PASS NFCErrorEvent interface: new NFCErrorEvent("error", { error: new DOMException() }); must inherit property "error" with the proper type Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/web-share/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/web-share/idlharness.https.window-expected.txt deleted file mode 100644 index 23bf13b5..0000000 --- a/third_party/blink/web_tests/external/wpt/web-share/idlharness.https.window-expected.txt +++ /dev/null
@@ -1,7 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/webaudio/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/webaudio/idlharness.https.window-expected.txt index adb6cc43..29a7407 100644 --- a/third_party/blink/web_tests/external/wpt/webaudio/idlharness.https.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/webaudio/idlharness.https.window-expected.txt
@@ -1,6 +1,1129 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 1115 tests; 1104 PASS, 11 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS BaseAudioContext interface: existence and properties of interface object +PASS BaseAudioContext interface object length +PASS BaseAudioContext interface object name +PASS BaseAudioContext interface: existence and properties of interface prototype object +PASS BaseAudioContext interface: existence and properties of interface prototype object's "constructor" property +PASS BaseAudioContext interface: existence and properties of interface prototype object's @@unscopables property +PASS BaseAudioContext interface: attribute destination +PASS BaseAudioContext interface: attribute sampleRate +PASS BaseAudioContext interface: attribute currentTime +PASS BaseAudioContext interface: attribute listener +PASS BaseAudioContext interface: attribute state +PASS BaseAudioContext interface: attribute audioWorklet +PASS BaseAudioContext interface: attribute onstatechange +PASS BaseAudioContext interface: operation createAnalyser() +PASS BaseAudioContext interface: operation createBiquadFilter() +PASS BaseAudioContext interface: operation createBuffer(unsigned long, unsigned long, float) +PASS BaseAudioContext interface: operation createBufferSource() +PASS BaseAudioContext interface: operation createChannelMerger(unsigned long) +PASS BaseAudioContext interface: operation createChannelSplitter(unsigned long) +PASS BaseAudioContext interface: operation createConstantSource() +PASS BaseAudioContext interface: operation createConvolver() +PASS BaseAudioContext interface: operation createDelay(double) +PASS BaseAudioContext interface: operation createDynamicsCompressor() +PASS BaseAudioContext interface: operation createGain() +PASS BaseAudioContext interface: operation createIIRFilter([object Object], [object Object]) +PASS BaseAudioContext interface: operation createOscillator() +PASS BaseAudioContext interface: operation createPanner() +PASS BaseAudioContext interface: operation createPeriodicWave([object Object], [object Object], PeriodicWaveConstraints) +PASS BaseAudioContext interface: operation createScriptProcessor(unsigned long, unsigned long, unsigned long) +PASS BaseAudioContext interface: operation createStereoPanner() +PASS BaseAudioContext interface: operation createWaveShaper() +PASS BaseAudioContext interface: operation decodeAudioData(ArrayBuffer, DecodeSuccessCallback, DecodeErrorCallback) +PASS AudioContext interface: existence and properties of interface object +PASS AudioContext interface object length +PASS AudioContext interface object name +PASS AudioContext interface: existence and properties of interface prototype object +PASS AudioContext interface: existence and properties of interface prototype object's "constructor" property +PASS AudioContext interface: existence and properties of interface prototype object's @@unscopables property +PASS AudioContext interface: attribute baseLatency +FAIL AudioContext interface: attribute outputLatency assert_true: The prototype object must have a property "outputLatency" expected true got false +PASS AudioContext interface: operation getOutputTimestamp() +PASS AudioContext interface: operation resume() +PASS AudioContext interface: operation suspend() +PASS AudioContext interface: operation close() +PASS AudioContext interface: operation createMediaElementSource(HTMLMediaElement) +PASS AudioContext interface: operation createMediaStreamSource(MediaStream) +FAIL AudioContext interface: operation createMediaStreamTrackSource(MediaStreamTrack) assert_own_property: interface prototype object missing non-static operation expected property "createMediaStreamTrackSource" missing +PASS AudioContext interface: operation createMediaStreamDestination() +PASS AudioContext must be primary interface of context +PASS Stringification of context +PASS AudioContext interface: context must inherit property "baseLatency" with the proper type +FAIL AudioContext interface: context must inherit property "outputLatency" with the proper type assert_inherits: property "outputLatency" not found in prototype chain +PASS AudioContext interface: context must inherit property "getOutputTimestamp()" with the proper type +PASS AudioContext interface: context must inherit property "resume()" with the proper type +PASS AudioContext interface: context must inherit property "suspend()" with the proper type +PASS AudioContext interface: context must inherit property "close()" with the proper type +PASS AudioContext interface: context must inherit property "createMediaElementSource(HTMLMediaElement)" with the proper type +PASS AudioContext interface: calling createMediaElementSource(HTMLMediaElement) on context with too few arguments must throw TypeError +PASS AudioContext interface: context must inherit property "createMediaStreamSource(MediaStream)" with the proper type +PASS AudioContext interface: calling createMediaStreamSource(MediaStream) on context with too few arguments must throw TypeError +FAIL AudioContext interface: context must inherit property "createMediaStreamTrackSource(MediaStreamTrack)" with the proper type assert_inherits: property "createMediaStreamTrackSource" not found in prototype chain +FAIL AudioContext interface: calling createMediaStreamTrackSource(MediaStreamTrack) on context with too few arguments must throw TypeError assert_inherits: property "createMediaStreamTrackSource" not found in prototype chain +PASS AudioContext interface: context must inherit property "createMediaStreamDestination()" with the proper type +PASS BaseAudioContext interface: context must inherit property "destination" with the proper type +PASS BaseAudioContext interface: context must inherit property "sampleRate" with the proper type +PASS BaseAudioContext interface: context must inherit property "currentTime" with the proper type +PASS BaseAudioContext interface: context must inherit property "listener" with the proper type +PASS BaseAudioContext interface: context must inherit property "state" with the proper type +PASS BaseAudioContext interface: context must inherit property "audioWorklet" with the proper type +PASS BaseAudioContext interface: context must inherit property "onstatechange" with the proper type +PASS BaseAudioContext interface: context must inherit property "createAnalyser()" with the proper type +PASS BaseAudioContext interface: context must inherit property "createBiquadFilter()" with the proper type +PASS BaseAudioContext interface: context must inherit property "createBuffer(unsigned long, unsigned long, float)" with the proper type +PASS BaseAudioContext interface: calling createBuffer(unsigned long, unsigned long, float) on context with too few arguments must throw TypeError +PASS BaseAudioContext interface: context must inherit property "createBufferSource()" with the proper type +PASS BaseAudioContext interface: context must inherit property "createChannelMerger(unsigned long)" with the proper type +PASS BaseAudioContext interface: calling createChannelMerger(unsigned long) on context with too few arguments must throw TypeError +PASS BaseAudioContext interface: context must inherit property "createChannelSplitter(unsigned long)" with the proper type +PASS BaseAudioContext interface: calling createChannelSplitter(unsigned long) on context with too few arguments must throw TypeError +PASS BaseAudioContext interface: context must inherit property "createConstantSource()" with the proper type +PASS BaseAudioContext interface: context must inherit property "createConvolver()" with the proper type +PASS BaseAudioContext interface: context must inherit property "createDelay(double)" with the proper type +PASS BaseAudioContext interface: calling createDelay(double) on context with too few arguments must throw TypeError +PASS BaseAudioContext interface: context must inherit property "createDynamicsCompressor()" with the proper type +PASS BaseAudioContext interface: context must inherit property "createGain()" with the proper type +PASS BaseAudioContext interface: context must inherit property "createIIRFilter([object Object], [object Object])" with the proper type +PASS BaseAudioContext interface: calling createIIRFilter([object Object], [object Object]) on context with too few arguments must throw TypeError +PASS BaseAudioContext interface: context must inherit property "createOscillator()" with the proper type +PASS BaseAudioContext interface: context must inherit property "createPanner()" with the proper type +PASS BaseAudioContext interface: context must inherit property "createPeriodicWave([object Object], [object Object], PeriodicWaveConstraints)" with the proper type +PASS BaseAudioContext interface: calling createPeriodicWave([object Object], [object Object], PeriodicWaveConstraints) on context with too few arguments must throw TypeError +PASS BaseAudioContext interface: context must inherit property "createScriptProcessor(unsigned long, unsigned long, unsigned long)" with the proper type +PASS BaseAudioContext interface: calling createScriptProcessor(unsigned long, unsigned long, unsigned long) on context with too few arguments must throw TypeError +PASS BaseAudioContext interface: context must inherit property "createStereoPanner()" with the proper type +PASS BaseAudioContext interface: context must inherit property "createWaveShaper()" with the proper type +PASS BaseAudioContext interface: context must inherit property "decodeAudioData(ArrayBuffer, DecodeSuccessCallback, DecodeErrorCallback)" with the proper type +PASS BaseAudioContext interface: calling decodeAudioData(ArrayBuffer, DecodeSuccessCallback, DecodeErrorCallback) on context with too few arguments must throw TypeError +PASS OfflineAudioContext interface: existence and properties of interface object +PASS OfflineAudioContext interface object length +PASS OfflineAudioContext interface object name +PASS OfflineAudioContext interface: existence and properties of interface prototype object +PASS OfflineAudioContext interface: existence and properties of interface prototype object's "constructor" property +PASS OfflineAudioContext interface: existence and properties of interface prototype object's @@unscopables property +PASS OfflineAudioContext interface: operation startRendering() +PASS OfflineAudioContext interface: operation resume() +PASS OfflineAudioContext interface: operation suspend(double) +PASS OfflineAudioContext interface: attribute length +PASS OfflineAudioContext interface: attribute oncomplete +PASS OfflineAudioContext must be primary interface of new OfflineAudioContext(1, 1, sample_rate) +PASS Stringification of new OfflineAudioContext(1, 1, sample_rate) +PASS OfflineAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "startRendering()" with the proper type +PASS OfflineAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "resume()" with the proper type +PASS OfflineAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "suspend(double)" with the proper type +PASS OfflineAudioContext interface: calling suspend(double) on new OfflineAudioContext(1, 1, sample_rate) with too few arguments must throw TypeError +PASS OfflineAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "length" with the proper type +PASS OfflineAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "oncomplete" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "destination" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "sampleRate" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "currentTime" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "listener" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "state" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "audioWorklet" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "onstatechange" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createAnalyser()" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createBiquadFilter()" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createBuffer(unsigned long, unsigned long, float)" with the proper type +PASS BaseAudioContext interface: calling createBuffer(unsigned long, unsigned long, float) on new OfflineAudioContext(1, 1, sample_rate) with too few arguments must throw TypeError +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createBufferSource()" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createChannelMerger(unsigned long)" with the proper type +PASS BaseAudioContext interface: calling createChannelMerger(unsigned long) on new OfflineAudioContext(1, 1, sample_rate) with too few arguments must throw TypeError +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createChannelSplitter(unsigned long)" with the proper type +PASS BaseAudioContext interface: calling createChannelSplitter(unsigned long) on new OfflineAudioContext(1, 1, sample_rate) with too few arguments must throw TypeError +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createConstantSource()" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createConvolver()" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createDelay(double)" with the proper type +PASS BaseAudioContext interface: calling createDelay(double) on new OfflineAudioContext(1, 1, sample_rate) with too few arguments must throw TypeError +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createDynamicsCompressor()" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createGain()" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createIIRFilter([object Object], [object Object])" with the proper type +PASS BaseAudioContext interface: calling createIIRFilter([object Object], [object Object]) on new OfflineAudioContext(1, 1, sample_rate) with too few arguments must throw TypeError +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createOscillator()" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createPanner()" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createPeriodicWave([object Object], [object Object], PeriodicWaveConstraints)" with the proper type +PASS BaseAudioContext interface: calling createPeriodicWave([object Object], [object Object], PeriodicWaveConstraints) on new OfflineAudioContext(1, 1, sample_rate) with too few arguments must throw TypeError +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createScriptProcessor(unsigned long, unsigned long, unsigned long)" with the proper type +PASS BaseAudioContext interface: calling createScriptProcessor(unsigned long, unsigned long, unsigned long) on new OfflineAudioContext(1, 1, sample_rate) with too few arguments must throw TypeError +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createStereoPanner()" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createWaveShaper()" with the proper type +PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "decodeAudioData(ArrayBuffer, DecodeSuccessCallback, DecodeErrorCallback)" with the proper type +PASS BaseAudioContext interface: calling decodeAudioData(ArrayBuffer, DecodeSuccessCallback, DecodeErrorCallback) on new OfflineAudioContext(1, 1, sample_rate) with too few arguments must throw TypeError +PASS OfflineAudioCompletionEvent interface: existence and properties of interface object +PASS OfflineAudioCompletionEvent interface object length +PASS OfflineAudioCompletionEvent interface object name +PASS OfflineAudioCompletionEvent interface: existence and properties of interface prototype object +PASS OfflineAudioCompletionEvent interface: existence and properties of interface prototype object's "constructor" property +PASS OfflineAudioCompletionEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS OfflineAudioCompletionEvent interface: attribute renderedBuffer +PASS OfflineAudioCompletionEvent must be primary interface of new OfflineAudioCompletionEvent("", {renderedBuffer: buffer}) +PASS Stringification of new OfflineAudioCompletionEvent("", {renderedBuffer: buffer}) +PASS OfflineAudioCompletionEvent interface: new OfflineAudioCompletionEvent("", {renderedBuffer: buffer}) must inherit property "renderedBuffer" with the proper type +PASS AudioBuffer interface: existence and properties of interface object +PASS AudioBuffer interface object length +PASS AudioBuffer interface object name +PASS AudioBuffer interface: existence and properties of interface prototype object +PASS AudioBuffer interface: existence and properties of interface prototype object's "constructor" property +PASS AudioBuffer interface: existence and properties of interface prototype object's @@unscopables property +PASS AudioBuffer interface: attribute sampleRate +PASS AudioBuffer interface: attribute length +PASS AudioBuffer interface: attribute duration +PASS AudioBuffer interface: attribute numberOfChannels +PASS AudioBuffer interface: operation getChannelData(unsigned long) +PASS AudioBuffer interface: operation copyFromChannel(Float32Array, unsigned long, unsigned long) +PASS AudioBuffer interface: operation copyToChannel(Float32Array, unsigned long, unsigned long) +PASS AudioBuffer must be primary interface of buffer +PASS Stringification of buffer +PASS AudioBuffer interface: buffer must inherit property "sampleRate" with the proper type +PASS AudioBuffer interface: buffer must inherit property "length" with the proper type +PASS AudioBuffer interface: buffer must inherit property "duration" with the proper type +PASS AudioBuffer interface: buffer must inherit property "numberOfChannels" with the proper type +PASS AudioBuffer interface: buffer must inherit property "getChannelData(unsigned long)" with the proper type +PASS AudioBuffer interface: calling getChannelData(unsigned long) on buffer with too few arguments must throw TypeError +PASS AudioBuffer interface: buffer must inherit property "copyFromChannel(Float32Array, unsigned long, unsigned long)" with the proper type +PASS AudioBuffer interface: calling copyFromChannel(Float32Array, unsigned long, unsigned long) on buffer with too few arguments must throw TypeError +PASS AudioBuffer interface: buffer must inherit property "copyToChannel(Float32Array, unsigned long, unsigned long)" with the proper type +PASS AudioBuffer interface: calling copyToChannel(Float32Array, unsigned long, unsigned long) on buffer with too few arguments must throw TypeError +PASS AudioNode interface: existence and properties of interface object +PASS AudioNode interface object length +PASS AudioNode interface object name +PASS AudioNode interface: existence and properties of interface prototype object +PASS AudioNode interface: existence and properties of interface prototype object's "constructor" property +PASS AudioNode interface: existence and properties of interface prototype object's @@unscopables property +PASS AudioNode interface: operation connect(AudioNode, unsigned long, unsigned long) +PASS AudioNode interface: operation connect(AudioParam, unsigned long) +PASS AudioNode interface: operation disconnect() +PASS AudioNode interface: operation disconnect(unsigned long) +PASS AudioNode interface: operation disconnect(AudioNode) +PASS AudioNode interface: operation disconnect(AudioNode, unsigned long) +PASS AudioNode interface: operation disconnect(AudioNode, unsigned long, unsigned long) +PASS AudioNode interface: operation disconnect(AudioParam) +PASS AudioNode interface: operation disconnect(AudioParam, unsigned long) +PASS AudioNode interface: attribute context +PASS AudioNode interface: attribute numberOfInputs +PASS AudioNode interface: attribute numberOfOutputs +PASS AudioNode interface: attribute channelCount +PASS AudioNode interface: attribute channelCountMode +PASS AudioNode interface: attribute channelInterpretation +PASS AudioParam interface: existence and properties of interface object +PASS AudioParam interface object length +PASS AudioParam interface object name +PASS AudioParam interface: existence and properties of interface prototype object +PASS AudioParam interface: existence and properties of interface prototype object's "constructor" property +PASS AudioParam interface: existence and properties of interface prototype object's @@unscopables property +PASS AudioParam interface: attribute value +PASS AudioParam interface: attribute automationRate +PASS AudioParam interface: attribute defaultValue +PASS AudioParam interface: attribute minValue +PASS AudioParam interface: attribute maxValue +PASS AudioParam interface: operation setValueAtTime(float, double) +PASS AudioParam interface: operation linearRampToValueAtTime(float, double) +PASS AudioParam interface: operation exponentialRampToValueAtTime(float, double) +PASS AudioParam interface: operation setTargetAtTime(float, double, float) +PASS AudioParam interface: operation setValueCurveAtTime([object Object], double, double) +PASS AudioParam interface: operation cancelScheduledValues(double) +PASS AudioParam interface: operation cancelAndHoldAtTime(double) +PASS AudioParam must be primary interface of new AudioBufferSourceNode(context).playbackRate +PASS Stringification of new AudioBufferSourceNode(context).playbackRate +PASS AudioParam interface: new AudioBufferSourceNode(context).playbackRate must inherit property "value" with the proper type +PASS AudioParam interface: new AudioBufferSourceNode(context).playbackRate must inherit property "automationRate" with the proper type +PASS AudioParam interface: new AudioBufferSourceNode(context).playbackRate must inherit property "defaultValue" with the proper type +PASS AudioParam interface: new AudioBufferSourceNode(context).playbackRate must inherit property "minValue" with the proper type +PASS AudioParam interface: new AudioBufferSourceNode(context).playbackRate must inherit property "maxValue" with the proper type +PASS AudioParam interface: new AudioBufferSourceNode(context).playbackRate must inherit property "setValueAtTime(float, double)" with the proper type +PASS AudioParam interface: calling setValueAtTime(float, double) on new AudioBufferSourceNode(context).playbackRate with too few arguments must throw TypeError +PASS AudioParam interface: new AudioBufferSourceNode(context).playbackRate must inherit property "linearRampToValueAtTime(float, double)" with the proper type +PASS AudioParam interface: calling linearRampToValueAtTime(float, double) on new AudioBufferSourceNode(context).playbackRate with too few arguments must throw TypeError +PASS AudioParam interface: new AudioBufferSourceNode(context).playbackRate must inherit property "exponentialRampToValueAtTime(float, double)" with the proper type +PASS AudioParam interface: calling exponentialRampToValueAtTime(float, double) on new AudioBufferSourceNode(context).playbackRate with too few arguments must throw TypeError +PASS AudioParam interface: new AudioBufferSourceNode(context).playbackRate must inherit property "setTargetAtTime(float, double, float)" with the proper type +PASS AudioParam interface: calling setTargetAtTime(float, double, float) on new AudioBufferSourceNode(context).playbackRate with too few arguments must throw TypeError +PASS AudioParam interface: new AudioBufferSourceNode(context).playbackRate must inherit property "setValueCurveAtTime([object Object], double, double)" with the proper type +PASS AudioParam interface: calling setValueCurveAtTime([object Object], double, double) on new AudioBufferSourceNode(context).playbackRate with too few arguments must throw TypeError +PASS AudioParam interface: new AudioBufferSourceNode(context).playbackRate must inherit property "cancelScheduledValues(double)" with the proper type +PASS AudioParam interface: calling cancelScheduledValues(double) on new AudioBufferSourceNode(context).playbackRate with too few arguments must throw TypeError +PASS AudioParam interface: new AudioBufferSourceNode(context).playbackRate must inherit property "cancelAndHoldAtTime(double)" with the proper type +PASS AudioParam interface: calling cancelAndHoldAtTime(double) on new AudioBufferSourceNode(context).playbackRate with too few arguments must throw TypeError +PASS AudioScheduledSourceNode interface: existence and properties of interface object +PASS AudioScheduledSourceNode interface object length +PASS AudioScheduledSourceNode interface object name +PASS AudioScheduledSourceNode interface: existence and properties of interface prototype object +PASS AudioScheduledSourceNode interface: existence and properties of interface prototype object's "constructor" property +PASS AudioScheduledSourceNode interface: existence and properties of interface prototype object's @@unscopables property +PASS AudioScheduledSourceNode interface: attribute onended +PASS AudioScheduledSourceNode interface: operation start(double) +PASS AudioScheduledSourceNode interface: operation stop(double) +PASS AnalyserNode interface: existence and properties of interface object +PASS AnalyserNode interface object length +PASS AnalyserNode interface object name +PASS AnalyserNode interface: existence and properties of interface prototype object +PASS AnalyserNode interface: existence and properties of interface prototype object's "constructor" property +PASS AnalyserNode interface: existence and properties of interface prototype object's @@unscopables property +PASS AnalyserNode interface: operation getFloatFrequencyData(Float32Array) +PASS AnalyserNode interface: operation getByteFrequencyData(Uint8Array) +PASS AnalyserNode interface: operation getFloatTimeDomainData(Float32Array) +PASS AnalyserNode interface: operation getByteTimeDomainData(Uint8Array) +PASS AnalyserNode interface: attribute fftSize +PASS AnalyserNode interface: attribute frequencyBinCount +PASS AnalyserNode interface: attribute minDecibels +PASS AnalyserNode interface: attribute maxDecibels +PASS AnalyserNode interface: attribute smoothingTimeConstant +PASS AnalyserNode must be primary interface of new AnalyserNode(context) +PASS Stringification of new AnalyserNode(context) +PASS AnalyserNode interface: new AnalyserNode(context) must inherit property "getFloatFrequencyData(Float32Array)" with the proper type +PASS AnalyserNode interface: calling getFloatFrequencyData(Float32Array) on new AnalyserNode(context) with too few arguments must throw TypeError +PASS AnalyserNode interface: new AnalyserNode(context) must inherit property "getByteFrequencyData(Uint8Array)" with the proper type +PASS AnalyserNode interface: calling getByteFrequencyData(Uint8Array) on new AnalyserNode(context) with too few arguments must throw TypeError +PASS AnalyserNode interface: new AnalyserNode(context) must inherit property "getFloatTimeDomainData(Float32Array)" with the proper type +PASS AnalyserNode interface: calling getFloatTimeDomainData(Float32Array) on new AnalyserNode(context) with too few arguments must throw TypeError +PASS AnalyserNode interface: new AnalyserNode(context) must inherit property "getByteTimeDomainData(Uint8Array)" with the proper type +PASS AnalyserNode interface: calling getByteTimeDomainData(Uint8Array) on new AnalyserNode(context) with too few arguments must throw TypeError +PASS AnalyserNode interface: new AnalyserNode(context) must inherit property "fftSize" with the proper type +PASS AnalyserNode interface: new AnalyserNode(context) must inherit property "frequencyBinCount" with the proper type +PASS AnalyserNode interface: new AnalyserNode(context) must inherit property "minDecibels" with the proper type +PASS AnalyserNode interface: new AnalyserNode(context) must inherit property "maxDecibels" with the proper type +PASS AnalyserNode interface: new AnalyserNode(context) must inherit property "smoothingTimeConstant" with the proper type +PASS AudioNode interface: new AnalyserNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new AnalyserNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AnalyserNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new AnalyserNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AnalyserNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new AnalyserNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new AnalyserNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AnalyserNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new AnalyserNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AnalyserNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new AnalyserNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AnalyserNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new AnalyserNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AnalyserNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new AnalyserNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AnalyserNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new AnalyserNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AnalyserNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new AnalyserNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new AnalyserNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new AnalyserNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new AnalyserNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new AnalyserNode(context) must inherit property "channelInterpretation" with the proper type +PASS AudioBufferSourceNode interface: existence and properties of interface object +PASS AudioBufferSourceNode interface object length +PASS AudioBufferSourceNode interface object name +PASS AudioBufferSourceNode interface: existence and properties of interface prototype object +PASS AudioBufferSourceNode interface: existence and properties of interface prototype object's "constructor" property +PASS AudioBufferSourceNode interface: existence and properties of interface prototype object's @@unscopables property +PASS AudioBufferSourceNode interface: attribute buffer +PASS AudioBufferSourceNode interface: attribute playbackRate +PASS AudioBufferSourceNode interface: attribute detune +PASS AudioBufferSourceNode interface: attribute loop +PASS AudioBufferSourceNode interface: attribute loopStart +PASS AudioBufferSourceNode interface: attribute loopEnd +PASS AudioBufferSourceNode interface: operation start(double, double, double) +PASS AudioBufferSourceNode must be primary interface of new AudioBufferSourceNode(context) +PASS Stringification of new AudioBufferSourceNode(context) +PASS AudioBufferSourceNode interface: new AudioBufferSourceNode(context) must inherit property "buffer" with the proper type +PASS AudioBufferSourceNode interface: new AudioBufferSourceNode(context) must inherit property "playbackRate" with the proper type +PASS AudioBufferSourceNode interface: new AudioBufferSourceNode(context) must inherit property "detune" with the proper type +PASS AudioBufferSourceNode interface: new AudioBufferSourceNode(context) must inherit property "loop" with the proper type +PASS AudioBufferSourceNode interface: new AudioBufferSourceNode(context) must inherit property "loopStart" with the proper type +PASS AudioBufferSourceNode interface: new AudioBufferSourceNode(context) must inherit property "loopEnd" with the proper type +PASS AudioBufferSourceNode interface: new AudioBufferSourceNode(context) must inherit property "start(double, double, double)" with the proper type +PASS AudioBufferSourceNode interface: calling start(double, double, double) on new AudioBufferSourceNode(context) with too few arguments must throw TypeError +PASS AudioScheduledSourceNode interface: new AudioBufferSourceNode(context) must inherit property "onended" with the proper type +PASS AudioScheduledSourceNode interface: new AudioBufferSourceNode(context) must inherit property "start(double)" with the proper type +PASS AudioScheduledSourceNode interface: calling start(double) on new AudioBufferSourceNode(context) with too few arguments must throw TypeError +PASS AudioScheduledSourceNode interface: new AudioBufferSourceNode(context) must inherit property "stop(double)" with the proper type +PASS AudioScheduledSourceNode interface: calling stop(double) on new AudioBufferSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new AudioBufferSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new AudioBufferSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new AudioBufferSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new AudioBufferSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new AudioBufferSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new AudioBufferSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new AudioBufferSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new AudioBufferSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new AudioBufferSourceNode(context) must inherit property "channelInterpretation" with the proper type +PASS AudioDestinationNode interface: existence and properties of interface object +PASS AudioDestinationNode interface object length +PASS AudioDestinationNode interface object name +PASS AudioDestinationNode interface: existence and properties of interface prototype object +PASS AudioDestinationNode interface: existence and properties of interface prototype object's "constructor" property +PASS AudioDestinationNode interface: existence and properties of interface prototype object's @@unscopables property +PASS AudioDestinationNode interface: attribute maxChannelCount +PASS AudioDestinationNode must be primary interface of context.destination +PASS Stringification of context.destination +PASS AudioDestinationNode interface: context.destination must inherit property "maxChannelCount" with the proper type +PASS AudioNode interface: context.destination must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on context.destination with too few arguments must throw TypeError +PASS AudioNode interface: context.destination must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on context.destination with too few arguments must throw TypeError +PASS AudioNode interface: context.destination must inherit property "disconnect()" with the proper type +PASS AudioNode interface: context.destination must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on context.destination with too few arguments must throw TypeError +PASS AudioNode interface: context.destination must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on context.destination with too few arguments must throw TypeError +PASS AudioNode interface: context.destination must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on context.destination with too few arguments must throw TypeError +PASS AudioNode interface: context.destination must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on context.destination with too few arguments must throw TypeError +PASS AudioNode interface: context.destination must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on context.destination with too few arguments must throw TypeError +PASS AudioNode interface: context.destination must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on context.destination with too few arguments must throw TypeError +PASS AudioNode interface: context.destination must inherit property "context" with the proper type +PASS AudioNode interface: context.destination must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: context.destination must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: context.destination must inherit property "channelCount" with the proper type +PASS AudioNode interface: context.destination must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: context.destination must inherit property "channelInterpretation" with the proper type +PASS AudioListener interface: existence and properties of interface object +PASS AudioListener interface object length +PASS AudioListener interface object name +PASS AudioListener interface: existence and properties of interface prototype object +PASS AudioListener interface: existence and properties of interface prototype object's "constructor" property +PASS AudioListener interface: existence and properties of interface prototype object's @@unscopables property +PASS AudioListener interface: attribute positionX +PASS AudioListener interface: attribute positionY +PASS AudioListener interface: attribute positionZ +PASS AudioListener interface: attribute forwardX +PASS AudioListener interface: attribute forwardY +PASS AudioListener interface: attribute forwardZ +PASS AudioListener interface: attribute upX +PASS AudioListener interface: attribute upY +PASS AudioListener interface: attribute upZ +PASS AudioListener interface: operation setPosition(float, float, float) +PASS AudioListener interface: operation setOrientation(float, float, float, float, float, float) +PASS AudioListener must be primary interface of context.listener +PASS Stringification of context.listener +PASS AudioListener interface: context.listener must inherit property "positionX" with the proper type +PASS AudioListener interface: context.listener must inherit property "positionY" with the proper type +PASS AudioListener interface: context.listener must inherit property "positionZ" with the proper type +PASS AudioListener interface: context.listener must inherit property "forwardX" with the proper type +PASS AudioListener interface: context.listener must inherit property "forwardY" with the proper type +PASS AudioListener interface: context.listener must inherit property "forwardZ" with the proper type +PASS AudioListener interface: context.listener must inherit property "upX" with the proper type +PASS AudioListener interface: context.listener must inherit property "upY" with the proper type +PASS AudioListener interface: context.listener must inherit property "upZ" with the proper type +PASS AudioListener interface: context.listener must inherit property "setPosition(float, float, float)" with the proper type +PASS AudioListener interface: calling setPosition(float, float, float) on context.listener with too few arguments must throw TypeError +PASS AudioListener interface: context.listener must inherit property "setOrientation(float, float, float, float, float, float)" with the proper type +PASS AudioListener interface: calling setOrientation(float, float, float, float, float, float) on context.listener with too few arguments must throw TypeError +PASS AudioProcessingEvent interface: existence and properties of interface object +PASS AudioProcessingEvent interface object length +PASS AudioProcessingEvent interface object name +PASS AudioProcessingEvent interface: existence and properties of interface prototype object +PASS AudioProcessingEvent interface: existence and properties of interface prototype object's "constructor" property +PASS AudioProcessingEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS AudioProcessingEvent interface: attribute playbackTime +PASS AudioProcessingEvent interface: attribute inputBuffer +PASS AudioProcessingEvent interface: attribute outputBuffer +PASS AudioProcessingEvent must be primary interface of new AudioProcessingEvent('', { + playbackTime: 0, inputBuffer: buffer, outputBuffer: buffer + }) +PASS Stringification of new AudioProcessingEvent('', { + playbackTime: 0, inputBuffer: buffer, outputBuffer: buffer + }) +PASS AudioProcessingEvent interface: new AudioProcessingEvent('', { + playbackTime: 0, inputBuffer: buffer, outputBuffer: buffer + }) must inherit property "playbackTime" with the proper type +PASS AudioProcessingEvent interface: new AudioProcessingEvent('', { + playbackTime: 0, inputBuffer: buffer, outputBuffer: buffer + }) must inherit property "inputBuffer" with the proper type +PASS AudioProcessingEvent interface: new AudioProcessingEvent('', { + playbackTime: 0, inputBuffer: buffer, outputBuffer: buffer + }) must inherit property "outputBuffer" with the proper type +PASS BiquadFilterNode interface: existence and properties of interface object +PASS BiquadFilterNode interface object length +PASS BiquadFilterNode interface object name +PASS BiquadFilterNode interface: existence and properties of interface prototype object +PASS BiquadFilterNode interface: existence and properties of interface prototype object's "constructor" property +PASS BiquadFilterNode interface: existence and properties of interface prototype object's @@unscopables property +PASS BiquadFilterNode interface: attribute type +PASS BiquadFilterNode interface: attribute frequency +PASS BiquadFilterNode interface: attribute detune +PASS BiquadFilterNode interface: attribute Q +PASS BiquadFilterNode interface: attribute gain +PASS BiquadFilterNode interface: operation getFrequencyResponse(Float32Array, Float32Array, Float32Array) +PASS BiquadFilterNode must be primary interface of new BiquadFilterNode(context) +PASS Stringification of new BiquadFilterNode(context) +PASS BiquadFilterNode interface: new BiquadFilterNode(context) must inherit property "type" with the proper type +PASS BiquadFilterNode interface: new BiquadFilterNode(context) must inherit property "frequency" with the proper type +PASS BiquadFilterNode interface: new BiquadFilterNode(context) must inherit property "detune" with the proper type +PASS BiquadFilterNode interface: new BiquadFilterNode(context) must inherit property "Q" with the proper type +PASS BiquadFilterNode interface: new BiquadFilterNode(context) must inherit property "gain" with the proper type +PASS BiquadFilterNode interface: new BiquadFilterNode(context) must inherit property "getFrequencyResponse(Float32Array, Float32Array, Float32Array)" with the proper type +PASS BiquadFilterNode interface: calling getFrequencyResponse(Float32Array, Float32Array, Float32Array) on new BiquadFilterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new BiquadFilterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new BiquadFilterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new BiquadFilterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new BiquadFilterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new BiquadFilterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new BiquadFilterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new BiquadFilterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new BiquadFilterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new BiquadFilterNode(context) must inherit property "channelInterpretation" with the proper type +PASS ChannelMergerNode interface: existence and properties of interface object +PASS ChannelMergerNode interface object length +PASS ChannelMergerNode interface object name +PASS ChannelMergerNode interface: existence and properties of interface prototype object +PASS ChannelMergerNode interface: existence and properties of interface prototype object's "constructor" property +PASS ChannelMergerNode interface: existence and properties of interface prototype object's @@unscopables property +PASS ChannelMergerNode must be primary interface of new ChannelMergerNode(context) +PASS Stringification of new ChannelMergerNode(context) +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new ChannelMergerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new ChannelMergerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "channelInterpretation" with the proper type +PASS ChannelSplitterNode interface: existence and properties of interface object +PASS ChannelSplitterNode interface object length +PASS ChannelSplitterNode interface object name +PASS ChannelSplitterNode interface: existence and properties of interface prototype object +PASS ChannelSplitterNode interface: existence and properties of interface prototype object's "constructor" property +PASS ChannelSplitterNode interface: existence and properties of interface prototype object's @@unscopables property +PASS ChannelSplitterNode must be primary interface of new ChannelSplitterNode(context) +PASS Stringification of new ChannelSplitterNode(context) +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new ChannelSplitterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new ChannelSplitterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "channelInterpretation" with the proper type +PASS ConstantSourceNode interface: existence and properties of interface object +PASS ConstantSourceNode interface object length +PASS ConstantSourceNode interface object name +PASS ConstantSourceNode interface: existence and properties of interface prototype object +PASS ConstantSourceNode interface: existence and properties of interface prototype object's "constructor" property +PASS ConstantSourceNode interface: existence and properties of interface prototype object's @@unscopables property +PASS ConstantSourceNode interface: attribute offset +PASS ConstantSourceNode must be primary interface of new ConstantSourceNode(context) +PASS Stringification of new ConstantSourceNode(context) +PASS ConstantSourceNode interface: new ConstantSourceNode(context) must inherit property "offset" with the proper type +PASS AudioScheduledSourceNode interface: new ConstantSourceNode(context) must inherit property "onended" with the proper type +PASS AudioScheduledSourceNode interface: new ConstantSourceNode(context) must inherit property "start(double)" with the proper type +PASS AudioScheduledSourceNode interface: calling start(double) on new ConstantSourceNode(context) with too few arguments must throw TypeError +PASS AudioScheduledSourceNode interface: new ConstantSourceNode(context) must inherit property "stop(double)" with the proper type +PASS AudioScheduledSourceNode interface: calling stop(double) on new ConstantSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new ConstantSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new ConstantSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new ConstantSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new ConstantSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new ConstantSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new ConstantSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new ConstantSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new ConstantSourceNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new ConstantSourceNode(context) must inherit property "channelInterpretation" with the proper type +PASS ConvolverNode interface: existence and properties of interface object +PASS ConvolverNode interface object length +PASS ConvolverNode interface object name +PASS ConvolverNode interface: existence and properties of interface prototype object +PASS ConvolverNode interface: existence and properties of interface prototype object's "constructor" property +PASS ConvolverNode interface: existence and properties of interface prototype object's @@unscopables property +PASS ConvolverNode interface: attribute buffer +PASS ConvolverNode interface: attribute normalize +PASS ConvolverNode must be primary interface of new ConvolverNode(context) +PASS Stringification of new ConvolverNode(context) +PASS ConvolverNode interface: new ConvolverNode(context) must inherit property "buffer" with the proper type +PASS ConvolverNode interface: new ConvolverNode(context) must inherit property "normalize" with the proper type +PASS AudioNode interface: new ConvolverNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new ConvolverNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConvolverNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new ConvolverNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConvolverNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new ConvolverNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new ConvolverNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConvolverNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new ConvolverNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConvolverNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new ConvolverNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConvolverNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new ConvolverNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConvolverNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new ConvolverNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConvolverNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new ConvolverNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new ConvolverNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new ConvolverNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new ConvolverNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new ConvolverNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new ConvolverNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new ConvolverNode(context) must inherit property "channelInterpretation" with the proper type +PASS DelayNode interface: existence and properties of interface object +PASS DelayNode interface object length +PASS DelayNode interface object name +PASS DelayNode interface: existence and properties of interface prototype object +PASS DelayNode interface: existence and properties of interface prototype object's "constructor" property +PASS DelayNode interface: existence and properties of interface prototype object's @@unscopables property +PASS DelayNode interface: attribute delayTime +PASS DelayNode must be primary interface of new DelayNode(context) +PASS Stringification of new DelayNode(context) +PASS DelayNode interface: new DelayNode(context) must inherit property "delayTime" with the proper type +PASS AudioNode interface: new DelayNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new DelayNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DelayNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new DelayNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DelayNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new DelayNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new DelayNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DelayNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new DelayNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DelayNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new DelayNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DelayNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new DelayNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DelayNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new DelayNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DelayNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new DelayNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DelayNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new DelayNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new DelayNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new DelayNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new DelayNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new DelayNode(context) must inherit property "channelInterpretation" with the proper type +PASS DynamicsCompressorNode interface: existence and properties of interface object +PASS DynamicsCompressorNode interface object length +PASS DynamicsCompressorNode interface object name +PASS DynamicsCompressorNode interface: existence and properties of interface prototype object +PASS DynamicsCompressorNode interface: existence and properties of interface prototype object's "constructor" property +PASS DynamicsCompressorNode interface: existence and properties of interface prototype object's @@unscopables property +PASS DynamicsCompressorNode interface: attribute threshold +PASS DynamicsCompressorNode interface: attribute knee +PASS DynamicsCompressorNode interface: attribute ratio +PASS DynamicsCompressorNode interface: attribute reduction +PASS DynamicsCompressorNode interface: attribute attack +PASS DynamicsCompressorNode interface: attribute release +PASS DynamicsCompressorNode must be primary interface of new DynamicsCompressorNode(context) +PASS Stringification of new DynamicsCompressorNode(context) +PASS DynamicsCompressorNode interface: new DynamicsCompressorNode(context) must inherit property "threshold" with the proper type +PASS DynamicsCompressorNode interface: new DynamicsCompressorNode(context) must inherit property "knee" with the proper type +PASS DynamicsCompressorNode interface: new DynamicsCompressorNode(context) must inherit property "ratio" with the proper type +PASS DynamicsCompressorNode interface: new DynamicsCompressorNode(context) must inherit property "reduction" with the proper type +PASS DynamicsCompressorNode interface: new DynamicsCompressorNode(context) must inherit property "attack" with the proper type +PASS DynamicsCompressorNode interface: new DynamicsCompressorNode(context) must inherit property "release" with the proper type +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new DynamicsCompressorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new DynamicsCompressorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new DynamicsCompressorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new DynamicsCompressorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new DynamicsCompressorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new DynamicsCompressorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new DynamicsCompressorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new DynamicsCompressorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new DynamicsCompressorNode(context) must inherit property "channelInterpretation" with the proper type +PASS GainNode interface: existence and properties of interface object +PASS GainNode interface object length +PASS GainNode interface object name +PASS GainNode interface: existence and properties of interface prototype object +PASS GainNode interface: existence and properties of interface prototype object's "constructor" property +PASS GainNode interface: existence and properties of interface prototype object's @@unscopables property +PASS GainNode interface: attribute gain +PASS GainNode must be primary interface of new GainNode(context) +PASS Stringification of new GainNode(context) +PASS GainNode interface: new GainNode(context) must inherit property "gain" with the proper type +PASS AudioNode interface: new GainNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new GainNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new GainNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new GainNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new GainNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new GainNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new GainNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new GainNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new GainNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new GainNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new GainNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new GainNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new GainNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new GainNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new GainNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new GainNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new GainNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new GainNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new GainNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new GainNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new GainNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new GainNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new GainNode(context) must inherit property "channelInterpretation" with the proper type +PASS IIRFilterNode interface: existence and properties of interface object +PASS IIRFilterNode interface object length +PASS IIRFilterNode interface object name +PASS IIRFilterNode interface: existence and properties of interface prototype object +PASS IIRFilterNode interface: existence and properties of interface prototype object's "constructor" property +PASS IIRFilterNode interface: existence and properties of interface prototype object's @@unscopables property +PASS IIRFilterNode interface: operation getFrequencyResponse(Float32Array, Float32Array, Float32Array) +PASS IIRFilterNode must be primary interface of new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) +PASS Stringification of new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) +PASS IIRFilterNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "getFrequencyResponse(Float32Array, Float32Array, Float32Array)" with the proper type +PASS IIRFilterNode interface: calling getFrequencyResponse(Float32Array, Float32Array, Float32Array) on new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) with too few arguments must throw TypeError +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) with too few arguments must throw TypeError +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) with too few arguments must throw TypeError +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) with too few arguments must throw TypeError +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) with too few arguments must throw TypeError +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) with too few arguments must throw TypeError +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) with too few arguments must throw TypeError +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) with too few arguments must throw TypeError +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) with too few arguments must throw TypeError +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "context" with the proper type +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new IIRFilterNode(context, {feedforward: [1], feedback: [1]}) must inherit property "channelInterpretation" with the proper type +PASS MediaElementAudioSourceNode interface: existence and properties of interface object +PASS MediaElementAudioSourceNode interface object length +PASS MediaElementAudioSourceNode interface object name +PASS MediaElementAudioSourceNode interface: existence and properties of interface prototype object +PASS MediaElementAudioSourceNode interface: existence and properties of interface prototype object's "constructor" property +PASS MediaElementAudioSourceNode interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaElementAudioSourceNode interface: attribute mediaElement +PASS MediaElementAudioSourceNode must be primary interface of new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) +PASS Stringification of new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) +PASS MediaElementAudioSourceNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "mediaElement" with the proper type +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "context" with the proper type +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new MediaElementAudioSourceNode(context, {mediaElement: new Audio}) must inherit property "channelInterpretation" with the proper type +PASS MediaStreamAudioDestinationNode interface: existence and properties of interface object +PASS MediaStreamAudioDestinationNode interface object length +PASS MediaStreamAudioDestinationNode interface object name +PASS MediaStreamAudioDestinationNode interface: existence and properties of interface prototype object +PASS MediaStreamAudioDestinationNode interface: existence and properties of interface prototype object's "constructor" property +PASS MediaStreamAudioDestinationNode interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaStreamAudioDestinationNode interface: attribute stream +PASS MediaStreamAudioDestinationNode must be primary interface of new MediaStreamAudioDestinationNode(context) +PASS Stringification of new MediaStreamAudioDestinationNode(context) +PASS MediaStreamAudioDestinationNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "stream" with the proper type +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new MediaStreamAudioDestinationNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new MediaStreamAudioDestinationNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new MediaStreamAudioDestinationNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new MediaStreamAudioDestinationNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new MediaStreamAudioDestinationNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new MediaStreamAudioDestinationNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new MediaStreamAudioDestinationNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new MediaStreamAudioDestinationNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new MediaStreamAudioDestinationNode(context) must inherit property "channelInterpretation" with the proper type +PASS MediaStreamAudioSourceNode interface: existence and properties of interface object +PASS MediaStreamAudioSourceNode interface object length +PASS MediaStreamAudioSourceNode interface object name +PASS MediaStreamAudioSourceNode interface: existence and properties of interface prototype object +PASS MediaStreamAudioSourceNode interface: existence and properties of interface prototype object's "constructor" property +PASS MediaStreamAudioSourceNode interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaStreamAudioSourceNode interface: attribute mediaStream +FAIL MediaStreamTrackAudioSourceNode interface: existence and properties of interface object assert_own_property: self does not have own property "MediaStreamTrackAudioSourceNode" expected property "MediaStreamTrackAudioSourceNode" missing +FAIL MediaStreamTrackAudioSourceNode interface object length assert_own_property: self does not have own property "MediaStreamTrackAudioSourceNode" expected property "MediaStreamTrackAudioSourceNode" missing +FAIL MediaStreamTrackAudioSourceNode interface object name assert_own_property: self does not have own property "MediaStreamTrackAudioSourceNode" expected property "MediaStreamTrackAudioSourceNode" missing +FAIL MediaStreamTrackAudioSourceNode interface: existence and properties of interface prototype object assert_own_property: self does not have own property "MediaStreamTrackAudioSourceNode" expected property "MediaStreamTrackAudioSourceNode" missing +FAIL MediaStreamTrackAudioSourceNode interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "MediaStreamTrackAudioSourceNode" expected property "MediaStreamTrackAudioSourceNode" missing +FAIL MediaStreamTrackAudioSourceNode interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "MediaStreamTrackAudioSourceNode" expected property "MediaStreamTrackAudioSourceNode" missing +PASS OscillatorNode interface: existence and properties of interface object +PASS OscillatorNode interface object length +PASS OscillatorNode interface object name +PASS OscillatorNode interface: existence and properties of interface prototype object +PASS OscillatorNode interface: existence and properties of interface prototype object's "constructor" property +PASS OscillatorNode interface: existence and properties of interface prototype object's @@unscopables property +PASS OscillatorNode interface: attribute type +PASS OscillatorNode interface: attribute frequency +PASS OscillatorNode interface: attribute detune +PASS OscillatorNode interface: operation setPeriodicWave(PeriodicWave) +PASS OscillatorNode must be primary interface of new OscillatorNode(context) +PASS Stringification of new OscillatorNode(context) +PASS OscillatorNode interface: new OscillatorNode(context) must inherit property "type" with the proper type +PASS OscillatorNode interface: new OscillatorNode(context) must inherit property "frequency" with the proper type +PASS OscillatorNode interface: new OscillatorNode(context) must inherit property "detune" with the proper type +PASS OscillatorNode interface: new OscillatorNode(context) must inherit property "setPeriodicWave(PeriodicWave)" with the proper type +PASS OscillatorNode interface: calling setPeriodicWave(PeriodicWave) on new OscillatorNode(context) with too few arguments must throw TypeError +PASS AudioScheduledSourceNode interface: new OscillatorNode(context) must inherit property "onended" with the proper type +PASS AudioScheduledSourceNode interface: new OscillatorNode(context) must inherit property "start(double)" with the proper type +PASS AudioScheduledSourceNode interface: calling start(double) on new OscillatorNode(context) with too few arguments must throw TypeError +PASS AudioScheduledSourceNode interface: new OscillatorNode(context) must inherit property "stop(double)" with the proper type +PASS AudioScheduledSourceNode interface: calling stop(double) on new OscillatorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new OscillatorNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new OscillatorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new OscillatorNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new OscillatorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new OscillatorNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new OscillatorNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new OscillatorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new OscillatorNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new OscillatorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new OscillatorNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new OscillatorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new OscillatorNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new OscillatorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new OscillatorNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new OscillatorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new OscillatorNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new OscillatorNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new OscillatorNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new OscillatorNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new OscillatorNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new OscillatorNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new OscillatorNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new OscillatorNode(context) must inherit property "channelInterpretation" with the proper type +PASS PannerNode interface: existence and properties of interface object +PASS PannerNode interface object length +PASS PannerNode interface object name +PASS PannerNode interface: existence and properties of interface prototype object +PASS PannerNode interface: existence and properties of interface prototype object's "constructor" property +PASS PannerNode interface: existence and properties of interface prototype object's @@unscopables property +PASS PannerNode interface: attribute panningModel +PASS PannerNode interface: attribute positionX +PASS PannerNode interface: attribute positionY +PASS PannerNode interface: attribute positionZ +PASS PannerNode interface: attribute orientationX +PASS PannerNode interface: attribute orientationY +PASS PannerNode interface: attribute orientationZ +PASS PannerNode interface: attribute distanceModel +PASS PannerNode interface: attribute refDistance +PASS PannerNode interface: attribute maxDistance +PASS PannerNode interface: attribute rolloffFactor +PASS PannerNode interface: attribute coneInnerAngle +PASS PannerNode interface: attribute coneOuterAngle +PASS PannerNode interface: attribute coneOuterGain +PASS PannerNode interface: operation setPosition(float, float, float) +PASS PannerNode interface: operation setOrientation(float, float, float) +PASS PannerNode must be primary interface of new PannerNode(context) +PASS Stringification of new PannerNode(context) +PASS PannerNode interface: new PannerNode(context) must inherit property "panningModel" with the proper type +PASS PannerNode interface: new PannerNode(context) must inherit property "positionX" with the proper type +PASS PannerNode interface: new PannerNode(context) must inherit property "positionY" with the proper type +PASS PannerNode interface: new PannerNode(context) must inherit property "positionZ" with the proper type +PASS PannerNode interface: new PannerNode(context) must inherit property "orientationX" with the proper type +PASS PannerNode interface: new PannerNode(context) must inherit property "orientationY" with the proper type +PASS PannerNode interface: new PannerNode(context) must inherit property "orientationZ" with the proper type +PASS PannerNode interface: new PannerNode(context) must inherit property "distanceModel" with the proper type +PASS PannerNode interface: new PannerNode(context) must inherit property "refDistance" with the proper type +PASS PannerNode interface: new PannerNode(context) must inherit property "maxDistance" with the proper type +PASS PannerNode interface: new PannerNode(context) must inherit property "rolloffFactor" with the proper type +PASS PannerNode interface: new PannerNode(context) must inherit property "coneInnerAngle" with the proper type +PASS PannerNode interface: new PannerNode(context) must inherit property "coneOuterAngle" with the proper type +PASS PannerNode interface: new PannerNode(context) must inherit property "coneOuterGain" with the proper type +PASS PannerNode interface: new PannerNode(context) must inherit property "setPosition(float, float, float)" with the proper type +PASS PannerNode interface: calling setPosition(float, float, float) on new PannerNode(context) with too few arguments must throw TypeError +PASS PannerNode interface: new PannerNode(context) must inherit property "setOrientation(float, float, float)" with the proper type +PASS PannerNode interface: calling setOrientation(float, float, float) on new PannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new PannerNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new PannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new PannerNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new PannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new PannerNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new PannerNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new PannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new PannerNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new PannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new PannerNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new PannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new PannerNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new PannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new PannerNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new PannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new PannerNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new PannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new PannerNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new PannerNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new PannerNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new PannerNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new PannerNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new PannerNode(context) must inherit property "channelInterpretation" with the proper type +PASS PeriodicWave interface: existence and properties of interface object +PASS PeriodicWave interface object length +PASS PeriodicWave interface object name +PASS PeriodicWave interface: existence and properties of interface prototype object +PASS PeriodicWave interface: existence and properties of interface prototype object's "constructor" property +PASS PeriodicWave interface: existence and properties of interface prototype object's @@unscopables property +PASS PeriodicWave must be primary interface of new PeriodicWave(context) +PASS Stringification of new PeriodicWave(context) +PASS ScriptProcessorNode interface: existence and properties of interface object +PASS ScriptProcessorNode interface object length +PASS ScriptProcessorNode interface object name +PASS ScriptProcessorNode interface: existence and properties of interface prototype object +PASS ScriptProcessorNode interface: existence and properties of interface prototype object's "constructor" property +PASS ScriptProcessorNode interface: existence and properties of interface prototype object's @@unscopables property +PASS ScriptProcessorNode interface: attribute onaudioprocess +PASS ScriptProcessorNode interface: attribute bufferSize +PASS ScriptProcessorNode must be primary interface of context.createScriptProcessor() +PASS Stringification of context.createScriptProcessor() +PASS ScriptProcessorNode interface: context.createScriptProcessor() must inherit property "onaudioprocess" with the proper type +PASS ScriptProcessorNode interface: context.createScriptProcessor() must inherit property "bufferSize" with the proper type +PASS AudioNode interface: context.createScriptProcessor() must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on context.createScriptProcessor() with too few arguments must throw TypeError +PASS AudioNode interface: context.createScriptProcessor() must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on context.createScriptProcessor() with too few arguments must throw TypeError +PASS AudioNode interface: context.createScriptProcessor() must inherit property "disconnect()" with the proper type +PASS AudioNode interface: context.createScriptProcessor() must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on context.createScriptProcessor() with too few arguments must throw TypeError +PASS AudioNode interface: context.createScriptProcessor() must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on context.createScriptProcessor() with too few arguments must throw TypeError +PASS AudioNode interface: context.createScriptProcessor() must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on context.createScriptProcessor() with too few arguments must throw TypeError +PASS AudioNode interface: context.createScriptProcessor() must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on context.createScriptProcessor() with too few arguments must throw TypeError +PASS AudioNode interface: context.createScriptProcessor() must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on context.createScriptProcessor() with too few arguments must throw TypeError +PASS AudioNode interface: context.createScriptProcessor() must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on context.createScriptProcessor() with too few arguments must throw TypeError +PASS AudioNode interface: context.createScriptProcessor() must inherit property "context" with the proper type +PASS AudioNode interface: context.createScriptProcessor() must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: context.createScriptProcessor() must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: context.createScriptProcessor() must inherit property "channelCount" with the proper type +PASS AudioNode interface: context.createScriptProcessor() must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: context.createScriptProcessor() must inherit property "channelInterpretation" with the proper type +PASS StereoPannerNode interface: existence and properties of interface object +PASS StereoPannerNode interface object length +PASS StereoPannerNode interface object name +PASS StereoPannerNode interface: existence and properties of interface prototype object +PASS StereoPannerNode interface: existence and properties of interface prototype object's "constructor" property +PASS StereoPannerNode interface: existence and properties of interface prototype object's @@unscopables property +PASS StereoPannerNode interface: attribute pan +PASS StereoPannerNode must be primary interface of new StereoPannerNode(context) +PASS Stringification of new StereoPannerNode(context) +PASS StereoPannerNode interface: new StereoPannerNode(context) must inherit property "pan" with the proper type +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new StereoPannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new StereoPannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new StereoPannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new StereoPannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new StereoPannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new StereoPannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new StereoPannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new StereoPannerNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new StereoPannerNode(context) must inherit property "channelInterpretation" with the proper type +PASS WaveShaperNode interface: existence and properties of interface object +PASS WaveShaperNode interface object length +PASS WaveShaperNode interface object name +PASS WaveShaperNode interface: existence and properties of interface prototype object +PASS WaveShaperNode interface: existence and properties of interface prototype object's "constructor" property +PASS WaveShaperNode interface: existence and properties of interface prototype object's @@unscopables property +PASS WaveShaperNode interface: attribute curve +PASS WaveShaperNode interface: attribute oversample +PASS WaveShaperNode must be primary interface of new WaveShaperNode(context) +PASS Stringification of new WaveShaperNode(context) +PASS WaveShaperNode interface: new WaveShaperNode(context) must inherit property "curve" with the proper type +PASS WaveShaperNode interface: new WaveShaperNode(context) must inherit property "oversample" with the proper type +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on new WaveShaperNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on new WaveShaperNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "disconnect()" with the proper type +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on new WaveShaperNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on new WaveShaperNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new WaveShaperNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new WaveShaperNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on new WaveShaperNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new WaveShaperNode(context) with too few arguments must throw TypeError +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "context" with the proper type +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "channelCount" with the proper type +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: new WaveShaperNode(context) must inherit property "channelInterpretation" with the proper type +PASS AudioWorklet interface: existence and properties of interface object +PASS AudioWorklet interface object length +PASS AudioWorklet interface object name +PASS AudioWorklet interface: existence and properties of interface prototype object +PASS AudioWorklet interface: existence and properties of interface prototype object's "constructor" property +PASS AudioWorklet interface: existence and properties of interface prototype object's @@unscopables property +PASS AudioWorklet must be primary interface of context.audioWorklet +PASS Stringification of context.audioWorklet +PASS AudioWorkletGlobalScope interface: existence and properties of interface object +PASS AudioParamMap interface: existence and properties of interface object +PASS AudioParamMap interface object length +PASS AudioParamMap interface object name +PASS AudioParamMap interface: existence and properties of interface prototype object +PASS AudioParamMap interface: existence and properties of interface prototype object's "constructor" property +PASS AudioParamMap interface: existence and properties of interface prototype object's @@unscopables property +PASS AudioParamMap must be primary interface of worklet_node.parameters +PASS Stringification of worklet_node.parameters +PASS AudioWorkletNode interface: existence and properties of interface object +PASS AudioWorkletNode interface object length +PASS AudioWorkletNode interface object name +PASS AudioWorkletNode interface: existence and properties of interface prototype object +PASS AudioWorkletNode interface: existence and properties of interface prototype object's "constructor" property +PASS AudioWorkletNode interface: existence and properties of interface prototype object's @@unscopables property +PASS AudioWorkletNode interface: attribute parameters +PASS AudioWorkletNode interface: attribute port +PASS AudioWorkletNode interface: attribute onprocessorerror +PASS AudioWorkletNode must be primary interface of worklet_node +PASS Stringification of worklet_node +PASS AudioWorkletNode interface: worklet_node must inherit property "parameters" with the proper type +PASS AudioWorkletNode interface: worklet_node must inherit property "port" with the proper type +PASS AudioWorkletNode interface: worklet_node must inherit property "onprocessorerror" with the proper type +PASS AudioNode interface: worklet_node must inherit property "connect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioNode, unsigned long, unsigned long) on worklet_node with too few arguments must throw TypeError +PASS AudioNode interface: worklet_node must inherit property "connect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling connect(AudioParam, unsigned long) on worklet_node with too few arguments must throw TypeError +PASS AudioNode interface: worklet_node must inherit property "disconnect()" with the proper type +PASS AudioNode interface: worklet_node must inherit property "disconnect(unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(unsigned long) on worklet_node with too few arguments must throw TypeError +PASS AudioNode interface: worklet_node must inherit property "disconnect(AudioNode)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode) on worklet_node with too few arguments must throw TypeError +PASS AudioNode interface: worklet_node must inherit property "disconnect(AudioNode, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on worklet_node with too few arguments must throw TypeError +PASS AudioNode interface: worklet_node must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on worklet_node with too few arguments must throw TypeError +PASS AudioNode interface: worklet_node must inherit property "disconnect(AudioParam)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam) on worklet_node with too few arguments must throw TypeError +PASS AudioNode interface: worklet_node must inherit property "disconnect(AudioParam, unsigned long)" with the proper type +PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on worklet_node with too few arguments must throw TypeError +PASS AudioNode interface: worklet_node must inherit property "context" with the proper type +PASS AudioNode interface: worklet_node must inherit property "numberOfInputs" with the proper type +PASS AudioNode interface: worklet_node must inherit property "numberOfOutputs" with the proper type +PASS AudioNode interface: worklet_node must inherit property "channelCount" with the proper type +PASS AudioNode interface: worklet_node must inherit property "channelCountMode" with the proper type +PASS AudioNode interface: worklet_node must inherit property "channelInterpretation" with the proper type +PASS AudioWorkletProcessor interface: existence and properties of interface object Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/webaudio/the-audio-api/the-convolvernode-interface/ctor-convolver.html b/third_party/blink/web_tests/external/wpt/webaudio/the-audio-api/the-convolvernode-interface/ctor-convolver.html index 935ceeb7..97684b2 100644 --- a/third_party/blink/web_tests/external/wpt/webaudio/the-audio-api/the-convolvernode-interface/ctor-convolver.html +++ b/third_party/blink/web_tests/external/wpt/webaudio/the-audio-api/the-convolvernode-interface/ctor-convolver.html
@@ -75,6 +75,19 @@ task.done(); }); + audit.define('illegal sample-rate', (task, should) => { + let node; + let options = {buffer: context.createBuffer(1, 1, context.sampleRate / 2)}; + + should( + () => { + node = new ConvolverNode(context, options); + }, + 'node1 = new ConvolverNode(c, ' + JSON.stringify(options)) + .throw(DOMException, 'NotSupportedError'); + + task.done(); + }); audit.define('construct with options', (task, should) => { let buf = context.createBuffer(1, 1, context.sampleRate);
diff --git a/third_party/blink/web_tests/external/wpt/webmidi/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/webmidi/idlharness.https.window-expected.txt index 23bf13b5..5cc4ad6 100644 --- a/third_party/blink/web_tests/external/wpt/webmidi/idlharness.https.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/webmidi/idlharness.https.window-expected.txt
@@ -1,7 +1,87 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false +Found 83 tests; 71 PASS, 12 FAIL, 0 TIMEOUT, 0 NOTRUN. +FAIL idl_test setup promise_test: Unhandled rejection with value: object "SecurityError: An attempt was made to break through the security policy of the user agent." +PASS Partial interface Navigator: original interface defined +PASS MIDIInputMap interface: existence and properties of interface object +PASS MIDIInputMap interface object length +PASS MIDIInputMap interface object name +PASS MIDIInputMap interface: existence and properties of interface prototype object +PASS MIDIInputMap interface: existence and properties of interface prototype object's "constructor" property +PASS MIDIInputMap interface: existence and properties of interface prototype object's @@unscopables property +FAIL MIDIInputMap must be primary interface of inputs assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: inputs is not defined" +FAIL Stringification of inputs assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: inputs is not defined" +PASS MIDIOutputMap interface: existence and properties of interface object +PASS MIDIOutputMap interface object length +PASS MIDIOutputMap interface object name +PASS MIDIOutputMap interface: existence and properties of interface prototype object +PASS MIDIOutputMap interface: existence and properties of interface prototype object's "constructor" property +PASS MIDIOutputMap interface: existence and properties of interface prototype object's @@unscopables property +FAIL MIDIOutputMap must be primary interface of outputs assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: outputs is not defined" +FAIL Stringification of outputs assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: outputs is not defined" +PASS MIDIAccess interface: existence and properties of interface object +PASS MIDIAccess interface object length +PASS MIDIAccess interface object name +PASS MIDIAccess interface: existence and properties of interface prototype object +PASS MIDIAccess interface: existence and properties of interface prototype object's "constructor" property +PASS MIDIAccess interface: existence and properties of interface prototype object's @@unscopables property +PASS MIDIAccess interface: attribute inputs +PASS MIDIAccess interface: attribute outputs +PASS MIDIAccess interface: attribute onstatechange +PASS MIDIAccess interface: attribute sysexEnabled +FAIL MIDIAccess must be primary interface of access assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: access is not defined" +FAIL Stringification of access assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: access is not defined" +FAIL MIDIAccess interface: access must inherit property "inputs" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: access is not defined" +FAIL MIDIAccess interface: access must inherit property "outputs" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: access is not defined" +FAIL MIDIAccess interface: access must inherit property "onstatechange" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: access is not defined" +FAIL MIDIAccess interface: access must inherit property "sysexEnabled" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: access is not defined" +PASS MIDIPort interface: existence and properties of interface object +PASS MIDIPort interface object length +PASS MIDIPort interface object name +PASS MIDIPort interface: existence and properties of interface prototype object +PASS MIDIPort interface: existence and properties of interface prototype object's "constructor" property +PASS MIDIPort interface: existence and properties of interface prototype object's @@unscopables property +PASS MIDIPort interface: attribute id +PASS MIDIPort interface: attribute manufacturer +PASS MIDIPort interface: attribute name +PASS MIDIPort interface: attribute type +PASS MIDIPort interface: attribute version +PASS MIDIPort interface: attribute state +PASS MIDIPort interface: attribute connection +PASS MIDIPort interface: attribute onstatechange +PASS MIDIPort interface: operation open() +PASS MIDIPort interface: operation close() +PASS MIDIInput interface: existence and properties of interface object +PASS MIDIInput interface object length +PASS MIDIInput interface object name +PASS MIDIInput interface: existence and properties of interface prototype object +PASS MIDIInput interface: existence and properties of interface prototype object's "constructor" property +PASS MIDIInput interface: existence and properties of interface prototype object's @@unscopables property +PASS MIDIInput interface: attribute onmidimessage +PASS MIDIOutput interface: existence and properties of interface object +PASS MIDIOutput interface object length +PASS MIDIOutput interface object name +PASS MIDIOutput interface: existence and properties of interface prototype object +PASS MIDIOutput interface: existence and properties of interface prototype object's "constructor" property +PASS MIDIOutput interface: existence and properties of interface prototype object's @@unscopables property +PASS MIDIOutput interface: operation send([object Object], DOMHighResTimeStamp) +FAIL MIDIOutput interface: operation clear() assert_own_property: interface prototype object missing non-static operation expected property "clear" missing +PASS MIDIMessageEvent interface: existence and properties of interface object +PASS MIDIMessageEvent interface object length +PASS MIDIMessageEvent interface object name +PASS MIDIMessageEvent interface: existence and properties of interface prototype object +PASS MIDIMessageEvent interface: existence and properties of interface prototype object's "constructor" property +PASS MIDIMessageEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS MIDIMessageEvent interface: attribute data +PASS MIDIConnectionEvent interface: existence and properties of interface object +PASS MIDIConnectionEvent interface object length +PASS MIDIConnectionEvent interface object name +PASS MIDIConnectionEvent interface: existence and properties of interface prototype object +PASS MIDIConnectionEvent interface: existence and properties of interface prototype object's "constructor" property +PASS MIDIConnectionEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS MIDIConnectionEvent interface: attribute port +PASS MIDIConnectionEvent must be primary interface of new MIDIConnectionEvent("type") +PASS Stringification of new MIDIConnectionEvent("type") +PASS MIDIConnectionEvent interface: new MIDIConnectionEvent("type") must inherit property "port" with the proper type +PASS Navigator interface: operation requestMIDIAccess(MIDIOptions) Harness: the test ran to completion.
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 c0ce25e..8e853e4 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
@@ -359,6 +359,7 @@ pc1.candidateBuffer.forEach(c => pc1.addIceCandidate(c)); delete pc1.candidateBuffer; await listenToIceConnected(pc1); + await listenToIceConnected(pc2); assert_array_equals(pc1.iceStates, ['new', 'checking', 'connected']); assert_array_equals(pc2.iceStates, ['new', 'checking', 'connected']); }, 'Responder ICE connection state behaves as expected');
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/webrtc/idlharness.https.window-expected.txt index ff203f9..e6a1d72 100644 --- a/third_party/blink/web_tests/external/wpt/webrtc/idlharness.https.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/webrtc/idlharness.https.window-expected.txt
@@ -1,8 +1,9 @@ This is a testharness.js-based test. -Found 295 tests; 268 PASS, 27 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 508 tests; 469 PASS, 39 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Test driver for asyncInitCertificate +PASS Test driver for asyncInitTransports +PASS Test driver for asyncInitMediaStreamTrack PASS Partial interface RTCPeerConnection: original interface defined PASS Partial dictionary RTCOfferOptions: original dictionary defined PASS Partial interface RTCPeerConnection[2]: original interface defined @@ -62,6 +63,71 @@ PASS RTCPeerConnection interface: attribute ondatachannel PASS RTCPeerConnection interface: operation getStats(MediaStreamTrack) FAIL RTCPeerConnection interface: attribute onstatsended assert_true: The prototype object must have a property "onstatsended" expected true got false +PASS RTCPeerConnection must be primary interface of new RTCPeerConnection() +PASS Stringification of new RTCPeerConnection() +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createOffer(RTCOfferOptions)" with the proper type +PASS RTCPeerConnection interface: calling createOffer(RTCOfferOptions) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createAnswer(RTCAnswerOptions)" with the proper type +PASS RTCPeerConnection interface: calling createAnswer(RTCAnswerOptions) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setLocalDescription(RTCSessionDescriptionInit)" with the proper type +PASS RTCPeerConnection interface: calling setLocalDescription(RTCSessionDescriptionInit) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "localDescription" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "currentLocalDescription" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "pendingLocalDescription" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setRemoteDescription(RTCSessionDescriptionInit)" with the proper type +PASS RTCPeerConnection interface: calling setRemoteDescription(RTCSessionDescriptionInit) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "remoteDescription" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "currentRemoteDescription" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "pendingRemoteDescription" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addIceCandidate(RTCIceCandidateInit)" with the proper type +PASS RTCPeerConnection interface: calling addIceCandidate(RTCIceCandidateInit) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "signalingState" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "iceGatheringState" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "iceConnectionState" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "connectionState" with the proper type +FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "canTrickleIceCandidates" with the proper type assert_inherits: property "canTrickleIceCandidates" not found in prototype chain +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "restartIce()" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getDefaultIceServers()" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getConfiguration()" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setConfiguration(RTCConfiguration)" with the proper type +PASS RTCPeerConnection interface: calling setConfiguration(RTCConfiguration) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "close()" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onnegotiationneeded" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onicecandidate" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onicecandidateerror" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onsignalingstatechange" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "oniceconnectionstatechange" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onicegatheringstatechange" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onconnectionstatechange" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions)" with the proper type +PASS RTCPeerConnection interface: calling createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setLocalDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type +PASS RTCPeerConnection interface: calling setLocalDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback)" with the proper type +PASS RTCPeerConnection interface: calling createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type +PASS RTCPeerConnection interface: calling setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addIceCandidate(RTCIceCandidateInit, VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type +PASS RTCPeerConnection interface: calling addIceCandidate(RTCIceCandidateInit, VoidFunction, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "generateCertificate(AlgorithmIdentifier)" with the proper type +PASS RTCPeerConnection interface: calling generateCertificate(AlgorithmIdentifier) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getSenders()" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getReceivers()" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getTransceivers()" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addTrack(MediaStreamTrack, MediaStream)" with the proper type +PASS RTCPeerConnection interface: calling addTrack(MediaStreamTrack, MediaStream) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "removeTrack(RTCRtpSender)" with the proper type +PASS RTCPeerConnection interface: calling removeTrack(RTCRtpSender) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addTransceiver([object Object],[object Object], RTCRtpTransceiverInit)" with the proper type +PASS RTCPeerConnection interface: calling addTransceiver([object Object],[object Object], RTCRtpTransceiverInit) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "ontrack" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "sctp" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createDataChannel(USVString, RTCDataChannelInit)" with the proper type +PASS RTCPeerConnection interface: calling createDataChannel(USVString, RTCDataChannelInit) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "ondatachannel" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getStats(MediaStreamTrack)" with the proper type +PASS RTCPeerConnection interface: calling getStats(MediaStreamTrack) on new RTCPeerConnection() with too few arguments must throw TypeError +FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onstatsended" with the proper type assert_inherits: property "onstatsended" not found in prototype chain PASS RTCSessionDescription interface: existence and properties of interface object PASS RTCSessionDescription interface object length PASS RTCSessionDescription interface object name @@ -71,6 +137,12 @@ FAIL RTCSessionDescription interface: attribute type assert_equals: setter must be undefined for readonly attributes expected (undefined) undefined but got (function) function "function set type() { [native code] }" FAIL RTCSessionDescription interface: attribute sdp assert_equals: setter must be undefined for readonly attributes expected (undefined) undefined but got (function) function "function set sdp() { [native code] }" PASS RTCSessionDescription interface: operation toJSON() +PASS RTCSessionDescription must be primary interface of new RTCSessionDescription({ type: 'offer' }) +PASS Stringification of new RTCSessionDescription({ type: 'offer' }) +PASS RTCSessionDescription interface: new RTCSessionDescription({ type: 'offer' }) must inherit property "type" with the proper type +FAIL RTCSessionDescription interface: new RTCSessionDescription({ type: 'offer' }) must inherit property "sdp" with the proper type assert_equals: expected "string" but got "object" +PASS RTCSessionDescription interface: new RTCSessionDescription({ type: 'offer' }) must inherit property "toJSON()" with the proper type +FAIL RTCSessionDescription interface: default toJSON operation on new RTCSessionDescription({ type: 'offer' }) assert_equals: expected "string" but got "object" PASS RTCIceCandidate interface: existence and properties of interface object PASS RTCIceCandidate interface object length PASS RTCIceCandidate interface object name @@ -92,6 +164,24 @@ PASS RTCIceCandidate interface: attribute relatedPort PASS RTCIceCandidate interface: attribute usernameFragment PASS RTCIceCandidate interface: operation toJSON() +PASS RTCIceCandidate must be primary interface of new RTCIceCandidate({ sdpMid: 1 }) +PASS Stringification of new RTCIceCandidate({ sdpMid: 1 }) +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "candidate" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "sdpMid" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "sdpMLineIndex" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "foundation" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "component" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "priority" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "address" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "protocol" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "port" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "type" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "tcpType" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "relatedAddress" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "relatedPort" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "usernameFragment" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "toJSON()" with the proper type +PASS RTCIceCandidate interface: toJSON operation on new RTCIceCandidate({ sdpMid: 1 }) PASS RTCPeerConnectionIceEvent interface: existence and properties of interface object PASS RTCPeerConnectionIceEvent interface object length PASS RTCPeerConnectionIceEvent interface object name @@ -100,6 +190,10 @@ PASS RTCPeerConnectionIceEvent interface: existence and properties of interface prototype object's @@unscopables property PASS RTCPeerConnectionIceEvent interface: attribute candidate FAIL RTCPeerConnectionIceEvent interface: attribute url assert_true: The prototype object must have a property "url" expected true got false +PASS RTCPeerConnectionIceEvent must be primary interface of new RTCPeerConnectionIceEvent('ice') +PASS Stringification of new RTCPeerConnectionIceEvent('ice') +PASS RTCPeerConnectionIceEvent interface: new RTCPeerConnectionIceEvent('ice') must inherit property "candidate" with the proper type +FAIL RTCPeerConnectionIceEvent interface: new RTCPeerConnectionIceEvent('ice') must inherit property "url" with the proper type assert_inherits: property "url" not found in prototype chain PASS RTCPeerConnectionIceErrorEvent interface: existence and properties of interface object PASS RTCPeerConnectionIceErrorEvent interface object length PASS RTCPeerConnectionIceErrorEvent interface object name @@ -110,6 +204,12 @@ PASS RTCPeerConnectionIceErrorEvent interface: attribute url PASS RTCPeerConnectionIceErrorEvent interface: attribute errorCode PASS RTCPeerConnectionIceErrorEvent interface: attribute errorText +PASS RTCPeerConnectionIceErrorEvent must be primary interface of new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); +PASS Stringification of new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); +PASS RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "hostCandidate" with the proper type +PASS RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "url" with the proper type +PASS RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "errorCode" with the proper type +PASS RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "errorText" with the proper type PASS RTCCertificate interface: existence and properties of interface object PASS RTCCertificate interface object length PASS RTCCertificate interface object name @@ -119,6 +219,11 @@ PASS RTCCertificate interface: attribute expires FAIL RTCCertificate interface: operation getSupportedAlgorithms() assert_own_property: interface object missing static operation expected property "getSupportedAlgorithms" missing PASS RTCCertificate interface: operation getFingerprints() +PASS RTCCertificate must be primary interface of idlTestObjects.certificate +PASS Stringification of idlTestObjects.certificate +PASS RTCCertificate interface: idlTestObjects.certificate must inherit property "expires" with the proper type +PASS RTCCertificate interface: idlTestObjects.certificate must inherit property "getSupportedAlgorithms()" with the proper type +PASS RTCCertificate interface: idlTestObjects.certificate must inherit property "getFingerprints()" with the proper type PASS RTCRtpSender interface: existence and properties of interface object PASS RTCRtpSender interface object length PASS RTCRtpSender interface object name @@ -135,6 +240,22 @@ PASS RTCRtpSender interface: operation setStreams(MediaStream) PASS RTCRtpSender interface: operation getStats() PASS RTCRtpSender interface: attribute dtmf +PASS RTCRtpSender must be primary interface of new RTCPeerConnection().addTransceiver('audio').sender +PASS Stringification of new RTCPeerConnection().addTransceiver('audio').sender +PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "track" with the proper type +PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "transport" with the proper type +PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "rtcpTransport" with the proper type +PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getCapabilities(DOMString)" with the proper type +PASS RTCRtpSender interface: calling getCapabilities(DOMString) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError +PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "setParameters(RTCRtpSendParameters)" with the proper type +PASS RTCRtpSender interface: calling setParameters(RTCRtpSendParameters) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError +PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getParameters()" with the proper type +PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "replaceTrack(MediaStreamTrack)" with the proper type +PASS RTCRtpSender interface: calling replaceTrack(MediaStreamTrack) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError +PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "setStreams(MediaStream)" with the proper type +PASS RTCRtpSender interface: calling setStreams(MediaStream) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError +PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getStats()" with the proper type +PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "dtmf" with the proper type PASS RTCRtpReceiver interface: existence and properties of interface object PASS RTCRtpReceiver interface object length PASS RTCRtpReceiver interface object name @@ -149,6 +270,17 @@ PASS RTCRtpReceiver interface: operation getContributingSources() PASS RTCRtpReceiver interface: operation getSynchronizationSources() PASS RTCRtpReceiver interface: operation getStats() +PASS RTCRtpReceiver must be primary interface of new RTCPeerConnection().addTransceiver('audio').receiver +PASS Stringification of new RTCPeerConnection().addTransceiver('audio').receiver +PASS RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "track" with the proper type +PASS RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "transport" with the proper type +PASS RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "rtcpTransport" with the proper type +PASS RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getCapabilities(DOMString)" with the proper type +PASS RTCRtpReceiver interface: calling getCapabilities(DOMString) on new RTCPeerConnection().addTransceiver('audio').receiver with too few arguments must throw TypeError +PASS RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getParameters()" with the proper type +PASS RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getContributingSources()" with the proper type +PASS RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getSynchronizationSources()" with the proper type +PASS RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getStats()" with the proper type PASS RTCRtpTransceiver interface: existence and properties of interface object PASS RTCRtpTransceiver interface object length PASS RTCRtpTransceiver interface object name @@ -162,6 +294,16 @@ PASS RTCRtpTransceiver interface: attribute currentDirection FAIL RTCRtpTransceiver interface: operation stop() assert_own_property: interface prototype object missing non-static operation expected property "stop" missing PASS RTCRtpTransceiver interface: operation setCodecPreferences([object Object]) +PASS RTCRtpTransceiver must be primary interface of new RTCPeerConnection().addTransceiver('audio') +PASS Stringification of new RTCPeerConnection().addTransceiver('audio') +PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "mid" with the proper type +PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "sender" with the proper type +PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "receiver" with the proper type +PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "direction" with the proper type +PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "currentDirection" with the proper type +FAIL RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "stop()" with the proper type assert_inherits: property "stop" not found in prototype chain +PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "setCodecPreferences([object Object])" with the proper type +PASS RTCRtpTransceiver interface: calling setCodecPreferences([object Object]) on new RTCPeerConnection().addTransceiver('audio') with too few arguments must throw TypeError PASS RTCDtlsTransport interface: existence and properties of interface object PASS RTCDtlsTransport interface object length PASS RTCDtlsTransport interface object name @@ -173,6 +315,13 @@ PASS RTCDtlsTransport interface: operation getRemoteCertificates() PASS RTCDtlsTransport interface: attribute onstatechange PASS RTCDtlsTransport interface: attribute onerror +PASS RTCDtlsTransport must be primary interface of idlTestObjects.dtlsTransport +PASS Stringification of idlTestObjects.dtlsTransport +PASS RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "iceTransport" with the proper type +PASS RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "state" with the proper type +PASS RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "getRemoteCertificates()" with the proper type +PASS RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "onstatechange" with the proper type +PASS RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "onerror" with the proper type FAIL RTCIceTransport interface: existence and properties of interface object assert_throws: interface object didn't throw TypeError when called as a constructor function "function() { new interface_object(); }" did not throw @@ -193,6 +342,20 @@ PASS RTCIceTransport interface: attribute onstatechange PASS RTCIceTransport interface: attribute ongatheringstatechange PASS RTCIceTransport interface: attribute onselectedcandidatepairchange +PASS RTCIceTransport must be primary interface of idlTestObjects.iceTransport +PASS Stringification of idlTestObjects.iceTransport +FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "role" with the proper type assert_equals: expected "string" but got "object" +FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "component" with the proper type assert_inherits: property "component" not found in prototype chain +PASS RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "state" with the proper type +PASS RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "gatheringState" with the proper type +PASS RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getLocalCandidates()" with the proper type +PASS RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getRemoteCandidates()" with the proper type +PASS RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getSelectedCandidatePair()" with the proper type +PASS RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getLocalParameters()" with the proper type +PASS RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getRemoteParameters()" with the proper type +PASS RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "onstatechange" with the proper type +PASS RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "ongatheringstatechange" with the proper type +PASS RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "onselectedcandidatepairchange" with the proper type PASS RTCTrackEvent interface: existence and properties of interface object PASS RTCTrackEvent interface object length PASS RTCTrackEvent interface object name @@ -203,6 +366,12 @@ PASS RTCTrackEvent interface: attribute track PASS RTCTrackEvent interface: attribute streams PASS RTCTrackEvent interface: attribute transceiver +PASS RTCTrackEvent must be primary interface of initTrackEvent() +PASS Stringification of initTrackEvent() +PASS RTCTrackEvent interface: initTrackEvent() must inherit property "receiver" with the proper type +PASS RTCTrackEvent interface: initTrackEvent() must inherit property "track" with the proper type +PASS RTCTrackEvent interface: initTrackEvent() must inherit property "streams" with the proper type +PASS RTCTrackEvent interface: initTrackEvent() must inherit property "transceiver" with the proper type PASS RTCSctpTransport interface: existence and properties of interface object PASS RTCSctpTransport interface object length PASS RTCSctpTransport interface object name @@ -214,6 +383,13 @@ PASS RTCSctpTransport interface: attribute maxMessageSize PASS RTCSctpTransport interface: attribute maxChannels PASS RTCSctpTransport interface: attribute onstatechange +PASS RTCSctpTransport must be primary interface of idlTestObjects.sctpTransport +PASS Stringification of idlTestObjects.sctpTransport +PASS RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "transport" with the proper type +PASS RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "state" with the proper type +PASS RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "maxMessageSize" with the proper type +PASS RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "maxChannels" with the proper type +PASS RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "onstatechange" with the proper type PASS RTCDataChannel interface: existence and properties of interface object PASS RTCDataChannel interface object length PASS RTCDataChannel interface object name @@ -243,6 +419,35 @@ PASS RTCDataChannel interface: operation send(Blob) PASS RTCDataChannel interface: operation send(ArrayBuffer) PASS RTCDataChannel interface: operation send(ArrayBufferView) +PASS RTCDataChannel must be primary interface of new RTCPeerConnection().createDataChannel('') +PASS Stringification of new RTCPeerConnection().createDataChannel('') +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "label" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "ordered" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "maxPacketLifeTime" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "maxRetransmits" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "protocol" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "negotiated" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "id" with the proper type +FAIL RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "priority" with the proper type assert_inherits: property "priority" not found in prototype chain +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "readyState" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "bufferedAmount" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "bufferedAmountLowThreshold" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onopen" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onbufferedamountlow" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onerror" with the proper type +FAIL RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onclosing" with the proper type assert_inherits: property "onclosing" not found in prototype chain +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onclose" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "close()" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onmessage" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "binaryType" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(USVString)" with the proper type +PASS RTCDataChannel interface: calling send(USVString) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(Blob)" with the proper type +PASS RTCDataChannel interface: calling send(Blob) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(ArrayBuffer)" with the proper type +PASS RTCDataChannel interface: calling send(ArrayBuffer) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(ArrayBufferView)" with the proper type +PASS RTCDataChannel interface: calling send(ArrayBufferView) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError PASS RTCDataChannelEvent interface: existence and properties of interface object PASS RTCDataChannelEvent interface object length PASS RTCDataChannelEvent interface object name @@ -250,6 +455,15 @@ PASS RTCDataChannelEvent interface: existence and properties of interface prototype object's "constructor" property PASS RTCDataChannelEvent interface: existence and properties of interface prototype object's @@unscopables property PASS RTCDataChannelEvent interface: attribute channel +PASS RTCDataChannelEvent must be primary interface of new RTCDataChannelEvent('channel', { + channel: new RTCPeerConnection().createDataChannel('') + }) +PASS Stringification of new RTCDataChannelEvent('channel', { + channel: new RTCPeerConnection().createDataChannel('') + }) +PASS RTCDataChannelEvent interface: new RTCDataChannelEvent('channel', { + channel: new RTCPeerConnection().createDataChannel('') + }) must inherit property "channel" with the proper type PASS RTCDTMFSender interface: existence and properties of interface object PASS RTCDTMFSender interface object length PASS RTCDTMFSender interface object name @@ -299,5 +513,8 @@ PASS RTCErrorEvent interface: existence and properties of interface prototype object's "constructor" property PASS RTCErrorEvent interface: existence and properties of interface prototype object's @@unscopables property PASS RTCErrorEvent interface: attribute error +FAIL RTCErrorEvent must be primary interface of new RTCErrorEvent('error') assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'RTCErrorEvent': 2 arguments required, but only 1 present." +FAIL Stringification of new RTCErrorEvent('error') assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'RTCErrorEvent': 2 arguments required, but only 1 present." +FAIL RTCErrorEvent interface: new RTCErrorEvent('error') must inherit property "error" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'RTCErrorEvent': 2 arguments required, but only 1 present." Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/webstorage/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/webstorage/idlharness.window-expected.txt deleted file mode 100644 index adb6cc43..0000000 --- a/third_party/blink/web_tests/external/wpt/webstorage/idlharness.window-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/webusb/idlharness.https.any-expected.txt b/third_party/blink/web_tests/external/wpt/webusb/idlharness.https.any-expected.txt index 11d4d700..506f932 100644 --- a/third_party/blink/web_tests/external/wpt/webusb/idlharness.https.any-expected.txt +++ b/third_party/blink/web_tests/external/wpt/webusb/idlharness.https.any-expected.txt
@@ -1,8 +1,264 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface WorkerNavigator: original interface defined assert_true: Original interface should be defined expected true got false +Found 260 tests; 180 PASS, 80 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +FAIL USB device setup promise_test: Unhandled rejection with value: object "TypeError: Cannot read property 'configurations' of undefined" +PASS Partial interface Navigator: original interface defined +PASS Partial interface Navigator: valid exposure set +PASS Partial interface WorkerNavigator: original interface defined +PASS Partial interface WorkerNavigator: valid exposure set +PASS USB interface: existence and properties of interface object +PASS USB interface object length +PASS USB interface object name +PASS USB interface: existence and properties of interface prototype object +PASS USB interface: existence and properties of interface prototype object's "constructor" property +PASS USB interface: existence and properties of interface prototype object's @@unscopables property +PASS USB interface: attribute onconnect +PASS USB interface: attribute ondisconnect +PASS USB interface: operation getDevices() +PASS USB interface: operation requestDevice(USBDeviceRequestOptions) +PASS USB must be primary interface of navigator.usb +PASS Stringification of navigator.usb +PASS USB interface: navigator.usb must inherit property "onconnect" with the proper type +PASS USB interface: navigator.usb must inherit property "ondisconnect" with the proper type +PASS USB interface: navigator.usb must inherit property "getDevices()" with the proper type +PASS USB interface: navigator.usb must inherit property "requestDevice(USBDeviceRequestOptions)" with the proper type +PASS USB interface: calling requestDevice(USBDeviceRequestOptions) on navigator.usb with too few arguments must throw TypeError +PASS USBConnectionEvent interface: existence and properties of interface object +PASS USBConnectionEvent interface object length +PASS USBConnectionEvent interface object name +PASS USBConnectionEvent interface: existence and properties of interface prototype object +PASS USBConnectionEvent interface: existence and properties of interface prototype object's "constructor" property +PASS USBConnectionEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS USBConnectionEvent interface: attribute device +FAIL USBConnectionEvent must be primary interface of usbConnectionEvent assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConnectionEvent is not defined" +FAIL Stringification of usbConnectionEvent assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConnectionEvent is not defined" +FAIL USBConnectionEvent interface: usbConnectionEvent must inherit property "device" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConnectionEvent is not defined" +PASS USBDevice interface: existence and properties of interface object +PASS USBDevice interface object length +PASS USBDevice interface object name +PASS USBDevice interface: existence and properties of interface prototype object +PASS USBDevice interface: existence and properties of interface prototype object's "constructor" property +PASS USBDevice interface: existence and properties of interface prototype object's @@unscopables property +PASS USBDevice interface: attribute usbVersionMajor +PASS USBDevice interface: attribute usbVersionMinor +PASS USBDevice interface: attribute usbVersionSubminor +PASS USBDevice interface: attribute deviceClass +PASS USBDevice interface: attribute deviceSubclass +PASS USBDevice interface: attribute deviceProtocol +PASS USBDevice interface: attribute vendorId +PASS USBDevice interface: attribute productId +PASS USBDevice interface: attribute deviceVersionMajor +PASS USBDevice interface: attribute deviceVersionMinor +PASS USBDevice interface: attribute deviceVersionSubminor +PASS USBDevice interface: attribute manufacturerName +PASS USBDevice interface: attribute productName +PASS USBDevice interface: attribute serialNumber +PASS USBDevice interface: attribute configuration +PASS USBDevice interface: attribute configurations +PASS USBDevice interface: attribute opened +PASS USBDevice interface: operation open() +PASS USBDevice interface: operation close() +PASS USBDevice interface: operation selectConfiguration(octet) +PASS USBDevice interface: operation claimInterface(octet) +PASS USBDevice interface: operation releaseInterface(octet) +PASS USBDevice interface: operation selectAlternateInterface(octet, octet) +PASS USBDevice interface: operation controlTransferIn(USBControlTransferParameters, unsigned short) +PASS USBDevice interface: operation controlTransferOut(USBControlTransferParameters, BufferSource) +PASS USBDevice interface: operation clearHalt(USBDirection, octet) +PASS USBDevice interface: operation transferIn(octet, unsigned long) +PASS USBDevice interface: operation transferOut(octet, BufferSource) +PASS USBDevice interface: operation isochronousTransferIn(octet, [object Object]) +PASS USBDevice interface: operation isochronousTransferOut(octet, BufferSource, [object Object]) +PASS USBDevice interface: operation reset() +FAIL USBDevice must be primary interface of usbDevice assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL Stringification of usbDevice assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "usbVersionMajor" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "usbVersionMinor" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "usbVersionSubminor" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "deviceClass" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "deviceSubclass" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "deviceProtocol" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "vendorId" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "productId" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "deviceVersionMajor" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "deviceVersionMinor" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "deviceVersionSubminor" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "manufacturerName" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "productName" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "serialNumber" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "configuration" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "configurations" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "opened" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "open()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "close()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "selectConfiguration(octet)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling selectConfiguration(octet) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "claimInterface(octet)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling claimInterface(octet) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "releaseInterface(octet)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling releaseInterface(octet) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "selectAlternateInterface(octet, octet)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling selectAlternateInterface(octet, octet) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "controlTransferIn(USBControlTransferParameters, unsigned short)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling controlTransferIn(USBControlTransferParameters, unsigned short) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "controlTransferOut(USBControlTransferParameters, BufferSource)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling controlTransferOut(USBControlTransferParameters, BufferSource) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "clearHalt(USBDirection, octet)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling clearHalt(USBDirection, octet) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "transferIn(octet, unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling transferIn(octet, unsigned long) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "transferOut(octet, BufferSource)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling transferOut(octet, BufferSource) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "isochronousTransferIn(octet, [object Object])" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling isochronousTransferIn(octet, [object Object]) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "isochronousTransferOut(octet, BufferSource, [object Object])" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling isochronousTransferOut(octet, BufferSource, [object Object]) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "reset()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +PASS USBInTransferResult interface: existence and properties of interface object +PASS USBInTransferResult interface object length +PASS USBInTransferResult interface object name +PASS USBInTransferResult interface: existence and properties of interface prototype object +PASS USBInTransferResult interface: existence and properties of interface prototype object's "constructor" property +PASS USBInTransferResult interface: existence and properties of interface prototype object's @@unscopables property +PASS USBInTransferResult interface: attribute data +PASS USBInTransferResult interface: attribute status +PASS USBInTransferResult must be primary interface of new USBInTransferResult("ok") +PASS Stringification of new USBInTransferResult("ok") +PASS USBInTransferResult interface: new USBInTransferResult("ok") must inherit property "data" with the proper type +PASS USBInTransferResult interface: new USBInTransferResult("ok") must inherit property "status" with the proper type +PASS USBOutTransferResult interface: existence and properties of interface object +PASS USBOutTransferResult interface object length +PASS USBOutTransferResult interface object name +PASS USBOutTransferResult interface: existence and properties of interface prototype object +PASS USBOutTransferResult interface: existence and properties of interface prototype object's "constructor" property +PASS USBOutTransferResult interface: existence and properties of interface prototype object's @@unscopables property +PASS USBOutTransferResult interface: attribute bytesWritten +PASS USBOutTransferResult interface: attribute status +PASS USBOutTransferResult must be primary interface of new USBOutTransferResult("ok") +PASS Stringification of new USBOutTransferResult("ok") +PASS USBOutTransferResult interface: new USBOutTransferResult("ok") must inherit property "bytesWritten" with the proper type +PASS USBOutTransferResult interface: new USBOutTransferResult("ok") must inherit property "status" with the proper type +PASS USBIsochronousInTransferPacket interface: existence and properties of interface object +PASS USBIsochronousInTransferPacket interface object length +PASS USBIsochronousInTransferPacket interface object name +PASS USBIsochronousInTransferPacket interface: existence and properties of interface prototype object +PASS USBIsochronousInTransferPacket interface: existence and properties of interface prototype object's "constructor" property +PASS USBIsochronousInTransferPacket interface: existence and properties of interface prototype object's @@unscopables property +PASS USBIsochronousInTransferPacket interface: attribute data +PASS USBIsochronousInTransferPacket interface: attribute status +PASS USBIsochronousInTransferPacket must be primary interface of new USBIsochronousInTransferPacket("ok") +PASS Stringification of new USBIsochronousInTransferPacket("ok") +PASS USBIsochronousInTransferPacket interface: new USBIsochronousInTransferPacket("ok") must inherit property "data" with the proper type +PASS USBIsochronousInTransferPacket interface: new USBIsochronousInTransferPacket("ok") must inherit property "status" with the proper type +PASS USBIsochronousInTransferResult interface: existence and properties of interface object +PASS USBIsochronousInTransferResult interface object length +PASS USBIsochronousInTransferResult interface object name +PASS USBIsochronousInTransferResult interface: existence and properties of interface prototype object +PASS USBIsochronousInTransferResult interface: existence and properties of interface prototype object's "constructor" property +PASS USBIsochronousInTransferResult interface: existence and properties of interface prototype object's @@unscopables property +PASS USBIsochronousInTransferResult interface: attribute data +PASS USBIsochronousInTransferResult interface: attribute packets +PASS USBIsochronousInTransferResult must be primary interface of new USBIsochronousInTransferResult([]) +PASS Stringification of new USBIsochronousInTransferResult([]) +PASS USBIsochronousInTransferResult interface: new USBIsochronousInTransferResult([]) must inherit property "data" with the proper type +PASS USBIsochronousInTransferResult interface: new USBIsochronousInTransferResult([]) must inherit property "packets" with the proper type +PASS USBIsochronousOutTransferPacket interface: existence and properties of interface object +PASS USBIsochronousOutTransferPacket interface object length +PASS USBIsochronousOutTransferPacket interface object name +PASS USBIsochronousOutTransferPacket interface: existence and properties of interface prototype object +PASS USBIsochronousOutTransferPacket interface: existence and properties of interface prototype object's "constructor" property +PASS USBIsochronousOutTransferPacket interface: existence and properties of interface prototype object's @@unscopables property +PASS USBIsochronousOutTransferPacket interface: attribute bytesWritten +PASS USBIsochronousOutTransferPacket interface: attribute status +PASS USBIsochronousOutTransferPacket must be primary interface of new USBIsochronousOutTransferPacket("ok") +PASS Stringification of new USBIsochronousOutTransferPacket("ok") +PASS USBIsochronousOutTransferPacket interface: new USBIsochronousOutTransferPacket("ok") must inherit property "bytesWritten" with the proper type +PASS USBIsochronousOutTransferPacket interface: new USBIsochronousOutTransferPacket("ok") must inherit property "status" with the proper type +PASS USBIsochronousOutTransferResult interface: existence and properties of interface object +PASS USBIsochronousOutTransferResult interface object length +PASS USBIsochronousOutTransferResult interface object name +PASS USBIsochronousOutTransferResult interface: existence and properties of interface prototype object +PASS USBIsochronousOutTransferResult interface: existence and properties of interface prototype object's "constructor" property +PASS USBIsochronousOutTransferResult interface: existence and properties of interface prototype object's @@unscopables property +PASS USBIsochronousOutTransferResult interface: attribute packets +PASS USBIsochronousOutTransferResult must be primary interface of new USBIsochronousOutTransferResult([]) +PASS Stringification of new USBIsochronousOutTransferResult([]) +PASS USBIsochronousOutTransferResult interface: new USBIsochronousOutTransferResult([]) must inherit property "packets" with the proper type +PASS USBConfiguration interface: existence and properties of interface object +PASS USBConfiguration interface object length +PASS USBConfiguration interface object name +PASS USBConfiguration interface: existence and properties of interface prototype object +PASS USBConfiguration interface: existence and properties of interface prototype object's "constructor" property +PASS USBConfiguration interface: existence and properties of interface prototype object's @@unscopables property +PASS USBConfiguration interface: attribute configurationValue +PASS USBConfiguration interface: attribute configurationName +PASS USBConfiguration interface: attribute interfaces +FAIL USBConfiguration must be primary interface of usbConfiguration assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConfiguration is not defined" +FAIL Stringification of usbConfiguration assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConfiguration is not defined" +FAIL USBConfiguration interface: usbConfiguration must inherit property "configurationValue" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConfiguration is not defined" +FAIL USBConfiguration interface: usbConfiguration must inherit property "configurationName" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConfiguration is not defined" +FAIL USBConfiguration interface: usbConfiguration must inherit property "interfaces" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConfiguration is not defined" +PASS USBInterface interface: existence and properties of interface object +PASS USBInterface interface object length +PASS USBInterface interface object name +PASS USBInterface interface: existence and properties of interface prototype object +PASS USBInterface interface: existence and properties of interface prototype object's "constructor" property +PASS USBInterface interface: existence and properties of interface prototype object's @@unscopables property +PASS USBInterface interface: attribute interfaceNumber +PASS USBInterface interface: attribute alternate +PASS USBInterface interface: attribute alternates +PASS USBInterface interface: attribute claimed +FAIL USBInterface must be primary interface of usbInterface assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbInterface is not defined" +FAIL Stringification of usbInterface assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbInterface is not defined" +FAIL USBInterface interface: usbInterface must inherit property "interfaceNumber" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbInterface is not defined" +FAIL USBInterface interface: usbInterface must inherit property "alternate" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbInterface is not defined" +FAIL USBInterface interface: usbInterface must inherit property "alternates" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbInterface is not defined" +FAIL USBInterface interface: usbInterface must inherit property "claimed" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbInterface is not defined" +PASS USBAlternateInterface interface: existence and properties of interface object +PASS USBAlternateInterface interface object length +PASS USBAlternateInterface interface object name +PASS USBAlternateInterface interface: existence and properties of interface prototype object +PASS USBAlternateInterface interface: existence and properties of interface prototype object's "constructor" property +PASS USBAlternateInterface interface: existence and properties of interface prototype object's @@unscopables property +PASS USBAlternateInterface interface: attribute alternateSetting +PASS USBAlternateInterface interface: attribute interfaceClass +PASS USBAlternateInterface interface: attribute interfaceSubclass +PASS USBAlternateInterface interface: attribute interfaceProtocol +PASS USBAlternateInterface interface: attribute interfaceName +PASS USBAlternateInterface interface: attribute endpoints +FAIL USBAlternateInterface must be primary interface of usbAlternateInterface assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +FAIL Stringification of usbAlternateInterface assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +FAIL USBAlternateInterface interface: usbAlternateInterface must inherit property "alternateSetting" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +FAIL USBAlternateInterface interface: usbAlternateInterface must inherit property "interfaceClass" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +FAIL USBAlternateInterface interface: usbAlternateInterface must inherit property "interfaceSubclass" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +FAIL USBAlternateInterface interface: usbAlternateInterface must inherit property "interfaceProtocol" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +FAIL USBAlternateInterface interface: usbAlternateInterface must inherit property "interfaceName" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +FAIL USBAlternateInterface interface: usbAlternateInterface must inherit property "endpoints" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +PASS USBEndpoint interface: existence and properties of interface object +PASS USBEndpoint interface object length +PASS USBEndpoint interface object name +PASS USBEndpoint interface: existence and properties of interface prototype object +PASS USBEndpoint interface: existence and properties of interface prototype object's "constructor" property +PASS USBEndpoint interface: existence and properties of interface prototype object's @@unscopables property +PASS USBEndpoint interface: attribute endpointNumber +PASS USBEndpoint interface: attribute direction +PASS USBEndpoint interface: attribute type +PASS USBEndpoint interface: attribute packetSize +FAIL USBEndpoint must be primary interface of usbEndpoint assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbEndpoint is not defined" +FAIL Stringification of usbEndpoint assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbEndpoint is not defined" +FAIL USBEndpoint interface: usbEndpoint must inherit property "endpointNumber" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbEndpoint is not defined" +FAIL USBEndpoint interface: usbEndpoint must inherit property "direction" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbEndpoint is not defined" +FAIL USBEndpoint interface: usbEndpoint must inherit property "type" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbEndpoint is not defined" +FAIL USBEndpoint interface: usbEndpoint must inherit property "packetSize" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbEndpoint is not defined" +FAIL USBPermissionResult interface: existence and properties of interface object assert_own_property: self does not have own property "USBPermissionResult" expected property "USBPermissionResult" missing +FAIL USBPermissionResult interface object length assert_own_property: self does not have own property "USBPermissionResult" expected property "USBPermissionResult" missing +FAIL USBPermissionResult interface object name assert_own_property: self does not have own property "USBPermissionResult" expected property "USBPermissionResult" missing +FAIL USBPermissionResult interface: existence and properties of interface prototype object assert_own_property: self does not have own property "USBPermissionResult" expected property "USBPermissionResult" missing +FAIL USBPermissionResult interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "USBPermissionResult" expected property "USBPermissionResult" missing +FAIL USBPermissionResult interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "USBPermissionResult" expected property "USBPermissionResult" missing +FAIL USBPermissionResult interface: attribute devices assert_own_property: self does not have own property "USBPermissionResult" expected property "USBPermissionResult" missing +PASS Navigator interface: attribute usb +PASS Navigator interface: navigator must inherit property "usb" with the proper type +PASS WorkerNavigator interface: existence and properties of interface object Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/webusb/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/webusb/idlharness.https.any.worker-expected.txt index 11d4d700..d097c0d 100644 --- a/third_party/blink/web_tests/external/wpt/webusb/idlharness.https.any.worker-expected.txt +++ b/third_party/blink/web_tests/external/wpt/webusb/idlharness.https.any.worker-expected.txt
@@ -1,8 +1,257 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -FAIL Partial interface WorkerNavigator: original interface defined assert_true: Original interface should be defined expected true got false +Found 253 tests; 180 PASS, 73 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +FAIL USB device setup promise_test: Unhandled rejection with value: object "TypeError: Cannot read property 'configurations' of undefined" +PASS Partial interface Navigator: original interface defined +PASS Partial interface Navigator: valid exposure set +PASS Partial interface WorkerNavigator: original interface defined +PASS Partial interface WorkerNavigator: valid exposure set +PASS USB interface: existence and properties of interface object +PASS USB interface object length +PASS USB interface object name +PASS USB interface: existence and properties of interface prototype object +PASS USB interface: existence and properties of interface prototype object's "constructor" property +PASS USB interface: existence and properties of interface prototype object's @@unscopables property +PASS USB interface: attribute onconnect +PASS USB interface: attribute ondisconnect +PASS USB interface: operation getDevices() +PASS USB interface: member requestDevice +PASS USB must be primary interface of navigator.usb +PASS Stringification of navigator.usb +PASS USB interface: navigator.usb must inherit property "onconnect" with the proper type +PASS USB interface: navigator.usb must inherit property "ondisconnect" with the proper type +PASS USB interface: navigator.usb must inherit property "getDevices()" with the proper type +PASS USB interface: navigator.usb must not have property "requestDevice" +PASS USBConnectionEvent interface: existence and properties of interface object +PASS USBConnectionEvent interface object length +PASS USBConnectionEvent interface object name +PASS USBConnectionEvent interface: existence and properties of interface prototype object +PASS USBConnectionEvent interface: existence and properties of interface prototype object's "constructor" property +PASS USBConnectionEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS USBConnectionEvent interface: attribute device +FAIL USBConnectionEvent must be primary interface of usbConnectionEvent assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConnectionEvent is not defined" +FAIL Stringification of usbConnectionEvent assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConnectionEvent is not defined" +FAIL USBConnectionEvent interface: usbConnectionEvent must inherit property "device" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConnectionEvent is not defined" +PASS USBDevice interface: existence and properties of interface object +PASS USBDevice interface object length +PASS USBDevice interface object name +PASS USBDevice interface: existence and properties of interface prototype object +PASS USBDevice interface: existence and properties of interface prototype object's "constructor" property +PASS USBDevice interface: existence and properties of interface prototype object's @@unscopables property +PASS USBDevice interface: attribute usbVersionMajor +PASS USBDevice interface: attribute usbVersionMinor +PASS USBDevice interface: attribute usbVersionSubminor +PASS USBDevice interface: attribute deviceClass +PASS USBDevice interface: attribute deviceSubclass +PASS USBDevice interface: attribute deviceProtocol +PASS USBDevice interface: attribute vendorId +PASS USBDevice interface: attribute productId +PASS USBDevice interface: attribute deviceVersionMajor +PASS USBDevice interface: attribute deviceVersionMinor +PASS USBDevice interface: attribute deviceVersionSubminor +PASS USBDevice interface: attribute manufacturerName +PASS USBDevice interface: attribute productName +PASS USBDevice interface: attribute serialNumber +PASS USBDevice interface: attribute configuration +PASS USBDevice interface: attribute configurations +PASS USBDevice interface: attribute opened +PASS USBDevice interface: operation open() +PASS USBDevice interface: operation close() +PASS USBDevice interface: operation selectConfiguration(octet) +PASS USBDevice interface: operation claimInterface(octet) +PASS USBDevice interface: operation releaseInterface(octet) +PASS USBDevice interface: operation selectAlternateInterface(octet, octet) +PASS USBDevice interface: operation controlTransferIn(USBControlTransferParameters, unsigned short) +PASS USBDevice interface: operation controlTransferOut(USBControlTransferParameters, BufferSource) +PASS USBDevice interface: operation clearHalt(USBDirection, octet) +PASS USBDevice interface: operation transferIn(octet, unsigned long) +PASS USBDevice interface: operation transferOut(octet, BufferSource) +PASS USBDevice interface: operation isochronousTransferIn(octet, [object Object]) +PASS USBDevice interface: operation isochronousTransferOut(octet, BufferSource, [object Object]) +PASS USBDevice interface: operation reset() +FAIL USBDevice must be primary interface of usbDevice assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL Stringification of usbDevice assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "usbVersionMajor" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "usbVersionMinor" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "usbVersionSubminor" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "deviceClass" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "deviceSubclass" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "deviceProtocol" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "vendorId" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "productId" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "deviceVersionMajor" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "deviceVersionMinor" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "deviceVersionSubminor" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "manufacturerName" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "productName" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "serialNumber" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "configuration" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "configurations" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "opened" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "open()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "close()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "selectConfiguration(octet)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling selectConfiguration(octet) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "claimInterface(octet)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling claimInterface(octet) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "releaseInterface(octet)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling releaseInterface(octet) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "selectAlternateInterface(octet, octet)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling selectAlternateInterface(octet, octet) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "controlTransferIn(USBControlTransferParameters, unsigned short)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling controlTransferIn(USBControlTransferParameters, unsigned short) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "controlTransferOut(USBControlTransferParameters, BufferSource)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling controlTransferOut(USBControlTransferParameters, BufferSource) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "clearHalt(USBDirection, octet)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling clearHalt(USBDirection, octet) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "transferIn(octet, unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling transferIn(octet, unsigned long) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "transferOut(octet, BufferSource)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling transferOut(octet, BufferSource) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "isochronousTransferIn(octet, [object Object])" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling isochronousTransferIn(octet, [object Object]) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "isochronousTransferOut(octet, BufferSource, [object Object])" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: calling isochronousTransferOut(octet, BufferSource, [object Object]) on usbDevice with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +FAIL USBDevice interface: usbDevice must inherit property "reset()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbDevice is not defined" +PASS USBInTransferResult interface: existence and properties of interface object +PASS USBInTransferResult interface object length +PASS USBInTransferResult interface object name +PASS USBInTransferResult interface: existence and properties of interface prototype object +PASS USBInTransferResult interface: existence and properties of interface prototype object's "constructor" property +PASS USBInTransferResult interface: existence and properties of interface prototype object's @@unscopables property +PASS USBInTransferResult interface: attribute data +PASS USBInTransferResult interface: attribute status +PASS USBInTransferResult must be primary interface of new USBInTransferResult("ok") +PASS Stringification of new USBInTransferResult("ok") +PASS USBInTransferResult interface: new USBInTransferResult("ok") must inherit property "data" with the proper type +PASS USBInTransferResult interface: new USBInTransferResult("ok") must inherit property "status" with the proper type +PASS USBOutTransferResult interface: existence and properties of interface object +PASS USBOutTransferResult interface object length +PASS USBOutTransferResult interface object name +PASS USBOutTransferResult interface: existence and properties of interface prototype object +PASS USBOutTransferResult interface: existence and properties of interface prototype object's "constructor" property +PASS USBOutTransferResult interface: existence and properties of interface prototype object's @@unscopables property +PASS USBOutTransferResult interface: attribute bytesWritten +PASS USBOutTransferResult interface: attribute status +PASS USBOutTransferResult must be primary interface of new USBOutTransferResult("ok") +PASS Stringification of new USBOutTransferResult("ok") +PASS USBOutTransferResult interface: new USBOutTransferResult("ok") must inherit property "bytesWritten" with the proper type +PASS USBOutTransferResult interface: new USBOutTransferResult("ok") must inherit property "status" with the proper type +PASS USBIsochronousInTransferPacket interface: existence and properties of interface object +PASS USBIsochronousInTransferPacket interface object length +PASS USBIsochronousInTransferPacket interface object name +PASS USBIsochronousInTransferPacket interface: existence and properties of interface prototype object +PASS USBIsochronousInTransferPacket interface: existence and properties of interface prototype object's "constructor" property +PASS USBIsochronousInTransferPacket interface: existence and properties of interface prototype object's @@unscopables property +PASS USBIsochronousInTransferPacket interface: attribute data +PASS USBIsochronousInTransferPacket interface: attribute status +PASS USBIsochronousInTransferPacket must be primary interface of new USBIsochronousInTransferPacket("ok") +PASS Stringification of new USBIsochronousInTransferPacket("ok") +PASS USBIsochronousInTransferPacket interface: new USBIsochronousInTransferPacket("ok") must inherit property "data" with the proper type +PASS USBIsochronousInTransferPacket interface: new USBIsochronousInTransferPacket("ok") must inherit property "status" with the proper type +PASS USBIsochronousInTransferResult interface: existence and properties of interface object +PASS USBIsochronousInTransferResult interface object length +PASS USBIsochronousInTransferResult interface object name +PASS USBIsochronousInTransferResult interface: existence and properties of interface prototype object +PASS USBIsochronousInTransferResult interface: existence and properties of interface prototype object's "constructor" property +PASS USBIsochronousInTransferResult interface: existence and properties of interface prototype object's @@unscopables property +PASS USBIsochronousInTransferResult interface: attribute data +PASS USBIsochronousInTransferResult interface: attribute packets +PASS USBIsochronousInTransferResult must be primary interface of new USBIsochronousInTransferResult([]) +PASS Stringification of new USBIsochronousInTransferResult([]) +PASS USBIsochronousInTransferResult interface: new USBIsochronousInTransferResult([]) must inherit property "data" with the proper type +PASS USBIsochronousInTransferResult interface: new USBIsochronousInTransferResult([]) must inherit property "packets" with the proper type +PASS USBIsochronousOutTransferPacket interface: existence and properties of interface object +PASS USBIsochronousOutTransferPacket interface object length +PASS USBIsochronousOutTransferPacket interface object name +PASS USBIsochronousOutTransferPacket interface: existence and properties of interface prototype object +PASS USBIsochronousOutTransferPacket interface: existence and properties of interface prototype object's "constructor" property +PASS USBIsochronousOutTransferPacket interface: existence and properties of interface prototype object's @@unscopables property +PASS USBIsochronousOutTransferPacket interface: attribute bytesWritten +PASS USBIsochronousOutTransferPacket interface: attribute status +PASS USBIsochronousOutTransferPacket must be primary interface of new USBIsochronousOutTransferPacket("ok") +PASS Stringification of new USBIsochronousOutTransferPacket("ok") +PASS USBIsochronousOutTransferPacket interface: new USBIsochronousOutTransferPacket("ok") must inherit property "bytesWritten" with the proper type +PASS USBIsochronousOutTransferPacket interface: new USBIsochronousOutTransferPacket("ok") must inherit property "status" with the proper type +PASS USBIsochronousOutTransferResult interface: existence and properties of interface object +PASS USBIsochronousOutTransferResult interface object length +PASS USBIsochronousOutTransferResult interface object name +PASS USBIsochronousOutTransferResult interface: existence and properties of interface prototype object +PASS USBIsochronousOutTransferResult interface: existence and properties of interface prototype object's "constructor" property +PASS USBIsochronousOutTransferResult interface: existence and properties of interface prototype object's @@unscopables property +PASS USBIsochronousOutTransferResult interface: attribute packets +PASS USBIsochronousOutTransferResult must be primary interface of new USBIsochronousOutTransferResult([]) +PASS Stringification of new USBIsochronousOutTransferResult([]) +PASS USBIsochronousOutTransferResult interface: new USBIsochronousOutTransferResult([]) must inherit property "packets" with the proper type +PASS USBConfiguration interface: existence and properties of interface object +PASS USBConfiguration interface object length +PASS USBConfiguration interface object name +PASS USBConfiguration interface: existence and properties of interface prototype object +PASS USBConfiguration interface: existence and properties of interface prototype object's "constructor" property +PASS USBConfiguration interface: existence and properties of interface prototype object's @@unscopables property +PASS USBConfiguration interface: attribute configurationValue +PASS USBConfiguration interface: attribute configurationName +PASS USBConfiguration interface: attribute interfaces +FAIL USBConfiguration must be primary interface of usbConfiguration assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConfiguration is not defined" +FAIL Stringification of usbConfiguration assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConfiguration is not defined" +FAIL USBConfiguration interface: usbConfiguration must inherit property "configurationValue" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConfiguration is not defined" +FAIL USBConfiguration interface: usbConfiguration must inherit property "configurationName" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConfiguration is not defined" +FAIL USBConfiguration interface: usbConfiguration must inherit property "interfaces" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbConfiguration is not defined" +PASS USBInterface interface: existence and properties of interface object +PASS USBInterface interface object length +PASS USBInterface interface object name +PASS USBInterface interface: existence and properties of interface prototype object +PASS USBInterface interface: existence and properties of interface prototype object's "constructor" property +PASS USBInterface interface: existence and properties of interface prototype object's @@unscopables property +PASS USBInterface interface: attribute interfaceNumber +PASS USBInterface interface: attribute alternate +PASS USBInterface interface: attribute alternates +PASS USBInterface interface: attribute claimed +FAIL USBInterface must be primary interface of usbInterface assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbInterface is not defined" +FAIL Stringification of usbInterface assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbInterface is not defined" +FAIL USBInterface interface: usbInterface must inherit property "interfaceNumber" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbInterface is not defined" +FAIL USBInterface interface: usbInterface must inherit property "alternate" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbInterface is not defined" +FAIL USBInterface interface: usbInterface must inherit property "alternates" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbInterface is not defined" +FAIL USBInterface interface: usbInterface must inherit property "claimed" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbInterface is not defined" +PASS USBAlternateInterface interface: existence and properties of interface object +PASS USBAlternateInterface interface object length +PASS USBAlternateInterface interface object name +PASS USBAlternateInterface interface: existence and properties of interface prototype object +PASS USBAlternateInterface interface: existence and properties of interface prototype object's "constructor" property +PASS USBAlternateInterface interface: existence and properties of interface prototype object's @@unscopables property +PASS USBAlternateInterface interface: attribute alternateSetting +PASS USBAlternateInterface interface: attribute interfaceClass +PASS USBAlternateInterface interface: attribute interfaceSubclass +PASS USBAlternateInterface interface: attribute interfaceProtocol +PASS USBAlternateInterface interface: attribute interfaceName +PASS USBAlternateInterface interface: attribute endpoints +FAIL USBAlternateInterface must be primary interface of usbAlternateInterface assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +FAIL Stringification of usbAlternateInterface assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +FAIL USBAlternateInterface interface: usbAlternateInterface must inherit property "alternateSetting" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +FAIL USBAlternateInterface interface: usbAlternateInterface must inherit property "interfaceClass" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +FAIL USBAlternateInterface interface: usbAlternateInterface must inherit property "interfaceSubclass" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +FAIL USBAlternateInterface interface: usbAlternateInterface must inherit property "interfaceProtocol" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +FAIL USBAlternateInterface interface: usbAlternateInterface must inherit property "interfaceName" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +FAIL USBAlternateInterface interface: usbAlternateInterface must inherit property "endpoints" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbAlternateInterface is not defined" +PASS USBEndpoint interface: existence and properties of interface object +PASS USBEndpoint interface object length +PASS USBEndpoint interface object name +PASS USBEndpoint interface: existence and properties of interface prototype object +PASS USBEndpoint interface: existence and properties of interface prototype object's "constructor" property +PASS USBEndpoint interface: existence and properties of interface prototype object's @@unscopables property +PASS USBEndpoint interface: attribute endpointNumber +PASS USBEndpoint interface: attribute direction +PASS USBEndpoint interface: attribute type +PASS USBEndpoint interface: attribute packetSize +FAIL USBEndpoint must be primary interface of usbEndpoint assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbEndpoint is not defined" +FAIL Stringification of usbEndpoint assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbEndpoint is not defined" +FAIL USBEndpoint interface: usbEndpoint must inherit property "endpointNumber" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbEndpoint is not defined" +FAIL USBEndpoint interface: usbEndpoint must inherit property "direction" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbEndpoint is not defined" +FAIL USBEndpoint interface: usbEndpoint must inherit property "type" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbEndpoint is not defined" +FAIL USBEndpoint interface: usbEndpoint must inherit property "packetSize" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: usbEndpoint is not defined" +PASS USBPermissionResult interface: existence and properties of interface object +PASS Navigator interface: existence and properties of interface object +PASS WorkerNavigator interface: attribute usb +PASS WorkerNavigator interface: navigator must inherit property "usb" with the proper type Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/webvtt/api/idlharness.window-expected.txt b/third_party/blink/web_tests/external/wpt/webvtt/api/idlharness.window-expected.txt index adb6cc43..194df34f 100644 --- a/third_party/blink/web_tests/external/wpt/webvtt/api/idlharness.window-expected.txt +++ b/third_party/blink/web_tests/external/wpt/webvtt/api/idlharness.window-expected.txt
@@ -1,6 +1,59 @@ This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 55 tests; 51 PASS, 4 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS VTTCue interface: existence and properties of interface object +PASS VTTCue interface object length +PASS VTTCue interface object name +PASS VTTCue interface: existence and properties of interface prototype object +PASS VTTCue interface: existence and properties of interface prototype object's "constructor" property +PASS VTTCue interface: existence and properties of interface prototype object's @@unscopables property +PASS VTTCue interface: attribute region +PASS VTTCue interface: attribute vertical +PASS VTTCue interface: attribute snapToLines +PASS VTTCue interface: attribute line +FAIL VTTCue interface: attribute lineAlign assert_true: The prototype object must have a property "lineAlign" expected true got false +PASS VTTCue interface: attribute position +FAIL VTTCue interface: attribute positionAlign assert_true: The prototype object must have a property "positionAlign" expected true got false +PASS VTTCue interface: attribute size +PASS VTTCue interface: attribute align +PASS VTTCue interface: attribute text +PASS VTTCue interface: operation getCueAsHTML() +PASS VTTCue must be primary interface of new VTTCue(0, 0, "") +PASS Stringification of new VTTCue(0, 0, "") +PASS VTTCue interface: new VTTCue(0, 0, "") must inherit property "region" with the proper type +PASS VTTCue interface: new VTTCue(0, 0, "") must inherit property "vertical" with the proper type +PASS VTTCue interface: new VTTCue(0, 0, "") must inherit property "snapToLines" with the proper type +PASS VTTCue interface: new VTTCue(0, 0, "") must inherit property "line" with the proper type +FAIL VTTCue interface: new VTTCue(0, 0, "") must inherit property "lineAlign" with the proper type assert_inherits: property "lineAlign" not found in prototype chain +PASS VTTCue interface: new VTTCue(0, 0, "") must inherit property "position" with the proper type +FAIL VTTCue interface: new VTTCue(0, 0, "") must inherit property "positionAlign" with the proper type assert_inherits: property "positionAlign" not found in prototype chain +PASS VTTCue interface: new VTTCue(0, 0, "") must inherit property "size" with the proper type +PASS VTTCue interface: new VTTCue(0, 0, "") must inherit property "align" with the proper type +PASS VTTCue interface: new VTTCue(0, 0, "") must inherit property "text" with the proper type +PASS VTTCue interface: new VTTCue(0, 0, "") must inherit property "getCueAsHTML()" with the proper type +PASS VTTRegion interface: existence and properties of interface object +PASS VTTRegion interface object length +PASS VTTRegion interface object name +PASS VTTRegion interface: existence and properties of interface prototype object +PASS VTTRegion interface: existence and properties of interface prototype object's "constructor" property +PASS VTTRegion interface: existence and properties of interface prototype object's @@unscopables property +PASS VTTRegion interface: attribute id +PASS VTTRegion interface: attribute width +PASS VTTRegion interface: attribute lines +PASS VTTRegion interface: attribute regionAnchorX +PASS VTTRegion interface: attribute regionAnchorY +PASS VTTRegion interface: attribute viewportAnchorX +PASS VTTRegion interface: attribute viewportAnchorY +PASS VTTRegion interface: attribute scroll +PASS VTTRegion must be primary interface of new VTTRegion() +PASS Stringification of new VTTRegion() +PASS VTTRegion interface: new VTTRegion() must inherit property "id" with the proper type +PASS VTTRegion interface: new VTTRegion() must inherit property "width" with the proper type +PASS VTTRegion interface: new VTTRegion() must inherit property "lines" with the proper type +PASS VTTRegion interface: new VTTRegion() must inherit property "regionAnchorX" with the proper type +PASS VTTRegion interface: new VTTRegion() must inherit property "regionAnchorY" with the proper type +PASS VTTRegion interface: new VTTRegion() must inherit property "viewportAnchorX" with the proper type +PASS VTTRegion interface: new VTTRegion() must inherit property "viewportAnchorY" with the proper type +PASS VTTRegion interface: new VTTRegion() must inherit property "scroll" with the proper type Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/webxr/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/webxr/idlharness.https.window-expected.txt deleted file mode 100644 index 6def90d..0000000 --- a/third_party/blink/web_tests/external/wpt/webxr/idlharness.https.window-expected.txt +++ /dev/null
@@ -1,9 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -FAIL Partial interface Navigator: original interface defined assert_true: Original interface should be defined expected true got false -PASS Partial dictionary WebGLContextAttributes: original dictionary defined -PASS Partial interface mixin WebGLRenderingContextBase: original interface mixin defined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/xhr/idlharness.any-expected.txt b/third_party/blink/web_tests/external/wpt/xhr/idlharness.any-expected.txt deleted file mode 100644 index b137646..0000000 --- a/third_party/blink/web_tests/external/wpt/xhr/idlharness.any-expected.txt +++ /dev/null
@@ -1,86 +0,0 @@ -This is a testharness.js-based test. -Found 80 tests; 79 PASS, 1 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS XMLHttpRequestEventTarget interface: existence and properties of interface object -PASS XMLHttpRequestEventTarget interface object length -PASS XMLHttpRequestEventTarget interface object name -PASS XMLHttpRequestEventTarget interface: existence and properties of interface prototype object -PASS XMLHttpRequestEventTarget interface: existence and properties of interface prototype object's "constructor" property -PASS XMLHttpRequestEventTarget interface: existence and properties of interface prototype object's @@unscopables property -PASS XMLHttpRequestEventTarget interface: attribute onloadstart -PASS XMLHttpRequestEventTarget interface: attribute onprogress -PASS XMLHttpRequestEventTarget interface: attribute onabort -PASS XMLHttpRequestEventTarget interface: attribute onerror -PASS XMLHttpRequestEventTarget interface: attribute onload -PASS XMLHttpRequestEventTarget interface: attribute ontimeout -PASS XMLHttpRequestEventTarget interface: attribute onloadend -PASS XMLHttpRequestUpload interface: existence and properties of interface object -PASS XMLHttpRequestUpload interface object length -PASS XMLHttpRequestUpload interface object name -PASS XMLHttpRequestUpload interface: existence and properties of interface prototype object -PASS XMLHttpRequestUpload interface: existence and properties of interface prototype object's "constructor" property -PASS XMLHttpRequestUpload interface: existence and properties of interface prototype object's @@unscopables property -PASS XMLHttpRequest interface: existence and properties of interface object -PASS XMLHttpRequest interface object length -PASS XMLHttpRequest interface object name -PASS XMLHttpRequest interface: existence and properties of interface prototype object -PASS XMLHttpRequest interface: existence and properties of interface prototype object's "constructor" property -PASS XMLHttpRequest interface: existence and properties of interface prototype object's @@unscopables property -PASS XMLHttpRequest interface: attribute onreadystatechange -PASS XMLHttpRequest interface: constant UNSENT on interface object -PASS XMLHttpRequest interface: constant UNSENT on interface prototype object -PASS XMLHttpRequest interface: constant OPENED on interface object -PASS XMLHttpRequest interface: constant OPENED on interface prototype object -PASS XMLHttpRequest interface: constant HEADERS_RECEIVED on interface object -PASS XMLHttpRequest interface: constant HEADERS_RECEIVED on interface prototype object -PASS XMLHttpRequest interface: constant LOADING on interface object -PASS XMLHttpRequest interface: constant LOADING on interface prototype object -PASS XMLHttpRequest interface: constant DONE on interface object -PASS XMLHttpRequest interface: constant DONE on interface prototype object -PASS XMLHttpRequest interface: attribute readyState -PASS XMLHttpRequest interface: operation open(ByteString, USVString) -PASS XMLHttpRequest interface: operation open(ByteString, USVString, boolean, USVString, USVString) -PASS XMLHttpRequest interface: operation setRequestHeader(ByteString, ByteString) -PASS XMLHttpRequest interface: attribute timeout -PASS XMLHttpRequest interface: attribute withCredentials -PASS XMLHttpRequest interface: attribute upload -PASS XMLHttpRequest interface: operation send([object Object],[object Object]) -PASS XMLHttpRequest interface: operation abort() -PASS XMLHttpRequest interface: attribute responseURL -PASS XMLHttpRequest interface: attribute status -PASS XMLHttpRequest interface: attribute statusText -PASS XMLHttpRequest interface: operation getResponseHeader(ByteString) -PASS XMLHttpRequest interface: operation getAllResponseHeaders() -PASS XMLHttpRequest interface: operation overrideMimeType(DOMString) -PASS XMLHttpRequest interface: attribute responseType -PASS XMLHttpRequest interface: attribute response -PASS XMLHttpRequest interface: attribute responseText -PASS XMLHttpRequest interface: attribute responseXML -PASS FormData interface: existence and properties of interface object -PASS FormData interface object length -PASS FormData interface object name -PASS FormData interface: existence and properties of interface prototype object -PASS FormData interface: existence and properties of interface prototype object's "constructor" property -PASS FormData interface: existence and properties of interface prototype object's @@unscopables property -PASS FormData interface: operation append(USVString, USVString) -PASS FormData interface: operation append(USVString, Blob, USVString) -PASS FormData interface: operation delete(USVString) -PASS FormData interface: operation get(USVString) -PASS FormData interface: operation getAll(USVString) -PASS FormData interface: operation has(USVString) -PASS FormData interface: operation set(USVString, USVString) -PASS FormData interface: operation set(USVString, Blob, USVString) -PASS FormData interface: iterable<USVString, FormDataEntryValue> -PASS ProgressEvent interface: existence and properties of interface object -PASS ProgressEvent interface object length -PASS ProgressEvent interface object name -PASS ProgressEvent interface: existence and properties of interface prototype object -PASS ProgressEvent interface: existence and properties of interface prototype object's "constructor" property -PASS ProgressEvent interface: existence and properties of interface prototype object's @@unscopables property -PASS ProgressEvent interface: attribute lengthComputable -PASS ProgressEvent interface: attribute loaded -PASS ProgressEvent interface: attribute total -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/xhr/idlharness.any.sharedworker-expected.txt b/third_party/blink/web_tests/external/wpt/xhr/idlharness.any.sharedworker-expected.txt index 382e3cda..3405f42 100644 --- a/third_party/blink/web_tests/external/wpt/xhr/idlharness.any.sharedworker-expected.txt +++ b/third_party/blink/web_tests/external/wpt/xhr/idlharness.any.sharedworker-expected.txt
@@ -1,8 +1,6 @@ This is a testharness.js-based test. -Found 82 tests; 80 PASS, 2 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 154 tests; 152 PASS, 2 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup PASS XMLHttpRequestEventTarget interface: existence and properties of interface object PASS XMLHttpRequestEventTarget interface object length PASS XMLHttpRequestEventTarget interface object name @@ -22,6 +20,15 @@ PASS XMLHttpRequestUpload interface: existence and properties of interface prototype object PASS XMLHttpRequestUpload interface: existence and properties of interface prototype object's "constructor" property PASS XMLHttpRequestUpload interface: existence and properties of interface prototype object's @@unscopables property +PASS XMLHttpRequestUpload must be primary interface of (new XMLHttpRequest()).upload +PASS Stringification of (new XMLHttpRequest()).upload +PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onloadstart" with the proper type +PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onprogress" with the proper type +PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onabort" with the proper type +PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onerror" with the proper type +PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onload" with the proper type +PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "ontimeout" with the proper type +PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onloadend" with the proper type PASS XMLHttpRequest interface: existence and properties of interface object PASS XMLHttpRequest interface object length PASS XMLHttpRequest interface object name @@ -58,6 +65,46 @@ PASS XMLHttpRequest interface: attribute response PASS XMLHttpRequest interface: attribute responseText FAIL XMLHttpRequest interface: member responseXML assert_false: The prototype object must not have a property "responseXML" expected false got true +PASS XMLHttpRequest must be primary interface of new XMLHttpRequest() +PASS Stringification of new XMLHttpRequest() +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "onreadystatechange" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "UNSENT" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "OPENED" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "HEADERS_RECEIVED" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "LOADING" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "DONE" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "readyState" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "open(ByteString, USVString)" with the proper type +PASS XMLHttpRequest interface: calling open(ByteString, USVString) on new XMLHttpRequest() with too few arguments must throw TypeError +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "open(ByteString, USVString, boolean, USVString, USVString)" with the proper type +PASS XMLHttpRequest interface: calling open(ByteString, USVString, boolean, USVString, USVString) on new XMLHttpRequest() with too few arguments must throw TypeError +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "setRequestHeader(ByteString, ByteString)" with the proper type +PASS XMLHttpRequest interface: calling setRequestHeader(ByteString, ByteString) on new XMLHttpRequest() with too few arguments must throw TypeError +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "timeout" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "withCredentials" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "upload" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "send([object Object],[object Object])" with the proper type +PASS XMLHttpRequest interface: calling send([object Object],[object Object]) on new XMLHttpRequest() with too few arguments must throw TypeError +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "abort()" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseURL" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "status" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "statusText" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "getResponseHeader(ByteString)" with the proper type +PASS XMLHttpRequest interface: calling getResponseHeader(ByteString) on new XMLHttpRequest() with too few arguments must throw TypeError +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "getAllResponseHeaders()" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "overrideMimeType(DOMString)" with the proper type +PASS XMLHttpRequest interface: calling overrideMimeType(DOMString) on new XMLHttpRequest() with too few arguments must throw TypeError +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseType" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "response" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseText" with the proper type +FAIL XMLHttpRequest interface: new XMLHttpRequest() must not have property "responseXML" assert_false: expected false got true +PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onloadstart" with the proper type +PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onprogress" with the proper type +PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onabort" with the proper type +PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onerror" with the proper type +PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onload" with the proper type +PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "ontimeout" with the proper type +PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onloadend" with the proper type PASS FormData interface: existence and properties of interface object PASS FormData interface object length PASS FormData interface object name @@ -73,6 +120,24 @@ PASS FormData interface: operation set(USVString, USVString) PASS FormData interface: operation set(USVString, Blob, USVString) PASS FormData interface: iterable<USVString, FormDataEntryValue> +PASS FormData must be primary interface of new FormData() +PASS Stringification of new FormData() +PASS FormData interface: new FormData() must inherit property "append(USVString, USVString)" with the proper type +PASS FormData interface: calling append(USVString, USVString) on new FormData() with too few arguments must throw TypeError +PASS FormData interface: new FormData() must inherit property "append(USVString, Blob, USVString)" with the proper type +PASS FormData interface: calling append(USVString, Blob, USVString) on new FormData() with too few arguments must throw TypeError +PASS FormData interface: new FormData() must inherit property "delete(USVString)" with the proper type +PASS FormData interface: calling delete(USVString) on new FormData() with too few arguments must throw TypeError +PASS FormData interface: new FormData() must inherit property "get(USVString)" with the proper type +PASS FormData interface: calling get(USVString) on new FormData() with too few arguments must throw TypeError +PASS FormData interface: new FormData() must inherit property "getAll(USVString)" with the proper type +PASS FormData interface: calling getAll(USVString) on new FormData() with too few arguments must throw TypeError +PASS FormData interface: new FormData() must inherit property "has(USVString)" with the proper type +PASS FormData interface: calling has(USVString) on new FormData() with too few arguments must throw TypeError +PASS FormData interface: new FormData() must inherit property "set(USVString, USVString)" with the proper type +PASS FormData interface: calling set(USVString, USVString) on new FormData() with too few arguments must throw TypeError +PASS FormData interface: new FormData() must inherit property "set(USVString, Blob, USVString)" with the proper type +PASS FormData interface: calling set(USVString, Blob, USVString) on new FormData() with too few arguments must throw TypeError PASS ProgressEvent interface: existence and properties of interface object PASS ProgressEvent interface object length PASS ProgressEvent interface object name @@ -82,6 +147,11 @@ PASS ProgressEvent interface: attribute lengthComputable PASS ProgressEvent interface: attribute loaded PASS ProgressEvent interface: attribute total +PASS ProgressEvent must be primary interface of new ProgressEvent("type") +PASS Stringification of new ProgressEvent("type") +PASS ProgressEvent interface: new ProgressEvent("type") must inherit property "lengthComputable" with the proper type +PASS ProgressEvent interface: new ProgressEvent("type") must inherit property "loaded" with the proper type +PASS ProgressEvent interface: new ProgressEvent("type") must inherit property "total" with the proper type PASS Node interface: existence and properties of interface object PASS Document interface: existence and properties of interface object Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/xhr/idlharness.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/xhr/idlharness.any.worker-expected.txt index 382e3cda..3405f42 100644 --- a/third_party/blink/web_tests/external/wpt/xhr/idlharness.any.worker-expected.txt +++ b/third_party/blink/web_tests/external/wpt/xhr/idlharness.any.worker-expected.txt
@@ -1,8 +1,6 @@ This is a testharness.js-based test. -Found 82 tests; 80 PASS, 2 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" +Found 154 tests; 152 PASS, 2 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup PASS XMLHttpRequestEventTarget interface: existence and properties of interface object PASS XMLHttpRequestEventTarget interface object length PASS XMLHttpRequestEventTarget interface object name @@ -22,6 +20,15 @@ PASS XMLHttpRequestUpload interface: existence and properties of interface prototype object PASS XMLHttpRequestUpload interface: existence and properties of interface prototype object's "constructor" property PASS XMLHttpRequestUpload interface: existence and properties of interface prototype object's @@unscopables property +PASS XMLHttpRequestUpload must be primary interface of (new XMLHttpRequest()).upload +PASS Stringification of (new XMLHttpRequest()).upload +PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onloadstart" with the proper type +PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onprogress" with the proper type +PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onabort" with the proper type +PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onerror" with the proper type +PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onload" with the proper type +PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "ontimeout" with the proper type +PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onloadend" with the proper type PASS XMLHttpRequest interface: existence and properties of interface object PASS XMLHttpRequest interface object length PASS XMLHttpRequest interface object name @@ -58,6 +65,46 @@ PASS XMLHttpRequest interface: attribute response PASS XMLHttpRequest interface: attribute responseText FAIL XMLHttpRequest interface: member responseXML assert_false: The prototype object must not have a property "responseXML" expected false got true +PASS XMLHttpRequest must be primary interface of new XMLHttpRequest() +PASS Stringification of new XMLHttpRequest() +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "onreadystatechange" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "UNSENT" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "OPENED" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "HEADERS_RECEIVED" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "LOADING" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "DONE" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "readyState" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "open(ByteString, USVString)" with the proper type +PASS XMLHttpRequest interface: calling open(ByteString, USVString) on new XMLHttpRequest() with too few arguments must throw TypeError +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "open(ByteString, USVString, boolean, USVString, USVString)" with the proper type +PASS XMLHttpRequest interface: calling open(ByteString, USVString, boolean, USVString, USVString) on new XMLHttpRequest() with too few arguments must throw TypeError +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "setRequestHeader(ByteString, ByteString)" with the proper type +PASS XMLHttpRequest interface: calling setRequestHeader(ByteString, ByteString) on new XMLHttpRequest() with too few arguments must throw TypeError +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "timeout" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "withCredentials" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "upload" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "send([object Object],[object Object])" with the proper type +PASS XMLHttpRequest interface: calling send([object Object],[object Object]) on new XMLHttpRequest() with too few arguments must throw TypeError +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "abort()" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseURL" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "status" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "statusText" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "getResponseHeader(ByteString)" with the proper type +PASS XMLHttpRequest interface: calling getResponseHeader(ByteString) on new XMLHttpRequest() with too few arguments must throw TypeError +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "getAllResponseHeaders()" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "overrideMimeType(DOMString)" with the proper type +PASS XMLHttpRequest interface: calling overrideMimeType(DOMString) on new XMLHttpRequest() with too few arguments must throw TypeError +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseType" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "response" with the proper type +PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseText" with the proper type +FAIL XMLHttpRequest interface: new XMLHttpRequest() must not have property "responseXML" assert_false: expected false got true +PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onloadstart" with the proper type +PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onprogress" with the proper type +PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onabort" with the proper type +PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onerror" with the proper type +PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onload" with the proper type +PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "ontimeout" with the proper type +PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onloadend" with the proper type PASS FormData interface: existence and properties of interface object PASS FormData interface object length PASS FormData interface object name @@ -73,6 +120,24 @@ PASS FormData interface: operation set(USVString, USVString) PASS FormData interface: operation set(USVString, Blob, USVString) PASS FormData interface: iterable<USVString, FormDataEntryValue> +PASS FormData must be primary interface of new FormData() +PASS Stringification of new FormData() +PASS FormData interface: new FormData() must inherit property "append(USVString, USVString)" with the proper type +PASS FormData interface: calling append(USVString, USVString) on new FormData() with too few arguments must throw TypeError +PASS FormData interface: new FormData() must inherit property "append(USVString, Blob, USVString)" with the proper type +PASS FormData interface: calling append(USVString, Blob, USVString) on new FormData() with too few arguments must throw TypeError +PASS FormData interface: new FormData() must inherit property "delete(USVString)" with the proper type +PASS FormData interface: calling delete(USVString) on new FormData() with too few arguments must throw TypeError +PASS FormData interface: new FormData() must inherit property "get(USVString)" with the proper type +PASS FormData interface: calling get(USVString) on new FormData() with too few arguments must throw TypeError +PASS FormData interface: new FormData() must inherit property "getAll(USVString)" with the proper type +PASS FormData interface: calling getAll(USVString) on new FormData() with too few arguments must throw TypeError +PASS FormData interface: new FormData() must inherit property "has(USVString)" with the proper type +PASS FormData interface: calling has(USVString) on new FormData() with too few arguments must throw TypeError +PASS FormData interface: new FormData() must inherit property "set(USVString, USVString)" with the proper type +PASS FormData interface: calling set(USVString, USVString) on new FormData() with too few arguments must throw TypeError +PASS FormData interface: new FormData() must inherit property "set(USVString, Blob, USVString)" with the proper type +PASS FormData interface: calling set(USVString, Blob, USVString) on new FormData() with too few arguments must throw TypeError PASS ProgressEvent interface: existence and properties of interface object PASS ProgressEvent interface object length PASS ProgressEvent interface object name @@ -82,6 +147,11 @@ PASS ProgressEvent interface: attribute lengthComputable PASS ProgressEvent interface: attribute loaded PASS ProgressEvent interface: attribute total +PASS ProgressEvent must be primary interface of new ProgressEvent("type") +PASS Stringification of new ProgressEvent("type") +PASS ProgressEvent interface: new ProgressEvent("type") must inherit property "lengthComputable" with the proper type +PASS ProgressEvent interface: new ProgressEvent("type") must inherit property "loaded" with the proper type +PASS ProgressEvent interface: new ProgressEvent("type") must inherit property "total" with the proper type PASS Node interface: existence and properties of interface object PASS Document interface: existence and properties of interface object Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/xslt/idlharness.tentative.window-expected.txt b/third_party/blink/web_tests/external/wpt/xslt/idlharness.tentative.window-expected.txt deleted file mode 100644 index 47fa44f511..0000000 --- a/third_party/blink/web_tests/external/wpt/xslt/idlharness.tentative.window-expected.txt +++ /dev/null
@@ -1,20 +0,0 @@ -This is a testharness.js-based test. -FAIL idl_test setup promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -PASS XSLTProcessor interface: existence and properties of interface object -PASS XSLTProcessor interface object length -PASS XSLTProcessor interface object name -PASS XSLTProcessor interface: existence and properties of interface prototype object -PASS XSLTProcessor interface: existence and properties of interface prototype object's "constructor" property -PASS XSLTProcessor interface: existence and properties of interface prototype object's @@unscopables property -PASS XSLTProcessor interface: operation importStylesheet(Node) -PASS XSLTProcessor interface: operation transformToFragment(Node, Document) -PASS XSLTProcessor interface: operation transformToDocument(Node) -PASS XSLTProcessor interface: operation setParameter(DOMString, DOMString, any) -PASS XSLTProcessor interface: operation getParameter(DOMString, DOMString) -PASS XSLTProcessor interface: operation removeParameter(DOMString, DOMString) -PASS XSLTProcessor interface: operation clearParameters() -PASS XSLTProcessor interface: operation reset() -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/extra-info-redirects-expected.txt b/third_party/blink/web_tests/http/tests/devtools/network/extra-info-redirects-expected.txt new file mode 100644 index 0000000..d5caadd --- /dev/null +++ b/third_party/blink/web_tests/http/tests/devtools/network/extra-info-redirects-expected.txt
@@ -0,0 +1,25 @@ +Verifies that Network.*ExtraInfo events get assigned to the correct SDK.NetworkRequest instance in the case of cross origin redirects. +[ + { + "url": "http://redirect-one.test:8000/devtools/network/resources/redirect-1.php", + "hasExtraRequestInfo": true, + "hasExtraResponseInfo": true, + "requestHostHeader": "redirect-one.test:8000", + "responseXDevToolsRedirectHeader": "1" + }, + { + "url": "http://redirect-two.test:8000/devtools/network/resources/redirect-2.php", + "hasExtraRequestInfo": true, + "hasExtraResponseInfo": true, + "requestHostHeader": "redirect-two.test:8000", + "responseXDevToolsRedirectHeader": "2" + }, + { + "url": "http://redirect-three.test:8000/devtools/network/resources/redirect-3.php", + "hasExtraRequestInfo": true, + "hasExtraResponseInfo": true, + "requestHostHeader": "redirect-three.test:8000", + "responseXDevToolsRedirectHeader": "3" + } +] +
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/extra-info-redirects.js b/third_party/blink/web_tests/http/tests/devtools/network/extra-info-redirects.js new file mode 100644 index 0000000..f382abb --- /dev/null +++ b/third_party/blink/web_tests/http/tests/devtools/network/extra-info-redirects.js
@@ -0,0 +1,34 @@ +// 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. + +(async function() { + TestRunner.addResult( + 'Verifies that Network.*ExtraInfo events get assigned to the correct SDK.NetworkRequest instance in the case of cross origin redirects.'); + await TestRunner.loadModule('network_test_runner'); + + await TestRunner.evaluateInPageAsync(` +new Promise(resolve => { + xhr = new XMLHttpRequest(); + xhr.open('GET', 'http://redirect-one.test:8000/devtools/network/resources/redirect-1.php'); + xhr.send(); + xhr.onreadystatechange = () => { + if (xhr.readyState === XMLHttpRequest.DONE) + resolve(); + }; +}); +`); + + const reqs = SDK.networkLog.requests().map(request => { + return { + url: request.url(), + hasExtraRequestInfo: request.hasExtraRequestInfo(), + hasExtraResponseInfo: request.hasExtraResponseInfo(), + requestHostHeader: request.requestHeaderValue('host'), + responseXDevToolsRedirectHeader: + request.responseHeaderValue('x-devtools-redirect') + }; + }); + TestRunner.addResult(JSON.stringify(reqs, null, 2)); + TestRunner.completeTest(); +})();
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/resources/redirect-1.php b/third_party/blink/web_tests/http/tests/devtools/network/resources/redirect-1.php new file mode 100644 index 0000000..cd01ce55 --- /dev/null +++ b/third_party/blink/web_tests/http/tests/devtools/network/resources/redirect-1.php
@@ -0,0 +1,5 @@ +<?php +http_response_code(307); +header('x-devtools-redirect: 1'); +header('location: http://redirect-two.test:8000/devtools/network/resources/redirect-2.php'); +?>
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/resources/redirect-2.php b/third_party/blink/web_tests/http/tests/devtools/network/resources/redirect-2.php new file mode 100644 index 0000000..59be585 --- /dev/null +++ b/third_party/blink/web_tests/http/tests/devtools/network/resources/redirect-2.php
@@ -0,0 +1,5 @@ +<?php +http_response_code(307); +header('x-devtools-redirect: 2'); +header('location: http://redirect-three.test:8000/devtools/network/resources/redirect-3.php'); +?>
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/resources/redirect-3.php b/third_party/blink/web_tests/http/tests/devtools/network/resources/redirect-3.php new file mode 100644 index 0000000..7c75d9f --- /dev/null +++ b/third_party/blink/web_tests/http/tests/devtools/network/resources/redirect-3.php
@@ -0,0 +1,3 @@ +<?php +header('x-devtools-redirect: 3'); +?>
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/IndexedDB/idlharness.any.serviceworker-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/IndexedDB/idlharness.any.serviceworker-expected.txt new file mode 100644 index 0000000..cf73abdc --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/IndexedDB/idlharness.any.serviceworker-expected.txt
@@ -0,0 +1,189 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined +PASS IDBRequest interface: existence and properties of interface object +PASS IDBRequest interface object length +PASS IDBRequest interface object name +PASS IDBRequest interface: existence and properties of interface prototype object +PASS IDBRequest interface: existence and properties of interface prototype object's "constructor" property +PASS IDBRequest interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBRequest interface: attribute result +PASS IDBRequest interface: attribute error +PASS IDBRequest interface: attribute source +PASS IDBRequest interface: attribute transaction +PASS IDBRequest interface: attribute readyState +PASS IDBRequest interface: attribute onsuccess +PASS IDBRequest interface: attribute onerror +PASS IDBOpenDBRequest interface: existence and properties of interface object +PASS IDBOpenDBRequest interface object length +PASS IDBOpenDBRequest interface object name +PASS IDBOpenDBRequest interface: existence and properties of interface prototype object +PASS IDBOpenDBRequest interface: existence and properties of interface prototype object's "constructor" property +PASS IDBOpenDBRequest interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBOpenDBRequest interface: attribute onblocked +PASS IDBOpenDBRequest interface: attribute onupgradeneeded +PASS IDBVersionChangeEvent interface: existence and properties of interface object +PASS IDBVersionChangeEvent interface object length +PASS IDBVersionChangeEvent interface object name +PASS IDBVersionChangeEvent interface: existence and properties of interface prototype object +PASS IDBVersionChangeEvent interface: existence and properties of interface prototype object's "constructor" property +PASS IDBVersionChangeEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBVersionChangeEvent interface: attribute oldVersion +PASS IDBVersionChangeEvent interface: attribute newVersion +PASS IDBVersionChangeEvent must be primary interface of new IDBVersionChangeEvent("type") +PASS Stringification of new IDBVersionChangeEvent("type") +PASS IDBVersionChangeEvent interface: new IDBVersionChangeEvent("type") must inherit property "oldVersion" with the proper type +PASS IDBVersionChangeEvent interface: new IDBVersionChangeEvent("type") must inherit property "newVersion" with the proper type +PASS IDBFactory interface: existence and properties of interface object +PASS IDBFactory interface object length +PASS IDBFactory interface object name +PASS IDBFactory interface: existence and properties of interface prototype object +PASS IDBFactory interface: existence and properties of interface prototype object's "constructor" property +PASS IDBFactory interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBFactory interface: operation open(DOMString, unsigned long long) +PASS IDBFactory interface: operation deleteDatabase(DOMString) +PASS IDBFactory interface: operation databases() +PASS IDBFactory interface: operation cmp(any, any) +PASS IDBFactory must be primary interface of [object IDBFactory] +PASS Stringification of [object IDBFactory] +PASS IDBFactory interface: [object IDBFactory] must inherit property "open(DOMString, unsigned long long)" with the proper type +PASS IDBFactory interface: calling open(DOMString, unsigned long long) on [object IDBFactory] with too few arguments must throw TypeError +PASS IDBFactory interface: [object IDBFactory] must inherit property "deleteDatabase(DOMString)" with the proper type +PASS IDBFactory interface: calling deleteDatabase(DOMString) on [object IDBFactory] with too few arguments must throw TypeError +PASS IDBFactory interface: [object IDBFactory] must inherit property "databases()" with the proper type +PASS IDBFactory interface: [object IDBFactory] must inherit property "cmp(any, any)" with the proper type +PASS IDBFactory interface: calling cmp(any, any) on [object IDBFactory] with too few arguments must throw TypeError +PASS IDBDatabase interface: existence and properties of interface object +PASS IDBDatabase interface object length +PASS IDBDatabase interface object name +PASS IDBDatabase interface: existence and properties of interface prototype object +PASS IDBDatabase interface: existence and properties of interface prototype object's "constructor" property +PASS IDBDatabase interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBDatabase interface: attribute name +PASS IDBDatabase interface: attribute version +PASS IDBDatabase interface: attribute objectStoreNames +PASS IDBDatabase interface: operation transaction([object Object],[object Object], IDBTransactionMode) +PASS IDBDatabase interface: operation close() +PASS IDBDatabase interface: operation createObjectStore(DOMString, IDBObjectStoreParameters) +PASS IDBDatabase interface: operation deleteObjectStore(DOMString) +PASS IDBDatabase interface: attribute onabort +PASS IDBDatabase interface: attribute onclose +PASS IDBDatabase interface: attribute onerror +PASS IDBDatabase interface: attribute onversionchange +PASS IDBObjectStore interface: existence and properties of interface object +PASS IDBObjectStore interface object length +PASS IDBObjectStore interface object name +PASS IDBObjectStore interface: existence and properties of interface prototype object +PASS IDBObjectStore interface: existence and properties of interface prototype object's "constructor" property +PASS IDBObjectStore interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBObjectStore interface: attribute name +PASS IDBObjectStore interface: attribute keyPath +PASS IDBObjectStore interface: attribute indexNames +PASS IDBObjectStore interface: attribute transaction +PASS IDBObjectStore interface: attribute autoIncrement +PASS IDBObjectStore interface: operation put(any, any) +PASS IDBObjectStore interface: operation add(any, any) +PASS IDBObjectStore interface: operation delete(any) +PASS IDBObjectStore interface: operation clear() +PASS IDBObjectStore interface: operation get(any) +PASS IDBObjectStore interface: operation getKey(any) +PASS IDBObjectStore interface: operation getAll(any, unsigned long) +PASS IDBObjectStore interface: operation getAllKeys(any, unsigned long) +PASS IDBObjectStore interface: operation count(any) +PASS IDBObjectStore interface: operation openCursor(any, IDBCursorDirection) +PASS IDBObjectStore interface: operation openKeyCursor(any, IDBCursorDirection) +PASS IDBObjectStore interface: operation index(DOMString) +PASS IDBObjectStore interface: operation createIndex(DOMString, [object Object],[object Object], IDBIndexParameters) +PASS IDBObjectStore interface: operation deleteIndex(DOMString) +PASS IDBIndex interface: existence and properties of interface object +PASS IDBIndex interface object length +PASS IDBIndex interface object name +PASS IDBIndex interface: existence and properties of interface prototype object +PASS IDBIndex interface: existence and properties of interface prototype object's "constructor" property +PASS IDBIndex interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBIndex interface: attribute name +PASS IDBIndex interface: attribute objectStore +PASS IDBIndex interface: attribute keyPath +PASS IDBIndex interface: attribute multiEntry +PASS IDBIndex interface: attribute unique +PASS IDBIndex interface: operation get(any) +PASS IDBIndex interface: operation getKey(any) +PASS IDBIndex interface: operation getAll(any, unsigned long) +PASS IDBIndex interface: operation getAllKeys(any, unsigned long) +PASS IDBIndex interface: operation count(any) +PASS IDBIndex interface: operation openCursor(any, IDBCursorDirection) +PASS IDBIndex interface: operation openKeyCursor(any, IDBCursorDirection) +PASS IDBKeyRange interface: existence and properties of interface object +PASS IDBKeyRange interface object length +PASS IDBKeyRange interface object name +PASS IDBKeyRange interface: existence and properties of interface prototype object +PASS IDBKeyRange interface: existence and properties of interface prototype object's "constructor" property +PASS IDBKeyRange interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBKeyRange interface: attribute lower +PASS IDBKeyRange interface: attribute upper +PASS IDBKeyRange interface: attribute lowerOpen +PASS IDBKeyRange interface: attribute upperOpen +PASS IDBKeyRange interface: operation only(any) +PASS IDBKeyRange interface: operation lowerBound(any, boolean) +PASS IDBKeyRange interface: operation upperBound(any, boolean) +PASS IDBKeyRange interface: operation bound(any, any, boolean, boolean) +PASS IDBKeyRange interface: operation includes(any) +PASS IDBKeyRange must be primary interface of [object IDBKeyRange] +PASS Stringification of [object IDBKeyRange] +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lower" with the proper type +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upper" with the proper type +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lowerOpen" with the proper type +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upperOpen" with the proper type +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "only(any)" with the proper type +PASS IDBKeyRange interface: calling only(any) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lowerBound(any, boolean)" with the proper type +PASS IDBKeyRange interface: calling lowerBound(any, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upperBound(any, boolean)" with the proper type +PASS IDBKeyRange interface: calling upperBound(any, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "bound(any, any, boolean, boolean)" with the proper type +PASS IDBKeyRange interface: calling bound(any, any, boolean, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "includes(any)" with the proper type +PASS IDBKeyRange interface: calling includes(any) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBCursor interface: existence and properties of interface object +PASS IDBCursor interface object length +PASS IDBCursor interface object name +PASS IDBCursor interface: existence and properties of interface prototype object +PASS IDBCursor interface: existence and properties of interface prototype object's "constructor" property +PASS IDBCursor interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBCursor interface: attribute source +PASS IDBCursor interface: attribute direction +PASS IDBCursor interface: attribute key +PASS IDBCursor interface: attribute primaryKey +PASS IDBCursor interface: attribute request +PASS IDBCursor interface: operation advance(unsigned long) +PASS IDBCursor interface: operation continue(any) +PASS IDBCursor interface: operation continuePrimaryKey(any, any) +PASS IDBCursor interface: operation update(any) +PASS IDBCursor interface: operation delete() +PASS IDBCursorWithValue interface: existence and properties of interface object +PASS IDBCursorWithValue interface object length +PASS IDBCursorWithValue interface object name +PASS IDBCursorWithValue interface: existence and properties of interface prototype object +PASS IDBCursorWithValue interface: existence and properties of interface prototype object's "constructor" property +PASS IDBCursorWithValue interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBCursorWithValue interface: attribute value +PASS IDBTransaction interface: existence and properties of interface object +PASS IDBTransaction interface object length +PASS IDBTransaction interface object name +PASS IDBTransaction interface: existence and properties of interface prototype object +PASS IDBTransaction interface: existence and properties of interface prototype object's "constructor" property +PASS IDBTransaction interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBTransaction interface: attribute objectStoreNames +PASS IDBTransaction interface: attribute mode +PASS IDBTransaction interface: attribute db +PASS IDBTransaction interface: attribute error +PASS IDBTransaction interface: operation objectStore(DOMString) +PASS IDBTransaction interface: operation commit() +PASS IDBTransaction interface: operation abort() +PASS IDBTransaction interface: attribute onabort +PASS IDBTransaction interface: attribute oncomplete +PASS IDBTransaction interface: attribute onerror +PASS Window interface: existence and properties of interface object +PASS WorkerGlobalScope interface: attribute indexedDB +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/WebCryptoAPI/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/WebCryptoAPI/idlharness.https.any.worker-expected.txt new file mode 100644 index 0000000..482b74a --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/WebCryptoAPI/idlharness.https.any.worker-expected.txt
@@ -0,0 +1,74 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined +PASS Crypto interface: existence and properties of interface object +PASS Crypto interface object length +PASS Crypto interface object name +PASS Crypto interface: existence and properties of interface prototype object +PASS Crypto interface: existence and properties of interface prototype object's "constructor" property +PASS Crypto interface: existence and properties of interface prototype object's @@unscopables property +PASS Crypto interface: attribute subtle +PASS Crypto interface: operation getRandomValues(ArrayBufferView) +PASS Crypto must be primary interface of crypto +PASS Stringification of crypto +PASS Crypto interface: crypto must inherit property "subtle" with the proper type +PASS Crypto interface: crypto must inherit property "getRandomValues(ArrayBufferView)" with the proper type +PASS Crypto interface: calling getRandomValues(ArrayBufferView) on crypto with too few arguments must throw TypeError +PASS CryptoKey interface: existence and properties of interface object +PASS CryptoKey interface object length +PASS CryptoKey interface object name +PASS CryptoKey interface: existence and properties of interface prototype object +PASS CryptoKey interface: existence and properties of interface prototype object's "constructor" property +PASS CryptoKey interface: existence and properties of interface prototype object's @@unscopables property +PASS CryptoKey interface: attribute type +PASS CryptoKey interface: attribute extractable +PASS CryptoKey interface: attribute algorithm +PASS CryptoKey interface: attribute usages +PASS SubtleCrypto interface: existence and properties of interface object +PASS SubtleCrypto interface object length +PASS SubtleCrypto interface object name +PASS SubtleCrypto interface: existence and properties of interface prototype object +PASS SubtleCrypto interface: existence and properties of interface prototype object's "constructor" property +PASS SubtleCrypto interface: existence and properties of interface prototype object's @@unscopables property +PASS SubtleCrypto interface: operation encrypt(AlgorithmIdentifier, CryptoKey, BufferSource) +PASS SubtleCrypto interface: operation decrypt(AlgorithmIdentifier, CryptoKey, BufferSource) +PASS SubtleCrypto interface: operation sign(AlgorithmIdentifier, CryptoKey, BufferSource) +PASS SubtleCrypto interface: operation verify(AlgorithmIdentifier, CryptoKey, BufferSource, BufferSource) +PASS SubtleCrypto interface: operation digest(AlgorithmIdentifier, BufferSource) +PASS SubtleCrypto interface: operation generateKey(AlgorithmIdentifier, boolean, [object Object]) +PASS SubtleCrypto interface: operation deriveKey(AlgorithmIdentifier, CryptoKey, AlgorithmIdentifier, boolean, [object Object]) +PASS SubtleCrypto interface: operation deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) +PASS SubtleCrypto interface: operation importKey(KeyFormat, [object Object],[object Object], AlgorithmIdentifier, boolean, [object Object]) +PASS SubtleCrypto interface: operation exportKey(KeyFormat, CryptoKey) +PASS SubtleCrypto interface: operation wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier) +PASS SubtleCrypto interface: operation unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, [object Object]) +PASS SubtleCrypto must be primary interface of crypto.subtle +PASS Stringification of crypto.subtle +PASS SubtleCrypto interface: crypto.subtle must inherit property "encrypt(AlgorithmIdentifier, CryptoKey, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling encrypt(AlgorithmIdentifier, CryptoKey, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "decrypt(AlgorithmIdentifier, CryptoKey, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling decrypt(AlgorithmIdentifier, CryptoKey, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "sign(AlgorithmIdentifier, CryptoKey, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling sign(AlgorithmIdentifier, CryptoKey, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "verify(AlgorithmIdentifier, CryptoKey, BufferSource, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling verify(AlgorithmIdentifier, CryptoKey, BufferSource, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "digest(AlgorithmIdentifier, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling digest(AlgorithmIdentifier, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "generateKey(AlgorithmIdentifier, boolean, [object Object])" with the proper type +PASS SubtleCrypto interface: calling generateKey(AlgorithmIdentifier, boolean, [object Object]) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "deriveKey(AlgorithmIdentifier, CryptoKey, AlgorithmIdentifier, boolean, [object Object])" with the proper type +PASS SubtleCrypto interface: calling deriveKey(AlgorithmIdentifier, CryptoKey, AlgorithmIdentifier, boolean, [object Object]) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long)" with the proper type +PASS SubtleCrypto interface: calling deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "importKey(KeyFormat, [object Object],[object Object], AlgorithmIdentifier, boolean, [object Object])" with the proper type +PASS SubtleCrypto interface: calling importKey(KeyFormat, [object Object],[object Object], AlgorithmIdentifier, boolean, [object Object]) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "exportKey(KeyFormat, CryptoKey)" with the proper type +PASS SubtleCrypto interface: calling exportKey(KeyFormat, CryptoKey) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier)" with the proper type +PASS SubtleCrypto interface: calling wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, [object Object])" with the proper type +PASS SubtleCrypto interface: calling unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, [object Object]) on crypto.subtle with too few arguments must throw TypeError +PASS Window interface: existence and properties of interface object +PASS WorkerGlobalScope interface: attribute crypto +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/background-fetch/idlharness.https.any.serviceworker-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/background-fetch/idlharness.https.any.serviceworker-expected.txt new file mode 100644 index 0000000..d0dfd483 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/background-fetch/idlharness.https.any.serviceworker-expected.txt
@@ -0,0 +1,61 @@ +This is a testharness.js-based test. +Found 57 tests; 56 PASS, 1 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface ServiceWorkerGlobalScope: original interface defined +PASS Partial interface ServiceWorkerRegistration: original interface defined +PASS BackgroundFetchManager interface: existence and properties of interface object +PASS BackgroundFetchManager interface object length +PASS BackgroundFetchManager interface object name +PASS BackgroundFetchManager interface: existence and properties of interface prototype object +PASS BackgroundFetchManager interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchManager interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchManager interface: operation fetch(DOMString, [object Object],[object Object], BackgroundFetchOptions) +PASS BackgroundFetchManager interface: operation get(DOMString) +PASS BackgroundFetchManager interface: operation getIds() +PASS BackgroundFetchRegistration interface: existence and properties of interface object +PASS BackgroundFetchRegistration interface object length +PASS BackgroundFetchRegistration interface object name +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchRegistration interface: attribute id +PASS BackgroundFetchRegistration interface: attribute uploadTotal +PASS BackgroundFetchRegistration interface: attribute uploaded +PASS BackgroundFetchRegistration interface: attribute downloadTotal +PASS BackgroundFetchRegistration interface: attribute downloaded +PASS BackgroundFetchRegistration interface: attribute result +PASS BackgroundFetchRegistration interface: attribute failureReason +PASS BackgroundFetchRegistration interface: attribute recordsAvailable +PASS BackgroundFetchRegistration interface: attribute onprogress +PASS BackgroundFetchRegistration interface: operation abort() +PASS BackgroundFetchRegistration interface: operation match(RequestInfo, CacheQueryOptions) +PASS BackgroundFetchRegistration interface: operation matchAll(RequestInfo, CacheQueryOptions) +PASS BackgroundFetchRecord interface: existence and properties of interface object +PASS BackgroundFetchRecord interface object length +PASS BackgroundFetchRecord interface object name +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchRecord interface: attribute request +PASS BackgroundFetchRecord interface: attribute responseReady +PASS BackgroundFetchEvent interface: existence and properties of interface object +PASS BackgroundFetchEvent interface object length +PASS BackgroundFetchEvent interface object name +PASS BackgroundFetchEvent interface: existence and properties of interface prototype object +PASS BackgroundFetchEvent interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchEvent interface: attribute registration +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface object +PASS BackgroundFetchUpdateUIEvent interface object length +PASS BackgroundFetchUpdateUIEvent interface object name +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface prototype object +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface prototype object's @@unscopables property +FAIL BackgroundFetchUpdateUIEvent interface: operation updateUI(BackgroundFetchUIOptions) assert_equals: property has wrong .length expected 0 but got 1 +PASS ServiceWorkerRegistration interface: attribute backgroundFetch +PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchsuccess +PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchfail +PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchabort +PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchclick +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/background-fetch/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/background-fetch/idlharness.https.any.worker-expected.txt new file mode 100644 index 0000000..0b6e9e5 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/background-fetch/idlharness.https.any.worker-expected.txt
@@ -0,0 +1,46 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface ServiceWorkerGlobalScope: original interface defined +PASS Partial interface ServiceWorkerRegistration: original interface defined +PASS BackgroundFetchManager interface: existence and properties of interface object +PASS BackgroundFetchManager interface object length +PASS BackgroundFetchManager interface object name +PASS BackgroundFetchManager interface: existence and properties of interface prototype object +PASS BackgroundFetchManager interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchManager interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchManager interface: operation fetch(DOMString, [object Object],[object Object], BackgroundFetchOptions) +PASS BackgroundFetchManager interface: operation get(DOMString) +PASS BackgroundFetchManager interface: operation getIds() +PASS BackgroundFetchRegistration interface: existence and properties of interface object +PASS BackgroundFetchRegistration interface object length +PASS BackgroundFetchRegistration interface object name +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchRegistration interface: attribute id +PASS BackgroundFetchRegistration interface: attribute uploadTotal +PASS BackgroundFetchRegistration interface: attribute uploaded +PASS BackgroundFetchRegistration interface: attribute downloadTotal +PASS BackgroundFetchRegistration interface: attribute downloaded +PASS BackgroundFetchRegistration interface: attribute result +PASS BackgroundFetchRegistration interface: attribute failureReason +PASS BackgroundFetchRegistration interface: attribute recordsAvailable +PASS BackgroundFetchRegistration interface: attribute onprogress +PASS BackgroundFetchRegistration interface: operation abort() +PASS BackgroundFetchRegistration interface: operation match(RequestInfo, CacheQueryOptions) +PASS BackgroundFetchRegistration interface: operation matchAll(RequestInfo, CacheQueryOptions) +PASS BackgroundFetchRecord interface: existence and properties of interface object +PASS BackgroundFetchRecord interface object length +PASS BackgroundFetchRecord interface object name +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchRecord interface: attribute request +PASS BackgroundFetchRecord interface: attribute responseReady +PASS BackgroundFetchEvent interface: existence and properties of interface object +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface object +PASS ServiceWorkerRegistration interface: attribute backgroundFetch +PASS ServiceWorkerGlobalScope interface: existence and properties of interface object +PASS ExtendableEvent interface: existence and properties of interface object +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/css/css-masking/idlharness-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/css/css-masking/idlharness-expected.txt new file mode 100644 index 0000000..f188afc0 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/css/css-masking/idlharness-expected.txt
@@ -0,0 +1,36 @@ +This is a testharness.js-based test. +PASS idl_test setup +FAIL SVGClipPathElement interface: existence and properties of interface object assert_equals: prototype of SVGClipPathElement is not SVGElement expected function "function SVGElement() { [native code] }" but got function "function SVGGraphicsElement() { [native code] }" +PASS SVGClipPathElement interface object length +PASS SVGClipPathElement interface object name +FAIL SVGClipPathElement interface: existence and properties of interface prototype object assert_equals: prototype of SVGClipPathElement.prototype is not SVGElement.prototype expected object "[object SVGElement]" but got object "[object SVGGraphicsElement]" +PASS SVGClipPathElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGClipPathElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGClipPathElement interface: attribute clipPathUnits +FAIL SVGClipPathElement interface: attribute transform assert_own_property: expected property "transform" missing +PASS SVGClipPathElement must be primary interface of [object SVGClipPathElement] +PASS Stringification of [object SVGClipPathElement] +PASS SVGClipPathElement interface: [object SVGClipPathElement] must inherit property "clipPathUnits" with the proper type +PASS SVGClipPathElement interface: [object SVGClipPathElement] must inherit property "transform" with the proper type +PASS SVGMaskElement interface: existence and properties of interface object +PASS SVGMaskElement interface object length +PASS SVGMaskElement interface object name +PASS SVGMaskElement interface: existence and properties of interface prototype object +PASS SVGMaskElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGMaskElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGMaskElement interface: attribute maskUnits +PASS SVGMaskElement interface: attribute maskContentUnits +PASS SVGMaskElement interface: attribute x +PASS SVGMaskElement interface: attribute y +PASS SVGMaskElement interface: attribute width +PASS SVGMaskElement interface: attribute height +PASS SVGMaskElement must be primary interface of [object SVGMaskElement] +PASS Stringification of [object SVGMaskElement] +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "maskUnits" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "maskContentUnits" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "x" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "y" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "width" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "height" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/css/cssom-view/idlharness-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/css/cssom-view/idlharness-expected.txt new file mode 100644 index 0000000..55af6db --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/css/cssom-view/idlharness-expected.txt
@@ -0,0 +1,329 @@ +This is a testharness.js-based test. +Found 325 tests; 252 PASS, 73 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface Window: original interface defined +PASS Partial interface Document: original interface defined +PASS Partial interface Element: original interface defined +PASS Partial interface HTMLElement: original interface defined +PASS Partial interface HTMLImageElement: original interface defined +PASS Partial interface Range: original interface defined +PASS Partial interface MouseEvent: original interface defined +PASS Partial dictionary MouseEventInit: original dictionary defined +PASS MediaQueryList interface: existence and properties of interface object +PASS MediaQueryList interface object length +PASS MediaQueryList interface object name +PASS MediaQueryList interface: existence and properties of interface prototype object +PASS MediaQueryList interface: existence and properties of interface prototype object's "constructor" property +PASS MediaQueryList interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaQueryList interface: attribute media +PASS MediaQueryList interface: attribute matches +PASS MediaQueryList interface: operation addListener(EventListener) +PASS MediaQueryList interface: operation removeListener(EventListener) +PASS MediaQueryList interface: attribute onchange +PASS MediaQueryList must be primary interface of matchMedia("all") +PASS Stringification of matchMedia("all") +PASS MediaQueryList interface: matchMedia("all") must inherit property "media" with the proper type +PASS MediaQueryList interface: matchMedia("all") must inherit property "matches" with the proper type +PASS MediaQueryList interface: matchMedia("all") must inherit property "addListener(EventListener)" with the proper type +PASS MediaQueryList interface: calling addListener(EventListener) on matchMedia("all") with too few arguments must throw TypeError +PASS MediaQueryList interface: matchMedia("all") must inherit property "removeListener(EventListener)" with the proper type +PASS MediaQueryList interface: calling removeListener(EventListener) on matchMedia("all") with too few arguments must throw TypeError +PASS MediaQueryList interface: matchMedia("all") must inherit property "onchange" with the proper type +PASS MediaQueryListEvent interface: existence and properties of interface object +PASS MediaQueryListEvent interface object length +PASS MediaQueryListEvent interface object name +PASS MediaQueryListEvent interface: existence and properties of interface prototype object +PASS MediaQueryListEvent interface: existence and properties of interface prototype object's "constructor" property +PASS MediaQueryListEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaQueryListEvent interface: attribute media +PASS MediaQueryListEvent interface: attribute matches +PASS MediaQueryListEvent must be primary interface of new MediaQueryListEvent("change") +PASS Stringification of new MediaQueryListEvent("change") +PASS MediaQueryListEvent interface: new MediaQueryListEvent("change") must inherit property "media" with the proper type +PASS MediaQueryListEvent interface: new MediaQueryListEvent("change") must inherit property "matches" with the proper type +PASS Screen interface: existence and properties of interface object +PASS Screen interface object length +PASS Screen interface object name +PASS Screen interface: existence and properties of interface prototype object +PASS Screen interface: existence and properties of interface prototype object's "constructor" property +PASS Screen interface: existence and properties of interface prototype object's @@unscopables property +PASS Screen interface: attribute availWidth +PASS Screen interface: attribute availHeight +PASS Screen interface: attribute width +PASS Screen interface: attribute height +PASS Screen interface: attribute colorDepth +PASS Screen interface: attribute pixelDepth +PASS Screen must be primary interface of screen +PASS Stringification of screen +PASS Screen interface: screen must inherit property "availWidth" with the proper type +PASS Screen interface: screen must inherit property "availHeight" with the proper type +PASS Screen interface: screen must inherit property "width" with the proper type +PASS Screen interface: screen must inherit property "height" with the proper type +PASS Screen interface: screen must inherit property "colorDepth" with the proper type +PASS Screen interface: screen must inherit property "pixelDepth" with the proper type +FAIL CaretPosition interface: existence and properties of interface object assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface object length assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface object name assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: existence and properties of interface prototype object assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: attribute offsetNode assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: attribute offset assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: operation getClientRect() assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition must be primary interface of document.caretPositionFromPoint(5, 5) assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL Stringification of document.caretPositionFromPoint(5, 5) assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL CaretPosition interface: document.caretPositionFromPoint(5, 5) must inherit property "offsetNode" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL CaretPosition interface: document.caretPositionFromPoint(5, 5) must inherit property "offset" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL CaretPosition interface: document.caretPositionFromPoint(5, 5) must inherit property "getClientRect()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL CSSPseudoElement interface: operation getBoxQuads(BoxQuadOptions) assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface: operation convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface: operation convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface: operation convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +PASS MouseEvent interface: attribute screenX +PASS MouseEvent interface: attribute screenY +PASS MouseEvent interface: attribute pageX +PASS MouseEvent interface: attribute pageY +PASS MouseEvent interface: attribute clientX +PASS MouseEvent interface: attribute clientY +PASS MouseEvent interface: attribute x +PASS MouseEvent interface: attribute y +PASS MouseEvent interface: attribute offsetX +PASS MouseEvent interface: attribute offsetY +PASS HTMLElement interface: attribute offsetParent +PASS HTMLElement interface: attribute offsetTop +PASS HTMLElement interface: attribute offsetLeft +PASS HTMLElement interface: attribute offsetWidth +PASS HTMLElement interface: attribute offsetHeight +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetParent" with the proper type +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetTop" with the proper type +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetLeft" with the proper type +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetWidth" with the proper type +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetHeight" with the proper type +PASS Element interface: document.createElement("div") must inherit property "getClientRects()" with the proper type +PASS Element interface: document.createElement("div") must inherit property "getBoundingClientRect()" with the proper type +PASS Element interface: document.createElement("div") must inherit property "scrollIntoView([object Object],[object Object])" with the proper type +PASS Element interface: calling scrollIntoView([object Object],[object Object]) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scroll(ScrollToOptions)" with the proper type +PASS Element interface: calling scroll(ScrollToOptions) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scroll(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scroll(unrestricted double, unrestricted double) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollTo(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollTo(ScrollToOptions) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollTo(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollTo(unrestricted double, unrestricted double) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollBy(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollBy(ScrollToOptions) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollBy(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollBy(unrestricted double, unrestricted double) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollTop" with the proper type +PASS Element interface: document.createElement("div") must inherit property "scrollLeft" with the proper type +PASS Element interface: document.createElement("div") must inherit property "scrollWidth" with the proper type +PASS Element interface: document.createElement("div") must inherit property "scrollHeight" with the proper type +PASS Element interface: document.createElement("div") must inherit property "clientTop" with the proper type +PASS Element interface: document.createElement("div") must inherit property "clientLeft" with the proper type +PASS Element interface: document.createElement("div") must inherit property "clientWidth" with the proper type +PASS Element interface: document.createElement("div") must inherit property "clientHeight" with the proper type +FAIL Element interface: document.createElement("div") must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: calling getBoxQuads(BoxQuadOptions) on document.createElement("div") with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: document.createElement("div") must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document.createElement("div") with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: document.createElement("div") must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document.createElement("div") with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: document.createElement("div") must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Element interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document.createElement("div") with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +PASS HTMLImageElement interface: attribute x +PASS HTMLImageElement interface: attribute y +PASS HTMLImageElement interface: document.createElement("img") must inherit property "x" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "y" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetParent" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetTop" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetLeft" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetWidth" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetHeight" with the proper type +PASS Element interface: document.createElement("img") must inherit property "getClientRects()" with the proper type +PASS Element interface: document.createElement("img") must inherit property "getBoundingClientRect()" with the proper type +PASS Element interface: document.createElement("img") must inherit property "scrollIntoView([object Object],[object Object])" with the proper type +PASS Element interface: calling scrollIntoView([object Object],[object Object]) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scroll(ScrollToOptions)" with the proper type +PASS Element interface: calling scroll(ScrollToOptions) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scroll(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scroll(unrestricted double, unrestricted double) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollTo(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollTo(ScrollToOptions) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollTo(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollTo(unrestricted double, unrestricted double) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollBy(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollBy(ScrollToOptions) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollBy(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollBy(unrestricted double, unrestricted double) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollTop" with the proper type +PASS Element interface: document.createElement("img") must inherit property "scrollLeft" with the proper type +PASS Element interface: document.createElement("img") must inherit property "scrollWidth" with the proper type +PASS Element interface: document.createElement("img") must inherit property "scrollHeight" with the proper type +PASS Element interface: document.createElement("img") must inherit property "clientTop" with the proper type +PASS Element interface: document.createElement("img") must inherit property "clientLeft" with the proper type +PASS Element interface: document.createElement("img") must inherit property "clientWidth" with the proper type +PASS Element interface: document.createElement("img") must inherit property "clientHeight" with the proper type +FAIL Element interface: document.createElement("img") must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: calling getBoxQuads(BoxQuadOptions) on document.createElement("img") with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: document.createElement("img") must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document.createElement("img") with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: document.createElement("img") must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document.createElement("img") with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: document.createElement("img") must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Element interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document.createElement("img") with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +PASS Window interface: operation matchMedia(CSSOMString) +PASS Window interface: attribute screen +PASS Window interface: operation moveTo(long, long) +PASS Window interface: operation moveBy(long, long) +PASS Window interface: operation resizeTo(long, long) +PASS Window interface: operation resizeBy(long, long) +PASS Window interface: attribute innerWidth +PASS Window interface: attribute innerHeight +PASS Window interface: attribute scrollX +PASS Window interface: attribute pageXOffset +PASS Window interface: attribute scrollY +PASS Window interface: attribute pageYOffset +PASS Window interface: operation scroll(ScrollToOptions) +PASS Window interface: operation scroll(unrestricted double, unrestricted double) +PASS Window interface: operation scrollTo(ScrollToOptions) +PASS Window interface: operation scrollTo(unrestricted double, unrestricted double) +PASS Window interface: operation scrollBy(ScrollToOptions) +PASS Window interface: operation scrollBy(unrestricted double, unrestricted double) +PASS Window interface: attribute screenX +PASS Window interface: attribute screenLeft +PASS Window interface: attribute screenY +PASS Window interface: attribute screenTop +PASS Window interface: attribute outerWidth +PASS Window interface: attribute outerHeight +PASS Window interface: attribute devicePixelRatio +PASS Window interface: window must inherit property "matchMedia(CSSOMString)" with the proper type +PASS Window interface: calling matchMedia(CSSOMString) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "screen" with the proper type +PASS Window interface: window must inherit property "moveTo(long, long)" with the proper type +PASS Window interface: calling moveTo(long, long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "moveBy(long, long)" with the proper type +PASS Window interface: calling moveBy(long, long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "resizeTo(long, long)" with the proper type +PASS Window interface: calling resizeTo(long, long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "resizeBy(long, long)" with the proper type +PASS Window interface: calling resizeBy(long, long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "innerWidth" with the proper type +PASS Window interface: window must inherit property "innerHeight" with the proper type +PASS Window interface: window must inherit property "scrollX" with the proper type +PASS Window interface: window must inherit property "pageXOffset" with the proper type +PASS Window interface: window must inherit property "scrollY" with the proper type +PASS Window interface: window must inherit property "pageYOffset" with the proper type +PASS Window interface: window must inherit property "scroll(ScrollToOptions)" with the proper type +PASS Window interface: calling scroll(ScrollToOptions) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scroll(unrestricted double, unrestricted double)" with the proper type +PASS Window interface: calling scroll(unrestricted double, unrestricted double) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scrollTo(ScrollToOptions)" with the proper type +PASS Window interface: calling scrollTo(ScrollToOptions) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scrollTo(unrestricted double, unrestricted double)" with the proper type +PASS Window interface: calling scrollTo(unrestricted double, unrestricted double) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scrollBy(ScrollToOptions)" with the proper type +PASS Window interface: calling scrollBy(ScrollToOptions) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scrollBy(unrestricted double, unrestricted double)" with the proper type +PASS Window interface: calling scrollBy(unrestricted double, unrestricted double) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "screenX" with the proper type +PASS Window interface: window must inherit property "screenLeft" with the proper type +PASS Window interface: window must inherit property "screenY" with the proper type +PASS Window interface: window must inherit property "screenTop" with the proper type +PASS Window interface: window must inherit property "outerWidth" with the proper type +PASS Window interface: window must inherit property "outerHeight" with the proper type +PASS Window interface: window must inherit property "devicePixelRatio" with the proper type +PASS Document interface: operation elementFromPoint(double, double) +PASS Document interface: operation elementsFromPoint(double, double) +FAIL Document interface: operation caretPositionFromPoint(double, double) assert_own_property: interface prototype object missing non-static operation expected property "caretPositionFromPoint" missing +PASS Document interface: attribute scrollingElement +FAIL Document interface: operation getBoxQuads(BoxQuadOptions) assert_own_property: interface prototype object missing non-static operation expected property "getBoxQuads" missing +FAIL Document interface: operation convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertQuadFromNode" missing +FAIL Document interface: operation convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertRectFromNode" missing +FAIL Document interface: operation convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertPointFromNode" missing +PASS Document interface: document must inherit property "elementFromPoint(double, double)" with the proper type +PASS Document interface: calling elementFromPoint(double, double) on document with too few arguments must throw TypeError +PASS Document interface: document must inherit property "elementsFromPoint(double, double)" with the proper type +PASS Document interface: calling elementsFromPoint(double, double) on document with too few arguments must throw TypeError +FAIL Document interface: document must inherit property "caretPositionFromPoint(double, double)" with the proper type assert_inherits: property "caretPositionFromPoint" not found in prototype chain +FAIL Document interface: calling caretPositionFromPoint(double, double) on document with too few arguments must throw TypeError assert_inherits: property "caretPositionFromPoint" not found in prototype chain +PASS Document interface: document must inherit property "scrollingElement" with the proper type +FAIL Document interface: document must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Document interface: calling getBoxQuads(BoxQuadOptions) on document with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Document interface: document must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Document interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Document interface: document must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Document interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Document interface: document must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Document interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +PASS Element interface: operation getClientRects() +PASS Element interface: operation getBoundingClientRect() +PASS Element interface: operation scrollIntoView([object Object],[object Object]) +PASS Element interface: operation scroll(ScrollToOptions) +PASS Element interface: operation scroll(unrestricted double, unrestricted double) +PASS Element interface: operation scrollTo(ScrollToOptions) +PASS Element interface: operation scrollTo(unrestricted double, unrestricted double) +PASS Element interface: operation scrollBy(ScrollToOptions) +PASS Element interface: operation scrollBy(unrestricted double, unrestricted double) +PASS Element interface: attribute scrollTop +PASS Element interface: attribute scrollLeft +PASS Element interface: attribute scrollWidth +PASS Element interface: attribute scrollHeight +PASS Element interface: attribute clientTop +PASS Element interface: attribute clientLeft +PASS Element interface: attribute clientWidth +PASS Element interface: attribute clientHeight +FAIL Element interface: operation getBoxQuads(BoxQuadOptions) assert_own_property: interface prototype object missing non-static operation expected property "getBoxQuads" missing +FAIL Element interface: operation convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertQuadFromNode" missing +FAIL Element interface: operation convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertRectFromNode" missing +FAIL Element interface: operation convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertPointFromNode" missing +PASS Element interface: document.createElementNS("x", "y") must inherit property "getClientRects()" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "getBoundingClientRect()" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollIntoView([object Object],[object Object])" with the proper type +PASS Element interface: calling scrollIntoView([object Object],[object Object]) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scroll(ScrollToOptions)" with the proper type +PASS Element interface: calling scroll(ScrollToOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scroll(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scroll(unrestricted double, unrestricted double) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollTo(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollTo(ScrollToOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollTo(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollTo(unrestricted double, unrestricted double) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollBy(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollBy(ScrollToOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollBy(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollBy(unrestricted double, unrestricted double) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollTop" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollLeft" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollWidth" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollHeight" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "clientTop" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "clientLeft" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "clientWidth" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "clientHeight" with the proper type +FAIL Element interface: document.createElementNS("x", "y") must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: calling getBoxQuads(BoxQuadOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: document.createElementNS("x", "y") must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: document.createElementNS("x", "y") must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: document.createElementNS("x", "y") must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Element interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Text interface: operation getBoxQuads(BoxQuadOptions) assert_own_property: interface prototype object missing non-static operation expected property "getBoxQuads" missing +FAIL Text interface: operation convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertQuadFromNode" missing +FAIL Text interface: operation convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertRectFromNode" missing +FAIL Text interface: operation convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertPointFromNode" missing +FAIL Text interface: document.createTextNode("x") must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Text interface: calling getBoxQuads(BoxQuadOptions) on document.createTextNode("x") with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Text interface: document.createTextNode("x") must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Text interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document.createTextNode("x") with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Text interface: document.createTextNode("x") must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Text interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document.createTextNode("x") with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Text interface: document.createTextNode("x") must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Text interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document.createTextNode("x") with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +PASS Range interface: operation getClientRects() +PASS Range interface: operation getBoundingClientRect() +PASS Range interface: new Range() must inherit property "getClientRects()" with the proper type +PASS Range interface: new Range() must inherit property "getBoundingClientRect()" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/dom/idlharness.window_include=Node-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/dom/idlharness.window_include=Node-expected.txt new file mode 100644 index 0000000..60bf7dfc --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/dom/idlharness.window_include=Node-expected.txt
@@ -0,0 +1,616 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface Window: original interface defined +PASS Node interface: existence and properties of interface object +PASS Node interface object length +PASS Node interface object name +PASS Node interface: existence and properties of interface prototype object +PASS Node interface: existence and properties of interface prototype object's "constructor" property +PASS Node interface: existence and properties of interface prototype object's @@unscopables property +PASS Node interface: constant ELEMENT_NODE on interface object +PASS Node interface: constant ELEMENT_NODE on interface prototype object +PASS Node interface: constant ATTRIBUTE_NODE on interface object +PASS Node interface: constant ATTRIBUTE_NODE on interface prototype object +PASS Node interface: constant TEXT_NODE on interface object +PASS Node interface: constant TEXT_NODE on interface prototype object +PASS Node interface: constant CDATA_SECTION_NODE on interface object +PASS Node interface: constant CDATA_SECTION_NODE on interface prototype object +PASS Node interface: constant ENTITY_REFERENCE_NODE on interface object +PASS Node interface: constant ENTITY_REFERENCE_NODE on interface prototype object +PASS Node interface: constant ENTITY_NODE on interface object +PASS Node interface: constant ENTITY_NODE on interface prototype object +PASS Node interface: constant PROCESSING_INSTRUCTION_NODE on interface object +PASS Node interface: constant PROCESSING_INSTRUCTION_NODE on interface prototype object +PASS Node interface: constant COMMENT_NODE on interface object +PASS Node interface: constant COMMENT_NODE on interface prototype object +PASS Node interface: constant DOCUMENT_NODE on interface object +PASS Node interface: constant DOCUMENT_NODE on interface prototype object +PASS Node interface: constant DOCUMENT_TYPE_NODE on interface object +PASS Node interface: constant DOCUMENT_TYPE_NODE on interface prototype object +PASS Node interface: constant DOCUMENT_FRAGMENT_NODE on interface object +PASS Node interface: constant DOCUMENT_FRAGMENT_NODE on interface prototype object +PASS Node interface: constant NOTATION_NODE on interface object +PASS Node interface: constant NOTATION_NODE on interface prototype object +PASS Node interface: attribute nodeType +PASS Node interface: attribute nodeName +PASS Node interface: attribute baseURI +PASS Node interface: attribute isConnected +PASS Node interface: attribute ownerDocument +PASS Node interface: operation getRootNode(GetRootNodeOptions) +PASS Node interface: attribute parentNode +PASS Node interface: attribute parentElement +PASS Node interface: operation hasChildNodes() +PASS Node interface: attribute childNodes +PASS Node interface: attribute firstChild +PASS Node interface: attribute lastChild +PASS Node interface: attribute previousSibling +PASS Node interface: attribute nextSibling +PASS Node interface: attribute nodeValue +PASS Node interface: attribute textContent +PASS Node interface: operation normalize() +PASS Node interface: operation cloneNode(boolean) +PASS Node interface: operation isEqualNode(Node) +PASS Node interface: operation isSameNode(Node) +PASS Node interface: constant DOCUMENT_POSITION_DISCONNECTED on interface object +PASS Node interface: constant DOCUMENT_POSITION_DISCONNECTED on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_PRECEDING on interface object +PASS Node interface: constant DOCUMENT_POSITION_PRECEDING on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_FOLLOWING on interface object +PASS Node interface: constant DOCUMENT_POSITION_FOLLOWING on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_CONTAINS on interface object +PASS Node interface: constant DOCUMENT_POSITION_CONTAINS on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface object +PASS Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface object +PASS Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface prototype object +PASS Node interface: operation compareDocumentPosition(Node) +PASS Node interface: operation contains(Node) +PASS Node interface: operation lookupPrefix(DOMString) +PASS Node interface: operation lookupNamespaceURI(DOMString) +PASS Node interface: operation isDefaultNamespace(DOMString) +PASS Node interface: operation insertBefore(Node, Node) +PASS Node interface: operation appendChild(Node) +PASS Node interface: operation replaceChild(Node, Node) +PASS Node interface: operation removeChild(Node) +PASS Node interface: new Document() must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: new Document() must inherit property "TEXT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: new Document() must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: new Document() must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: new Document() must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: new Document() must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: new Document() must inherit property "nodeType" with the proper type +PASS Node interface: new Document() must inherit property "nodeName" with the proper type +PASS Node interface: new Document() must inherit property "baseURI" with the proper type +PASS Node interface: new Document() must inherit property "isConnected" with the proper type +PASS Node interface: new Document() must inherit property "ownerDocument" with the proper type +PASS Node interface: new Document() must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "parentNode" with the proper type +PASS Node interface: new Document() must inherit property "parentElement" with the proper type +PASS Node interface: new Document() must inherit property "hasChildNodes()" with the proper type +PASS Node interface: new Document() must inherit property "childNodes" with the proper type +PASS Node interface: new Document() must inherit property "firstChild" with the proper type +PASS Node interface: new Document() must inherit property "lastChild" with the proper type +PASS Node interface: new Document() must inherit property "previousSibling" with the proper type +PASS Node interface: new Document() must inherit property "nextSibling" with the proper type +PASS Node interface: new Document() must inherit property "nodeValue" with the proper type +PASS Node interface: new Document() must inherit property "textContent" with the proper type +PASS Node interface: new Document() must inherit property "normalize()" with the proper type +PASS Node interface: new Document() must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: new Document() must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "TEXT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "nodeType" with the proper type +PASS Node interface: xmlDoc must inherit property "nodeName" with the proper type +PASS Node interface: xmlDoc must inherit property "baseURI" with the proper type +PASS Node interface: xmlDoc must inherit property "isConnected" with the proper type +PASS Node interface: xmlDoc must inherit property "ownerDocument" with the proper type +PASS Node interface: xmlDoc must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "parentNode" with the proper type +PASS Node interface: xmlDoc must inherit property "parentElement" with the proper type +PASS Node interface: xmlDoc must inherit property "hasChildNodes()" with the proper type +PASS Node interface: xmlDoc must inherit property "childNodes" with the proper type +PASS Node interface: xmlDoc must inherit property "firstChild" with the proper type +PASS Node interface: xmlDoc must inherit property "lastChild" with the proper type +PASS Node interface: xmlDoc must inherit property "previousSibling" with the proper type +PASS Node interface: xmlDoc must inherit property "nextSibling" with the proper type +PASS Node interface: xmlDoc must inherit property "nodeValue" with the proper type +PASS Node interface: xmlDoc must inherit property "textContent" with the proper type +PASS Node interface: xmlDoc must inherit property "normalize()" with the proper type +PASS Node interface: xmlDoc must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: xmlDoc must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "nodeType" with the proper type +PASS Node interface: document.doctype must inherit property "nodeName" with the proper type +PASS Node interface: document.doctype must inherit property "baseURI" with the proper type +PASS Node interface: document.doctype must inherit property "isConnected" with the proper type +PASS Node interface: document.doctype must inherit property "ownerDocument" with the proper type +PASS Node interface: document.doctype must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "parentNode" with the proper type +PASS Node interface: document.doctype must inherit property "parentElement" with the proper type +PASS Node interface: document.doctype must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.doctype must inherit property "childNodes" with the proper type +PASS Node interface: document.doctype must inherit property "firstChild" with the proper type +PASS Node interface: document.doctype must inherit property "lastChild" with the proper type +PASS Node interface: document.doctype must inherit property "previousSibling" with the proper type +PASS Node interface: document.doctype must inherit property "nextSibling" with the proper type +PASS Node interface: document.doctype must inherit property "nodeValue" with the proper type +PASS Node interface: document.doctype must inherit property "textContent" with the proper type +PASS Node interface: document.doctype must inherit property "normalize()" with the proper type +PASS Node interface: document.doctype must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.doctype must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "nodeType" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "nodeName" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "baseURI" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "isConnected" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "ownerDocument" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "parentNode" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "parentElement" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "childNodes" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "firstChild" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "lastChild" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "previousSibling" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "nextSibling" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "nodeValue" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "textContent" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "normalize()" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: element must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: element must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: element must inherit property "TEXT_NODE" with the proper type +PASS Node interface: element must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: element must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: element must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: element must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: element must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: element must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: element must inherit property "nodeType" with the proper type +PASS Node interface: element must inherit property "nodeName" with the proper type +PASS Node interface: element must inherit property "baseURI" with the proper type +PASS Node interface: element must inherit property "isConnected" with the proper type +PASS Node interface: element must inherit property "ownerDocument" with the proper type +PASS Node interface: element must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "parentNode" with the proper type +PASS Node interface: element must inherit property "parentElement" with the proper type +PASS Node interface: element must inherit property "hasChildNodes()" with the proper type +PASS Node interface: element must inherit property "childNodes" with the proper type +PASS Node interface: element must inherit property "firstChild" with the proper type +PASS Node interface: element must inherit property "lastChild" with the proper type +PASS Node interface: element must inherit property "previousSibling" with the proper type +PASS Node interface: element must inherit property "nextSibling" with the proper type +PASS Node interface: element must inherit property "nodeValue" with the proper type +PASS Node interface: element must inherit property "textContent" with the proper type +PASS Node interface: element must inherit property "normalize()" with the proper type +PASS Node interface: element must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: element must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on element with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeType" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeName" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "baseURI" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isConnected" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ownerDocument" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "parentNode" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "parentElement" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "childNodes" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "firstChild" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lastChild" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "previousSibling" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nextSibling" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeValue" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "textContent" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "normalize()" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "nodeType" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "nodeName" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "baseURI" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "isConnected" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "ownerDocument" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "parentNode" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "parentElement" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "childNodes" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "firstChild" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "lastChild" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "previousSibling" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "nextSibling" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "nodeValue" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "textContent" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "normalize()" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "TEXT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeType" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeName" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "baseURI" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isConnected" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ownerDocument" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "parentNode" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "parentElement" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "hasChildNodes()" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "childNodes" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "firstChild" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lastChild" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "previousSibling" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nextSibling" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeValue" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "textContent" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "normalize()" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "nodeType" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "nodeName" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "baseURI" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "isConnected" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "ownerDocument" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "parentNode" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "parentElement" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "childNodes" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "firstChild" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "lastChild" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "previousSibling" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "nextSibling" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "nodeValue" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "textContent" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "normalize()" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.createComment("abc") with too few arguments must throw TypeError +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/encrypted-media/idlharness.https-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/encrypted-media/idlharness.https-expected.txt new file mode 100644 index 0000000..3b1c95e --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/encrypted-media/idlharness.https-expected.txt
@@ -0,0 +1,75 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface Navigator: original interface defined +PASS Partial interface Navigator: valid exposure set +PASS Partial interface HTMLMediaElement: original interface defined +PASS Partial interface HTMLMediaElement: valid exposure set +PASS MediaKeySystemAccess interface: existence and properties of interface object +PASS MediaKeySystemAccess interface object length +PASS MediaKeySystemAccess interface object name +PASS MediaKeySystemAccess interface: existence and properties of interface prototype object +PASS MediaKeySystemAccess interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeySystemAccess interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeySystemAccess interface: attribute keySystem +PASS MediaKeySystemAccess interface: operation getConfiguration() +PASS MediaKeySystemAccess interface: operation createMediaKeys() +PASS MediaKeys interface: existence and properties of interface object +PASS MediaKeys interface object length +PASS MediaKeys interface object name +PASS MediaKeys interface: existence and properties of interface prototype object +PASS MediaKeys interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeys interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeys interface: operation createSession(MediaKeySessionType) +PASS MediaKeys interface: operation setServerCertificate(BufferSource) +PASS MediaKeySession interface: existence and properties of interface object +PASS MediaKeySession interface object length +PASS MediaKeySession interface object name +PASS MediaKeySession interface: existence and properties of interface prototype object +PASS MediaKeySession interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeySession interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeySession interface: attribute sessionId +PASS MediaKeySession interface: attribute expiration +PASS MediaKeySession interface: attribute closed +PASS MediaKeySession interface: attribute keyStatuses +PASS MediaKeySession interface: attribute onkeystatuseschange +PASS MediaKeySession interface: attribute onmessage +PASS MediaKeySession interface: operation generateRequest(DOMString, BufferSource) +PASS MediaKeySession interface: operation load(DOMString) +PASS MediaKeySession interface: operation update(BufferSource) +PASS MediaKeySession interface: operation close() +PASS MediaKeySession interface: operation remove() +PASS MediaKeyStatusMap interface: existence and properties of interface object +PASS MediaKeyStatusMap interface object length +PASS MediaKeyStatusMap interface object name +PASS MediaKeyStatusMap interface: existence and properties of interface prototype object +PASS MediaKeyStatusMap interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeyStatusMap interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeyStatusMap interface: iterable<BufferSource, MediaKeyStatus> +PASS MediaKeyStatusMap interface: attribute size +PASS MediaKeyStatusMap interface: operation has(BufferSource) +PASS MediaKeyStatusMap interface: operation get(BufferSource) +PASS MediaKeyMessageEvent interface: existence and properties of interface object +PASS MediaKeyMessageEvent interface object length +PASS MediaKeyMessageEvent interface object name +PASS MediaKeyMessageEvent interface: existence and properties of interface prototype object +PASS MediaKeyMessageEvent interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeyMessageEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeyMessageEvent interface: attribute messageType +PASS MediaKeyMessageEvent interface: attribute message +PASS MediaEncryptedEvent interface: existence and properties of interface object +PASS MediaEncryptedEvent interface object length +PASS MediaEncryptedEvent interface object name +PASS MediaEncryptedEvent interface: existence and properties of interface prototype object +PASS MediaEncryptedEvent interface: existence and properties of interface prototype object's "constructor" property +PASS MediaEncryptedEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaEncryptedEvent interface: attribute initDataType +PASS MediaEncryptedEvent interface: attribute initData +PASS HTMLMediaElement interface: attribute mediaKeys +PASS HTMLMediaElement interface: attribute onencrypted +PASS HTMLMediaElement interface: attribute onwaitingforkey +PASS HTMLMediaElement interface: operation setMediaKeys(MediaKeys) +PASS Navigator interface: operation requestMediaKeySystemAccess(DOMString, [object Object]) +PASS Navigator interface: navigator must inherit property "requestMediaKeySystemAccess(DOMString, [object Object])" with the proper type +PASS Navigator interface: calling requestMediaKeySystemAccess(DOMString, [object Object]) on navigator with too few arguments must throw TypeError +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/geolocation-API/idlharness.window-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/geolocation-API/idlharness.window-expected.txt new file mode 100644 index 0000000..6fa16430 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/geolocation-API/idlharness.window-expected.txt
@@ -0,0 +1,14 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface Navigator: original interface defined +PASS Stringification of navigator.geolocation +PASS Geolocation interface: navigator.geolocation must inherit property "getCurrentPosition(PositionCallback, PositionErrorCallback, PositionOptions)" with the proper type +PASS Geolocation interface: calling getCurrentPosition(PositionCallback, PositionErrorCallback, PositionOptions) on navigator.geolocation with too few arguments must throw TypeError +PASS Geolocation interface: navigator.geolocation must inherit property "watchPosition(PositionCallback, PositionErrorCallback, PositionOptions)" with the proper type +PASS Geolocation interface: calling watchPosition(PositionCallback, PositionErrorCallback, PositionOptions) on navigator.geolocation with too few arguments must throw TypeError +PASS Geolocation interface: navigator.geolocation must inherit property "clearWatch(long)" with the proper type +PASS Geolocation interface: calling clearWatch(long) on navigator.geolocation with too few arguments must throw TypeError +PASS Navigator interface: attribute geolocation +PASS Navigator interface: navigator must inherit property "geolocation" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/html/dom/idlharness.https_include=HTML._-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/html/dom/idlharness.https_include=HTML._-expected.txt new file mode 100644 index 0000000..579bca6 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/html/dom/idlharness.https_include=HTML._-expected.txt
@@ -0,0 +1,3593 @@ +This is a testharness.js-based test. +Found 3589 tests; 3549 PASS, 40 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface Document: original interface defined +PASS Partial interface mixin DocumentOrShadowRoot: original interface mixin defined +PASS Partial interface mixin NavigatorID: original interface mixin defined +PASS Partial interface HTMLAnchorElement: original interface defined +PASS Partial interface HTMLAreaElement: original interface defined +PASS Partial interface HTMLBodyElement: original interface defined +PASS Partial interface HTMLBRElement: original interface defined +PASS Partial interface HTMLTableCaptionElement: original interface defined +PASS Partial interface HTMLTableColElement: original interface defined +PASS Partial interface HTMLDivElement: original interface defined +PASS Partial interface HTMLDListElement: original interface defined +PASS Partial interface HTMLEmbedElement: original interface defined +PASS Partial interface HTMLHeadingElement: original interface defined +PASS Partial interface HTMLHRElement: original interface defined +PASS Partial interface HTMLHtmlElement: original interface defined +PASS Partial interface HTMLIFrameElement: original interface defined +PASS Partial interface HTMLImageElement: original interface defined +PASS Partial interface HTMLInputElement: original interface defined +PASS Partial interface HTMLLegendElement: original interface defined +PASS Partial interface HTMLLIElement: original interface defined +PASS Partial interface HTMLLinkElement: original interface defined +PASS Partial interface HTMLMenuElement: original interface defined +PASS Partial interface HTMLMetaElement: original interface defined +PASS Partial interface HTMLObjectElement: original interface defined +PASS Partial interface HTMLOListElement: original interface defined +PASS Partial interface HTMLParagraphElement: original interface defined +PASS Partial interface HTMLParamElement: original interface defined +PASS Partial interface HTMLPreElement: original interface defined +PASS Partial interface HTMLStyleElement: original interface defined +PASS Partial interface HTMLScriptElement: original interface defined +PASS Partial interface HTMLTableElement: original interface defined +PASS Partial interface HTMLTableSectionElement: original interface defined +PASS Partial interface HTMLTableCellElement: original interface defined +PASS Partial interface HTMLTableRowElement: original interface defined +PASS Partial interface HTMLUListElement: original interface defined +PASS Partial interface Document[2]: original interface defined +PASS Partial interface Window: original interface defined +PASS HTMLAllCollection interface: existence and properties of interface object +PASS HTMLAllCollection interface object length +PASS HTMLAllCollection interface object name +PASS HTMLAllCollection interface: existence and properties of interface prototype object +PASS HTMLAllCollection interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLAllCollection interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLAllCollection interface: attribute length +PASS HTMLAllCollection interface: operation namedItem(DOMString) +PASS HTMLAllCollection interface: operation item(DOMString) +FAIL HTMLAllCollection must be primary interface of document.all assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL Stringification of document.all assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: document.all must inherit property "length" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: document.all must inherit property "namedItem(DOMString)" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: calling namedItem(DOMString) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: document.all must inherit property "item(DOMString)" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: calling item(DOMString) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "object" but got "undefined" +PASS HTMLFormControlsCollection interface: existence and properties of interface object +PASS HTMLFormControlsCollection interface object length +PASS HTMLFormControlsCollection interface object name +PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object +PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFormControlsCollection interface: operation namedItem(DOMString) +PASS HTMLFormControlsCollection must be primary interface of document.createElement("form").elements +PASS Stringification of document.createElement("form").elements +PASS HTMLFormControlsCollection interface: document.createElement("form").elements must inherit property "namedItem(DOMString)" with the proper type +PASS HTMLFormControlsCollection interface: calling namedItem(DOMString) on document.createElement("form").elements with too few arguments must throw TypeError +PASS HTMLOptionsCollection interface: existence and properties of interface object +PASS HTMLOptionsCollection interface object length +PASS HTMLOptionsCollection interface object name +PASS HTMLOptionsCollection interface: existence and properties of interface prototype object +PASS HTMLOptionsCollection interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOptionsCollection interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOptionsCollection interface: attribute length +PASS HTMLOptionsCollection interface: operation add([object Object],[object Object], [object Object],[object Object]) +PASS HTMLOptionsCollection interface: operation remove(long) +PASS HTMLOptionsCollection interface: attribute selectedIndex +PASS HTMLOptionsCollection must be primary interface of document.createElement("select").options +PASS Stringification of document.createElement("select").options +PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "length" with the proper type +PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "add([object Object],[object Object], [object Object],[object Object])" with the proper type +PASS HTMLOptionsCollection interface: calling add([object Object],[object Object], [object Object],[object Object]) on document.createElement("select").options with too few arguments must throw TypeError +PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "remove(long)" with the proper type +PASS HTMLOptionsCollection interface: calling remove(long) on document.createElement("select").options with too few arguments must throw TypeError +PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "selectedIndex" with the proper type +PASS HTMLElement interface: existence and properties of interface object +PASS HTMLElement interface object length +PASS HTMLElement interface object name +PASS HTMLElement interface: existence and properties of interface prototype object +PASS HTMLElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLElement interface: attribute title +PASS HTMLElement interface: attribute lang +PASS HTMLElement interface: attribute translate +PASS HTMLElement interface: attribute dir +PASS HTMLElement interface: attribute hidden +PASS HTMLElement interface: operation click() +PASS HTMLElement interface: attribute accessKey +FAIL HTMLElement interface: attribute accessKeyLabel assert_true: The prototype object must have a property "accessKeyLabel" expected true got false +PASS HTMLElement interface: attribute draggable +PASS HTMLElement interface: attribute spellcheck +PASS HTMLElement interface: attribute autocapitalize +PASS HTMLElement interface: attribute innerText +PASS HTMLElement interface: operation attachInternals() +PASS HTMLElement interface: attribute onabort +PASS HTMLElement interface: attribute onauxclick +PASS HTMLElement interface: attribute onblur +PASS HTMLElement interface: attribute oncancel +PASS HTMLElement interface: attribute oncanplay +PASS HTMLElement interface: attribute oncanplaythrough +PASS HTMLElement interface: attribute onchange +PASS HTMLElement interface: attribute onclick +PASS HTMLElement interface: attribute onclose +PASS HTMLElement interface: attribute oncontextmenu +PASS HTMLElement interface: attribute oncuechange +PASS HTMLElement interface: attribute ondblclick +PASS HTMLElement interface: attribute ondrag +PASS HTMLElement interface: attribute ondragend +PASS HTMLElement interface: attribute ondragenter +FAIL HTMLElement interface: attribute ondragexit assert_true: The prototype object must have a property "ondragexit" expected true got false +PASS HTMLElement interface: attribute ondragleave +PASS HTMLElement interface: attribute ondragover +PASS HTMLElement interface: attribute ondragstart +PASS HTMLElement interface: attribute ondrop +PASS HTMLElement interface: attribute ondurationchange +PASS HTMLElement interface: attribute onemptied +PASS HTMLElement interface: attribute onended +PASS HTMLElement interface: attribute onerror +PASS HTMLElement interface: attribute onfocus +PASS HTMLElement interface: attribute onformdata +PASS HTMLElement interface: attribute oninput +PASS HTMLElement interface: attribute oninvalid +PASS HTMLElement interface: attribute onkeydown +PASS HTMLElement interface: attribute onkeypress +PASS HTMLElement interface: attribute onkeyup +PASS HTMLElement interface: attribute onload +PASS HTMLElement interface: attribute onloadeddata +PASS HTMLElement interface: attribute onloadedmetadata +PASS HTMLElement interface: attribute onloadstart +PASS HTMLElement interface: attribute onmousedown +PASS HTMLElement interface: attribute onmouseenter +PASS HTMLElement interface: attribute onmouseleave +PASS HTMLElement interface: attribute onmousemove +PASS HTMLElement interface: attribute onmouseout +PASS HTMLElement interface: attribute onmouseover +PASS HTMLElement interface: attribute onmouseup +PASS HTMLElement interface: attribute onwheel +PASS HTMLElement interface: attribute onpause +PASS HTMLElement interface: attribute onplay +PASS HTMLElement interface: attribute onplaying +PASS HTMLElement interface: attribute onprogress +PASS HTMLElement interface: attribute onratechange +PASS HTMLElement interface: attribute onreset +PASS HTMLElement interface: attribute onresize +PASS HTMLElement interface: attribute onscroll +FAIL HTMLElement interface: attribute onsecuritypolicyviolation assert_true: The prototype object must have a property "onsecuritypolicyviolation" expected true got false +PASS HTMLElement interface: attribute onseeked +PASS HTMLElement interface: attribute onseeking +PASS HTMLElement interface: attribute onselect +PASS HTMLElement interface: attribute onstalled +PASS HTMLElement interface: attribute onsubmit +PASS HTMLElement interface: attribute onsuspend +PASS HTMLElement interface: attribute ontimeupdate +PASS HTMLElement interface: attribute ontoggle +PASS HTMLElement interface: attribute onvolumechange +PASS HTMLElement interface: attribute onwaiting +PASS HTMLElement interface: attribute oncopy +PASS HTMLElement interface: attribute oncut +PASS HTMLElement interface: attribute onpaste +PASS HTMLElement interface: attribute contentEditable +PASS HTMLElement interface: attribute enterKeyHint +PASS HTMLElement interface: attribute isContentEditable +PASS HTMLElement interface: attribute inputMode +PASS HTMLElement interface: attribute dataset +PASS HTMLElement interface: attribute nonce +FAIL HTMLElement interface: attribute autofocus assert_true: The prototype object must have a property "autofocus" expected true got false +PASS HTMLElement interface: attribute tabIndex +PASS HTMLElement interface: operation focus(FocusOptions) +PASS HTMLElement interface: operation blur() +PASS HTMLElement must be primary interface of document.createElement("noscript") +PASS Stringification of document.createElement("noscript") +PASS HTMLElement interface: document.createElement("noscript") must inherit property "title" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "lang" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "translate" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "dir" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "hidden" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "click()" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "accessKey" with the proper type +FAIL HTMLElement interface: document.createElement("noscript") must inherit property "accessKeyLabel" with the proper type assert_inherits: property "accessKeyLabel" not found in prototype chain +PASS HTMLElement interface: document.createElement("noscript") must inherit property "draggable" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "spellcheck" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "autocapitalize" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "innerText" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "attachInternals()" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onabort" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onauxclick" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onblur" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncancel" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncanplay" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncanplaythrough" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onchange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onclick" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onclose" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncontextmenu" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncuechange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondblclick" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondrag" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragend" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragenter" with the proper type +FAIL HTMLElement interface: document.createElement("noscript") must inherit property "ondragexit" with the proper type assert_inherits: property "ondragexit" not found in prototype chain +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragleave" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragover" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragstart" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondrop" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondurationchange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onemptied" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onended" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onerror" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onfocus" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onformdata" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oninput" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oninvalid" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeydown" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeypress" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeyup" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onload" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadeddata" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadedmetadata" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadstart" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmousedown" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseenter" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseleave" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmousemove" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseout" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseover" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseup" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onwheel" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onpause" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onplay" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onplaying" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onprogress" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onratechange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onreset" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onresize" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onscroll" with the proper type +FAIL HTMLElement interface: document.createElement("noscript") must inherit property "onsecuritypolicyviolation" with the proper type assert_inherits: property "onsecuritypolicyviolation" not found in prototype chain +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onseeked" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onseeking" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onselect" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onstalled" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onsubmit" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onsuspend" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ontimeupdate" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ontoggle" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onvolumechange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onwaiting" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncopy" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncut" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onpaste" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "contentEditable" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "enterKeyHint" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "isContentEditable" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "inputMode" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "dataset" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "nonce" with the proper type +FAIL HTMLElement interface: document.createElement("noscript") must inherit property "autofocus" with the proper type assert_inherits: property "autofocus" not found in prototype chain +PASS HTMLElement interface: document.createElement("noscript") must inherit property "tabIndex" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "focus(FocusOptions)" with the proper type +PASS HTMLElement interface: calling focus(FocusOptions) on document.createElement("noscript") with too few arguments must throw TypeError +PASS HTMLElement interface: document.createElement("noscript") must inherit property "blur()" with the proper type +PASS HTMLUnknownElement interface: existence and properties of interface object +PASS HTMLUnknownElement interface object length +PASS HTMLUnknownElement interface object name +PASS HTMLUnknownElement interface: existence and properties of interface prototype object +PASS HTMLUnknownElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLUnknownElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLUnknownElement must be primary interface of document.createElement("bgsound") +PASS Stringification of document.createElement("bgsound") +PASS HTMLHtmlElement interface: existence and properties of interface object +PASS HTMLHtmlElement interface object length +PASS HTMLHtmlElement interface object name +PASS HTMLHtmlElement interface: existence and properties of interface prototype object +PASS HTMLHtmlElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLHtmlElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLHtmlElement interface: attribute version +PASS HTMLHtmlElement must be primary interface of document.createElement("html") +PASS Stringification of document.createElement("html") +PASS HTMLHtmlElement interface: document.createElement("html") must inherit property "version" with the proper type +PASS HTMLHeadElement interface: existence and properties of interface object +PASS HTMLHeadElement interface object length +PASS HTMLHeadElement interface object name +PASS HTMLHeadElement interface: existence and properties of interface prototype object +PASS HTMLHeadElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLHeadElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLHeadElement must be primary interface of document.createElement("head") +PASS Stringification of document.createElement("head") +PASS HTMLTitleElement interface: existence and properties of interface object +PASS HTMLTitleElement interface object length +PASS HTMLTitleElement interface object name +PASS HTMLTitleElement interface: existence and properties of interface prototype object +PASS HTMLTitleElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTitleElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTitleElement interface: attribute text +PASS HTMLTitleElement must be primary interface of document.createElement("title") +PASS Stringification of document.createElement("title") +PASS HTMLTitleElement interface: document.createElement("title") must inherit property "text" with the proper type +PASS HTMLBaseElement interface: existence and properties of interface object +PASS HTMLBaseElement interface object length +PASS HTMLBaseElement interface object name +PASS HTMLBaseElement interface: existence and properties of interface prototype object +PASS HTMLBaseElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLBaseElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLBaseElement interface: attribute href +PASS HTMLBaseElement interface: attribute target +PASS HTMLBaseElement must be primary interface of document.createElement("base") +PASS Stringification of document.createElement("base") +PASS HTMLBaseElement interface: document.createElement("base") must inherit property "href" with the proper type +PASS HTMLBaseElement interface: document.createElement("base") must inherit property "target" with the proper type +PASS HTMLLinkElement interface: existence and properties of interface object +PASS HTMLLinkElement interface object length +PASS HTMLLinkElement interface object name +PASS HTMLLinkElement interface: existence and properties of interface prototype object +PASS HTMLLinkElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLLinkElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLLinkElement interface: attribute href +PASS HTMLLinkElement interface: attribute crossOrigin +PASS HTMLLinkElement interface: attribute rel +PASS HTMLLinkElement interface: attribute as +PASS HTMLLinkElement interface: attribute relList +PASS HTMLLinkElement interface: attribute media +PASS HTMLLinkElement interface: attribute integrity +PASS HTMLLinkElement interface: attribute hreflang +PASS HTMLLinkElement interface: attribute type +PASS HTMLLinkElement interface: attribute sizes +PASS HTMLLinkElement interface: attribute imageSrcset +PASS HTMLLinkElement interface: attribute imageSizes +PASS HTMLLinkElement interface: attribute referrerPolicy +PASS HTMLLinkElement interface: attribute charset +PASS HTMLLinkElement interface: attribute rev +PASS HTMLLinkElement interface: attribute target +PASS HTMLLinkElement must be primary interface of document.createElement("link") +PASS Stringification of document.createElement("link") +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "href" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "crossOrigin" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "rel" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "as" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "relList" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "media" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "integrity" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "hreflang" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "type" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "sizes" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "imageSrcset" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "imageSizes" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "referrerPolicy" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "charset" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "rev" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "target" with the proper type +PASS HTMLMetaElement interface: existence and properties of interface object +PASS HTMLMetaElement interface object length +PASS HTMLMetaElement interface object name +PASS HTMLMetaElement interface: existence and properties of interface prototype object +PASS HTMLMetaElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMetaElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMetaElement interface: attribute name +PASS HTMLMetaElement interface: attribute httpEquiv +PASS HTMLMetaElement interface: attribute content +PASS HTMLMetaElement interface: attribute scheme +PASS HTMLMetaElement must be primary interface of document.createElement("meta") +PASS Stringification of document.createElement("meta") +PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "name" with the proper type +PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "httpEquiv" with the proper type +PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "content" with the proper type +PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "scheme" with the proper type +PASS HTMLStyleElement interface: existence and properties of interface object +PASS HTMLStyleElement interface object length +PASS HTMLStyleElement interface object name +PASS HTMLStyleElement interface: existence and properties of interface prototype object +PASS HTMLStyleElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLStyleElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLStyleElement interface: attribute media +PASS HTMLStyleElement interface: attribute type +PASS HTMLStyleElement must be primary interface of document.createElement("style") +PASS Stringification of document.createElement("style") +PASS HTMLStyleElement interface: document.createElement("style") must inherit property "media" with the proper type +PASS HTMLStyleElement interface: document.createElement("style") must inherit property "type" with the proper type +PASS HTMLBodyElement interface: existence and properties of interface object +PASS HTMLBodyElement interface object length +PASS HTMLBodyElement interface object name +PASS HTMLBodyElement interface: existence and properties of interface prototype object +PASS HTMLBodyElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLBodyElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLBodyElement interface: attribute text +PASS HTMLBodyElement interface: attribute link +PASS HTMLBodyElement interface: attribute vLink +PASS HTMLBodyElement interface: attribute aLink +PASS HTMLBodyElement interface: attribute bgColor +PASS HTMLBodyElement interface: attribute background +PASS HTMLBodyElement interface: attribute onafterprint +PASS HTMLBodyElement interface: attribute onbeforeprint +PASS HTMLBodyElement interface: attribute onbeforeunload +PASS HTMLBodyElement interface: attribute onhashchange +PASS HTMLBodyElement interface: attribute onlanguagechange +PASS HTMLBodyElement interface: attribute onmessage +PASS HTMLBodyElement interface: attribute onmessageerror +PASS HTMLBodyElement interface: attribute onoffline +PASS HTMLBodyElement interface: attribute ononline +PASS HTMLBodyElement interface: attribute onpagehide +PASS HTMLBodyElement interface: attribute onpageshow +PASS HTMLBodyElement interface: attribute onpopstate +PASS HTMLBodyElement interface: attribute onrejectionhandled +PASS HTMLBodyElement interface: attribute onstorage +PASS HTMLBodyElement interface: attribute onunhandledrejection +PASS HTMLBodyElement interface: attribute onunload +PASS HTMLBodyElement must be primary interface of document.createElement("body") +PASS Stringification of document.createElement("body") +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "text" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "link" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "vLink" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "aLink" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "bgColor" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "background" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onafterprint" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onbeforeprint" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onbeforeunload" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onhashchange" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onlanguagechange" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onmessage" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onmessageerror" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onoffline" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "ononline" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpagehide" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpageshow" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpopstate" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onrejectionhandled" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onstorage" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onunhandledrejection" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onunload" with the proper type +PASS HTMLHeadingElement interface: existence and properties of interface object +PASS HTMLHeadingElement interface object length +PASS HTMLHeadingElement interface object name +PASS HTMLHeadingElement interface: existence and properties of interface prototype object +PASS HTMLHeadingElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLHeadingElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLHeadingElement interface: attribute align +PASS HTMLHeadingElement must be primary interface of document.createElement("h1") +PASS Stringification of document.createElement("h1") +PASS HTMLHeadingElement interface: document.createElement("h1") must inherit property "align" with the proper type +PASS HTMLParagraphElement interface: existence and properties of interface object +PASS HTMLParagraphElement interface object length +PASS HTMLParagraphElement interface object name +PASS HTMLParagraphElement interface: existence and properties of interface prototype object +PASS HTMLParagraphElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLParagraphElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLParagraphElement interface: attribute align +PASS HTMLParagraphElement must be primary interface of document.createElement("p") +PASS Stringification of document.createElement("p") +PASS HTMLParagraphElement interface: document.createElement("p") must inherit property "align" with the proper type +PASS HTMLHRElement interface: existence and properties of interface object +PASS HTMLHRElement interface object length +PASS HTMLHRElement interface object name +PASS HTMLHRElement interface: existence and properties of interface prototype object +PASS HTMLHRElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLHRElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLHRElement interface: attribute align +PASS HTMLHRElement interface: attribute color +PASS HTMLHRElement interface: attribute noShade +PASS HTMLHRElement interface: attribute size +PASS HTMLHRElement interface: attribute width +PASS HTMLHRElement must be primary interface of document.createElement("hr") +PASS Stringification of document.createElement("hr") +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "align" with the proper type +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "color" with the proper type +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "noShade" with the proper type +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "size" with the proper type +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "width" with the proper type +PASS HTMLPreElement interface: existence and properties of interface object +PASS HTMLPreElement interface object length +PASS HTMLPreElement interface object name +PASS HTMLPreElement interface: existence and properties of interface prototype object +PASS HTMLPreElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLPreElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLPreElement interface: attribute width +PASS HTMLPreElement must be primary interface of document.createElement("pre") +PASS Stringification of document.createElement("pre") +PASS HTMLPreElement interface: document.createElement("pre") must inherit property "width" with the proper type +PASS HTMLPreElement must be primary interface of document.createElement("listing") +PASS Stringification of document.createElement("listing") +PASS HTMLPreElement interface: document.createElement("listing") must inherit property "width" with the proper type +PASS HTMLPreElement must be primary interface of document.createElement("xmp") +PASS Stringification of document.createElement("xmp") +PASS HTMLPreElement interface: document.createElement("xmp") must inherit property "width" with the proper type +PASS HTMLQuoteElement interface: existence and properties of interface object +PASS HTMLQuoteElement interface object length +PASS HTMLQuoteElement interface object name +PASS HTMLQuoteElement interface: existence and properties of interface prototype object +PASS HTMLQuoteElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLQuoteElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLQuoteElement interface: attribute cite +PASS HTMLQuoteElement must be primary interface of document.createElement("blockquote") +PASS Stringification of document.createElement("blockquote") +PASS HTMLQuoteElement interface: document.createElement("blockquote") must inherit property "cite" with the proper type +PASS HTMLQuoteElement must be primary interface of document.createElement("q") +PASS Stringification of document.createElement("q") +PASS HTMLQuoteElement interface: document.createElement("q") must inherit property "cite" with the proper type +PASS HTMLOListElement interface: existence and properties of interface object +PASS HTMLOListElement interface object length +PASS HTMLOListElement interface object name +PASS HTMLOListElement interface: existence and properties of interface prototype object +PASS HTMLOListElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOListElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOListElement interface: attribute reversed +PASS HTMLOListElement interface: attribute start +PASS HTMLOListElement interface: attribute type +PASS HTMLOListElement interface: attribute compact +PASS HTMLUListElement interface: existence and properties of interface object +PASS HTMLUListElement interface object length +PASS HTMLUListElement interface object name +PASS HTMLUListElement interface: existence and properties of interface prototype object +PASS HTMLUListElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLUListElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLUListElement interface: attribute compact +PASS HTMLUListElement interface: attribute type +PASS HTMLMenuElement interface: existence and properties of interface object +PASS HTMLMenuElement interface object length +PASS HTMLMenuElement interface object name +PASS HTMLMenuElement interface: existence and properties of interface prototype object +PASS HTMLMenuElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMenuElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMenuElement interface: attribute compact +PASS HTMLMenuElement must be primary interface of document.createElement("menu") +PASS Stringification of document.createElement("menu") +PASS HTMLMenuElement interface: document.createElement("menu") must inherit property "compact" with the proper type +PASS HTMLLIElement interface: existence and properties of interface object +PASS HTMLLIElement interface object length +PASS HTMLLIElement interface object name +PASS HTMLLIElement interface: existence and properties of interface prototype object +PASS HTMLLIElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLLIElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLLIElement interface: attribute value +PASS HTMLLIElement interface: attribute type +PASS HTMLLIElement must be primary interface of document.createElement("li") +PASS Stringification of document.createElement("li") +PASS HTMLLIElement interface: document.createElement("li") must inherit property "value" with the proper type +PASS HTMLLIElement interface: document.createElement("li") must inherit property "type" with the proper type +PASS HTMLDListElement interface: existence and properties of interface object +PASS HTMLDListElement interface object length +PASS HTMLDListElement interface object name +PASS HTMLDListElement interface: existence and properties of interface prototype object +PASS HTMLDListElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDListElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDListElement interface: attribute compact +PASS HTMLDivElement interface: existence and properties of interface object +PASS HTMLDivElement interface object length +PASS HTMLDivElement interface object name +PASS HTMLDivElement interface: existence and properties of interface prototype object +PASS HTMLDivElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDivElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDivElement interface: attribute align +PASS HTMLDivElement must be primary interface of document.createElement("div") +PASS Stringification of document.createElement("div") +PASS HTMLDivElement interface: document.createElement("div") must inherit property "align" with the proper type +PASS HTMLAnchorElement interface: existence and properties of interface object +PASS HTMLAnchorElement interface object length +PASS HTMLAnchorElement interface object name +PASS HTMLAnchorElement interface: existence and properties of interface prototype object +PASS HTMLAnchorElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLAnchorElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLAnchorElement interface: attribute target +PASS HTMLAnchorElement interface: attribute download +PASS HTMLAnchorElement interface: attribute ping +PASS HTMLAnchorElement interface: attribute rel +PASS HTMLAnchorElement interface: attribute relList +PASS HTMLAnchorElement interface: attribute hreflang +PASS HTMLAnchorElement interface: attribute type +PASS HTMLAnchorElement interface: attribute text +PASS HTMLAnchorElement interface: attribute referrerPolicy +PASS HTMLAnchorElement interface: attribute coords +PASS HTMLAnchorElement interface: attribute charset +PASS HTMLAnchorElement interface: attribute name +PASS HTMLAnchorElement interface: attribute rev +PASS HTMLAnchorElement interface: attribute shape +PASS HTMLAnchorElement interface: attribute href +PASS HTMLAnchorElement interface: stringifier +PASS HTMLAnchorElement interface: attribute origin +PASS HTMLAnchorElement interface: attribute protocol +PASS HTMLAnchorElement interface: attribute username +PASS HTMLAnchorElement interface: attribute password +PASS HTMLAnchorElement interface: attribute host +PASS HTMLAnchorElement interface: attribute hostname +PASS HTMLAnchorElement interface: attribute port +PASS HTMLAnchorElement interface: attribute pathname +PASS HTMLAnchorElement interface: attribute search +PASS HTMLAnchorElement interface: attribute hash +PASS HTMLAnchorElement must be primary interface of document.createElement("a") +PASS Stringification of document.createElement("a") +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "target" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "download" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "ping" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "rel" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "relList" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hreflang" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "type" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "text" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "referrerPolicy" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "coords" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "charset" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "name" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "rev" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "shape" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "href" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "origin" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "protocol" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "username" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "password" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "host" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hostname" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "port" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "pathname" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "search" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hash" with the proper type +PASS HTMLDataElement interface: existence and properties of interface object +PASS HTMLDataElement interface object length +PASS HTMLDataElement interface object name +PASS HTMLDataElement interface: existence and properties of interface prototype object +PASS HTMLDataElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDataElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDataElement interface: attribute value +PASS HTMLDataElement must be primary interface of document.createElement("data") +PASS Stringification of document.createElement("data") +PASS HTMLDataElement interface: document.createElement("data") must inherit property "value" with the proper type +PASS HTMLTimeElement interface: existence and properties of interface object +PASS HTMLTimeElement interface object length +PASS HTMLTimeElement interface object name +PASS HTMLTimeElement interface: existence and properties of interface prototype object +PASS HTMLTimeElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTimeElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTimeElement interface: attribute dateTime +PASS HTMLTimeElement must be primary interface of document.createElement("time") +PASS Stringification of document.createElement("time") +PASS HTMLTimeElement interface: document.createElement("time") must inherit property "dateTime" with the proper type +PASS HTMLSpanElement interface: existence and properties of interface object +PASS HTMLSpanElement interface object length +PASS HTMLSpanElement interface object name +PASS HTMLSpanElement interface: existence and properties of interface prototype object +PASS HTMLSpanElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLSpanElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLSpanElement must be primary interface of document.createElement("span") +PASS Stringification of document.createElement("span") +PASS HTMLBRElement interface: existence and properties of interface object +PASS HTMLBRElement interface object length +PASS HTMLBRElement interface object name +PASS HTMLBRElement interface: existence and properties of interface prototype object +PASS HTMLBRElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLBRElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLBRElement interface: attribute clear +PASS HTMLBRElement must be primary interface of document.createElement("br") +PASS Stringification of document.createElement("br") +PASS HTMLBRElement interface: document.createElement("br") must inherit property "clear" with the proper type +PASS HTMLModElement interface: existence and properties of interface object +PASS HTMLModElement interface object length +PASS HTMLModElement interface object name +PASS HTMLModElement interface: existence and properties of interface prototype object +PASS HTMLModElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLModElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLModElement interface: attribute cite +PASS HTMLModElement interface: attribute dateTime +PASS HTMLModElement must be primary interface of document.createElement("ins") +PASS Stringification of document.createElement("ins") +PASS HTMLModElement interface: document.createElement("ins") must inherit property "cite" with the proper type +PASS HTMLModElement interface: document.createElement("ins") must inherit property "dateTime" with the proper type +PASS HTMLModElement must be primary interface of document.createElement("del") +PASS Stringification of document.createElement("del") +PASS HTMLModElement interface: document.createElement("del") must inherit property "cite" with the proper type +PASS HTMLModElement interface: document.createElement("del") must inherit property "dateTime" with the proper type +PASS HTMLPictureElement interface: existence and properties of interface object +PASS HTMLPictureElement interface object length +PASS HTMLPictureElement interface object name +PASS HTMLPictureElement interface: existence and properties of interface prototype object +PASS HTMLPictureElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLPictureElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLPictureElement must be primary interface of document.createElement("picture") +PASS Stringification of document.createElement("picture") +PASS HTMLSourceElement interface: existence and properties of interface object +PASS HTMLSourceElement interface object length +PASS HTMLSourceElement interface object name +PASS HTMLSourceElement interface: existence and properties of interface prototype object +PASS HTMLSourceElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLSourceElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLSourceElement interface: attribute src +PASS HTMLSourceElement interface: attribute type +PASS HTMLSourceElement interface: attribute srcset +PASS HTMLSourceElement interface: attribute sizes +PASS HTMLSourceElement interface: attribute media +PASS HTMLSourceElement must be primary interface of document.createElement("source") +PASS Stringification of document.createElement("source") +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "src" with the proper type +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "type" with the proper type +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "srcset" with the proper type +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "sizes" with the proper type +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "media" with the proper type +PASS HTMLImageElement interface: existence and properties of interface object +PASS HTMLImageElement interface object length +PASS HTMLImageElement interface object name +PASS HTMLImageElement interface: named constructor +PASS HTMLImageElement interface: named constructor object +PASS HTMLImageElement interface: named constructor prototype property +PASS HTMLImageElement interface: named constructor name +PASS HTMLImageElement interface: named constructor length +PASS HTMLImageElement interface: named constructor without 'new' +PASS HTMLImageElement interface: existence and properties of interface prototype object +PASS HTMLImageElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLImageElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLImageElement interface: attribute alt +PASS HTMLImageElement interface: attribute src +PASS HTMLImageElement interface: attribute srcset +PASS HTMLImageElement interface: attribute sizes +PASS HTMLImageElement interface: attribute crossOrigin +PASS HTMLImageElement interface: attribute useMap +PASS HTMLImageElement interface: attribute isMap +PASS HTMLImageElement interface: attribute width +PASS HTMLImageElement interface: attribute height +PASS HTMLImageElement interface: attribute naturalWidth +PASS HTMLImageElement interface: attribute naturalHeight +PASS HTMLImageElement interface: attribute complete +PASS HTMLImageElement interface: attribute currentSrc +PASS HTMLImageElement interface: attribute referrerPolicy +PASS HTMLImageElement interface: attribute decoding +PASS HTMLImageElement interface: operation decode() +PASS HTMLImageElement interface: attribute name +PASS HTMLImageElement interface: attribute lowsrc +PASS HTMLImageElement interface: attribute align +PASS HTMLImageElement interface: attribute hspace +PASS HTMLImageElement interface: attribute vspace +PASS HTMLImageElement interface: attribute longDesc +PASS HTMLImageElement interface: attribute border +PASS HTMLImageElement must be primary interface of document.createElement("img") +PASS Stringification of document.createElement("img") +PASS HTMLImageElement interface: document.createElement("img") must inherit property "alt" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "src" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "srcset" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "sizes" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "crossOrigin" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "useMap" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "isMap" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "width" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "height" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "naturalWidth" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "naturalHeight" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "complete" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "currentSrc" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "referrerPolicy" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "decoding" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "decode()" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "name" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "lowsrc" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "align" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "hspace" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "vspace" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "longDesc" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "border" with the proper type +PASS HTMLImageElement must be primary interface of new Image() +PASS Stringification of new Image() +PASS HTMLImageElement interface: new Image() must inherit property "alt" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "src" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "srcset" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "sizes" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "crossOrigin" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "useMap" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "isMap" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "width" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "height" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "naturalWidth" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "naturalHeight" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "complete" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "currentSrc" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "referrerPolicy" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "decoding" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "decode()" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "name" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "lowsrc" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "align" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "hspace" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "vspace" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "longDesc" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "border" with the proper type +PASS HTMLIFrameElement interface: existence and properties of interface object +PASS HTMLIFrameElement interface object length +PASS HTMLIFrameElement interface object name +PASS HTMLIFrameElement interface: existence and properties of interface prototype object +PASS HTMLIFrameElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLIFrameElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLIFrameElement interface: attribute src +PASS HTMLIFrameElement interface: attribute srcdoc +PASS HTMLIFrameElement interface: attribute name +PASS HTMLIFrameElement interface: attribute sandbox +PASS HTMLIFrameElement interface: attribute allow +PASS HTMLIFrameElement interface: attribute allowFullscreen +PASS HTMLIFrameElement interface: attribute allowPaymentRequest +PASS HTMLIFrameElement interface: attribute width +PASS HTMLIFrameElement interface: attribute height +PASS HTMLIFrameElement interface: attribute referrerPolicy +PASS HTMLIFrameElement interface: attribute contentDocument +PASS HTMLIFrameElement interface: attribute contentWindow +PASS HTMLIFrameElement interface: operation getSVGDocument() +PASS HTMLIFrameElement interface: attribute align +PASS HTMLIFrameElement interface: attribute scrolling +PASS HTMLIFrameElement interface: attribute frameBorder +PASS HTMLIFrameElement interface: attribute longDesc +PASS HTMLIFrameElement interface: attribute marginHeight +PASS HTMLIFrameElement interface: attribute marginWidth +PASS HTMLEmbedElement interface: existence and properties of interface object +PASS HTMLEmbedElement interface object length +PASS HTMLEmbedElement interface object name +PASS HTMLEmbedElement interface: existence and properties of interface prototype object +PASS HTMLEmbedElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLEmbedElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLEmbedElement interface: attribute src +PASS HTMLEmbedElement interface: attribute type +PASS HTMLEmbedElement interface: attribute width +PASS HTMLEmbedElement interface: attribute height +PASS HTMLEmbedElement interface: operation getSVGDocument() +PASS HTMLEmbedElement interface: attribute align +PASS HTMLEmbedElement interface: attribute name +PASS HTMLEmbedElement must be primary interface of document.createElement("embed") +PASS Stringification of document.createElement("embed") +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "src" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "type" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "width" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "height" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "getSVGDocument()" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "align" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "name" with the proper type +PASS HTMLObjectElement interface: existence and properties of interface object +PASS HTMLObjectElement interface object length +PASS HTMLObjectElement interface object name +PASS HTMLObjectElement interface: existence and properties of interface prototype object +PASS HTMLObjectElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLObjectElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLObjectElement interface: attribute data +PASS HTMLObjectElement interface: attribute type +PASS HTMLObjectElement interface: attribute name +PASS HTMLObjectElement interface: attribute useMap +PASS HTMLObjectElement interface: attribute form +PASS HTMLObjectElement interface: attribute width +PASS HTMLObjectElement interface: attribute height +PASS HTMLObjectElement interface: attribute contentDocument +PASS HTMLObjectElement interface: attribute contentWindow +PASS HTMLObjectElement interface: operation getSVGDocument() +PASS HTMLObjectElement interface: attribute willValidate +PASS HTMLObjectElement interface: attribute validity +PASS HTMLObjectElement interface: attribute validationMessage +PASS HTMLObjectElement interface: operation checkValidity() +PASS HTMLObjectElement interface: operation reportValidity() +PASS HTMLObjectElement interface: operation setCustomValidity(DOMString) +PASS HTMLObjectElement interface: attribute align +PASS HTMLObjectElement interface: attribute archive +PASS HTMLObjectElement interface: attribute code +PASS HTMLObjectElement interface: attribute declare +PASS HTMLObjectElement interface: attribute hspace +PASS HTMLObjectElement interface: attribute standby +PASS HTMLObjectElement interface: attribute vspace +PASS HTMLObjectElement interface: attribute codeBase +PASS HTMLObjectElement interface: attribute codeType +PASS HTMLObjectElement interface: attribute border +PASS HTMLObjectElement must be primary interface of document.createElement("object") +PASS Stringification of document.createElement("object") +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "data" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "type" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "name" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "useMap" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "form" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "width" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "height" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "contentDocument" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "contentWindow" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "getSVGDocument()" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "willValidate" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "validity" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "validationMessage" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "checkValidity()" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "reportValidity()" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLObjectElement interface: calling setCustomValidity(DOMString) on document.createElement("object") with too few arguments must throw TypeError +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "align" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "archive" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "code" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "declare" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "hspace" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "standby" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "vspace" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "codeBase" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "codeType" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "border" with the proper type +PASS HTMLParamElement interface: existence and properties of interface object +PASS HTMLParamElement interface object length +PASS HTMLParamElement interface object name +PASS HTMLParamElement interface: existence and properties of interface prototype object +PASS HTMLParamElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLParamElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLParamElement interface: attribute name +PASS HTMLParamElement interface: attribute value +PASS HTMLParamElement interface: attribute type +PASS HTMLParamElement interface: attribute valueType +PASS HTMLParamElement must be primary interface of document.createElement("param") +PASS Stringification of document.createElement("param") +PASS HTMLParamElement interface: document.createElement("param") must inherit property "name" with the proper type +PASS HTMLParamElement interface: document.createElement("param") must inherit property "value" with the proper type +PASS HTMLParamElement interface: document.createElement("param") must inherit property "type" with the proper type +PASS HTMLParamElement interface: document.createElement("param") must inherit property "valueType" with the proper type +PASS HTMLVideoElement interface: existence and properties of interface object +PASS HTMLVideoElement interface object length +PASS HTMLVideoElement interface object name +PASS HTMLVideoElement interface: existence and properties of interface prototype object +PASS HTMLVideoElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLVideoElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLVideoElement interface: attribute width +PASS HTMLVideoElement interface: attribute height +PASS HTMLVideoElement interface: attribute videoWidth +PASS HTMLVideoElement interface: attribute videoHeight +PASS HTMLVideoElement interface: attribute poster +PASS HTMLVideoElement interface: attribute playsInline +PASS HTMLVideoElement must be primary interface of document.createElement("video") +PASS Stringification of document.createElement("video") +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "width" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "height" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "videoWidth" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "videoHeight" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "poster" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "playsInline" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "error" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "src" with the proper type +FAIL HTMLMediaElement interface: document.createElement("video") must inherit property "srcObject" with the proper type Unrecognized type MediaStream +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "currentSrc" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "crossOrigin" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_EMPTY" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_IDLE" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_LOADING" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_NO_SOURCE" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "networkState" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "preload" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "buffered" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "load()" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "canPlayType(DOMString)" with the proper type +PASS HTMLMediaElement interface: calling canPlayType(DOMString) on document.createElement("video") with too few arguments must throw TypeError +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_NOTHING" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_METADATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_CURRENT_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_FUTURE_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_ENOUGH_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "readyState" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "seeking" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "currentTime" with the proper type +FAIL HTMLMediaElement interface: document.createElement("video") must inherit property "fastSeek(double)" with the proper type assert_inherits: property "fastSeek" not found in prototype chain +FAIL HTMLMediaElement interface: calling fastSeek(double) on document.createElement("video") with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "duration" with the proper type +FAIL HTMLMediaElement interface: document.createElement("video") must inherit property "getStartDate()" with the proper type assert_inherits: property "getStartDate" not found in prototype chain +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "paused" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "defaultPlaybackRate" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "playbackRate" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "played" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "seekable" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "ended" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "autoplay" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "loop" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "play()" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "pause()" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "controls" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "volume" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "muted" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "defaultMuted" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "audioTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "videoTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "textTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "addTextTrack(TextTrackKind, DOMString, DOMString)" with the proper type +PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind, DOMString, DOMString) on document.createElement("video") with too few arguments must throw TypeError +PASS HTMLAudioElement interface: existence and properties of interface object +PASS HTMLAudioElement interface object length +PASS HTMLAudioElement interface object name +PASS HTMLAudioElement interface: named constructor +PASS HTMLAudioElement interface: named constructor object +PASS HTMLAudioElement interface: named constructor prototype property +PASS HTMLAudioElement interface: named constructor name +PASS HTMLAudioElement interface: named constructor length +PASS HTMLAudioElement interface: named constructor without 'new' +PASS HTMLAudioElement interface: existence and properties of interface prototype object +PASS HTMLAudioElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLAudioElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLAudioElement must be primary interface of document.createElement("audio") +PASS Stringification of document.createElement("audio") +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "error" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "src" with the proper type +FAIL HTMLMediaElement interface: document.createElement("audio") must inherit property "srcObject" with the proper type Unrecognized type MediaStream +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "currentSrc" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "crossOrigin" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_EMPTY" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_IDLE" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_LOADING" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_NO_SOURCE" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "networkState" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "preload" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "buffered" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "load()" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "canPlayType(DOMString)" with the proper type +PASS HTMLMediaElement interface: calling canPlayType(DOMString) on document.createElement("audio") with too few arguments must throw TypeError +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_NOTHING" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_METADATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_CURRENT_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_FUTURE_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_ENOUGH_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "readyState" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "seeking" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "currentTime" with the proper type +FAIL HTMLMediaElement interface: document.createElement("audio") must inherit property "fastSeek(double)" with the proper type assert_inherits: property "fastSeek" not found in prototype chain +FAIL HTMLMediaElement interface: calling fastSeek(double) on document.createElement("audio") with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "duration" with the proper type +FAIL HTMLMediaElement interface: document.createElement("audio") must inherit property "getStartDate()" with the proper type assert_inherits: property "getStartDate" not found in prototype chain +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "paused" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "defaultPlaybackRate" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "playbackRate" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "played" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "seekable" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "ended" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "autoplay" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "loop" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "play()" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "pause()" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "controls" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "volume" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "muted" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "defaultMuted" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "audioTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "videoTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "textTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "addTextTrack(TextTrackKind, DOMString, DOMString)" with the proper type +PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind, DOMString, DOMString) on document.createElement("audio") with too few arguments must throw TypeError +PASS HTMLAudioElement must be primary interface of new Audio() +PASS Stringification of new Audio() +PASS HTMLMediaElement interface: new Audio() must inherit property "error" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "src" with the proper type +FAIL HTMLMediaElement interface: new Audio() must inherit property "srcObject" with the proper type Unrecognized type MediaStream +PASS HTMLMediaElement interface: new Audio() must inherit property "currentSrc" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "crossOrigin" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_EMPTY" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_IDLE" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_LOADING" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_NO_SOURCE" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "networkState" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "preload" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "buffered" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "load()" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "canPlayType(DOMString)" with the proper type +PASS HTMLMediaElement interface: calling canPlayType(DOMString) on new Audio() with too few arguments must throw TypeError +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_NOTHING" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_METADATA" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_CURRENT_DATA" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_FUTURE_DATA" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_ENOUGH_DATA" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "readyState" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "seeking" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "currentTime" with the proper type +FAIL HTMLMediaElement interface: new Audio() must inherit property "fastSeek(double)" with the proper type assert_inherits: property "fastSeek" not found in prototype chain +FAIL HTMLMediaElement interface: calling fastSeek(double) on new Audio() with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain +PASS HTMLMediaElement interface: new Audio() must inherit property "duration" with the proper type +FAIL HTMLMediaElement interface: new Audio() must inherit property "getStartDate()" with the proper type assert_inherits: property "getStartDate" not found in prototype chain +PASS HTMLMediaElement interface: new Audio() must inherit property "paused" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "defaultPlaybackRate" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "playbackRate" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "played" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "seekable" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "ended" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "autoplay" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "loop" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "play()" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "pause()" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "controls" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "volume" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "muted" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "defaultMuted" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "audioTracks" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "videoTracks" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "textTracks" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "addTextTrack(TextTrackKind, DOMString, DOMString)" with the proper type +PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind, DOMString, DOMString) on new Audio() with too few arguments must throw TypeError +PASS HTMLTrackElement interface: existence and properties of interface object +PASS HTMLTrackElement interface object length +PASS HTMLTrackElement interface object name +PASS HTMLTrackElement interface: existence and properties of interface prototype object +PASS HTMLTrackElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTrackElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTrackElement interface: attribute kind +PASS HTMLTrackElement interface: attribute src +PASS HTMLTrackElement interface: attribute srclang +PASS HTMLTrackElement interface: attribute label +PASS HTMLTrackElement interface: attribute default +PASS HTMLTrackElement interface: constant NONE on interface object +PASS HTMLTrackElement interface: constant NONE on interface prototype object +PASS HTMLTrackElement interface: constant LOADING on interface object +PASS HTMLTrackElement interface: constant LOADING on interface prototype object +PASS HTMLTrackElement interface: constant LOADED on interface object +PASS HTMLTrackElement interface: constant LOADED on interface prototype object +PASS HTMLTrackElement interface: constant ERROR on interface object +PASS HTMLTrackElement interface: constant ERROR on interface prototype object +PASS HTMLTrackElement interface: attribute readyState +PASS HTMLTrackElement interface: attribute track +PASS HTMLTrackElement must be primary interface of document.createElement("track") +PASS Stringification of document.createElement("track") +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "kind" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "src" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "srclang" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "label" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "default" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "NONE" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "LOADING" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "LOADED" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "ERROR" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "readyState" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "track" with the proper type +PASS HTMLMediaElement interface: existence and properties of interface object +PASS HTMLMediaElement interface object length +PASS HTMLMediaElement interface object name +PASS HTMLMediaElement interface: existence and properties of interface prototype object +PASS HTMLMediaElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMediaElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMediaElement interface: attribute error +PASS HTMLMediaElement interface: attribute src +PASS HTMLMediaElement interface: attribute srcObject +PASS HTMLMediaElement interface: attribute currentSrc +PASS HTMLMediaElement interface: attribute crossOrigin +PASS HTMLMediaElement interface: constant NETWORK_EMPTY on interface object +PASS HTMLMediaElement interface: constant NETWORK_EMPTY on interface prototype object +PASS HTMLMediaElement interface: constant NETWORK_IDLE on interface object +PASS HTMLMediaElement interface: constant NETWORK_IDLE on interface prototype object +PASS HTMLMediaElement interface: constant NETWORK_LOADING on interface object +PASS HTMLMediaElement interface: constant NETWORK_LOADING on interface prototype object +PASS HTMLMediaElement interface: constant NETWORK_NO_SOURCE on interface object +PASS HTMLMediaElement interface: constant NETWORK_NO_SOURCE on interface prototype object +PASS HTMLMediaElement interface: attribute networkState +PASS HTMLMediaElement interface: attribute preload +PASS HTMLMediaElement interface: attribute buffered +PASS HTMLMediaElement interface: operation load() +PASS HTMLMediaElement interface: operation canPlayType(DOMString) +PASS HTMLMediaElement interface: constant HAVE_NOTHING on interface object +PASS HTMLMediaElement interface: constant HAVE_NOTHING on interface prototype object +PASS HTMLMediaElement interface: constant HAVE_METADATA on interface object +PASS HTMLMediaElement interface: constant HAVE_METADATA on interface prototype object +PASS HTMLMediaElement interface: constant HAVE_CURRENT_DATA on interface object +PASS HTMLMediaElement interface: constant HAVE_CURRENT_DATA on interface prototype object +PASS HTMLMediaElement interface: constant HAVE_FUTURE_DATA on interface object +PASS HTMLMediaElement interface: constant HAVE_FUTURE_DATA on interface prototype object +PASS HTMLMediaElement interface: constant HAVE_ENOUGH_DATA on interface object +PASS HTMLMediaElement interface: constant HAVE_ENOUGH_DATA on interface prototype object +PASS HTMLMediaElement interface: attribute readyState +PASS HTMLMediaElement interface: attribute seeking +PASS HTMLMediaElement interface: attribute currentTime +FAIL HTMLMediaElement interface: operation fastSeek(double) assert_own_property: interface prototype object missing non-static operation expected property "fastSeek" missing +PASS HTMLMediaElement interface: attribute duration +FAIL HTMLMediaElement interface: operation getStartDate() assert_own_property: interface prototype object missing non-static operation expected property "getStartDate" missing +PASS HTMLMediaElement interface: attribute paused +PASS HTMLMediaElement interface: attribute defaultPlaybackRate +PASS HTMLMediaElement interface: attribute playbackRate +PASS HTMLMediaElement interface: attribute played +PASS HTMLMediaElement interface: attribute seekable +PASS HTMLMediaElement interface: attribute ended +PASS HTMLMediaElement interface: attribute autoplay +PASS HTMLMediaElement interface: attribute loop +PASS HTMLMediaElement interface: operation play() +PASS HTMLMediaElement interface: operation pause() +PASS HTMLMediaElement interface: attribute controls +PASS HTMLMediaElement interface: attribute volume +PASS HTMLMediaElement interface: attribute muted +PASS HTMLMediaElement interface: attribute defaultMuted +PASS HTMLMediaElement interface: attribute audioTracks +PASS HTMLMediaElement interface: attribute videoTracks +PASS HTMLMediaElement interface: attribute textTracks +PASS HTMLMediaElement interface: operation addTextTrack(TextTrackKind, DOMString, DOMString) +PASS HTMLMapElement interface: existence and properties of interface object +PASS HTMLMapElement interface object length +PASS HTMLMapElement interface object name +PASS HTMLMapElement interface: existence and properties of interface prototype object +PASS HTMLMapElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMapElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMapElement interface: attribute name +PASS HTMLMapElement interface: attribute areas +PASS HTMLMapElement must be primary interface of document.createElement("map") +PASS Stringification of document.createElement("map") +PASS HTMLMapElement interface: document.createElement("map") must inherit property "name" with the proper type +PASS HTMLMapElement interface: document.createElement("map") must inherit property "areas" with the proper type +PASS HTMLAreaElement interface: existence and properties of interface object +PASS HTMLAreaElement interface object length +PASS HTMLAreaElement interface object name +PASS HTMLAreaElement interface: existence and properties of interface prototype object +PASS HTMLAreaElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLAreaElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLAreaElement interface: attribute alt +PASS HTMLAreaElement interface: attribute coords +PASS HTMLAreaElement interface: attribute shape +PASS HTMLAreaElement interface: attribute target +PASS HTMLAreaElement interface: attribute download +PASS HTMLAreaElement interface: attribute ping +PASS HTMLAreaElement interface: attribute rel +PASS HTMLAreaElement interface: attribute relList +PASS HTMLAreaElement interface: attribute referrerPolicy +PASS HTMLAreaElement interface: attribute noHref +PASS HTMLAreaElement interface: attribute href +PASS HTMLAreaElement interface: stringifier +PASS HTMLAreaElement interface: attribute origin +PASS HTMLAreaElement interface: attribute protocol +PASS HTMLAreaElement interface: attribute username +PASS HTMLAreaElement interface: attribute password +PASS HTMLAreaElement interface: attribute host +PASS HTMLAreaElement interface: attribute hostname +PASS HTMLAreaElement interface: attribute port +PASS HTMLAreaElement interface: attribute pathname +PASS HTMLAreaElement interface: attribute search +PASS HTMLAreaElement interface: attribute hash +PASS HTMLAreaElement must be primary interface of document.createElement("area") +PASS Stringification of document.createElement("area") +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "alt" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "coords" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "shape" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "target" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "download" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "ping" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "rel" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "relList" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "referrerPolicy" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "noHref" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "href" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "origin" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "protocol" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "username" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "password" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "host" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "hostname" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "port" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "pathname" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "search" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "hash" with the proper type +PASS HTMLTableElement interface: existence and properties of interface object +PASS HTMLTableElement interface object length +PASS HTMLTableElement interface object name +PASS HTMLTableElement interface: existence and properties of interface prototype object +PASS HTMLTableElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableElement interface: attribute caption +PASS HTMLTableElement interface: operation createCaption() +PASS HTMLTableElement interface: operation deleteCaption() +PASS HTMLTableElement interface: attribute tHead +PASS HTMLTableElement interface: operation createTHead() +PASS HTMLTableElement interface: operation deleteTHead() +PASS HTMLTableElement interface: attribute tFoot +PASS HTMLTableElement interface: operation createTFoot() +PASS HTMLTableElement interface: operation deleteTFoot() +PASS HTMLTableElement interface: attribute tBodies +PASS HTMLTableElement interface: operation createTBody() +PASS HTMLTableElement interface: attribute rows +PASS HTMLTableElement interface: operation insertRow(long) +PASS HTMLTableElement interface: operation deleteRow(long) +PASS HTMLTableElement interface: attribute align +PASS HTMLTableElement interface: attribute border +PASS HTMLTableElement interface: attribute frame +PASS HTMLTableElement interface: attribute rules +PASS HTMLTableElement interface: attribute summary +PASS HTMLTableElement interface: attribute width +PASS HTMLTableElement interface: attribute bgColor +PASS HTMLTableElement interface: attribute cellPadding +PASS HTMLTableElement interface: attribute cellSpacing +PASS HTMLTableElement must be primary interface of document.createElement("table") +PASS Stringification of document.createElement("table") +PASS HTMLTableElement interface: document.createElement("table") must inherit property "caption" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "createCaption()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteCaption()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "tHead" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTHead()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteTHead()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "tFoot" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTFoot()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteTFoot()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "tBodies" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTBody()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "rows" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "insertRow(long)" with the proper type +PASS HTMLTableElement interface: calling insertRow(long) on document.createElement("table") with too few arguments must throw TypeError +PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteRow(long)" with the proper type +PASS HTMLTableElement interface: calling deleteRow(long) on document.createElement("table") with too few arguments must throw TypeError +PASS HTMLTableElement interface: document.createElement("table") must inherit property "align" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "border" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "frame" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "rules" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "summary" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "width" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "bgColor" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "cellPadding" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "cellSpacing" with the proper type +PASS HTMLTableCaptionElement interface: existence and properties of interface object +PASS HTMLTableCaptionElement interface object length +PASS HTMLTableCaptionElement interface object name +PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object +PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableCaptionElement interface: attribute align +PASS HTMLTableCaptionElement must be primary interface of document.createElement("caption") +PASS Stringification of document.createElement("caption") +PASS HTMLTableCaptionElement interface: document.createElement("caption") must inherit property "align" with the proper type +PASS HTMLTableColElement interface: existence and properties of interface object +PASS HTMLTableColElement interface object length +PASS HTMLTableColElement interface object name +PASS HTMLTableColElement interface: existence and properties of interface prototype object +PASS HTMLTableColElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableColElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableColElement interface: attribute span +PASS HTMLTableColElement interface: attribute align +PASS HTMLTableColElement interface: attribute ch +PASS HTMLTableColElement interface: attribute chOff +PASS HTMLTableColElement interface: attribute vAlign +PASS HTMLTableColElement interface: attribute width +PASS HTMLTableColElement must be primary interface of document.createElement("colgroup") +PASS Stringification of document.createElement("colgroup") +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "span" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "align" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "ch" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "chOff" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "vAlign" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "width" with the proper type +PASS HTMLTableColElement must be primary interface of document.createElement("col") +PASS Stringification of document.createElement("col") +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "span" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "align" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "ch" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "chOff" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "vAlign" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "width" with the proper type +PASS HTMLTableSectionElement interface: existence and properties of interface object +PASS HTMLTableSectionElement interface object length +PASS HTMLTableSectionElement interface object name +PASS HTMLTableSectionElement interface: existence and properties of interface prototype object +PASS HTMLTableSectionElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableSectionElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableSectionElement interface: attribute rows +PASS HTMLTableSectionElement interface: operation insertRow(long) +PASS HTMLTableSectionElement interface: operation deleteRow(long) +PASS HTMLTableSectionElement interface: attribute align +PASS HTMLTableSectionElement interface: attribute ch +PASS HTMLTableSectionElement interface: attribute chOff +PASS HTMLTableSectionElement interface: attribute vAlign +PASS HTMLTableSectionElement must be primary interface of document.createElement("tbody") +PASS Stringification of document.createElement("tbody") +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "rows" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "insertRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("tbody") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "deleteRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("tbody") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "align" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "ch" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "chOff" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "vAlign" with the proper type +PASS HTMLTableSectionElement must be primary interface of document.createElement("thead") +PASS Stringification of document.createElement("thead") +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "rows" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "insertRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("thead") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "deleteRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("thead") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "align" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "ch" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "chOff" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "vAlign" with the proper type +PASS HTMLTableSectionElement must be primary interface of document.createElement("tfoot") +PASS Stringification of document.createElement("tfoot") +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "rows" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "insertRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("tfoot") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "deleteRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("tfoot") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "align" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "ch" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "chOff" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "vAlign" with the proper type +PASS HTMLTableRowElement interface: existence and properties of interface object +PASS HTMLTableRowElement interface object length +PASS HTMLTableRowElement interface object name +PASS HTMLTableRowElement interface: existence and properties of interface prototype object +PASS HTMLTableRowElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableRowElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableRowElement interface: attribute rowIndex +PASS HTMLTableRowElement interface: attribute sectionRowIndex +PASS HTMLTableRowElement interface: attribute cells +PASS HTMLTableRowElement interface: operation insertCell(long) +PASS HTMLTableRowElement interface: operation deleteCell(long) +PASS HTMLTableRowElement interface: attribute align +PASS HTMLTableRowElement interface: attribute ch +PASS HTMLTableRowElement interface: attribute chOff +PASS HTMLTableRowElement interface: attribute vAlign +PASS HTMLTableRowElement interface: attribute bgColor +PASS HTMLTableRowElement must be primary interface of document.createElement("tr") +PASS Stringification of document.createElement("tr") +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "rowIndex" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "sectionRowIndex" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "cells" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "insertCell(long)" with the proper type +PASS HTMLTableRowElement interface: calling insertCell(long) on document.createElement("tr") with too few arguments must throw TypeError +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "deleteCell(long)" with the proper type +PASS HTMLTableRowElement interface: calling deleteCell(long) on document.createElement("tr") with too few arguments must throw TypeError +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "align" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "ch" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "chOff" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "vAlign" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "bgColor" with the proper type +PASS HTMLTableCellElement interface: existence and properties of interface object +PASS HTMLTableCellElement interface object length +PASS HTMLTableCellElement interface object name +PASS HTMLTableCellElement interface: existence and properties of interface prototype object +PASS HTMLTableCellElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableCellElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableCellElement interface: attribute colSpan +PASS HTMLTableCellElement interface: attribute rowSpan +PASS HTMLTableCellElement interface: attribute headers +PASS HTMLTableCellElement interface: attribute cellIndex +PASS HTMLTableCellElement interface: attribute scope +PASS HTMLTableCellElement interface: attribute abbr +PASS HTMLTableCellElement interface: attribute align +PASS HTMLTableCellElement interface: attribute axis +PASS HTMLTableCellElement interface: attribute height +PASS HTMLTableCellElement interface: attribute width +PASS HTMLTableCellElement interface: attribute ch +PASS HTMLTableCellElement interface: attribute chOff +PASS HTMLTableCellElement interface: attribute noWrap +PASS HTMLTableCellElement interface: attribute vAlign +PASS HTMLTableCellElement interface: attribute bgColor +PASS HTMLTableCellElement must be primary interface of document.createElement("td") +PASS Stringification of document.createElement("td") +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "colSpan" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "rowSpan" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "headers" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "cellIndex" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "scope" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "abbr" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "align" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "axis" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "height" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "width" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "ch" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "chOff" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "noWrap" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "vAlign" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "bgColor" with the proper type +PASS HTMLTableCellElement must be primary interface of document.createElement("th") +PASS Stringification of document.createElement("th") +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "colSpan" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "rowSpan" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "headers" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "cellIndex" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "scope" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "abbr" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "align" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "axis" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "height" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "width" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "ch" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "chOff" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "noWrap" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "vAlign" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "bgColor" with the proper type +PASS HTMLFormElement interface: existence and properties of interface object +PASS HTMLFormElement interface object length +PASS HTMLFormElement interface object name +PASS HTMLFormElement interface: existence and properties of interface prototype object +PASS HTMLFormElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFormElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFormElement interface: attribute acceptCharset +PASS HTMLFormElement interface: attribute action +PASS HTMLFormElement interface: attribute autocomplete +PASS HTMLFormElement interface: attribute enctype +PASS HTMLFormElement interface: attribute encoding +PASS HTMLFormElement interface: attribute method +PASS HTMLFormElement interface: attribute name +PASS HTMLFormElement interface: attribute noValidate +PASS HTMLFormElement interface: attribute target +FAIL HTMLFormElement interface: attribute rel assert_true: The prototype object must have a property "rel" expected true got false +FAIL HTMLFormElement interface: attribute relList assert_true: The prototype object must have a property "relList" expected true got false +PASS HTMLFormElement interface: attribute elements +PASS HTMLFormElement interface: attribute length +PASS HTMLFormElement interface: operation submit() +PASS HTMLFormElement interface: operation requestSubmit(HTMLElement) +PASS HTMLFormElement interface: operation reset() +PASS HTMLFormElement interface: operation checkValidity() +PASS HTMLFormElement interface: operation reportValidity() +PASS HTMLFormElement must be primary interface of document.createElement("form") +PASS Stringification of document.createElement("form") +PASS HTMLFormElement interface: document.createElement("form") must inherit property "acceptCharset" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "action" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "autocomplete" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "enctype" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "encoding" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "method" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "name" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "noValidate" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "target" with the proper type +FAIL HTMLFormElement interface: document.createElement("form") must inherit property "rel" with the proper type assert_inherits: property "rel" not found in prototype chain +FAIL HTMLFormElement interface: document.createElement("form") must inherit property "relList" with the proper type assert_inherits: property "relList" not found in prototype chain +PASS HTMLFormElement interface: document.createElement("form") must inherit property "elements" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "length" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "submit()" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "requestSubmit(HTMLElement)" with the proper type +PASS HTMLFormElement interface: calling requestSubmit(HTMLElement) on document.createElement("form") with too few arguments must throw TypeError +PASS HTMLFormElement interface: document.createElement("form") must inherit property "reset()" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "checkValidity()" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "reportValidity()" with the proper type +PASS HTMLLabelElement interface: existence and properties of interface object +PASS HTMLLabelElement interface object length +PASS HTMLLabelElement interface object name +PASS HTMLLabelElement interface: existence and properties of interface prototype object +PASS HTMLLabelElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLLabelElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLLabelElement interface: attribute form +PASS HTMLLabelElement interface: attribute htmlFor +PASS HTMLLabelElement interface: attribute control +PASS HTMLLabelElement must be primary interface of document.createElement("label") +PASS Stringification of document.createElement("label") +PASS HTMLLabelElement interface: document.createElement("label") must inherit property "form" with the proper type +PASS HTMLLabelElement interface: document.createElement("label") must inherit property "htmlFor" with the proper type +PASS HTMLLabelElement interface: document.createElement("label") must inherit property "control" with the proper type +PASS HTMLInputElement interface: existence and properties of interface object +PASS HTMLInputElement interface object length +PASS HTMLInputElement interface object name +PASS HTMLInputElement interface: existence and properties of interface prototype object +PASS HTMLInputElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLInputElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLInputElement interface: attribute accept +PASS HTMLInputElement interface: attribute alt +PASS HTMLInputElement interface: attribute autocomplete +PASS HTMLInputElement interface: attribute defaultChecked +PASS HTMLInputElement interface: attribute checked +PASS HTMLInputElement interface: attribute dirName +PASS HTMLInputElement interface: attribute disabled +PASS HTMLInputElement interface: attribute form +PASS HTMLInputElement interface: attribute files +PASS HTMLInputElement interface: attribute formAction +PASS HTMLInputElement interface: attribute formEnctype +PASS HTMLInputElement interface: attribute formMethod +PASS HTMLInputElement interface: attribute formNoValidate +PASS HTMLInputElement interface: attribute formTarget +PASS HTMLInputElement interface: attribute height +PASS HTMLInputElement interface: attribute indeterminate +PASS HTMLInputElement interface: attribute list +PASS HTMLInputElement interface: attribute max +PASS HTMLInputElement interface: attribute maxLength +PASS HTMLInputElement interface: attribute min +PASS HTMLInputElement interface: attribute minLength +PASS HTMLInputElement interface: attribute multiple +PASS HTMLInputElement interface: attribute name +PASS HTMLInputElement interface: attribute pattern +PASS HTMLInputElement interface: attribute placeholder +PASS HTMLInputElement interface: attribute readOnly +PASS HTMLInputElement interface: attribute required +PASS HTMLInputElement interface: attribute size +PASS HTMLInputElement interface: attribute src +PASS HTMLInputElement interface: attribute step +PASS HTMLInputElement interface: attribute type +PASS HTMLInputElement interface: attribute defaultValue +PASS HTMLInputElement interface: attribute value +PASS HTMLInputElement interface: attribute valueAsDate +PASS HTMLInputElement interface: attribute valueAsNumber +PASS HTMLInputElement interface: attribute width +PASS HTMLInputElement interface: operation stepUp(long) +PASS HTMLInputElement interface: operation stepDown(long) +PASS HTMLInputElement interface: attribute willValidate +PASS HTMLInputElement interface: attribute validity +PASS HTMLInputElement interface: attribute validationMessage +PASS HTMLInputElement interface: operation checkValidity() +PASS HTMLInputElement interface: operation reportValidity() +PASS HTMLInputElement interface: operation setCustomValidity(DOMString) +PASS HTMLInputElement interface: attribute labels +PASS HTMLInputElement interface: operation select() +PASS HTMLInputElement interface: attribute selectionStart +PASS HTMLInputElement interface: attribute selectionEnd +PASS HTMLInputElement interface: attribute selectionDirection +PASS HTMLInputElement interface: operation setRangeText(DOMString) +PASS HTMLInputElement interface: operation setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) +PASS HTMLInputElement interface: operation setSelectionRange(unsigned long, unsigned long, DOMString) +PASS HTMLInputElement interface: attribute align +PASS HTMLInputElement interface: attribute useMap +PASS HTMLInputElement must be primary interface of document.createElement("input") +PASS Stringification of document.createElement("input") +PASS HTMLInputElement interface: document.createElement("input") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "form" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "files" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "height" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "list" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "max" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "min" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "name" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "required" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "size" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "src" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "step" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "type" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "value" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "width" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "align" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("text") +PASS Stringification of createInput("text") +PASS HTMLInputElement interface: createInput("text") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("hidden") +PASS Stringification of createInput("hidden") +PASS HTMLInputElement interface: createInput("hidden") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("search") +PASS Stringification of createInput("search") +PASS HTMLInputElement interface: createInput("search") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("tel") +PASS Stringification of createInput("tel") +PASS HTMLInputElement interface: createInput("tel") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("url") +PASS Stringification of createInput("url") +PASS HTMLInputElement interface: createInput("url") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("email") +PASS Stringification of createInput("email") +PASS HTMLInputElement interface: createInput("email") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("password") +PASS Stringification of createInput("password") +PASS HTMLInputElement interface: createInput("password") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("date") +PASS Stringification of createInput("date") +PASS HTMLInputElement interface: createInput("date") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("month") +PASS Stringification of createInput("month") +PASS HTMLInputElement interface: createInput("month") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("week") +PASS Stringification of createInput("week") +PASS HTMLInputElement interface: createInput("week") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("time") +PASS Stringification of createInput("time") +PASS HTMLInputElement interface: createInput("time") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("datetime-local") +PASS Stringification of createInput("datetime-local") +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("number") +PASS Stringification of createInput("number") +PASS HTMLInputElement interface: createInput("number") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("range") +PASS Stringification of createInput("range") +PASS HTMLInputElement interface: createInput("range") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("color") +PASS Stringification of createInput("color") +PASS HTMLInputElement interface: createInput("color") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("checkbox") +PASS Stringification of createInput("checkbox") +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("radio") +PASS Stringification of createInput("radio") +PASS HTMLInputElement interface: createInput("radio") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("file") +PASS Stringification of createInput("file") +PASS HTMLInputElement interface: createInput("file") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("submit") +PASS Stringification of createInput("submit") +PASS HTMLInputElement interface: createInput("submit") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("image") +PASS Stringification of createInput("image") +PASS HTMLInputElement interface: createInput("image") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("reset") +PASS Stringification of createInput("reset") +PASS HTMLInputElement interface: createInput("reset") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("button") +PASS Stringification of createInput("button") +PASS HTMLInputElement interface: createInput("button") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "useMap" with the proper type +PASS HTMLButtonElement interface: existence and properties of interface object +PASS HTMLButtonElement interface object length +PASS HTMLButtonElement interface object name +PASS HTMLButtonElement interface: existence and properties of interface prototype object +PASS HTMLButtonElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLButtonElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLButtonElement interface: attribute disabled +PASS HTMLButtonElement interface: attribute form +PASS HTMLButtonElement interface: attribute formAction +PASS HTMLButtonElement interface: attribute formEnctype +PASS HTMLButtonElement interface: attribute formMethod +PASS HTMLButtonElement interface: attribute formNoValidate +PASS HTMLButtonElement interface: attribute formTarget +PASS HTMLButtonElement interface: attribute name +PASS HTMLButtonElement interface: attribute type +PASS HTMLButtonElement interface: attribute value +PASS HTMLButtonElement interface: attribute willValidate +PASS HTMLButtonElement interface: attribute validity +PASS HTMLButtonElement interface: attribute validationMessage +PASS HTMLButtonElement interface: operation checkValidity() +PASS HTMLButtonElement interface: operation reportValidity() +PASS HTMLButtonElement interface: operation setCustomValidity(DOMString) +PASS HTMLButtonElement interface: attribute labels +PASS HTMLButtonElement must be primary interface of document.createElement("button") +PASS Stringification of document.createElement("button") +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "disabled" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "form" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formAction" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formEnctype" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formMethod" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formNoValidate" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formTarget" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "name" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "type" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "value" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "willValidate" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "validity" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "validationMessage" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "checkValidity()" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "reportValidity()" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLButtonElement interface: calling setCustomValidity(DOMString) on document.createElement("button") with too few arguments must throw TypeError +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "labels" with the proper type +PASS HTMLSelectElement interface: existence and properties of interface object +PASS HTMLSelectElement interface object length +PASS HTMLSelectElement interface object name +PASS HTMLSelectElement interface: existence and properties of interface prototype object +PASS HTMLSelectElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLSelectElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLSelectElement interface: attribute autocomplete +PASS HTMLSelectElement interface: attribute disabled +PASS HTMLSelectElement interface: attribute form +PASS HTMLSelectElement interface: attribute multiple +PASS HTMLSelectElement interface: attribute name +PASS HTMLSelectElement interface: attribute required +PASS HTMLSelectElement interface: attribute size +PASS HTMLSelectElement interface: attribute type +PASS HTMLSelectElement interface: attribute options +PASS HTMLSelectElement interface: attribute length +PASS HTMLSelectElement interface: operation item(unsigned long) +PASS HTMLSelectElement interface: operation namedItem(DOMString) +PASS HTMLSelectElement interface: operation add([object Object],[object Object], [object Object],[object Object]) +PASS HTMLSelectElement interface: operation remove() +PASS HTMLSelectElement interface: operation remove(long) +PASS HTMLSelectElement interface: attribute selectedOptions +PASS HTMLSelectElement interface: attribute selectedIndex +PASS HTMLSelectElement interface: attribute value +PASS HTMLSelectElement interface: attribute willValidate +PASS HTMLSelectElement interface: attribute validity +PASS HTMLSelectElement interface: attribute validationMessage +PASS HTMLSelectElement interface: operation checkValidity() +PASS HTMLSelectElement interface: operation reportValidity() +PASS HTMLSelectElement interface: operation setCustomValidity(DOMString) +PASS HTMLSelectElement interface: attribute labels +PASS HTMLSelectElement must be primary interface of document.createElement("select") +PASS Stringification of document.createElement("select") +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "autocomplete" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "disabled" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "form" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "multiple" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "name" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "required" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "size" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "type" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "options" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "length" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "item(unsigned long)" with the proper type +PASS HTMLSelectElement interface: calling item(unsigned long) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "namedItem(DOMString)" with the proper type +PASS HTMLSelectElement interface: calling namedItem(DOMString) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "add([object Object],[object Object], [object Object],[object Object])" with the proper type +PASS HTMLSelectElement interface: calling add([object Object],[object Object], [object Object],[object Object]) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "remove()" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "remove(long)" with the proper type +PASS HTMLSelectElement interface: calling remove(long) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "selectedOptions" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "selectedIndex" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "value" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "willValidate" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "validity" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "validationMessage" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "checkValidity()" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "reportValidity()" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLSelectElement interface: calling setCustomValidity(DOMString) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "labels" with the proper type +PASS HTMLDataListElement interface: existence and properties of interface object +PASS HTMLDataListElement interface object length +PASS HTMLDataListElement interface object name +PASS HTMLDataListElement interface: existence and properties of interface prototype object +PASS HTMLDataListElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDataListElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDataListElement interface: attribute options +PASS HTMLDataListElement must be primary interface of document.createElement("datalist") +PASS Stringification of document.createElement("datalist") +PASS HTMLDataListElement interface: document.createElement("datalist") must inherit property "options" with the proper type +PASS HTMLOptGroupElement interface: existence and properties of interface object +PASS HTMLOptGroupElement interface object length +PASS HTMLOptGroupElement interface object name +PASS HTMLOptGroupElement interface: existence and properties of interface prototype object +PASS HTMLOptGroupElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOptGroupElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOptGroupElement interface: attribute disabled +PASS HTMLOptGroupElement interface: attribute label +PASS HTMLOptGroupElement must be primary interface of document.createElement("optgroup") +PASS Stringification of document.createElement("optgroup") +PASS HTMLOptGroupElement interface: document.createElement("optgroup") must inherit property "disabled" with the proper type +PASS HTMLOptGroupElement interface: document.createElement("optgroup") must inherit property "label" with the proper type +PASS HTMLOptionElement interface: existence and properties of interface object +PASS HTMLOptionElement interface object length +PASS HTMLOptionElement interface object name +PASS HTMLOptionElement interface: named constructor +PASS HTMLOptionElement interface: named constructor object +PASS HTMLOptionElement interface: named constructor prototype property +PASS HTMLOptionElement interface: named constructor name +PASS HTMLOptionElement interface: named constructor length +PASS HTMLOptionElement interface: named constructor without 'new' +PASS HTMLOptionElement interface: existence and properties of interface prototype object +PASS HTMLOptionElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOptionElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOptionElement interface: attribute disabled +PASS HTMLOptionElement interface: attribute form +PASS HTMLOptionElement interface: attribute label +PASS HTMLOptionElement interface: attribute defaultSelected +PASS HTMLOptionElement interface: attribute selected +PASS HTMLOptionElement interface: attribute value +PASS HTMLOptionElement interface: attribute text +PASS HTMLOptionElement interface: attribute index +PASS HTMLOptionElement must be primary interface of document.createElement("option") +PASS Stringification of document.createElement("option") +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "disabled" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "form" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "label" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "defaultSelected" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "selected" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "value" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "text" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "index" with the proper type +PASS HTMLOptionElement must be primary interface of new Option() +PASS Stringification of new Option() +PASS HTMLOptionElement interface: new Option() must inherit property "disabled" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "form" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "label" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "defaultSelected" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "selected" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "value" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "text" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "index" with the proper type +PASS HTMLTextAreaElement interface: existence and properties of interface object +PASS HTMLTextAreaElement interface object length +PASS HTMLTextAreaElement interface object name +PASS HTMLTextAreaElement interface: existence and properties of interface prototype object +PASS HTMLTextAreaElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTextAreaElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTextAreaElement interface: attribute autocomplete +PASS HTMLTextAreaElement interface: attribute cols +PASS HTMLTextAreaElement interface: attribute dirName +PASS HTMLTextAreaElement interface: attribute disabled +PASS HTMLTextAreaElement interface: attribute form +PASS HTMLTextAreaElement interface: attribute maxLength +PASS HTMLTextAreaElement interface: attribute minLength +PASS HTMLTextAreaElement interface: attribute name +PASS HTMLTextAreaElement interface: attribute placeholder +PASS HTMLTextAreaElement interface: attribute readOnly +PASS HTMLTextAreaElement interface: attribute required +PASS HTMLTextAreaElement interface: attribute rows +PASS HTMLTextAreaElement interface: attribute wrap +PASS HTMLTextAreaElement interface: attribute type +PASS HTMLTextAreaElement interface: attribute defaultValue +PASS HTMLTextAreaElement interface: attribute value +PASS HTMLTextAreaElement interface: attribute textLength +PASS HTMLTextAreaElement interface: attribute willValidate +PASS HTMLTextAreaElement interface: attribute validity +PASS HTMLTextAreaElement interface: attribute validationMessage +PASS HTMLTextAreaElement interface: operation checkValidity() +PASS HTMLTextAreaElement interface: operation reportValidity() +PASS HTMLTextAreaElement interface: operation setCustomValidity(DOMString) +PASS HTMLTextAreaElement interface: attribute labels +PASS HTMLTextAreaElement interface: operation select() +PASS HTMLTextAreaElement interface: attribute selectionStart +PASS HTMLTextAreaElement interface: attribute selectionEnd +PASS HTMLTextAreaElement interface: attribute selectionDirection +PASS HTMLTextAreaElement interface: operation setRangeText(DOMString) +PASS HTMLTextAreaElement interface: operation setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) +PASS HTMLTextAreaElement interface: operation setSelectionRange(unsigned long, unsigned long, DOMString) +PASS HTMLTextAreaElement must be primary interface of document.createElement("textarea") +PASS Stringification of document.createElement("textarea") +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "autocomplete" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "cols" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "dirName" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "disabled" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "form" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "maxLength" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "minLength" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "name" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "placeholder" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "readOnly" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "required" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "rows" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "wrap" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "type" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "defaultValue" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "value" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "textLength" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "willValidate" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "validity" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "validationMessage" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "checkValidity()" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "reportValidity()" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLTextAreaElement interface: calling setCustomValidity(DOMString) on document.createElement("textarea") with too few arguments must throw TypeError +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "labels" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "select()" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionStart" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionEnd" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionDirection" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLTextAreaElement interface: calling setRangeText(DOMString) on document.createElement("textarea") with too few arguments must throw TypeError +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLTextAreaElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on document.createElement("textarea") with too few arguments must throw TypeError +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLTextAreaElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on document.createElement("textarea") with too few arguments must throw TypeError +PASS HTMLOutputElement interface: existence and properties of interface object +PASS HTMLOutputElement interface object length +PASS HTMLOutputElement interface object name +PASS HTMLOutputElement interface: existence and properties of interface prototype object +PASS HTMLOutputElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOutputElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOutputElement interface: attribute htmlFor +PASS HTMLOutputElement interface: attribute form +PASS HTMLOutputElement interface: attribute name +PASS HTMLOutputElement interface: attribute type +PASS HTMLOutputElement interface: attribute defaultValue +PASS HTMLOutputElement interface: attribute value +PASS HTMLOutputElement interface: attribute willValidate +PASS HTMLOutputElement interface: attribute validity +PASS HTMLOutputElement interface: attribute validationMessage +PASS HTMLOutputElement interface: operation checkValidity() +PASS HTMLOutputElement interface: operation reportValidity() +PASS HTMLOutputElement interface: operation setCustomValidity(DOMString) +PASS HTMLOutputElement interface: attribute labels +PASS HTMLOutputElement must be primary interface of document.createElement("output") +PASS Stringification of document.createElement("output") +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "htmlFor" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "form" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "name" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "type" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "defaultValue" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "value" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "willValidate" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "validity" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "validationMessage" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "checkValidity()" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "reportValidity()" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLOutputElement interface: calling setCustomValidity(DOMString) on document.createElement("output") with too few arguments must throw TypeError +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "labels" with the proper type +PASS HTMLProgressElement interface: existence and properties of interface object +PASS HTMLProgressElement interface object length +PASS HTMLProgressElement interface object name +PASS HTMLProgressElement interface: existence and properties of interface prototype object +PASS HTMLProgressElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLProgressElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLProgressElement interface: attribute value +PASS HTMLProgressElement interface: attribute max +PASS HTMLProgressElement interface: attribute position +PASS HTMLProgressElement interface: attribute labels +PASS HTMLProgressElement must be primary interface of document.createElement("progress") +PASS Stringification of document.createElement("progress") +PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "value" with the proper type +PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "max" with the proper type +PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "position" with the proper type +PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "labels" with the proper type +PASS HTMLMeterElement interface: existence and properties of interface object +PASS HTMLMeterElement interface object length +PASS HTMLMeterElement interface object name +PASS HTMLMeterElement interface: existence and properties of interface prototype object +PASS HTMLMeterElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMeterElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMeterElement interface: attribute value +PASS HTMLMeterElement interface: attribute min +PASS HTMLMeterElement interface: attribute max +PASS HTMLMeterElement interface: attribute low +PASS HTMLMeterElement interface: attribute high +PASS HTMLMeterElement interface: attribute optimum +PASS HTMLMeterElement interface: attribute labels +PASS HTMLMeterElement must be primary interface of document.createElement("meter") +PASS Stringification of document.createElement("meter") +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "value" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "min" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "max" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "low" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "high" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "optimum" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "labels" with the proper type +PASS HTMLFieldSetElement interface: existence and properties of interface object +PASS HTMLFieldSetElement interface object length +PASS HTMLFieldSetElement interface object name +PASS HTMLFieldSetElement interface: existence and properties of interface prototype object +PASS HTMLFieldSetElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFieldSetElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFieldSetElement interface: attribute disabled +PASS HTMLFieldSetElement interface: attribute form +PASS HTMLFieldSetElement interface: attribute name +PASS HTMLFieldSetElement interface: attribute type +PASS HTMLFieldSetElement interface: attribute elements +PASS HTMLFieldSetElement interface: attribute willValidate +PASS HTMLFieldSetElement interface: attribute validity +PASS HTMLFieldSetElement interface: attribute validationMessage +PASS HTMLFieldSetElement interface: operation checkValidity() +PASS HTMLFieldSetElement interface: operation reportValidity() +PASS HTMLFieldSetElement interface: operation setCustomValidity(DOMString) +PASS HTMLLegendElement interface: existence and properties of interface object +PASS HTMLLegendElement interface object length +PASS HTMLLegendElement interface object name +PASS HTMLLegendElement interface: existence and properties of interface prototype object +PASS HTMLLegendElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLLegendElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLLegendElement interface: attribute form +PASS HTMLLegendElement interface: attribute align +PASS HTMLLegendElement must be primary interface of document.createElement("legend") +PASS Stringification of document.createElement("legend") +PASS HTMLLegendElement interface: document.createElement("legend") must inherit property "form" with the proper type +PASS HTMLLegendElement interface: document.createElement("legend") must inherit property "align" with the proper type +PASS HTMLDetailsElement interface: existence and properties of interface object +PASS HTMLDetailsElement interface object length +PASS HTMLDetailsElement interface object name +PASS HTMLDetailsElement interface: existence and properties of interface prototype object +PASS HTMLDetailsElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDetailsElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDetailsElement interface: attribute open +PASS HTMLDetailsElement must be primary interface of document.createElement("details") +PASS Stringification of document.createElement("details") +PASS HTMLDetailsElement interface: document.createElement("details") must inherit property "open" with the proper type +PASS HTMLDialogElement interface: existence and properties of interface object +PASS HTMLDialogElement interface object length +PASS HTMLDialogElement interface object name +PASS HTMLDialogElement interface: existence and properties of interface prototype object +PASS HTMLDialogElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDialogElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDialogElement interface: attribute open +PASS HTMLDialogElement interface: attribute returnValue +PASS HTMLDialogElement interface: operation show() +PASS HTMLDialogElement interface: operation showModal() +PASS HTMLDialogElement interface: operation close(DOMString) +PASS HTMLScriptElement interface: existence and properties of interface object +PASS HTMLScriptElement interface object length +PASS HTMLScriptElement interface object name +PASS HTMLScriptElement interface: existence and properties of interface prototype object +PASS HTMLScriptElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLScriptElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLScriptElement interface: attribute src +PASS HTMLScriptElement interface: attribute type +PASS HTMLScriptElement interface: attribute noModule +PASS HTMLScriptElement interface: attribute async +PASS HTMLScriptElement interface: attribute defer +PASS HTMLScriptElement interface: attribute crossOrigin +PASS HTMLScriptElement interface: attribute text +PASS HTMLScriptElement interface: attribute integrity +PASS HTMLScriptElement interface: attribute referrerPolicy +PASS HTMLScriptElement interface: attribute charset +PASS HTMLScriptElement interface: attribute event +PASS HTMLScriptElement interface: attribute htmlFor +PASS HTMLScriptElement must be primary interface of document.createElement("script") +PASS Stringification of document.createElement("script") +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "src" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "type" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "noModule" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "async" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "defer" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "crossOrigin" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "text" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "integrity" with the proper type +FAIL HTMLScriptElement interface: document.createElement("script") must inherit property "referrerPolicy" with the proper type assert_equals: expected "string" but got "object" +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "charset" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "event" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "htmlFor" with the proper type +PASS HTMLTemplateElement interface: existence and properties of interface object +PASS HTMLTemplateElement interface object length +PASS HTMLTemplateElement interface object name +PASS HTMLTemplateElement interface: existence and properties of interface prototype object +PASS HTMLTemplateElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTemplateElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTemplateElement interface: attribute content +PASS HTMLTemplateElement must be primary interface of document.createElement("template") +PASS Stringification of document.createElement("template") +PASS HTMLTemplateElement interface: document.createElement("template") must inherit property "content" with the proper type +PASS HTMLSlotElement interface: existence and properties of interface object +PASS HTMLSlotElement interface object length +PASS HTMLSlotElement interface object name +PASS HTMLSlotElement interface: existence and properties of interface prototype object +PASS HTMLSlotElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLSlotElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLSlotElement interface: attribute name +PASS HTMLSlotElement interface: operation assignedNodes(AssignedNodesOptions) +PASS HTMLSlotElement interface: operation assignedElements(AssignedNodesOptions) +PASS HTMLSlotElement must be primary interface of document.createElement("slot") +PASS Stringification of document.createElement("slot") +PASS HTMLSlotElement interface: document.createElement("slot") must inherit property "name" with the proper type +PASS HTMLSlotElement interface: document.createElement("slot") must inherit property "assignedNodes(AssignedNodesOptions)" with the proper type +PASS HTMLSlotElement interface: calling assignedNodes(AssignedNodesOptions) on document.createElement("slot") with too few arguments must throw TypeError +PASS HTMLSlotElement interface: document.createElement("slot") must inherit property "assignedElements(AssignedNodesOptions)" with the proper type +PASS HTMLSlotElement interface: calling assignedElements(AssignedNodesOptions) on document.createElement("slot") with too few arguments must throw TypeError +PASS HTMLCanvasElement interface: existence and properties of interface object +PASS HTMLCanvasElement interface object length +PASS HTMLCanvasElement interface object name +PASS HTMLCanvasElement interface: existence and properties of interface prototype object +PASS HTMLCanvasElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLCanvasElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLCanvasElement interface: attribute width +PASS HTMLCanvasElement interface: attribute height +PASS HTMLCanvasElement interface: operation getContext(DOMString, any) +PASS HTMLCanvasElement interface: operation toDataURL(DOMString, any) +PASS HTMLCanvasElement interface: operation toBlob(BlobCallback, DOMString, any) +PASS HTMLCanvasElement interface: operation transferControlToOffscreen() +PASS HTMLCanvasElement must be primary interface of document.createElement("canvas") +PASS Stringification of document.createElement("canvas") +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "width" with the proper type +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "height" with the proper type +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "getContext(DOMString, any)" with the proper type +PASS HTMLCanvasElement interface: calling getContext(DOMString, any) on document.createElement("canvas") with too few arguments must throw TypeError +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "toDataURL(DOMString, any)" with the proper type +PASS HTMLCanvasElement interface: calling toDataURL(DOMString, any) on document.createElement("canvas") with too few arguments must throw TypeError +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "toBlob(BlobCallback, DOMString, any)" with the proper type +PASS HTMLCanvasElement interface: calling toBlob(BlobCallback, DOMString, any) on document.createElement("canvas") with too few arguments must throw TypeError +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "transferControlToOffscreen()" with the proper type +PASS HTMLMarqueeElement interface: existence and properties of interface object +PASS HTMLMarqueeElement interface object length +PASS HTMLMarqueeElement interface object name +PASS HTMLMarqueeElement interface: existence and properties of interface prototype object +PASS HTMLMarqueeElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMarqueeElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMarqueeElement interface: attribute behavior +PASS HTMLMarqueeElement interface: attribute bgColor +PASS HTMLMarqueeElement interface: attribute direction +PASS HTMLMarqueeElement interface: attribute height +PASS HTMLMarqueeElement interface: attribute hspace +PASS HTMLMarqueeElement interface: attribute loop +PASS HTMLMarqueeElement interface: attribute scrollAmount +PASS HTMLMarqueeElement interface: attribute scrollDelay +PASS HTMLMarqueeElement interface: attribute trueSpeed +PASS HTMLMarqueeElement interface: attribute vspace +PASS HTMLMarqueeElement interface: attribute width +FAIL HTMLMarqueeElement interface: attribute onbounce assert_true: The prototype object must have a property "onbounce" expected true got false +FAIL HTMLMarqueeElement interface: attribute onfinish assert_true: The prototype object must have a property "onfinish" expected true got false +FAIL HTMLMarqueeElement interface: attribute onstart assert_true: The prototype object must have a property "onstart" expected true got false +PASS HTMLMarqueeElement interface: operation start() +PASS HTMLMarqueeElement interface: operation stop() +PASS HTMLMarqueeElement must be primary interface of document.createElement("marquee") +PASS Stringification of document.createElement("marquee") +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "behavior" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "bgColor" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "direction" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "height" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "hspace" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "loop" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "scrollAmount" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "scrollDelay" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "trueSpeed" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "vspace" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "width" with the proper type +FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onbounce" with the proper type assert_inherits: property "onbounce" not found in prototype chain +FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onfinish" with the proper type assert_inherits: property "onfinish" not found in prototype chain +FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onstart" with the proper type assert_inherits: property "onstart" not found in prototype chain +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "start()" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "stop()" with the proper type +PASS HTMLFrameSetElement interface: existence and properties of interface object +PASS HTMLFrameSetElement interface object length +PASS HTMLFrameSetElement interface object name +PASS HTMLFrameSetElement interface: existence and properties of interface prototype object +PASS HTMLFrameSetElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFrameSetElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFrameSetElement interface: attribute cols +PASS HTMLFrameSetElement interface: attribute rows +PASS HTMLFrameSetElement interface: attribute onafterprint +PASS HTMLFrameSetElement interface: attribute onbeforeprint +PASS HTMLFrameSetElement interface: attribute onbeforeunload +PASS HTMLFrameSetElement interface: attribute onhashchange +PASS HTMLFrameSetElement interface: attribute onlanguagechange +PASS HTMLFrameSetElement interface: attribute onmessage +PASS HTMLFrameSetElement interface: attribute onmessageerror +PASS HTMLFrameSetElement interface: attribute onoffline +PASS HTMLFrameSetElement interface: attribute ononline +PASS HTMLFrameSetElement interface: attribute onpagehide +PASS HTMLFrameSetElement interface: attribute onpageshow +PASS HTMLFrameSetElement interface: attribute onpopstate +PASS HTMLFrameSetElement interface: attribute onrejectionhandled +PASS HTMLFrameSetElement interface: attribute onstorage +PASS HTMLFrameSetElement interface: attribute onunhandledrejection +PASS HTMLFrameSetElement interface: attribute onunload +PASS HTMLFrameSetElement must be primary interface of document.createElement("frameset") +PASS Stringification of document.createElement("frameset") +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "cols" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "rows" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onafterprint" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onbeforeprint" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onbeforeunload" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onhashchange" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onlanguagechange" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onmessage" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onmessageerror" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onoffline" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "ononline" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpagehide" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpageshow" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpopstate" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onrejectionhandled" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onstorage" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onunhandledrejection" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onunload" with the proper type +PASS HTMLFrameElement interface: existence and properties of interface object +PASS HTMLFrameElement interface object length +PASS HTMLFrameElement interface object name +PASS HTMLFrameElement interface: existence and properties of interface prototype object +PASS HTMLFrameElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFrameElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFrameElement interface: attribute name +PASS HTMLFrameElement interface: attribute scrolling +PASS HTMLFrameElement interface: attribute src +PASS HTMLFrameElement interface: attribute frameBorder +PASS HTMLFrameElement interface: attribute longDesc +PASS HTMLFrameElement interface: attribute noResize +PASS HTMLFrameElement interface: attribute contentDocument +PASS HTMLFrameElement interface: attribute contentWindow +PASS HTMLFrameElement interface: attribute marginHeight +PASS HTMLFrameElement interface: attribute marginWidth +PASS HTMLFrameElement must be primary interface of document.createElement("frame") +PASS Stringification of document.createElement("frame") +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "name" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "scrolling" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "src" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "frameBorder" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "longDesc" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "noResize" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "contentDocument" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "contentWindow" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "marginHeight" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "marginWidth" with the proper type +PASS HTMLDirectoryElement interface: existence and properties of interface object +PASS HTMLDirectoryElement interface object length +PASS HTMLDirectoryElement interface object name +PASS HTMLDirectoryElement interface: existence and properties of interface prototype object +PASS HTMLDirectoryElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDirectoryElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDirectoryElement interface: attribute compact +PASS HTMLDirectoryElement must be primary interface of document.createElement("dir") +PASS Stringification of document.createElement("dir") +PASS HTMLDirectoryElement interface: document.createElement("dir") must inherit property "compact" with the proper type +PASS HTMLFontElement interface: existence and properties of interface object +PASS HTMLFontElement interface object length +PASS HTMLFontElement interface object name +PASS HTMLFontElement interface: existence and properties of interface prototype object +PASS HTMLFontElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFontElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFontElement interface: attribute color +PASS HTMLFontElement interface: attribute face +PASS HTMLFontElement interface: attribute size +PASS HTMLFontElement must be primary interface of document.createElement("font") +PASS Stringification of document.createElement("font") +PASS HTMLFontElement interface: document.createElement("font") must inherit property "color" with the proper type +PASS HTMLFontElement interface: document.createElement("font") must inherit property "face" with the proper type +PASS HTMLFontElement interface: document.createElement("font") must inherit property "size" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/html/webappapis/scripting/events/event-handler-attributes-windowless-body-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/html/webappapis/scripting/events/event-handler-attributes-windowless-body-expected.txt new file mode 100644 index 0000000..9ce3c84 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/html/webappapis/scripting/events/event-handler-attributes-windowless-body-expected.txt
@@ -0,0 +1,210 @@ +This is a testharness.js-based test. +Found 206 tests; 202 PASS, 4 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS Return null when getting the blur event handler of a windowless body +PASS Ignore setting of blur window event handlers on windowless body +PASS Return null when getting the error event handler of a windowless body +PASS Ignore setting of error window event handlers on windowless body +PASS Return null when getting the focus event handler of a windowless body +PASS Ignore setting of focus window event handlers on windowless body +PASS Return null when getting the load event handler of a windowless body +PASS Ignore setting of load window event handlers on windowless body +PASS Return null when getting the resize event handler of a windowless body +PASS Ignore setting of resize window event handlers on windowless body +PASS Return null when getting the scroll event handler of a windowless body +PASS Ignore setting of scroll window event handlers on windowless body +PASS Return null when getting the afterprint event handler of a windowless body +PASS Ignore setting of afterprint window event handlers on windowless body +PASS Return null when getting the beforeprint event handler of a windowless body +PASS Ignore setting of beforeprint window event handlers on windowless body +PASS Return null when getting the beforeunload event handler of a windowless body +PASS Ignore setting of beforeunload window event handlers on windowless body +PASS Return null when getting the hashchange event handler of a windowless body +PASS Ignore setting of hashchange window event handlers on windowless body +PASS Return null when getting the languagechange event handler of a windowless body +PASS Ignore setting of languagechange window event handlers on windowless body +PASS Return null when getting the message event handler of a windowless body +PASS Ignore setting of message window event handlers on windowless body +PASS Return null when getting the messageerror event handler of a windowless body +PASS Ignore setting of messageerror window event handlers on windowless body +PASS Return null when getting the offline event handler of a windowless body +PASS Ignore setting of offline window event handlers on windowless body +PASS Return null when getting the online event handler of a windowless body +PASS Ignore setting of online window event handlers on windowless body +PASS Return null when getting the pagehide event handler of a windowless body +PASS Ignore setting of pagehide window event handlers on windowless body +PASS Return null when getting the pageshow event handler of a windowless body +PASS Ignore setting of pageshow window event handlers on windowless body +PASS Return null when getting the popstate event handler of a windowless body +PASS Ignore setting of popstate window event handlers on windowless body +PASS Return null when getting the rejectionhandled event handler of a windowless body +PASS Ignore setting of rejectionhandled window event handlers on windowless body +PASS Return null when getting the storage event handler of a windowless body +PASS Ignore setting of storage window event handlers on windowless body +PASS Return null when getting the unhandledrejection event handler of a windowless body +PASS Ignore setting of unhandledrejection window event handlers on windowless body +PASS Return null when getting the unload event handler of a windowless body +PASS Ignore setting of unload window event handlers on windowless body +PASS abort is unaffected on a windowless body +PASS auxclick is unaffected on a windowless body +PASS cancel is unaffected on a windowless body +PASS canplay is unaffected on a windowless body +PASS canplaythrough is unaffected on a windowless body +PASS change is unaffected on a windowless body +PASS click is unaffected on a windowless body +PASS close is unaffected on a windowless body +PASS contextmenu is unaffected on a windowless body +PASS cuechange is unaffected on a windowless body +PASS dblclick is unaffected on a windowless body +PASS drag is unaffected on a windowless body +PASS dragend is unaffected on a windowless body +PASS dragenter is unaffected on a windowless body +FAIL dragexit is unaffected on a windowless body assert_equals: expected (object) null but got (undefined) undefined +PASS dragleave is unaffected on a windowless body +PASS dragover is unaffected on a windowless body +PASS dragstart is unaffected on a windowless body +PASS drop is unaffected on a windowless body +PASS durationchange is unaffected on a windowless body +PASS emptied is unaffected on a windowless body +PASS ended is unaffected on a windowless body +PASS formdata is unaffected on a windowless body +PASS input is unaffected on a windowless body +PASS invalid is unaffected on a windowless body +PASS keydown is unaffected on a windowless body +PASS keypress is unaffected on a windowless body +PASS keyup is unaffected on a windowless body +PASS loadeddata is unaffected on a windowless body +PASS loadedmetadata is unaffected on a windowless body +PASS loadstart is unaffected on a windowless body +PASS mousedown is unaffected on a windowless body +PASS mouseenter is unaffected on a windowless body +PASS mouseleave is unaffected on a windowless body +PASS mousemove is unaffected on a windowless body +PASS mouseout is unaffected on a windowless body +PASS mouseover is unaffected on a windowless body +PASS mouseup is unaffected on a windowless body +PASS wheel is unaffected on a windowless body +PASS pause is unaffected on a windowless body +PASS play is unaffected on a windowless body +PASS playing is unaffected on a windowless body +PASS progress is unaffected on a windowless body +PASS ratechange is unaffected on a windowless body +PASS reset is unaffected on a windowless body +FAIL securitypolicyviolation is unaffected on a windowless body assert_equals: expected (object) null but got (undefined) undefined +PASS seeked is unaffected on a windowless body +PASS seeking is unaffected on a windowless body +PASS select is unaffected on a windowless body +PASS stalled is unaffected on a windowless body +PASS submit is unaffected on a windowless body +PASS suspend is unaffected on a windowless body +PASS timeupdate is unaffected on a windowless body +PASS toggle is unaffected on a windowless body +PASS volumechange is unaffected on a windowless body +PASS waiting is unaffected on a windowless body +PASS copy is unaffected on a windowless body +PASS cut is unaffected on a windowless body +PASS paste is unaffected on a windowless body +PASS Return null when getting the blur event handler of a windowless frameset +PASS Ignore setting of blur window event handlers on windowless frameset +PASS Return null when getting the error event handler of a windowless frameset +PASS Ignore setting of error window event handlers on windowless frameset +PASS Return null when getting the focus event handler of a windowless frameset +PASS Ignore setting of focus window event handlers on windowless frameset +PASS Return null when getting the load event handler of a windowless frameset +PASS Ignore setting of load window event handlers on windowless frameset +PASS Return null when getting the resize event handler of a windowless frameset +PASS Ignore setting of resize window event handlers on windowless frameset +PASS Return null when getting the scroll event handler of a windowless frameset +PASS Ignore setting of scroll window event handlers on windowless frameset +PASS Return null when getting the afterprint event handler of a windowless frameset +PASS Ignore setting of afterprint window event handlers on windowless frameset +PASS Return null when getting the beforeprint event handler of a windowless frameset +PASS Ignore setting of beforeprint window event handlers on windowless frameset +PASS Return null when getting the beforeunload event handler of a windowless frameset +PASS Ignore setting of beforeunload window event handlers on windowless frameset +PASS Return null when getting the hashchange event handler of a windowless frameset +PASS Ignore setting of hashchange window event handlers on windowless frameset +PASS Return null when getting the languagechange event handler of a windowless frameset +PASS Ignore setting of languagechange window event handlers on windowless frameset +PASS Return null when getting the message event handler of a windowless frameset +PASS Ignore setting of message window event handlers on windowless frameset +PASS Return null when getting the messageerror event handler of a windowless frameset +PASS Ignore setting of messageerror window event handlers on windowless frameset +PASS Return null when getting the offline event handler of a windowless frameset +PASS Ignore setting of offline window event handlers on windowless frameset +PASS Return null when getting the online event handler of a windowless frameset +PASS Ignore setting of online window event handlers on windowless frameset +PASS Return null when getting the pagehide event handler of a windowless frameset +PASS Ignore setting of pagehide window event handlers on windowless frameset +PASS Return null when getting the pageshow event handler of a windowless frameset +PASS Ignore setting of pageshow window event handlers on windowless frameset +PASS Return null when getting the popstate event handler of a windowless frameset +PASS Ignore setting of popstate window event handlers on windowless frameset +PASS Return null when getting the rejectionhandled event handler of a windowless frameset +PASS Ignore setting of rejectionhandled window event handlers on windowless frameset +PASS Return null when getting the storage event handler of a windowless frameset +PASS Ignore setting of storage window event handlers on windowless frameset +PASS Return null when getting the unhandledrejection event handler of a windowless frameset +PASS Ignore setting of unhandledrejection window event handlers on windowless frameset +PASS Return null when getting the unload event handler of a windowless frameset +PASS Ignore setting of unload window event handlers on windowless frameset +PASS abort is unaffected on a windowless frameset +PASS auxclick is unaffected on a windowless frameset +PASS cancel is unaffected on a windowless frameset +PASS canplay is unaffected on a windowless frameset +PASS canplaythrough is unaffected on a windowless frameset +PASS change is unaffected on a windowless frameset +PASS click is unaffected on a windowless frameset +PASS close is unaffected on a windowless frameset +PASS contextmenu is unaffected on a windowless frameset +PASS cuechange is unaffected on a windowless frameset +PASS dblclick is unaffected on a windowless frameset +PASS drag is unaffected on a windowless frameset +PASS dragend is unaffected on a windowless frameset +PASS dragenter is unaffected on a windowless frameset +FAIL dragexit is unaffected on a windowless frameset assert_equals: expected (object) null but got (undefined) undefined +PASS dragleave is unaffected on a windowless frameset +PASS dragover is unaffected on a windowless frameset +PASS dragstart is unaffected on a windowless frameset +PASS drop is unaffected on a windowless frameset +PASS durationchange is unaffected on a windowless frameset +PASS emptied is unaffected on a windowless frameset +PASS ended is unaffected on a windowless frameset +PASS formdata is unaffected on a windowless frameset +PASS input is unaffected on a windowless frameset +PASS invalid is unaffected on a windowless frameset +PASS keydown is unaffected on a windowless frameset +PASS keypress is unaffected on a windowless frameset +PASS keyup is unaffected on a windowless frameset +PASS loadeddata is unaffected on a windowless frameset +PASS loadedmetadata is unaffected on a windowless frameset +PASS loadstart is unaffected on a windowless frameset +PASS mousedown is unaffected on a windowless frameset +PASS mouseenter is unaffected on a windowless frameset +PASS mouseleave is unaffected on a windowless frameset +PASS mousemove is unaffected on a windowless frameset +PASS mouseout is unaffected on a windowless frameset +PASS mouseover is unaffected on a windowless frameset +PASS mouseup is unaffected on a windowless frameset +PASS wheel is unaffected on a windowless frameset +PASS pause is unaffected on a windowless frameset +PASS play is unaffected on a windowless frameset +PASS playing is unaffected on a windowless frameset +PASS progress is unaffected on a windowless frameset +PASS ratechange is unaffected on a windowless frameset +PASS reset is unaffected on a windowless frameset +FAIL securitypolicyviolation is unaffected on a windowless frameset assert_equals: expected (object) null but got (undefined) undefined +PASS seeked is unaffected on a windowless frameset +PASS seeking is unaffected on a windowless frameset +PASS select is unaffected on a windowless frameset +PASS stalled is unaffected on a windowless frameset +PASS submit is unaffected on a windowless frameset +PASS suspend is unaffected on a windowless frameset +PASS timeupdate is unaffected on a windowless frameset +PASS toggle is unaffected on a windowless frameset +PASS volumechange is unaffected on a windowless frameset +PASS waiting is unaffected on a windowless frameset +PASS copy is unaffected on a windowless frameset +PASS cut is unaffected on a windowless frameset +PASS paste is unaffected on a windowless frameset +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/idle-detection/idlharness.https.any-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/idle-detection/idlharness.https.any-expected.txt new file mode 100644 index 0000000..41bb15de --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/idle-detection/idlharness.https.any-expected.txt
@@ -0,0 +1,32 @@ +This is a testharness.js-based test. +PASS Test IDL implementation of Idle Detection API +PASS IdleDetector interface: existence and properties of interface object +PASS IdleDetector interface object length +PASS IdleDetector interface object name +PASS IdleDetector interface: existence and properties of interface prototype object +PASS IdleDetector interface: existence and properties of interface prototype object's "constructor" property +PASS IdleDetector interface: existence and properties of interface prototype object's @@unscopables property +PASS IdleDetector interface: attribute state +PASS IdleDetector interface: attribute onchange +PASS IdleDetector interface: operation start() +PASS IdleDetector interface: operation stop() +PASS IdleDetector must be primary interface of idle +PASS Stringification of idle +PASS IdleDetector interface: idle must inherit property "state" with the proper type +PASS IdleDetector interface: idle must inherit property "onchange" with the proper type +PASS IdleDetector interface: idle must inherit property "start()" with the proper type +PASS IdleDetector interface: idle must inherit property "stop()" with the proper type +PASS IdleState interface: existence and properties of interface object +PASS IdleState interface object length +PASS IdleState interface object name +PASS IdleState interface: existence and properties of interface prototype object +PASS IdleState interface: existence and properties of interface prototype object's "constructor" property +PASS IdleState interface: existence and properties of interface prototype object's @@unscopables property +PASS IdleState interface: attribute user +PASS IdleState interface: attribute screen +PASS IdleState must be primary interface of idle.state +PASS Stringification of idle.state +PASS IdleState interface: idle.state must inherit property "user" with the proper type +PASS IdleState interface: idle.state must inherit property "screen" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/notifications/idlharness.https.any.serviceworker-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/notifications/idlharness.https.any.serviceworker-expected.txt new file mode 100644 index 0000000..860bff6 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/notifications/idlharness.https.any.serviceworker-expected.txt
@@ -0,0 +1,49 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface ServiceWorkerRegistration: original interface defined +PASS Partial interface ServiceWorkerGlobalScope: original interface defined +PASS Notification interface: existence and properties of interface object +PASS Notification interface object length +PASS Notification interface object name +PASS Notification interface: existence and properties of interface prototype object +PASS Notification interface: existence and properties of interface prototype object's "constructor" property +PASS Notification interface: existence and properties of interface prototype object's @@unscopables property +PASS Notification interface: attribute permission +PASS Notification interface: member requestPermission +PASS Notification interface: attribute maxActions +PASS Notification interface: attribute onclick +PASS Notification interface: attribute onshow +PASS Notification interface: attribute onerror +PASS Notification interface: attribute onclose +PASS Notification interface: attribute title +PASS Notification interface: attribute dir +PASS Notification interface: attribute lang +PASS Notification interface: attribute body +PASS Notification interface: attribute tag +PASS Notification interface: attribute image +PASS Notification interface: attribute icon +PASS Notification interface: attribute badge +PASS Notification interface: attribute vibrate +PASS Notification interface: attribute timestamp +PASS Notification interface: attribute renotify +PASS Notification interface: attribute silent +PASS Notification interface: attribute requireInteraction +PASS Notification interface: attribute data +PASS Notification interface: attribute actions +PASS Notification interface: operation close() +PASS NotificationEvent interface: existence and properties of interface object +PASS NotificationEvent interface object length +PASS NotificationEvent interface object name +PASS NotificationEvent interface: existence and properties of interface prototype object +PASS NotificationEvent interface: existence and properties of interface prototype object's "constructor" property +PASS NotificationEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS NotificationEvent interface: attribute notification +PASS NotificationEvent interface: attribute action +PASS ServiceWorkerRegistration interface: operation showNotification(DOMString, NotificationOptions) +PASS ServiceWorkerRegistration interface: operation getNotifications(GetNotificationOptions) +PASS ServiceWorkerGlobalScope interface: attribute onnotificationclick +PASS ServiceWorkerGlobalScope interface: attribute onnotificationclose +PASS ServiceWorkerGlobalScope interface: self must inherit property "onnotificationclick" with the proper type +PASS ServiceWorkerGlobalScope interface: self must inherit property "onnotificationclose" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/push-api/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/push-api/idlharness.https.any.worker-expected.txt new file mode 100644 index 0000000..b62d5df3 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/push-api/idlharness.https.any.worker-expected.txt
@@ -0,0 +1,43 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface ServiceWorkerRegistration: original interface defined +PASS Partial interface ServiceWorkerGlobalScope: original interface defined +PASS Partial interface ServiceWorkerGlobalScope: valid exposure set +PASS PushManager interface: existence and properties of interface object +PASS PushManager interface object length +PASS PushManager interface object name +PASS PushManager interface: existence and properties of interface prototype object +PASS PushManager interface: existence and properties of interface prototype object's "constructor" property +PASS PushManager interface: existence and properties of interface prototype object's @@unscopables property +PASS PushManager interface: attribute supportedContentEncodings +PASS PushManager interface: operation subscribe(PushSubscriptionOptionsInit) +PASS PushManager interface: operation getSubscription() +PASS PushManager interface: operation permissionState(PushSubscriptionOptionsInit) +PASS PushSubscriptionOptions interface: existence and properties of interface object +PASS PushSubscriptionOptions interface object length +PASS PushSubscriptionOptions interface object name +PASS PushSubscriptionOptions interface: existence and properties of interface prototype object +PASS PushSubscriptionOptions interface: existence and properties of interface prototype object's "constructor" property +PASS PushSubscriptionOptions interface: existence and properties of interface prototype object's @@unscopables property +PASS PushSubscriptionOptions interface: attribute userVisibleOnly +PASS PushSubscriptionOptions interface: attribute applicationServerKey +PASS PushSubscription interface: existence and properties of interface object +PASS PushSubscription interface object length +PASS PushSubscription interface object name +PASS PushSubscription interface: existence and properties of interface prototype object +PASS PushSubscription interface: existence and properties of interface prototype object's "constructor" property +PASS PushSubscription interface: existence and properties of interface prototype object's @@unscopables property +PASS PushSubscription interface: attribute endpoint +PASS PushSubscription interface: attribute expirationTime +PASS PushSubscription interface: attribute options +PASS PushSubscription interface: operation getKey(PushEncryptionKeyName) +PASS PushSubscription interface: operation unsubscribe() +PASS PushSubscription interface: operation toJSON() +PASS PushMessageData interface: existence and properties of interface object +PASS PushEvent interface: existence and properties of interface object +PASS PushSubscriptionChangeEvent interface: existence and properties of interface object +PASS ServiceWorkerRegistration interface: attribute pushManager +PASS ServiceWorkerGlobalScope interface: existence and properties of interface object +PASS ExtendableEvent interface: existence and properties of interface object +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/IndexedDB/idlharness.any.serviceworker-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/IndexedDB/idlharness.any.serviceworker-expected.txt new file mode 100644 index 0000000..cf73abdc --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-retina/external/wpt/IndexedDB/idlharness.any.serviceworker-expected.txt
@@ -0,0 +1,189 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined +PASS IDBRequest interface: existence and properties of interface object +PASS IDBRequest interface object length +PASS IDBRequest interface object name +PASS IDBRequest interface: existence and properties of interface prototype object +PASS IDBRequest interface: existence and properties of interface prototype object's "constructor" property +PASS IDBRequest interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBRequest interface: attribute result +PASS IDBRequest interface: attribute error +PASS IDBRequest interface: attribute source +PASS IDBRequest interface: attribute transaction +PASS IDBRequest interface: attribute readyState +PASS IDBRequest interface: attribute onsuccess +PASS IDBRequest interface: attribute onerror +PASS IDBOpenDBRequest interface: existence and properties of interface object +PASS IDBOpenDBRequest interface object length +PASS IDBOpenDBRequest interface object name +PASS IDBOpenDBRequest interface: existence and properties of interface prototype object +PASS IDBOpenDBRequest interface: existence and properties of interface prototype object's "constructor" property +PASS IDBOpenDBRequest interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBOpenDBRequest interface: attribute onblocked +PASS IDBOpenDBRequest interface: attribute onupgradeneeded +PASS IDBVersionChangeEvent interface: existence and properties of interface object +PASS IDBVersionChangeEvent interface object length +PASS IDBVersionChangeEvent interface object name +PASS IDBVersionChangeEvent interface: existence and properties of interface prototype object +PASS IDBVersionChangeEvent interface: existence and properties of interface prototype object's "constructor" property +PASS IDBVersionChangeEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBVersionChangeEvent interface: attribute oldVersion +PASS IDBVersionChangeEvent interface: attribute newVersion +PASS IDBVersionChangeEvent must be primary interface of new IDBVersionChangeEvent("type") +PASS Stringification of new IDBVersionChangeEvent("type") +PASS IDBVersionChangeEvent interface: new IDBVersionChangeEvent("type") must inherit property "oldVersion" with the proper type +PASS IDBVersionChangeEvent interface: new IDBVersionChangeEvent("type") must inherit property "newVersion" with the proper type +PASS IDBFactory interface: existence and properties of interface object +PASS IDBFactory interface object length +PASS IDBFactory interface object name +PASS IDBFactory interface: existence and properties of interface prototype object +PASS IDBFactory interface: existence and properties of interface prototype object's "constructor" property +PASS IDBFactory interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBFactory interface: operation open(DOMString, unsigned long long) +PASS IDBFactory interface: operation deleteDatabase(DOMString) +PASS IDBFactory interface: operation databases() +PASS IDBFactory interface: operation cmp(any, any) +PASS IDBFactory must be primary interface of [object IDBFactory] +PASS Stringification of [object IDBFactory] +PASS IDBFactory interface: [object IDBFactory] must inherit property "open(DOMString, unsigned long long)" with the proper type +PASS IDBFactory interface: calling open(DOMString, unsigned long long) on [object IDBFactory] with too few arguments must throw TypeError +PASS IDBFactory interface: [object IDBFactory] must inherit property "deleteDatabase(DOMString)" with the proper type +PASS IDBFactory interface: calling deleteDatabase(DOMString) on [object IDBFactory] with too few arguments must throw TypeError +PASS IDBFactory interface: [object IDBFactory] must inherit property "databases()" with the proper type +PASS IDBFactory interface: [object IDBFactory] must inherit property "cmp(any, any)" with the proper type +PASS IDBFactory interface: calling cmp(any, any) on [object IDBFactory] with too few arguments must throw TypeError +PASS IDBDatabase interface: existence and properties of interface object +PASS IDBDatabase interface object length +PASS IDBDatabase interface object name +PASS IDBDatabase interface: existence and properties of interface prototype object +PASS IDBDatabase interface: existence and properties of interface prototype object's "constructor" property +PASS IDBDatabase interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBDatabase interface: attribute name +PASS IDBDatabase interface: attribute version +PASS IDBDatabase interface: attribute objectStoreNames +PASS IDBDatabase interface: operation transaction([object Object],[object Object], IDBTransactionMode) +PASS IDBDatabase interface: operation close() +PASS IDBDatabase interface: operation createObjectStore(DOMString, IDBObjectStoreParameters) +PASS IDBDatabase interface: operation deleteObjectStore(DOMString) +PASS IDBDatabase interface: attribute onabort +PASS IDBDatabase interface: attribute onclose +PASS IDBDatabase interface: attribute onerror +PASS IDBDatabase interface: attribute onversionchange +PASS IDBObjectStore interface: existence and properties of interface object +PASS IDBObjectStore interface object length +PASS IDBObjectStore interface object name +PASS IDBObjectStore interface: existence and properties of interface prototype object +PASS IDBObjectStore interface: existence and properties of interface prototype object's "constructor" property +PASS IDBObjectStore interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBObjectStore interface: attribute name +PASS IDBObjectStore interface: attribute keyPath +PASS IDBObjectStore interface: attribute indexNames +PASS IDBObjectStore interface: attribute transaction +PASS IDBObjectStore interface: attribute autoIncrement +PASS IDBObjectStore interface: operation put(any, any) +PASS IDBObjectStore interface: operation add(any, any) +PASS IDBObjectStore interface: operation delete(any) +PASS IDBObjectStore interface: operation clear() +PASS IDBObjectStore interface: operation get(any) +PASS IDBObjectStore interface: operation getKey(any) +PASS IDBObjectStore interface: operation getAll(any, unsigned long) +PASS IDBObjectStore interface: operation getAllKeys(any, unsigned long) +PASS IDBObjectStore interface: operation count(any) +PASS IDBObjectStore interface: operation openCursor(any, IDBCursorDirection) +PASS IDBObjectStore interface: operation openKeyCursor(any, IDBCursorDirection) +PASS IDBObjectStore interface: operation index(DOMString) +PASS IDBObjectStore interface: operation createIndex(DOMString, [object Object],[object Object], IDBIndexParameters) +PASS IDBObjectStore interface: operation deleteIndex(DOMString) +PASS IDBIndex interface: existence and properties of interface object +PASS IDBIndex interface object length +PASS IDBIndex interface object name +PASS IDBIndex interface: existence and properties of interface prototype object +PASS IDBIndex interface: existence and properties of interface prototype object's "constructor" property +PASS IDBIndex interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBIndex interface: attribute name +PASS IDBIndex interface: attribute objectStore +PASS IDBIndex interface: attribute keyPath +PASS IDBIndex interface: attribute multiEntry +PASS IDBIndex interface: attribute unique +PASS IDBIndex interface: operation get(any) +PASS IDBIndex interface: operation getKey(any) +PASS IDBIndex interface: operation getAll(any, unsigned long) +PASS IDBIndex interface: operation getAllKeys(any, unsigned long) +PASS IDBIndex interface: operation count(any) +PASS IDBIndex interface: operation openCursor(any, IDBCursorDirection) +PASS IDBIndex interface: operation openKeyCursor(any, IDBCursorDirection) +PASS IDBKeyRange interface: existence and properties of interface object +PASS IDBKeyRange interface object length +PASS IDBKeyRange interface object name +PASS IDBKeyRange interface: existence and properties of interface prototype object +PASS IDBKeyRange interface: existence and properties of interface prototype object's "constructor" property +PASS IDBKeyRange interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBKeyRange interface: attribute lower +PASS IDBKeyRange interface: attribute upper +PASS IDBKeyRange interface: attribute lowerOpen +PASS IDBKeyRange interface: attribute upperOpen +PASS IDBKeyRange interface: operation only(any) +PASS IDBKeyRange interface: operation lowerBound(any, boolean) +PASS IDBKeyRange interface: operation upperBound(any, boolean) +PASS IDBKeyRange interface: operation bound(any, any, boolean, boolean) +PASS IDBKeyRange interface: operation includes(any) +PASS IDBKeyRange must be primary interface of [object IDBKeyRange] +PASS Stringification of [object IDBKeyRange] +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lower" with the proper type +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upper" with the proper type +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lowerOpen" with the proper type +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upperOpen" with the proper type +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "only(any)" with the proper type +PASS IDBKeyRange interface: calling only(any) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lowerBound(any, boolean)" with the proper type +PASS IDBKeyRange interface: calling lowerBound(any, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upperBound(any, boolean)" with the proper type +PASS IDBKeyRange interface: calling upperBound(any, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "bound(any, any, boolean, boolean)" with the proper type +PASS IDBKeyRange interface: calling bound(any, any, boolean, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "includes(any)" with the proper type +PASS IDBKeyRange interface: calling includes(any) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBCursor interface: existence and properties of interface object +PASS IDBCursor interface object length +PASS IDBCursor interface object name +PASS IDBCursor interface: existence and properties of interface prototype object +PASS IDBCursor interface: existence and properties of interface prototype object's "constructor" property +PASS IDBCursor interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBCursor interface: attribute source +PASS IDBCursor interface: attribute direction +PASS IDBCursor interface: attribute key +PASS IDBCursor interface: attribute primaryKey +PASS IDBCursor interface: attribute request +PASS IDBCursor interface: operation advance(unsigned long) +PASS IDBCursor interface: operation continue(any) +PASS IDBCursor interface: operation continuePrimaryKey(any, any) +PASS IDBCursor interface: operation update(any) +PASS IDBCursor interface: operation delete() +PASS IDBCursorWithValue interface: existence and properties of interface object +PASS IDBCursorWithValue interface object length +PASS IDBCursorWithValue interface object name +PASS IDBCursorWithValue interface: existence and properties of interface prototype object +PASS IDBCursorWithValue interface: existence and properties of interface prototype object's "constructor" property +PASS IDBCursorWithValue interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBCursorWithValue interface: attribute value +PASS IDBTransaction interface: existence and properties of interface object +PASS IDBTransaction interface object length +PASS IDBTransaction interface object name +PASS IDBTransaction interface: existence and properties of interface prototype object +PASS IDBTransaction interface: existence and properties of interface prototype object's "constructor" property +PASS IDBTransaction interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBTransaction interface: attribute objectStoreNames +PASS IDBTransaction interface: attribute mode +PASS IDBTransaction interface: attribute db +PASS IDBTransaction interface: attribute error +PASS IDBTransaction interface: operation objectStore(DOMString) +PASS IDBTransaction interface: operation commit() +PASS IDBTransaction interface: operation abort() +PASS IDBTransaction interface: attribute onabort +PASS IDBTransaction interface: attribute oncomplete +PASS IDBTransaction interface: attribute onerror +PASS Window interface: existence and properties of interface object +PASS WorkerGlobalScope interface: attribute indexedDB +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/WebCryptoAPI/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/WebCryptoAPI/idlharness.https.any.worker-expected.txt new file mode 100644 index 0000000..482b74a --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-retina/external/wpt/WebCryptoAPI/idlharness.https.any.worker-expected.txt
@@ -0,0 +1,74 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined +PASS Crypto interface: existence and properties of interface object +PASS Crypto interface object length +PASS Crypto interface object name +PASS Crypto interface: existence and properties of interface prototype object +PASS Crypto interface: existence and properties of interface prototype object's "constructor" property +PASS Crypto interface: existence and properties of interface prototype object's @@unscopables property +PASS Crypto interface: attribute subtle +PASS Crypto interface: operation getRandomValues(ArrayBufferView) +PASS Crypto must be primary interface of crypto +PASS Stringification of crypto +PASS Crypto interface: crypto must inherit property "subtle" with the proper type +PASS Crypto interface: crypto must inherit property "getRandomValues(ArrayBufferView)" with the proper type +PASS Crypto interface: calling getRandomValues(ArrayBufferView) on crypto with too few arguments must throw TypeError +PASS CryptoKey interface: existence and properties of interface object +PASS CryptoKey interface object length +PASS CryptoKey interface object name +PASS CryptoKey interface: existence and properties of interface prototype object +PASS CryptoKey interface: existence and properties of interface prototype object's "constructor" property +PASS CryptoKey interface: existence and properties of interface prototype object's @@unscopables property +PASS CryptoKey interface: attribute type +PASS CryptoKey interface: attribute extractable +PASS CryptoKey interface: attribute algorithm +PASS CryptoKey interface: attribute usages +PASS SubtleCrypto interface: existence and properties of interface object +PASS SubtleCrypto interface object length +PASS SubtleCrypto interface object name +PASS SubtleCrypto interface: existence and properties of interface prototype object +PASS SubtleCrypto interface: existence and properties of interface prototype object's "constructor" property +PASS SubtleCrypto interface: existence and properties of interface prototype object's @@unscopables property +PASS SubtleCrypto interface: operation encrypt(AlgorithmIdentifier, CryptoKey, BufferSource) +PASS SubtleCrypto interface: operation decrypt(AlgorithmIdentifier, CryptoKey, BufferSource) +PASS SubtleCrypto interface: operation sign(AlgorithmIdentifier, CryptoKey, BufferSource) +PASS SubtleCrypto interface: operation verify(AlgorithmIdentifier, CryptoKey, BufferSource, BufferSource) +PASS SubtleCrypto interface: operation digest(AlgorithmIdentifier, BufferSource) +PASS SubtleCrypto interface: operation generateKey(AlgorithmIdentifier, boolean, [object Object]) +PASS SubtleCrypto interface: operation deriveKey(AlgorithmIdentifier, CryptoKey, AlgorithmIdentifier, boolean, [object Object]) +PASS SubtleCrypto interface: operation deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) +PASS SubtleCrypto interface: operation importKey(KeyFormat, [object Object],[object Object], AlgorithmIdentifier, boolean, [object Object]) +PASS SubtleCrypto interface: operation exportKey(KeyFormat, CryptoKey) +PASS SubtleCrypto interface: operation wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier) +PASS SubtleCrypto interface: operation unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, [object Object]) +PASS SubtleCrypto must be primary interface of crypto.subtle +PASS Stringification of crypto.subtle +PASS SubtleCrypto interface: crypto.subtle must inherit property "encrypt(AlgorithmIdentifier, CryptoKey, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling encrypt(AlgorithmIdentifier, CryptoKey, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "decrypt(AlgorithmIdentifier, CryptoKey, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling decrypt(AlgorithmIdentifier, CryptoKey, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "sign(AlgorithmIdentifier, CryptoKey, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling sign(AlgorithmIdentifier, CryptoKey, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "verify(AlgorithmIdentifier, CryptoKey, BufferSource, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling verify(AlgorithmIdentifier, CryptoKey, BufferSource, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "digest(AlgorithmIdentifier, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling digest(AlgorithmIdentifier, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "generateKey(AlgorithmIdentifier, boolean, [object Object])" with the proper type +PASS SubtleCrypto interface: calling generateKey(AlgorithmIdentifier, boolean, [object Object]) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "deriveKey(AlgorithmIdentifier, CryptoKey, AlgorithmIdentifier, boolean, [object Object])" with the proper type +PASS SubtleCrypto interface: calling deriveKey(AlgorithmIdentifier, CryptoKey, AlgorithmIdentifier, boolean, [object Object]) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long)" with the proper type +PASS SubtleCrypto interface: calling deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "importKey(KeyFormat, [object Object],[object Object], AlgorithmIdentifier, boolean, [object Object])" with the proper type +PASS SubtleCrypto interface: calling importKey(KeyFormat, [object Object],[object Object], AlgorithmIdentifier, boolean, [object Object]) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "exportKey(KeyFormat, CryptoKey)" with the proper type +PASS SubtleCrypto interface: calling exportKey(KeyFormat, CryptoKey) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier)" with the proper type +PASS SubtleCrypto interface: calling wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, [object Object])" with the proper type +PASS SubtleCrypto interface: calling unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, [object Object]) on crypto.subtle with too few arguments must throw TypeError +PASS Window interface: existence and properties of interface object +PASS WorkerGlobalScope interface: attribute crypto +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/background-fetch/idlharness.https.any.serviceworker-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/background-fetch/idlharness.https.any.serviceworker-expected.txt new file mode 100644 index 0000000..d0dfd483 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-retina/external/wpt/background-fetch/idlharness.https.any.serviceworker-expected.txt
@@ -0,0 +1,61 @@ +This is a testharness.js-based test. +Found 57 tests; 56 PASS, 1 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface ServiceWorkerGlobalScope: original interface defined +PASS Partial interface ServiceWorkerRegistration: original interface defined +PASS BackgroundFetchManager interface: existence and properties of interface object +PASS BackgroundFetchManager interface object length +PASS BackgroundFetchManager interface object name +PASS BackgroundFetchManager interface: existence and properties of interface prototype object +PASS BackgroundFetchManager interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchManager interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchManager interface: operation fetch(DOMString, [object Object],[object Object], BackgroundFetchOptions) +PASS BackgroundFetchManager interface: operation get(DOMString) +PASS BackgroundFetchManager interface: operation getIds() +PASS BackgroundFetchRegistration interface: existence and properties of interface object +PASS BackgroundFetchRegistration interface object length +PASS BackgroundFetchRegistration interface object name +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchRegistration interface: attribute id +PASS BackgroundFetchRegistration interface: attribute uploadTotal +PASS BackgroundFetchRegistration interface: attribute uploaded +PASS BackgroundFetchRegistration interface: attribute downloadTotal +PASS BackgroundFetchRegistration interface: attribute downloaded +PASS BackgroundFetchRegistration interface: attribute result +PASS BackgroundFetchRegistration interface: attribute failureReason +PASS BackgroundFetchRegistration interface: attribute recordsAvailable +PASS BackgroundFetchRegistration interface: attribute onprogress +PASS BackgroundFetchRegistration interface: operation abort() +PASS BackgroundFetchRegistration interface: operation match(RequestInfo, CacheQueryOptions) +PASS BackgroundFetchRegistration interface: operation matchAll(RequestInfo, CacheQueryOptions) +PASS BackgroundFetchRecord interface: existence and properties of interface object +PASS BackgroundFetchRecord interface object length +PASS BackgroundFetchRecord interface object name +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchRecord interface: attribute request +PASS BackgroundFetchRecord interface: attribute responseReady +PASS BackgroundFetchEvent interface: existence and properties of interface object +PASS BackgroundFetchEvent interface object length +PASS BackgroundFetchEvent interface object name +PASS BackgroundFetchEvent interface: existence and properties of interface prototype object +PASS BackgroundFetchEvent interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchEvent interface: attribute registration +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface object +PASS BackgroundFetchUpdateUIEvent interface object length +PASS BackgroundFetchUpdateUIEvent interface object name +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface prototype object +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface prototype object's @@unscopables property +FAIL BackgroundFetchUpdateUIEvent interface: operation updateUI(BackgroundFetchUIOptions) assert_equals: property has wrong .length expected 0 but got 1 +PASS ServiceWorkerRegistration interface: attribute backgroundFetch +PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchsuccess +PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchfail +PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchabort +PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchclick +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/background-fetch/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/background-fetch/idlharness.https.any.worker-expected.txt new file mode 100644 index 0000000..0b6e9e5 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-retina/external/wpt/background-fetch/idlharness.https.any.worker-expected.txt
@@ -0,0 +1,46 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface ServiceWorkerGlobalScope: original interface defined +PASS Partial interface ServiceWorkerRegistration: original interface defined +PASS BackgroundFetchManager interface: existence and properties of interface object +PASS BackgroundFetchManager interface object length +PASS BackgroundFetchManager interface object name +PASS BackgroundFetchManager interface: existence and properties of interface prototype object +PASS BackgroundFetchManager interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchManager interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchManager interface: operation fetch(DOMString, [object Object],[object Object], BackgroundFetchOptions) +PASS BackgroundFetchManager interface: operation get(DOMString) +PASS BackgroundFetchManager interface: operation getIds() +PASS BackgroundFetchRegistration interface: existence and properties of interface object +PASS BackgroundFetchRegistration interface object length +PASS BackgroundFetchRegistration interface object name +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchRegistration interface: attribute id +PASS BackgroundFetchRegistration interface: attribute uploadTotal +PASS BackgroundFetchRegistration interface: attribute uploaded +PASS BackgroundFetchRegistration interface: attribute downloadTotal +PASS BackgroundFetchRegistration interface: attribute downloaded +PASS BackgroundFetchRegistration interface: attribute result +PASS BackgroundFetchRegistration interface: attribute failureReason +PASS BackgroundFetchRegistration interface: attribute recordsAvailable +PASS BackgroundFetchRegistration interface: attribute onprogress +PASS BackgroundFetchRegistration interface: operation abort() +PASS BackgroundFetchRegistration interface: operation match(RequestInfo, CacheQueryOptions) +PASS BackgroundFetchRegistration interface: operation matchAll(RequestInfo, CacheQueryOptions) +PASS BackgroundFetchRecord interface: existence and properties of interface object +PASS BackgroundFetchRecord interface object length +PASS BackgroundFetchRecord interface object name +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchRecord interface: attribute request +PASS BackgroundFetchRecord interface: attribute responseReady +PASS BackgroundFetchEvent interface: existence and properties of interface object +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface object +PASS ServiceWorkerRegistration interface: attribute backgroundFetch +PASS ServiceWorkerGlobalScope interface: existence and properties of interface object +PASS ExtendableEvent interface: existence and properties of interface object +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/css/css-masking/idlharness-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/css/css-masking/idlharness-expected.txt new file mode 100644 index 0000000..f188afc0 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-retina/external/wpt/css/css-masking/idlharness-expected.txt
@@ -0,0 +1,36 @@ +This is a testharness.js-based test. +PASS idl_test setup +FAIL SVGClipPathElement interface: existence and properties of interface object assert_equals: prototype of SVGClipPathElement is not SVGElement expected function "function SVGElement() { [native code] }" but got function "function SVGGraphicsElement() { [native code] }" +PASS SVGClipPathElement interface object length +PASS SVGClipPathElement interface object name +FAIL SVGClipPathElement interface: existence and properties of interface prototype object assert_equals: prototype of SVGClipPathElement.prototype is not SVGElement.prototype expected object "[object SVGElement]" but got object "[object SVGGraphicsElement]" +PASS SVGClipPathElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGClipPathElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGClipPathElement interface: attribute clipPathUnits +FAIL SVGClipPathElement interface: attribute transform assert_own_property: expected property "transform" missing +PASS SVGClipPathElement must be primary interface of [object SVGClipPathElement] +PASS Stringification of [object SVGClipPathElement] +PASS SVGClipPathElement interface: [object SVGClipPathElement] must inherit property "clipPathUnits" with the proper type +PASS SVGClipPathElement interface: [object SVGClipPathElement] must inherit property "transform" with the proper type +PASS SVGMaskElement interface: existence and properties of interface object +PASS SVGMaskElement interface object length +PASS SVGMaskElement interface object name +PASS SVGMaskElement interface: existence and properties of interface prototype object +PASS SVGMaskElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGMaskElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGMaskElement interface: attribute maskUnits +PASS SVGMaskElement interface: attribute maskContentUnits +PASS SVGMaskElement interface: attribute x +PASS SVGMaskElement interface: attribute y +PASS SVGMaskElement interface: attribute width +PASS SVGMaskElement interface: attribute height +PASS SVGMaskElement must be primary interface of [object SVGMaskElement] +PASS Stringification of [object SVGMaskElement] +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "maskUnits" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "maskContentUnits" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "x" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "y" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "width" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "height" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/css/cssom-view/idlharness-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/css/cssom-view/idlharness-expected.txt new file mode 100644 index 0000000..55af6db --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-retina/external/wpt/css/cssom-view/idlharness-expected.txt
@@ -0,0 +1,329 @@ +This is a testharness.js-based test. +Found 325 tests; 252 PASS, 73 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface Window: original interface defined +PASS Partial interface Document: original interface defined +PASS Partial interface Element: original interface defined +PASS Partial interface HTMLElement: original interface defined +PASS Partial interface HTMLImageElement: original interface defined +PASS Partial interface Range: original interface defined +PASS Partial interface MouseEvent: original interface defined +PASS Partial dictionary MouseEventInit: original dictionary defined +PASS MediaQueryList interface: existence and properties of interface object +PASS MediaQueryList interface object length +PASS MediaQueryList interface object name +PASS MediaQueryList interface: existence and properties of interface prototype object +PASS MediaQueryList interface: existence and properties of interface prototype object's "constructor" property +PASS MediaQueryList interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaQueryList interface: attribute media +PASS MediaQueryList interface: attribute matches +PASS MediaQueryList interface: operation addListener(EventListener) +PASS MediaQueryList interface: operation removeListener(EventListener) +PASS MediaQueryList interface: attribute onchange +PASS MediaQueryList must be primary interface of matchMedia("all") +PASS Stringification of matchMedia("all") +PASS MediaQueryList interface: matchMedia("all") must inherit property "media" with the proper type +PASS MediaQueryList interface: matchMedia("all") must inherit property "matches" with the proper type +PASS MediaQueryList interface: matchMedia("all") must inherit property "addListener(EventListener)" with the proper type +PASS MediaQueryList interface: calling addListener(EventListener) on matchMedia("all") with too few arguments must throw TypeError +PASS MediaQueryList interface: matchMedia("all") must inherit property "removeListener(EventListener)" with the proper type +PASS MediaQueryList interface: calling removeListener(EventListener) on matchMedia("all") with too few arguments must throw TypeError +PASS MediaQueryList interface: matchMedia("all") must inherit property "onchange" with the proper type +PASS MediaQueryListEvent interface: existence and properties of interface object +PASS MediaQueryListEvent interface object length +PASS MediaQueryListEvent interface object name +PASS MediaQueryListEvent interface: existence and properties of interface prototype object +PASS MediaQueryListEvent interface: existence and properties of interface prototype object's "constructor" property +PASS MediaQueryListEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaQueryListEvent interface: attribute media +PASS MediaQueryListEvent interface: attribute matches +PASS MediaQueryListEvent must be primary interface of new MediaQueryListEvent("change") +PASS Stringification of new MediaQueryListEvent("change") +PASS MediaQueryListEvent interface: new MediaQueryListEvent("change") must inherit property "media" with the proper type +PASS MediaQueryListEvent interface: new MediaQueryListEvent("change") must inherit property "matches" with the proper type +PASS Screen interface: existence and properties of interface object +PASS Screen interface object length +PASS Screen interface object name +PASS Screen interface: existence and properties of interface prototype object +PASS Screen interface: existence and properties of interface prototype object's "constructor" property +PASS Screen interface: existence and properties of interface prototype object's @@unscopables property +PASS Screen interface: attribute availWidth +PASS Screen interface: attribute availHeight +PASS Screen interface: attribute width +PASS Screen interface: attribute height +PASS Screen interface: attribute colorDepth +PASS Screen interface: attribute pixelDepth +PASS Screen must be primary interface of screen +PASS Stringification of screen +PASS Screen interface: screen must inherit property "availWidth" with the proper type +PASS Screen interface: screen must inherit property "availHeight" with the proper type +PASS Screen interface: screen must inherit property "width" with the proper type +PASS Screen interface: screen must inherit property "height" with the proper type +PASS Screen interface: screen must inherit property "colorDepth" with the proper type +PASS Screen interface: screen must inherit property "pixelDepth" with the proper type +FAIL CaretPosition interface: existence and properties of interface object assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface object length assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface object name assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: existence and properties of interface prototype object assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: attribute offsetNode assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: attribute offset assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: operation getClientRect() assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition must be primary interface of document.caretPositionFromPoint(5, 5) assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL Stringification of document.caretPositionFromPoint(5, 5) assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL CaretPosition interface: document.caretPositionFromPoint(5, 5) must inherit property "offsetNode" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL CaretPosition interface: document.caretPositionFromPoint(5, 5) must inherit property "offset" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL CaretPosition interface: document.caretPositionFromPoint(5, 5) must inherit property "getClientRect()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL CSSPseudoElement interface: operation getBoxQuads(BoxQuadOptions) assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface: operation convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface: operation convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface: operation convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +PASS MouseEvent interface: attribute screenX +PASS MouseEvent interface: attribute screenY +PASS MouseEvent interface: attribute pageX +PASS MouseEvent interface: attribute pageY +PASS MouseEvent interface: attribute clientX +PASS MouseEvent interface: attribute clientY +PASS MouseEvent interface: attribute x +PASS MouseEvent interface: attribute y +PASS MouseEvent interface: attribute offsetX +PASS MouseEvent interface: attribute offsetY +PASS HTMLElement interface: attribute offsetParent +PASS HTMLElement interface: attribute offsetTop +PASS HTMLElement interface: attribute offsetLeft +PASS HTMLElement interface: attribute offsetWidth +PASS HTMLElement interface: attribute offsetHeight +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetParent" with the proper type +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetTop" with the proper type +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetLeft" with the proper type +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetWidth" with the proper type +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetHeight" with the proper type +PASS Element interface: document.createElement("div") must inherit property "getClientRects()" with the proper type +PASS Element interface: document.createElement("div") must inherit property "getBoundingClientRect()" with the proper type +PASS Element interface: document.createElement("div") must inherit property "scrollIntoView([object Object],[object Object])" with the proper type +PASS Element interface: calling scrollIntoView([object Object],[object Object]) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scroll(ScrollToOptions)" with the proper type +PASS Element interface: calling scroll(ScrollToOptions) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scroll(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scroll(unrestricted double, unrestricted double) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollTo(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollTo(ScrollToOptions) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollTo(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollTo(unrestricted double, unrestricted double) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollBy(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollBy(ScrollToOptions) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollBy(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollBy(unrestricted double, unrestricted double) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollTop" with the proper type +PASS Element interface: document.createElement("div") must inherit property "scrollLeft" with the proper type +PASS Element interface: document.createElement("div") must inherit property "scrollWidth" with the proper type +PASS Element interface: document.createElement("div") must inherit property "scrollHeight" with the proper type +PASS Element interface: document.createElement("div") must inherit property "clientTop" with the proper type +PASS Element interface: document.createElement("div") must inherit property "clientLeft" with the proper type +PASS Element interface: document.createElement("div") must inherit property "clientWidth" with the proper type +PASS Element interface: document.createElement("div") must inherit property "clientHeight" with the proper type +FAIL Element interface: document.createElement("div") must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: calling getBoxQuads(BoxQuadOptions) on document.createElement("div") with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: document.createElement("div") must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document.createElement("div") with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: document.createElement("div") must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document.createElement("div") with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: document.createElement("div") must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Element interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document.createElement("div") with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +PASS HTMLImageElement interface: attribute x +PASS HTMLImageElement interface: attribute y +PASS HTMLImageElement interface: document.createElement("img") must inherit property "x" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "y" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetParent" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetTop" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetLeft" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetWidth" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetHeight" with the proper type +PASS Element interface: document.createElement("img") must inherit property "getClientRects()" with the proper type +PASS Element interface: document.createElement("img") must inherit property "getBoundingClientRect()" with the proper type +PASS Element interface: document.createElement("img") must inherit property "scrollIntoView([object Object],[object Object])" with the proper type +PASS Element interface: calling scrollIntoView([object Object],[object Object]) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scroll(ScrollToOptions)" with the proper type +PASS Element interface: calling scroll(ScrollToOptions) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scroll(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scroll(unrestricted double, unrestricted double) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollTo(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollTo(ScrollToOptions) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollTo(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollTo(unrestricted double, unrestricted double) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollBy(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollBy(ScrollToOptions) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollBy(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollBy(unrestricted double, unrestricted double) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollTop" with the proper type +PASS Element interface: document.createElement("img") must inherit property "scrollLeft" with the proper type +PASS Element interface: document.createElement("img") must inherit property "scrollWidth" with the proper type +PASS Element interface: document.createElement("img") must inherit property "scrollHeight" with the proper type +PASS Element interface: document.createElement("img") must inherit property "clientTop" with the proper type +PASS Element interface: document.createElement("img") must inherit property "clientLeft" with the proper type +PASS Element interface: document.createElement("img") must inherit property "clientWidth" with the proper type +PASS Element interface: document.createElement("img") must inherit property "clientHeight" with the proper type +FAIL Element interface: document.createElement("img") must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: calling getBoxQuads(BoxQuadOptions) on document.createElement("img") with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: document.createElement("img") must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document.createElement("img") with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: document.createElement("img") must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document.createElement("img") with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: document.createElement("img") must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Element interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document.createElement("img") with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +PASS Window interface: operation matchMedia(CSSOMString) +PASS Window interface: attribute screen +PASS Window interface: operation moveTo(long, long) +PASS Window interface: operation moveBy(long, long) +PASS Window interface: operation resizeTo(long, long) +PASS Window interface: operation resizeBy(long, long) +PASS Window interface: attribute innerWidth +PASS Window interface: attribute innerHeight +PASS Window interface: attribute scrollX +PASS Window interface: attribute pageXOffset +PASS Window interface: attribute scrollY +PASS Window interface: attribute pageYOffset +PASS Window interface: operation scroll(ScrollToOptions) +PASS Window interface: operation scroll(unrestricted double, unrestricted double) +PASS Window interface: operation scrollTo(ScrollToOptions) +PASS Window interface: operation scrollTo(unrestricted double, unrestricted double) +PASS Window interface: operation scrollBy(ScrollToOptions) +PASS Window interface: operation scrollBy(unrestricted double, unrestricted double) +PASS Window interface: attribute screenX +PASS Window interface: attribute screenLeft +PASS Window interface: attribute screenY +PASS Window interface: attribute screenTop +PASS Window interface: attribute outerWidth +PASS Window interface: attribute outerHeight +PASS Window interface: attribute devicePixelRatio +PASS Window interface: window must inherit property "matchMedia(CSSOMString)" with the proper type +PASS Window interface: calling matchMedia(CSSOMString) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "screen" with the proper type +PASS Window interface: window must inherit property "moveTo(long, long)" with the proper type +PASS Window interface: calling moveTo(long, long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "moveBy(long, long)" with the proper type +PASS Window interface: calling moveBy(long, long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "resizeTo(long, long)" with the proper type +PASS Window interface: calling resizeTo(long, long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "resizeBy(long, long)" with the proper type +PASS Window interface: calling resizeBy(long, long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "innerWidth" with the proper type +PASS Window interface: window must inherit property "innerHeight" with the proper type +PASS Window interface: window must inherit property "scrollX" with the proper type +PASS Window interface: window must inherit property "pageXOffset" with the proper type +PASS Window interface: window must inherit property "scrollY" with the proper type +PASS Window interface: window must inherit property "pageYOffset" with the proper type +PASS Window interface: window must inherit property "scroll(ScrollToOptions)" with the proper type +PASS Window interface: calling scroll(ScrollToOptions) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scroll(unrestricted double, unrestricted double)" with the proper type +PASS Window interface: calling scroll(unrestricted double, unrestricted double) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scrollTo(ScrollToOptions)" with the proper type +PASS Window interface: calling scrollTo(ScrollToOptions) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scrollTo(unrestricted double, unrestricted double)" with the proper type +PASS Window interface: calling scrollTo(unrestricted double, unrestricted double) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scrollBy(ScrollToOptions)" with the proper type +PASS Window interface: calling scrollBy(ScrollToOptions) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scrollBy(unrestricted double, unrestricted double)" with the proper type +PASS Window interface: calling scrollBy(unrestricted double, unrestricted double) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "screenX" with the proper type +PASS Window interface: window must inherit property "screenLeft" with the proper type +PASS Window interface: window must inherit property "screenY" with the proper type +PASS Window interface: window must inherit property "screenTop" with the proper type +PASS Window interface: window must inherit property "outerWidth" with the proper type +PASS Window interface: window must inherit property "outerHeight" with the proper type +PASS Window interface: window must inherit property "devicePixelRatio" with the proper type +PASS Document interface: operation elementFromPoint(double, double) +PASS Document interface: operation elementsFromPoint(double, double) +FAIL Document interface: operation caretPositionFromPoint(double, double) assert_own_property: interface prototype object missing non-static operation expected property "caretPositionFromPoint" missing +PASS Document interface: attribute scrollingElement +FAIL Document interface: operation getBoxQuads(BoxQuadOptions) assert_own_property: interface prototype object missing non-static operation expected property "getBoxQuads" missing +FAIL Document interface: operation convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertQuadFromNode" missing +FAIL Document interface: operation convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertRectFromNode" missing +FAIL Document interface: operation convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertPointFromNode" missing +PASS Document interface: document must inherit property "elementFromPoint(double, double)" with the proper type +PASS Document interface: calling elementFromPoint(double, double) on document with too few arguments must throw TypeError +PASS Document interface: document must inherit property "elementsFromPoint(double, double)" with the proper type +PASS Document interface: calling elementsFromPoint(double, double) on document with too few arguments must throw TypeError +FAIL Document interface: document must inherit property "caretPositionFromPoint(double, double)" with the proper type assert_inherits: property "caretPositionFromPoint" not found in prototype chain +FAIL Document interface: calling caretPositionFromPoint(double, double) on document with too few arguments must throw TypeError assert_inherits: property "caretPositionFromPoint" not found in prototype chain +PASS Document interface: document must inherit property "scrollingElement" with the proper type +FAIL Document interface: document must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Document interface: calling getBoxQuads(BoxQuadOptions) on document with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Document interface: document must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Document interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Document interface: document must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Document interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Document interface: document must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Document interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +PASS Element interface: operation getClientRects() +PASS Element interface: operation getBoundingClientRect() +PASS Element interface: operation scrollIntoView([object Object],[object Object]) +PASS Element interface: operation scroll(ScrollToOptions) +PASS Element interface: operation scroll(unrestricted double, unrestricted double) +PASS Element interface: operation scrollTo(ScrollToOptions) +PASS Element interface: operation scrollTo(unrestricted double, unrestricted double) +PASS Element interface: operation scrollBy(ScrollToOptions) +PASS Element interface: operation scrollBy(unrestricted double, unrestricted double) +PASS Element interface: attribute scrollTop +PASS Element interface: attribute scrollLeft +PASS Element interface: attribute scrollWidth +PASS Element interface: attribute scrollHeight +PASS Element interface: attribute clientTop +PASS Element interface: attribute clientLeft +PASS Element interface: attribute clientWidth +PASS Element interface: attribute clientHeight +FAIL Element interface: operation getBoxQuads(BoxQuadOptions) assert_own_property: interface prototype object missing non-static operation expected property "getBoxQuads" missing +FAIL Element interface: operation convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertQuadFromNode" missing +FAIL Element interface: operation convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertRectFromNode" missing +FAIL Element interface: operation convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertPointFromNode" missing +PASS Element interface: document.createElementNS("x", "y") must inherit property "getClientRects()" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "getBoundingClientRect()" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollIntoView([object Object],[object Object])" with the proper type +PASS Element interface: calling scrollIntoView([object Object],[object Object]) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scroll(ScrollToOptions)" with the proper type +PASS Element interface: calling scroll(ScrollToOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scroll(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scroll(unrestricted double, unrestricted double) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollTo(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollTo(ScrollToOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollTo(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollTo(unrestricted double, unrestricted double) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollBy(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollBy(ScrollToOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollBy(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollBy(unrestricted double, unrestricted double) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollTop" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollLeft" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollWidth" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollHeight" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "clientTop" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "clientLeft" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "clientWidth" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "clientHeight" with the proper type +FAIL Element interface: document.createElementNS("x", "y") must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: calling getBoxQuads(BoxQuadOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: document.createElementNS("x", "y") must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: document.createElementNS("x", "y") must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: document.createElementNS("x", "y") must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Element interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Text interface: operation getBoxQuads(BoxQuadOptions) assert_own_property: interface prototype object missing non-static operation expected property "getBoxQuads" missing +FAIL Text interface: operation convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertQuadFromNode" missing +FAIL Text interface: operation convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertRectFromNode" missing +FAIL Text interface: operation convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertPointFromNode" missing +FAIL Text interface: document.createTextNode("x") must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Text interface: calling getBoxQuads(BoxQuadOptions) on document.createTextNode("x") with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Text interface: document.createTextNode("x") must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Text interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document.createTextNode("x") with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Text interface: document.createTextNode("x") must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Text interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document.createTextNode("x") with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Text interface: document.createTextNode("x") must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Text interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document.createTextNode("x") with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +PASS Range interface: operation getClientRects() +PASS Range interface: operation getBoundingClientRect() +PASS Range interface: new Range() must inherit property "getClientRects()" with the proper type +PASS Range interface: new Range() must inherit property "getBoundingClientRect()" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/dom/idlharness.window_include=Node-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/dom/idlharness.window_include=Node-expected.txt new file mode 100644 index 0000000..60bf7dfc --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-retina/external/wpt/dom/idlharness.window_include=Node-expected.txt
@@ -0,0 +1,616 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface Window: original interface defined +PASS Node interface: existence and properties of interface object +PASS Node interface object length +PASS Node interface object name +PASS Node interface: existence and properties of interface prototype object +PASS Node interface: existence and properties of interface prototype object's "constructor" property +PASS Node interface: existence and properties of interface prototype object's @@unscopables property +PASS Node interface: constant ELEMENT_NODE on interface object +PASS Node interface: constant ELEMENT_NODE on interface prototype object +PASS Node interface: constant ATTRIBUTE_NODE on interface object +PASS Node interface: constant ATTRIBUTE_NODE on interface prototype object +PASS Node interface: constant TEXT_NODE on interface object +PASS Node interface: constant TEXT_NODE on interface prototype object +PASS Node interface: constant CDATA_SECTION_NODE on interface object +PASS Node interface: constant CDATA_SECTION_NODE on interface prototype object +PASS Node interface: constant ENTITY_REFERENCE_NODE on interface object +PASS Node interface: constant ENTITY_REFERENCE_NODE on interface prototype object +PASS Node interface: constant ENTITY_NODE on interface object +PASS Node interface: constant ENTITY_NODE on interface prototype object +PASS Node interface: constant PROCESSING_INSTRUCTION_NODE on interface object +PASS Node interface: constant PROCESSING_INSTRUCTION_NODE on interface prototype object +PASS Node interface: constant COMMENT_NODE on interface object +PASS Node interface: constant COMMENT_NODE on interface prototype object +PASS Node interface: constant DOCUMENT_NODE on interface object +PASS Node interface: constant DOCUMENT_NODE on interface prototype object +PASS Node interface: constant DOCUMENT_TYPE_NODE on interface object +PASS Node interface: constant DOCUMENT_TYPE_NODE on interface prototype object +PASS Node interface: constant DOCUMENT_FRAGMENT_NODE on interface object +PASS Node interface: constant DOCUMENT_FRAGMENT_NODE on interface prototype object +PASS Node interface: constant NOTATION_NODE on interface object +PASS Node interface: constant NOTATION_NODE on interface prototype object +PASS Node interface: attribute nodeType +PASS Node interface: attribute nodeName +PASS Node interface: attribute baseURI +PASS Node interface: attribute isConnected +PASS Node interface: attribute ownerDocument +PASS Node interface: operation getRootNode(GetRootNodeOptions) +PASS Node interface: attribute parentNode +PASS Node interface: attribute parentElement +PASS Node interface: operation hasChildNodes() +PASS Node interface: attribute childNodes +PASS Node interface: attribute firstChild +PASS Node interface: attribute lastChild +PASS Node interface: attribute previousSibling +PASS Node interface: attribute nextSibling +PASS Node interface: attribute nodeValue +PASS Node interface: attribute textContent +PASS Node interface: operation normalize() +PASS Node interface: operation cloneNode(boolean) +PASS Node interface: operation isEqualNode(Node) +PASS Node interface: operation isSameNode(Node) +PASS Node interface: constant DOCUMENT_POSITION_DISCONNECTED on interface object +PASS Node interface: constant DOCUMENT_POSITION_DISCONNECTED on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_PRECEDING on interface object +PASS Node interface: constant DOCUMENT_POSITION_PRECEDING on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_FOLLOWING on interface object +PASS Node interface: constant DOCUMENT_POSITION_FOLLOWING on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_CONTAINS on interface object +PASS Node interface: constant DOCUMENT_POSITION_CONTAINS on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface object +PASS Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface object +PASS Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface prototype object +PASS Node interface: operation compareDocumentPosition(Node) +PASS Node interface: operation contains(Node) +PASS Node interface: operation lookupPrefix(DOMString) +PASS Node interface: operation lookupNamespaceURI(DOMString) +PASS Node interface: operation isDefaultNamespace(DOMString) +PASS Node interface: operation insertBefore(Node, Node) +PASS Node interface: operation appendChild(Node) +PASS Node interface: operation replaceChild(Node, Node) +PASS Node interface: operation removeChild(Node) +PASS Node interface: new Document() must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: new Document() must inherit property "TEXT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: new Document() must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: new Document() must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: new Document() must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: new Document() must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: new Document() must inherit property "nodeType" with the proper type +PASS Node interface: new Document() must inherit property "nodeName" with the proper type +PASS Node interface: new Document() must inherit property "baseURI" with the proper type +PASS Node interface: new Document() must inherit property "isConnected" with the proper type +PASS Node interface: new Document() must inherit property "ownerDocument" with the proper type +PASS Node interface: new Document() must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "parentNode" with the proper type +PASS Node interface: new Document() must inherit property "parentElement" with the proper type +PASS Node interface: new Document() must inherit property "hasChildNodes()" with the proper type +PASS Node interface: new Document() must inherit property "childNodes" with the proper type +PASS Node interface: new Document() must inherit property "firstChild" with the proper type +PASS Node interface: new Document() must inherit property "lastChild" with the proper type +PASS Node interface: new Document() must inherit property "previousSibling" with the proper type +PASS Node interface: new Document() must inherit property "nextSibling" with the proper type +PASS Node interface: new Document() must inherit property "nodeValue" with the proper type +PASS Node interface: new Document() must inherit property "textContent" with the proper type +PASS Node interface: new Document() must inherit property "normalize()" with the proper type +PASS Node interface: new Document() must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: new Document() must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "TEXT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "nodeType" with the proper type +PASS Node interface: xmlDoc must inherit property "nodeName" with the proper type +PASS Node interface: xmlDoc must inherit property "baseURI" with the proper type +PASS Node interface: xmlDoc must inherit property "isConnected" with the proper type +PASS Node interface: xmlDoc must inherit property "ownerDocument" with the proper type +PASS Node interface: xmlDoc must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "parentNode" with the proper type +PASS Node interface: xmlDoc must inherit property "parentElement" with the proper type +PASS Node interface: xmlDoc must inherit property "hasChildNodes()" with the proper type +PASS Node interface: xmlDoc must inherit property "childNodes" with the proper type +PASS Node interface: xmlDoc must inherit property "firstChild" with the proper type +PASS Node interface: xmlDoc must inherit property "lastChild" with the proper type +PASS Node interface: xmlDoc must inherit property "previousSibling" with the proper type +PASS Node interface: xmlDoc must inherit property "nextSibling" with the proper type +PASS Node interface: xmlDoc must inherit property "nodeValue" with the proper type +PASS Node interface: xmlDoc must inherit property "textContent" with the proper type +PASS Node interface: xmlDoc must inherit property "normalize()" with the proper type +PASS Node interface: xmlDoc must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: xmlDoc must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "nodeType" with the proper type +PASS Node interface: document.doctype must inherit property "nodeName" with the proper type +PASS Node interface: document.doctype must inherit property "baseURI" with the proper type +PASS Node interface: document.doctype must inherit property "isConnected" with the proper type +PASS Node interface: document.doctype must inherit property "ownerDocument" with the proper type +PASS Node interface: document.doctype must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "parentNode" with the proper type +PASS Node interface: document.doctype must inherit property "parentElement" with the proper type +PASS Node interface: document.doctype must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.doctype must inherit property "childNodes" with the proper type +PASS Node interface: document.doctype must inherit property "firstChild" with the proper type +PASS Node interface: document.doctype must inherit property "lastChild" with the proper type +PASS Node interface: document.doctype must inherit property "previousSibling" with the proper type +PASS Node interface: document.doctype must inherit property "nextSibling" with the proper type +PASS Node interface: document.doctype must inherit property "nodeValue" with the proper type +PASS Node interface: document.doctype must inherit property "textContent" with the proper type +PASS Node interface: document.doctype must inherit property "normalize()" with the proper type +PASS Node interface: document.doctype must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.doctype must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "nodeType" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "nodeName" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "baseURI" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "isConnected" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "ownerDocument" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "parentNode" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "parentElement" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "childNodes" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "firstChild" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "lastChild" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "previousSibling" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "nextSibling" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "nodeValue" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "textContent" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "normalize()" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: element must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: element must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: element must inherit property "TEXT_NODE" with the proper type +PASS Node interface: element must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: element must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: element must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: element must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: element must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: element must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: element must inherit property "nodeType" with the proper type +PASS Node interface: element must inherit property "nodeName" with the proper type +PASS Node interface: element must inherit property "baseURI" with the proper type +PASS Node interface: element must inherit property "isConnected" with the proper type +PASS Node interface: element must inherit property "ownerDocument" with the proper type +PASS Node interface: element must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "parentNode" with the proper type +PASS Node interface: element must inherit property "parentElement" with the proper type +PASS Node interface: element must inherit property "hasChildNodes()" with the proper type +PASS Node interface: element must inherit property "childNodes" with the proper type +PASS Node interface: element must inherit property "firstChild" with the proper type +PASS Node interface: element must inherit property "lastChild" with the proper type +PASS Node interface: element must inherit property "previousSibling" with the proper type +PASS Node interface: element must inherit property "nextSibling" with the proper type +PASS Node interface: element must inherit property "nodeValue" with the proper type +PASS Node interface: element must inherit property "textContent" with the proper type +PASS Node interface: element must inherit property "normalize()" with the proper type +PASS Node interface: element must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: element must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on element with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeType" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeName" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "baseURI" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isConnected" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ownerDocument" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "parentNode" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "parentElement" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "childNodes" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "firstChild" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lastChild" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "previousSibling" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nextSibling" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeValue" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "textContent" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "normalize()" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "nodeType" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "nodeName" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "baseURI" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "isConnected" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "ownerDocument" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "parentNode" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "parentElement" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "childNodes" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "firstChild" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "lastChild" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "previousSibling" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "nextSibling" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "nodeValue" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "textContent" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "normalize()" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "TEXT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeType" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeName" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "baseURI" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isConnected" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ownerDocument" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "parentNode" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "parentElement" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "hasChildNodes()" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "childNodes" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "firstChild" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lastChild" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "previousSibling" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nextSibling" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeValue" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "textContent" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "normalize()" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "nodeType" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "nodeName" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "baseURI" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "isConnected" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "ownerDocument" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "parentNode" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "parentElement" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "childNodes" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "firstChild" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "lastChild" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "previousSibling" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "nextSibling" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "nodeValue" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "textContent" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "normalize()" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.createComment("abc") with too few arguments must throw TypeError +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/encrypted-media/idlharness.https-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/encrypted-media/idlharness.https-expected.txt new file mode 100644 index 0000000..3b1c95e --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-retina/external/wpt/encrypted-media/idlharness.https-expected.txt
@@ -0,0 +1,75 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface Navigator: original interface defined +PASS Partial interface Navigator: valid exposure set +PASS Partial interface HTMLMediaElement: original interface defined +PASS Partial interface HTMLMediaElement: valid exposure set +PASS MediaKeySystemAccess interface: existence and properties of interface object +PASS MediaKeySystemAccess interface object length +PASS MediaKeySystemAccess interface object name +PASS MediaKeySystemAccess interface: existence and properties of interface prototype object +PASS MediaKeySystemAccess interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeySystemAccess interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeySystemAccess interface: attribute keySystem +PASS MediaKeySystemAccess interface: operation getConfiguration() +PASS MediaKeySystemAccess interface: operation createMediaKeys() +PASS MediaKeys interface: existence and properties of interface object +PASS MediaKeys interface object length +PASS MediaKeys interface object name +PASS MediaKeys interface: existence and properties of interface prototype object +PASS MediaKeys interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeys interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeys interface: operation createSession(MediaKeySessionType) +PASS MediaKeys interface: operation setServerCertificate(BufferSource) +PASS MediaKeySession interface: existence and properties of interface object +PASS MediaKeySession interface object length +PASS MediaKeySession interface object name +PASS MediaKeySession interface: existence and properties of interface prototype object +PASS MediaKeySession interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeySession interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeySession interface: attribute sessionId +PASS MediaKeySession interface: attribute expiration +PASS MediaKeySession interface: attribute closed +PASS MediaKeySession interface: attribute keyStatuses +PASS MediaKeySession interface: attribute onkeystatuseschange +PASS MediaKeySession interface: attribute onmessage +PASS MediaKeySession interface: operation generateRequest(DOMString, BufferSource) +PASS MediaKeySession interface: operation load(DOMString) +PASS MediaKeySession interface: operation update(BufferSource) +PASS MediaKeySession interface: operation close() +PASS MediaKeySession interface: operation remove() +PASS MediaKeyStatusMap interface: existence and properties of interface object +PASS MediaKeyStatusMap interface object length +PASS MediaKeyStatusMap interface object name +PASS MediaKeyStatusMap interface: existence and properties of interface prototype object +PASS MediaKeyStatusMap interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeyStatusMap interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeyStatusMap interface: iterable<BufferSource, MediaKeyStatus> +PASS MediaKeyStatusMap interface: attribute size +PASS MediaKeyStatusMap interface: operation has(BufferSource) +PASS MediaKeyStatusMap interface: operation get(BufferSource) +PASS MediaKeyMessageEvent interface: existence and properties of interface object +PASS MediaKeyMessageEvent interface object length +PASS MediaKeyMessageEvent interface object name +PASS MediaKeyMessageEvent interface: existence and properties of interface prototype object +PASS MediaKeyMessageEvent interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeyMessageEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeyMessageEvent interface: attribute messageType +PASS MediaKeyMessageEvent interface: attribute message +PASS MediaEncryptedEvent interface: existence and properties of interface object +PASS MediaEncryptedEvent interface object length +PASS MediaEncryptedEvent interface object name +PASS MediaEncryptedEvent interface: existence and properties of interface prototype object +PASS MediaEncryptedEvent interface: existence and properties of interface prototype object's "constructor" property +PASS MediaEncryptedEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaEncryptedEvent interface: attribute initDataType +PASS MediaEncryptedEvent interface: attribute initData +PASS HTMLMediaElement interface: attribute mediaKeys +PASS HTMLMediaElement interface: attribute onencrypted +PASS HTMLMediaElement interface: attribute onwaitingforkey +PASS HTMLMediaElement interface: operation setMediaKeys(MediaKeys) +PASS Navigator interface: operation requestMediaKeySystemAccess(DOMString, [object Object]) +PASS Navigator interface: navigator must inherit property "requestMediaKeySystemAccess(DOMString, [object Object])" with the proper type +PASS Navigator interface: calling requestMediaKeySystemAccess(DOMString, [object Object]) on navigator with too few arguments must throw TypeError +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/geolocation-API/idlharness.window-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/geolocation-API/idlharness.window-expected.txt new file mode 100644 index 0000000..6fa16430 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-retina/external/wpt/geolocation-API/idlharness.window-expected.txt
@@ -0,0 +1,14 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface Navigator: original interface defined +PASS Stringification of navigator.geolocation +PASS Geolocation interface: navigator.geolocation must inherit property "getCurrentPosition(PositionCallback, PositionErrorCallback, PositionOptions)" with the proper type +PASS Geolocation interface: calling getCurrentPosition(PositionCallback, PositionErrorCallback, PositionOptions) on navigator.geolocation with too few arguments must throw TypeError +PASS Geolocation interface: navigator.geolocation must inherit property "watchPosition(PositionCallback, PositionErrorCallback, PositionOptions)" with the proper type +PASS Geolocation interface: calling watchPosition(PositionCallback, PositionErrorCallback, PositionOptions) on navigator.geolocation with too few arguments must throw TypeError +PASS Geolocation interface: navigator.geolocation must inherit property "clearWatch(long)" with the proper type +PASS Geolocation interface: calling clearWatch(long) on navigator.geolocation with too few arguments must throw TypeError +PASS Navigator interface: attribute geolocation +PASS Navigator interface: navigator must inherit property "geolocation" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/html/dom/idlharness.https_include=HTML._-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/html/dom/idlharness.https_include=HTML._-expected.txt new file mode 100644 index 0000000..579bca6 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-retina/external/wpt/html/dom/idlharness.https_include=HTML._-expected.txt
@@ -0,0 +1,3593 @@ +This is a testharness.js-based test. +Found 3589 tests; 3549 PASS, 40 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface Document: original interface defined +PASS Partial interface mixin DocumentOrShadowRoot: original interface mixin defined +PASS Partial interface mixin NavigatorID: original interface mixin defined +PASS Partial interface HTMLAnchorElement: original interface defined +PASS Partial interface HTMLAreaElement: original interface defined +PASS Partial interface HTMLBodyElement: original interface defined +PASS Partial interface HTMLBRElement: original interface defined +PASS Partial interface HTMLTableCaptionElement: original interface defined +PASS Partial interface HTMLTableColElement: original interface defined +PASS Partial interface HTMLDivElement: original interface defined +PASS Partial interface HTMLDListElement: original interface defined +PASS Partial interface HTMLEmbedElement: original interface defined +PASS Partial interface HTMLHeadingElement: original interface defined +PASS Partial interface HTMLHRElement: original interface defined +PASS Partial interface HTMLHtmlElement: original interface defined +PASS Partial interface HTMLIFrameElement: original interface defined +PASS Partial interface HTMLImageElement: original interface defined +PASS Partial interface HTMLInputElement: original interface defined +PASS Partial interface HTMLLegendElement: original interface defined +PASS Partial interface HTMLLIElement: original interface defined +PASS Partial interface HTMLLinkElement: original interface defined +PASS Partial interface HTMLMenuElement: original interface defined +PASS Partial interface HTMLMetaElement: original interface defined +PASS Partial interface HTMLObjectElement: original interface defined +PASS Partial interface HTMLOListElement: original interface defined +PASS Partial interface HTMLParagraphElement: original interface defined +PASS Partial interface HTMLParamElement: original interface defined +PASS Partial interface HTMLPreElement: original interface defined +PASS Partial interface HTMLStyleElement: original interface defined +PASS Partial interface HTMLScriptElement: original interface defined +PASS Partial interface HTMLTableElement: original interface defined +PASS Partial interface HTMLTableSectionElement: original interface defined +PASS Partial interface HTMLTableCellElement: original interface defined +PASS Partial interface HTMLTableRowElement: original interface defined +PASS Partial interface HTMLUListElement: original interface defined +PASS Partial interface Document[2]: original interface defined +PASS Partial interface Window: original interface defined +PASS HTMLAllCollection interface: existence and properties of interface object +PASS HTMLAllCollection interface object length +PASS HTMLAllCollection interface object name +PASS HTMLAllCollection interface: existence and properties of interface prototype object +PASS HTMLAllCollection interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLAllCollection interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLAllCollection interface: attribute length +PASS HTMLAllCollection interface: operation namedItem(DOMString) +PASS HTMLAllCollection interface: operation item(DOMString) +FAIL HTMLAllCollection must be primary interface of document.all assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL Stringification of document.all assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: document.all must inherit property "length" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: document.all must inherit property "namedItem(DOMString)" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: calling namedItem(DOMString) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: document.all must inherit property "item(DOMString)" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: calling item(DOMString) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "object" but got "undefined" +PASS HTMLFormControlsCollection interface: existence and properties of interface object +PASS HTMLFormControlsCollection interface object length +PASS HTMLFormControlsCollection interface object name +PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object +PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFormControlsCollection interface: operation namedItem(DOMString) +PASS HTMLFormControlsCollection must be primary interface of document.createElement("form").elements +PASS Stringification of document.createElement("form").elements +PASS HTMLFormControlsCollection interface: document.createElement("form").elements must inherit property "namedItem(DOMString)" with the proper type +PASS HTMLFormControlsCollection interface: calling namedItem(DOMString) on document.createElement("form").elements with too few arguments must throw TypeError +PASS HTMLOptionsCollection interface: existence and properties of interface object +PASS HTMLOptionsCollection interface object length +PASS HTMLOptionsCollection interface object name +PASS HTMLOptionsCollection interface: existence and properties of interface prototype object +PASS HTMLOptionsCollection interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOptionsCollection interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOptionsCollection interface: attribute length +PASS HTMLOptionsCollection interface: operation add([object Object],[object Object], [object Object],[object Object]) +PASS HTMLOptionsCollection interface: operation remove(long) +PASS HTMLOptionsCollection interface: attribute selectedIndex +PASS HTMLOptionsCollection must be primary interface of document.createElement("select").options +PASS Stringification of document.createElement("select").options +PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "length" with the proper type +PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "add([object Object],[object Object], [object Object],[object Object])" with the proper type +PASS HTMLOptionsCollection interface: calling add([object Object],[object Object], [object Object],[object Object]) on document.createElement("select").options with too few arguments must throw TypeError +PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "remove(long)" with the proper type +PASS HTMLOptionsCollection interface: calling remove(long) on document.createElement("select").options with too few arguments must throw TypeError +PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "selectedIndex" with the proper type +PASS HTMLElement interface: existence and properties of interface object +PASS HTMLElement interface object length +PASS HTMLElement interface object name +PASS HTMLElement interface: existence and properties of interface prototype object +PASS HTMLElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLElement interface: attribute title +PASS HTMLElement interface: attribute lang +PASS HTMLElement interface: attribute translate +PASS HTMLElement interface: attribute dir +PASS HTMLElement interface: attribute hidden +PASS HTMLElement interface: operation click() +PASS HTMLElement interface: attribute accessKey +FAIL HTMLElement interface: attribute accessKeyLabel assert_true: The prototype object must have a property "accessKeyLabel" expected true got false +PASS HTMLElement interface: attribute draggable +PASS HTMLElement interface: attribute spellcheck +PASS HTMLElement interface: attribute autocapitalize +PASS HTMLElement interface: attribute innerText +PASS HTMLElement interface: operation attachInternals() +PASS HTMLElement interface: attribute onabort +PASS HTMLElement interface: attribute onauxclick +PASS HTMLElement interface: attribute onblur +PASS HTMLElement interface: attribute oncancel +PASS HTMLElement interface: attribute oncanplay +PASS HTMLElement interface: attribute oncanplaythrough +PASS HTMLElement interface: attribute onchange +PASS HTMLElement interface: attribute onclick +PASS HTMLElement interface: attribute onclose +PASS HTMLElement interface: attribute oncontextmenu +PASS HTMLElement interface: attribute oncuechange +PASS HTMLElement interface: attribute ondblclick +PASS HTMLElement interface: attribute ondrag +PASS HTMLElement interface: attribute ondragend +PASS HTMLElement interface: attribute ondragenter +FAIL HTMLElement interface: attribute ondragexit assert_true: The prototype object must have a property "ondragexit" expected true got false +PASS HTMLElement interface: attribute ondragleave +PASS HTMLElement interface: attribute ondragover +PASS HTMLElement interface: attribute ondragstart +PASS HTMLElement interface: attribute ondrop +PASS HTMLElement interface: attribute ondurationchange +PASS HTMLElement interface: attribute onemptied +PASS HTMLElement interface: attribute onended +PASS HTMLElement interface: attribute onerror +PASS HTMLElement interface: attribute onfocus +PASS HTMLElement interface: attribute onformdata +PASS HTMLElement interface: attribute oninput +PASS HTMLElement interface: attribute oninvalid +PASS HTMLElement interface: attribute onkeydown +PASS HTMLElement interface: attribute onkeypress +PASS HTMLElement interface: attribute onkeyup +PASS HTMLElement interface: attribute onload +PASS HTMLElement interface: attribute onloadeddata +PASS HTMLElement interface: attribute onloadedmetadata +PASS HTMLElement interface: attribute onloadstart +PASS HTMLElement interface: attribute onmousedown +PASS HTMLElement interface: attribute onmouseenter +PASS HTMLElement interface: attribute onmouseleave +PASS HTMLElement interface: attribute onmousemove +PASS HTMLElement interface: attribute onmouseout +PASS HTMLElement interface: attribute onmouseover +PASS HTMLElement interface: attribute onmouseup +PASS HTMLElement interface: attribute onwheel +PASS HTMLElement interface: attribute onpause +PASS HTMLElement interface: attribute onplay +PASS HTMLElement interface: attribute onplaying +PASS HTMLElement interface: attribute onprogress +PASS HTMLElement interface: attribute onratechange +PASS HTMLElement interface: attribute onreset +PASS HTMLElement interface: attribute onresize +PASS HTMLElement interface: attribute onscroll +FAIL HTMLElement interface: attribute onsecuritypolicyviolation assert_true: The prototype object must have a property "onsecuritypolicyviolation" expected true got false +PASS HTMLElement interface: attribute onseeked +PASS HTMLElement interface: attribute onseeking +PASS HTMLElement interface: attribute onselect +PASS HTMLElement interface: attribute onstalled +PASS HTMLElement interface: attribute onsubmit +PASS HTMLElement interface: attribute onsuspend +PASS HTMLElement interface: attribute ontimeupdate +PASS HTMLElement interface: attribute ontoggle +PASS HTMLElement interface: attribute onvolumechange +PASS HTMLElement interface: attribute onwaiting +PASS HTMLElement interface: attribute oncopy +PASS HTMLElement interface: attribute oncut +PASS HTMLElement interface: attribute onpaste +PASS HTMLElement interface: attribute contentEditable +PASS HTMLElement interface: attribute enterKeyHint +PASS HTMLElement interface: attribute isContentEditable +PASS HTMLElement interface: attribute inputMode +PASS HTMLElement interface: attribute dataset +PASS HTMLElement interface: attribute nonce +FAIL HTMLElement interface: attribute autofocus assert_true: The prototype object must have a property "autofocus" expected true got false +PASS HTMLElement interface: attribute tabIndex +PASS HTMLElement interface: operation focus(FocusOptions) +PASS HTMLElement interface: operation blur() +PASS HTMLElement must be primary interface of document.createElement("noscript") +PASS Stringification of document.createElement("noscript") +PASS HTMLElement interface: document.createElement("noscript") must inherit property "title" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "lang" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "translate" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "dir" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "hidden" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "click()" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "accessKey" with the proper type +FAIL HTMLElement interface: document.createElement("noscript") must inherit property "accessKeyLabel" with the proper type assert_inherits: property "accessKeyLabel" not found in prototype chain +PASS HTMLElement interface: document.createElement("noscript") must inherit property "draggable" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "spellcheck" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "autocapitalize" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "innerText" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "attachInternals()" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onabort" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onauxclick" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onblur" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncancel" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncanplay" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncanplaythrough" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onchange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onclick" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onclose" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncontextmenu" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncuechange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondblclick" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondrag" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragend" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragenter" with the proper type +FAIL HTMLElement interface: document.createElement("noscript") must inherit property "ondragexit" with the proper type assert_inherits: property "ondragexit" not found in prototype chain +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragleave" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragover" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragstart" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondrop" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondurationchange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onemptied" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onended" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onerror" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onfocus" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onformdata" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oninput" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oninvalid" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeydown" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeypress" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeyup" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onload" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadeddata" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadedmetadata" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadstart" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmousedown" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseenter" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseleave" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmousemove" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseout" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseover" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseup" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onwheel" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onpause" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onplay" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onplaying" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onprogress" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onratechange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onreset" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onresize" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onscroll" with the proper type +FAIL HTMLElement interface: document.createElement("noscript") must inherit property "onsecuritypolicyviolation" with the proper type assert_inherits: property "onsecuritypolicyviolation" not found in prototype chain +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onseeked" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onseeking" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onselect" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onstalled" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onsubmit" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onsuspend" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ontimeupdate" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ontoggle" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onvolumechange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onwaiting" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncopy" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncut" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onpaste" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "contentEditable" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "enterKeyHint" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "isContentEditable" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "inputMode" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "dataset" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "nonce" with the proper type +FAIL HTMLElement interface: document.createElement("noscript") must inherit property "autofocus" with the proper type assert_inherits: property "autofocus" not found in prototype chain +PASS HTMLElement interface: document.createElement("noscript") must inherit property "tabIndex" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "focus(FocusOptions)" with the proper type +PASS HTMLElement interface: calling focus(FocusOptions) on document.createElement("noscript") with too few arguments must throw TypeError +PASS HTMLElement interface: document.createElement("noscript") must inherit property "blur()" with the proper type +PASS HTMLUnknownElement interface: existence and properties of interface object +PASS HTMLUnknownElement interface object length +PASS HTMLUnknownElement interface object name +PASS HTMLUnknownElement interface: existence and properties of interface prototype object +PASS HTMLUnknownElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLUnknownElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLUnknownElement must be primary interface of document.createElement("bgsound") +PASS Stringification of document.createElement("bgsound") +PASS HTMLHtmlElement interface: existence and properties of interface object +PASS HTMLHtmlElement interface object length +PASS HTMLHtmlElement interface object name +PASS HTMLHtmlElement interface: existence and properties of interface prototype object +PASS HTMLHtmlElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLHtmlElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLHtmlElement interface: attribute version +PASS HTMLHtmlElement must be primary interface of document.createElement("html") +PASS Stringification of document.createElement("html") +PASS HTMLHtmlElement interface: document.createElement("html") must inherit property "version" with the proper type +PASS HTMLHeadElement interface: existence and properties of interface object +PASS HTMLHeadElement interface object length +PASS HTMLHeadElement interface object name +PASS HTMLHeadElement interface: existence and properties of interface prototype object +PASS HTMLHeadElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLHeadElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLHeadElement must be primary interface of document.createElement("head") +PASS Stringification of document.createElement("head") +PASS HTMLTitleElement interface: existence and properties of interface object +PASS HTMLTitleElement interface object length +PASS HTMLTitleElement interface object name +PASS HTMLTitleElement interface: existence and properties of interface prototype object +PASS HTMLTitleElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTitleElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTitleElement interface: attribute text +PASS HTMLTitleElement must be primary interface of document.createElement("title") +PASS Stringification of document.createElement("title") +PASS HTMLTitleElement interface: document.createElement("title") must inherit property "text" with the proper type +PASS HTMLBaseElement interface: existence and properties of interface object +PASS HTMLBaseElement interface object length +PASS HTMLBaseElement interface object name +PASS HTMLBaseElement interface: existence and properties of interface prototype object +PASS HTMLBaseElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLBaseElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLBaseElement interface: attribute href +PASS HTMLBaseElement interface: attribute target +PASS HTMLBaseElement must be primary interface of document.createElement("base") +PASS Stringification of document.createElement("base") +PASS HTMLBaseElement interface: document.createElement("base") must inherit property "href" with the proper type +PASS HTMLBaseElement interface: document.createElement("base") must inherit property "target" with the proper type +PASS HTMLLinkElement interface: existence and properties of interface object +PASS HTMLLinkElement interface object length +PASS HTMLLinkElement interface object name +PASS HTMLLinkElement interface: existence and properties of interface prototype object +PASS HTMLLinkElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLLinkElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLLinkElement interface: attribute href +PASS HTMLLinkElement interface: attribute crossOrigin +PASS HTMLLinkElement interface: attribute rel +PASS HTMLLinkElement interface: attribute as +PASS HTMLLinkElement interface: attribute relList +PASS HTMLLinkElement interface: attribute media +PASS HTMLLinkElement interface: attribute integrity +PASS HTMLLinkElement interface: attribute hreflang +PASS HTMLLinkElement interface: attribute type +PASS HTMLLinkElement interface: attribute sizes +PASS HTMLLinkElement interface: attribute imageSrcset +PASS HTMLLinkElement interface: attribute imageSizes +PASS HTMLLinkElement interface: attribute referrerPolicy +PASS HTMLLinkElement interface: attribute charset +PASS HTMLLinkElement interface: attribute rev +PASS HTMLLinkElement interface: attribute target +PASS HTMLLinkElement must be primary interface of document.createElement("link") +PASS Stringification of document.createElement("link") +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "href" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "crossOrigin" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "rel" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "as" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "relList" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "media" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "integrity" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "hreflang" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "type" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "sizes" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "imageSrcset" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "imageSizes" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "referrerPolicy" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "charset" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "rev" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "target" with the proper type +PASS HTMLMetaElement interface: existence and properties of interface object +PASS HTMLMetaElement interface object length +PASS HTMLMetaElement interface object name +PASS HTMLMetaElement interface: existence and properties of interface prototype object +PASS HTMLMetaElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMetaElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMetaElement interface: attribute name +PASS HTMLMetaElement interface: attribute httpEquiv +PASS HTMLMetaElement interface: attribute content +PASS HTMLMetaElement interface: attribute scheme +PASS HTMLMetaElement must be primary interface of document.createElement("meta") +PASS Stringification of document.createElement("meta") +PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "name" with the proper type +PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "httpEquiv" with the proper type +PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "content" with the proper type +PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "scheme" with the proper type +PASS HTMLStyleElement interface: existence and properties of interface object +PASS HTMLStyleElement interface object length +PASS HTMLStyleElement interface object name +PASS HTMLStyleElement interface: existence and properties of interface prototype object +PASS HTMLStyleElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLStyleElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLStyleElement interface: attribute media +PASS HTMLStyleElement interface: attribute type +PASS HTMLStyleElement must be primary interface of document.createElement("style") +PASS Stringification of document.createElement("style") +PASS HTMLStyleElement interface: document.createElement("style") must inherit property "media" with the proper type +PASS HTMLStyleElement interface: document.createElement("style") must inherit property "type" with the proper type +PASS HTMLBodyElement interface: existence and properties of interface object +PASS HTMLBodyElement interface object length +PASS HTMLBodyElement interface object name +PASS HTMLBodyElement interface: existence and properties of interface prototype object +PASS HTMLBodyElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLBodyElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLBodyElement interface: attribute text +PASS HTMLBodyElement interface: attribute link +PASS HTMLBodyElement interface: attribute vLink +PASS HTMLBodyElement interface: attribute aLink +PASS HTMLBodyElement interface: attribute bgColor +PASS HTMLBodyElement interface: attribute background +PASS HTMLBodyElement interface: attribute onafterprint +PASS HTMLBodyElement interface: attribute onbeforeprint +PASS HTMLBodyElement interface: attribute onbeforeunload +PASS HTMLBodyElement interface: attribute onhashchange +PASS HTMLBodyElement interface: attribute onlanguagechange +PASS HTMLBodyElement interface: attribute onmessage +PASS HTMLBodyElement interface: attribute onmessageerror +PASS HTMLBodyElement interface: attribute onoffline +PASS HTMLBodyElement interface: attribute ononline +PASS HTMLBodyElement interface: attribute onpagehide +PASS HTMLBodyElement interface: attribute onpageshow +PASS HTMLBodyElement interface: attribute onpopstate +PASS HTMLBodyElement interface: attribute onrejectionhandled +PASS HTMLBodyElement interface: attribute onstorage +PASS HTMLBodyElement interface: attribute onunhandledrejection +PASS HTMLBodyElement interface: attribute onunload +PASS HTMLBodyElement must be primary interface of document.createElement("body") +PASS Stringification of document.createElement("body") +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "text" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "link" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "vLink" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "aLink" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "bgColor" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "background" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onafterprint" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onbeforeprint" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onbeforeunload" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onhashchange" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onlanguagechange" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onmessage" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onmessageerror" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onoffline" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "ononline" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpagehide" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpageshow" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpopstate" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onrejectionhandled" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onstorage" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onunhandledrejection" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onunload" with the proper type +PASS HTMLHeadingElement interface: existence and properties of interface object +PASS HTMLHeadingElement interface object length +PASS HTMLHeadingElement interface object name +PASS HTMLHeadingElement interface: existence and properties of interface prototype object +PASS HTMLHeadingElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLHeadingElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLHeadingElement interface: attribute align +PASS HTMLHeadingElement must be primary interface of document.createElement("h1") +PASS Stringification of document.createElement("h1") +PASS HTMLHeadingElement interface: document.createElement("h1") must inherit property "align" with the proper type +PASS HTMLParagraphElement interface: existence and properties of interface object +PASS HTMLParagraphElement interface object length +PASS HTMLParagraphElement interface object name +PASS HTMLParagraphElement interface: existence and properties of interface prototype object +PASS HTMLParagraphElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLParagraphElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLParagraphElement interface: attribute align +PASS HTMLParagraphElement must be primary interface of document.createElement("p") +PASS Stringification of document.createElement("p") +PASS HTMLParagraphElement interface: document.createElement("p") must inherit property "align" with the proper type +PASS HTMLHRElement interface: existence and properties of interface object +PASS HTMLHRElement interface object length +PASS HTMLHRElement interface object name +PASS HTMLHRElement interface: existence and properties of interface prototype object +PASS HTMLHRElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLHRElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLHRElement interface: attribute align +PASS HTMLHRElement interface: attribute color +PASS HTMLHRElement interface: attribute noShade +PASS HTMLHRElement interface: attribute size +PASS HTMLHRElement interface: attribute width +PASS HTMLHRElement must be primary interface of document.createElement("hr") +PASS Stringification of document.createElement("hr") +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "align" with the proper type +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "color" with the proper type +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "noShade" with the proper type +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "size" with the proper type +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "width" with the proper type +PASS HTMLPreElement interface: existence and properties of interface object +PASS HTMLPreElement interface object length +PASS HTMLPreElement interface object name +PASS HTMLPreElement interface: existence and properties of interface prototype object +PASS HTMLPreElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLPreElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLPreElement interface: attribute width +PASS HTMLPreElement must be primary interface of document.createElement("pre") +PASS Stringification of document.createElement("pre") +PASS HTMLPreElement interface: document.createElement("pre") must inherit property "width" with the proper type +PASS HTMLPreElement must be primary interface of document.createElement("listing") +PASS Stringification of document.createElement("listing") +PASS HTMLPreElement interface: document.createElement("listing") must inherit property "width" with the proper type +PASS HTMLPreElement must be primary interface of document.createElement("xmp") +PASS Stringification of document.createElement("xmp") +PASS HTMLPreElement interface: document.createElement("xmp") must inherit property "width" with the proper type +PASS HTMLQuoteElement interface: existence and properties of interface object +PASS HTMLQuoteElement interface object length +PASS HTMLQuoteElement interface object name +PASS HTMLQuoteElement interface: existence and properties of interface prototype object +PASS HTMLQuoteElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLQuoteElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLQuoteElement interface: attribute cite +PASS HTMLQuoteElement must be primary interface of document.createElement("blockquote") +PASS Stringification of document.createElement("blockquote") +PASS HTMLQuoteElement interface: document.createElement("blockquote") must inherit property "cite" with the proper type +PASS HTMLQuoteElement must be primary interface of document.createElement("q") +PASS Stringification of document.createElement("q") +PASS HTMLQuoteElement interface: document.createElement("q") must inherit property "cite" with the proper type +PASS HTMLOListElement interface: existence and properties of interface object +PASS HTMLOListElement interface object length +PASS HTMLOListElement interface object name +PASS HTMLOListElement interface: existence and properties of interface prototype object +PASS HTMLOListElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOListElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOListElement interface: attribute reversed +PASS HTMLOListElement interface: attribute start +PASS HTMLOListElement interface: attribute type +PASS HTMLOListElement interface: attribute compact +PASS HTMLUListElement interface: existence and properties of interface object +PASS HTMLUListElement interface object length +PASS HTMLUListElement interface object name +PASS HTMLUListElement interface: existence and properties of interface prototype object +PASS HTMLUListElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLUListElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLUListElement interface: attribute compact +PASS HTMLUListElement interface: attribute type +PASS HTMLMenuElement interface: existence and properties of interface object +PASS HTMLMenuElement interface object length +PASS HTMLMenuElement interface object name +PASS HTMLMenuElement interface: existence and properties of interface prototype object +PASS HTMLMenuElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMenuElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMenuElement interface: attribute compact +PASS HTMLMenuElement must be primary interface of document.createElement("menu") +PASS Stringification of document.createElement("menu") +PASS HTMLMenuElement interface: document.createElement("menu") must inherit property "compact" with the proper type +PASS HTMLLIElement interface: existence and properties of interface object +PASS HTMLLIElement interface object length +PASS HTMLLIElement interface object name +PASS HTMLLIElement interface: existence and properties of interface prototype object +PASS HTMLLIElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLLIElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLLIElement interface: attribute value +PASS HTMLLIElement interface: attribute type +PASS HTMLLIElement must be primary interface of document.createElement("li") +PASS Stringification of document.createElement("li") +PASS HTMLLIElement interface: document.createElement("li") must inherit property "value" with the proper type +PASS HTMLLIElement interface: document.createElement("li") must inherit property "type" with the proper type +PASS HTMLDListElement interface: existence and properties of interface object +PASS HTMLDListElement interface object length +PASS HTMLDListElement interface object name +PASS HTMLDListElement interface: existence and properties of interface prototype object +PASS HTMLDListElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDListElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDListElement interface: attribute compact +PASS HTMLDivElement interface: existence and properties of interface object +PASS HTMLDivElement interface object length +PASS HTMLDivElement interface object name +PASS HTMLDivElement interface: existence and properties of interface prototype object +PASS HTMLDivElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDivElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDivElement interface: attribute align +PASS HTMLDivElement must be primary interface of document.createElement("div") +PASS Stringification of document.createElement("div") +PASS HTMLDivElement interface: document.createElement("div") must inherit property "align" with the proper type +PASS HTMLAnchorElement interface: existence and properties of interface object +PASS HTMLAnchorElement interface object length +PASS HTMLAnchorElement interface object name +PASS HTMLAnchorElement interface: existence and properties of interface prototype object +PASS HTMLAnchorElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLAnchorElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLAnchorElement interface: attribute target +PASS HTMLAnchorElement interface: attribute download +PASS HTMLAnchorElement interface: attribute ping +PASS HTMLAnchorElement interface: attribute rel +PASS HTMLAnchorElement interface: attribute relList +PASS HTMLAnchorElement interface: attribute hreflang +PASS HTMLAnchorElement interface: attribute type +PASS HTMLAnchorElement interface: attribute text +PASS HTMLAnchorElement interface: attribute referrerPolicy +PASS HTMLAnchorElement interface: attribute coords +PASS HTMLAnchorElement interface: attribute charset +PASS HTMLAnchorElement interface: attribute name +PASS HTMLAnchorElement interface: attribute rev +PASS HTMLAnchorElement interface: attribute shape +PASS HTMLAnchorElement interface: attribute href +PASS HTMLAnchorElement interface: stringifier +PASS HTMLAnchorElement interface: attribute origin +PASS HTMLAnchorElement interface: attribute protocol +PASS HTMLAnchorElement interface: attribute username +PASS HTMLAnchorElement interface: attribute password +PASS HTMLAnchorElement interface: attribute host +PASS HTMLAnchorElement interface: attribute hostname +PASS HTMLAnchorElement interface: attribute port +PASS HTMLAnchorElement interface: attribute pathname +PASS HTMLAnchorElement interface: attribute search +PASS HTMLAnchorElement interface: attribute hash +PASS HTMLAnchorElement must be primary interface of document.createElement("a") +PASS Stringification of document.createElement("a") +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "target" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "download" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "ping" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "rel" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "relList" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hreflang" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "type" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "text" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "referrerPolicy" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "coords" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "charset" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "name" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "rev" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "shape" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "href" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "origin" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "protocol" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "username" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "password" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "host" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hostname" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "port" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "pathname" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "search" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hash" with the proper type +PASS HTMLDataElement interface: existence and properties of interface object +PASS HTMLDataElement interface object length +PASS HTMLDataElement interface object name +PASS HTMLDataElement interface: existence and properties of interface prototype object +PASS HTMLDataElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDataElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDataElement interface: attribute value +PASS HTMLDataElement must be primary interface of document.createElement("data") +PASS Stringification of document.createElement("data") +PASS HTMLDataElement interface: document.createElement("data") must inherit property "value" with the proper type +PASS HTMLTimeElement interface: existence and properties of interface object +PASS HTMLTimeElement interface object length +PASS HTMLTimeElement interface object name +PASS HTMLTimeElement interface: existence and properties of interface prototype object +PASS HTMLTimeElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTimeElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTimeElement interface: attribute dateTime +PASS HTMLTimeElement must be primary interface of document.createElement("time") +PASS Stringification of document.createElement("time") +PASS HTMLTimeElement interface: document.createElement("time") must inherit property "dateTime" with the proper type +PASS HTMLSpanElement interface: existence and properties of interface object +PASS HTMLSpanElement interface object length +PASS HTMLSpanElement interface object name +PASS HTMLSpanElement interface: existence and properties of interface prototype object +PASS HTMLSpanElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLSpanElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLSpanElement must be primary interface of document.createElement("span") +PASS Stringification of document.createElement("span") +PASS HTMLBRElement interface: existence and properties of interface object +PASS HTMLBRElement interface object length +PASS HTMLBRElement interface object name +PASS HTMLBRElement interface: existence and properties of interface prototype object +PASS HTMLBRElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLBRElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLBRElement interface: attribute clear +PASS HTMLBRElement must be primary interface of document.createElement("br") +PASS Stringification of document.createElement("br") +PASS HTMLBRElement interface: document.createElement("br") must inherit property "clear" with the proper type +PASS HTMLModElement interface: existence and properties of interface object +PASS HTMLModElement interface object length +PASS HTMLModElement interface object name +PASS HTMLModElement interface: existence and properties of interface prototype object +PASS HTMLModElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLModElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLModElement interface: attribute cite +PASS HTMLModElement interface: attribute dateTime +PASS HTMLModElement must be primary interface of document.createElement("ins") +PASS Stringification of document.createElement("ins") +PASS HTMLModElement interface: document.createElement("ins") must inherit property "cite" with the proper type +PASS HTMLModElement interface: document.createElement("ins") must inherit property "dateTime" with the proper type +PASS HTMLModElement must be primary interface of document.createElement("del") +PASS Stringification of document.createElement("del") +PASS HTMLModElement interface: document.createElement("del") must inherit property "cite" with the proper type +PASS HTMLModElement interface: document.createElement("del") must inherit property "dateTime" with the proper type +PASS HTMLPictureElement interface: existence and properties of interface object +PASS HTMLPictureElement interface object length +PASS HTMLPictureElement interface object name +PASS HTMLPictureElement interface: existence and properties of interface prototype object +PASS HTMLPictureElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLPictureElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLPictureElement must be primary interface of document.createElement("picture") +PASS Stringification of document.createElement("picture") +PASS HTMLSourceElement interface: existence and properties of interface object +PASS HTMLSourceElement interface object length +PASS HTMLSourceElement interface object name +PASS HTMLSourceElement interface: existence and properties of interface prototype object +PASS HTMLSourceElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLSourceElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLSourceElement interface: attribute src +PASS HTMLSourceElement interface: attribute type +PASS HTMLSourceElement interface: attribute srcset +PASS HTMLSourceElement interface: attribute sizes +PASS HTMLSourceElement interface: attribute media +PASS HTMLSourceElement must be primary interface of document.createElement("source") +PASS Stringification of document.createElement("source") +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "src" with the proper type +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "type" with the proper type +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "srcset" with the proper type +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "sizes" with the proper type +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "media" with the proper type +PASS HTMLImageElement interface: existence and properties of interface object +PASS HTMLImageElement interface object length +PASS HTMLImageElement interface object name +PASS HTMLImageElement interface: named constructor +PASS HTMLImageElement interface: named constructor object +PASS HTMLImageElement interface: named constructor prototype property +PASS HTMLImageElement interface: named constructor name +PASS HTMLImageElement interface: named constructor length +PASS HTMLImageElement interface: named constructor without 'new' +PASS HTMLImageElement interface: existence and properties of interface prototype object +PASS HTMLImageElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLImageElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLImageElement interface: attribute alt +PASS HTMLImageElement interface: attribute src +PASS HTMLImageElement interface: attribute srcset +PASS HTMLImageElement interface: attribute sizes +PASS HTMLImageElement interface: attribute crossOrigin +PASS HTMLImageElement interface: attribute useMap +PASS HTMLImageElement interface: attribute isMap +PASS HTMLImageElement interface: attribute width +PASS HTMLImageElement interface: attribute height +PASS HTMLImageElement interface: attribute naturalWidth +PASS HTMLImageElement interface: attribute naturalHeight +PASS HTMLImageElement interface: attribute complete +PASS HTMLImageElement interface: attribute currentSrc +PASS HTMLImageElement interface: attribute referrerPolicy +PASS HTMLImageElement interface: attribute decoding +PASS HTMLImageElement interface: operation decode() +PASS HTMLImageElement interface: attribute name +PASS HTMLImageElement interface: attribute lowsrc +PASS HTMLImageElement interface: attribute align +PASS HTMLImageElement interface: attribute hspace +PASS HTMLImageElement interface: attribute vspace +PASS HTMLImageElement interface: attribute longDesc +PASS HTMLImageElement interface: attribute border +PASS HTMLImageElement must be primary interface of document.createElement("img") +PASS Stringification of document.createElement("img") +PASS HTMLImageElement interface: document.createElement("img") must inherit property "alt" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "src" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "srcset" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "sizes" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "crossOrigin" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "useMap" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "isMap" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "width" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "height" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "naturalWidth" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "naturalHeight" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "complete" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "currentSrc" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "referrerPolicy" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "decoding" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "decode()" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "name" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "lowsrc" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "align" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "hspace" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "vspace" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "longDesc" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "border" with the proper type +PASS HTMLImageElement must be primary interface of new Image() +PASS Stringification of new Image() +PASS HTMLImageElement interface: new Image() must inherit property "alt" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "src" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "srcset" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "sizes" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "crossOrigin" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "useMap" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "isMap" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "width" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "height" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "naturalWidth" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "naturalHeight" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "complete" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "currentSrc" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "referrerPolicy" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "decoding" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "decode()" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "name" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "lowsrc" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "align" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "hspace" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "vspace" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "longDesc" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "border" with the proper type +PASS HTMLIFrameElement interface: existence and properties of interface object +PASS HTMLIFrameElement interface object length +PASS HTMLIFrameElement interface object name +PASS HTMLIFrameElement interface: existence and properties of interface prototype object +PASS HTMLIFrameElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLIFrameElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLIFrameElement interface: attribute src +PASS HTMLIFrameElement interface: attribute srcdoc +PASS HTMLIFrameElement interface: attribute name +PASS HTMLIFrameElement interface: attribute sandbox +PASS HTMLIFrameElement interface: attribute allow +PASS HTMLIFrameElement interface: attribute allowFullscreen +PASS HTMLIFrameElement interface: attribute allowPaymentRequest +PASS HTMLIFrameElement interface: attribute width +PASS HTMLIFrameElement interface: attribute height +PASS HTMLIFrameElement interface: attribute referrerPolicy +PASS HTMLIFrameElement interface: attribute contentDocument +PASS HTMLIFrameElement interface: attribute contentWindow +PASS HTMLIFrameElement interface: operation getSVGDocument() +PASS HTMLIFrameElement interface: attribute align +PASS HTMLIFrameElement interface: attribute scrolling +PASS HTMLIFrameElement interface: attribute frameBorder +PASS HTMLIFrameElement interface: attribute longDesc +PASS HTMLIFrameElement interface: attribute marginHeight +PASS HTMLIFrameElement interface: attribute marginWidth +PASS HTMLEmbedElement interface: existence and properties of interface object +PASS HTMLEmbedElement interface object length +PASS HTMLEmbedElement interface object name +PASS HTMLEmbedElement interface: existence and properties of interface prototype object +PASS HTMLEmbedElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLEmbedElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLEmbedElement interface: attribute src +PASS HTMLEmbedElement interface: attribute type +PASS HTMLEmbedElement interface: attribute width +PASS HTMLEmbedElement interface: attribute height +PASS HTMLEmbedElement interface: operation getSVGDocument() +PASS HTMLEmbedElement interface: attribute align +PASS HTMLEmbedElement interface: attribute name +PASS HTMLEmbedElement must be primary interface of document.createElement("embed") +PASS Stringification of document.createElement("embed") +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "src" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "type" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "width" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "height" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "getSVGDocument()" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "align" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "name" with the proper type +PASS HTMLObjectElement interface: existence and properties of interface object +PASS HTMLObjectElement interface object length +PASS HTMLObjectElement interface object name +PASS HTMLObjectElement interface: existence and properties of interface prototype object +PASS HTMLObjectElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLObjectElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLObjectElement interface: attribute data +PASS HTMLObjectElement interface: attribute type +PASS HTMLObjectElement interface: attribute name +PASS HTMLObjectElement interface: attribute useMap +PASS HTMLObjectElement interface: attribute form +PASS HTMLObjectElement interface: attribute width +PASS HTMLObjectElement interface: attribute height +PASS HTMLObjectElement interface: attribute contentDocument +PASS HTMLObjectElement interface: attribute contentWindow +PASS HTMLObjectElement interface: operation getSVGDocument() +PASS HTMLObjectElement interface: attribute willValidate +PASS HTMLObjectElement interface: attribute validity +PASS HTMLObjectElement interface: attribute validationMessage +PASS HTMLObjectElement interface: operation checkValidity() +PASS HTMLObjectElement interface: operation reportValidity() +PASS HTMLObjectElement interface: operation setCustomValidity(DOMString) +PASS HTMLObjectElement interface: attribute align +PASS HTMLObjectElement interface: attribute archive +PASS HTMLObjectElement interface: attribute code +PASS HTMLObjectElement interface: attribute declare +PASS HTMLObjectElement interface: attribute hspace +PASS HTMLObjectElement interface: attribute standby +PASS HTMLObjectElement interface: attribute vspace +PASS HTMLObjectElement interface: attribute codeBase +PASS HTMLObjectElement interface: attribute codeType +PASS HTMLObjectElement interface: attribute border +PASS HTMLObjectElement must be primary interface of document.createElement("object") +PASS Stringification of document.createElement("object") +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "data" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "type" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "name" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "useMap" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "form" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "width" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "height" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "contentDocument" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "contentWindow" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "getSVGDocument()" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "willValidate" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "validity" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "validationMessage" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "checkValidity()" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "reportValidity()" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLObjectElement interface: calling setCustomValidity(DOMString) on document.createElement("object") with too few arguments must throw TypeError +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "align" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "archive" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "code" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "declare" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "hspace" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "standby" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "vspace" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "codeBase" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "codeType" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "border" with the proper type +PASS HTMLParamElement interface: existence and properties of interface object +PASS HTMLParamElement interface object length +PASS HTMLParamElement interface object name +PASS HTMLParamElement interface: existence and properties of interface prototype object +PASS HTMLParamElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLParamElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLParamElement interface: attribute name +PASS HTMLParamElement interface: attribute value +PASS HTMLParamElement interface: attribute type +PASS HTMLParamElement interface: attribute valueType +PASS HTMLParamElement must be primary interface of document.createElement("param") +PASS Stringification of document.createElement("param") +PASS HTMLParamElement interface: document.createElement("param") must inherit property "name" with the proper type +PASS HTMLParamElement interface: document.createElement("param") must inherit property "value" with the proper type +PASS HTMLParamElement interface: document.createElement("param") must inherit property "type" with the proper type +PASS HTMLParamElement interface: document.createElement("param") must inherit property "valueType" with the proper type +PASS HTMLVideoElement interface: existence and properties of interface object +PASS HTMLVideoElement interface object length +PASS HTMLVideoElement interface object name +PASS HTMLVideoElement interface: existence and properties of interface prototype object +PASS HTMLVideoElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLVideoElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLVideoElement interface: attribute width +PASS HTMLVideoElement interface: attribute height +PASS HTMLVideoElement interface: attribute videoWidth +PASS HTMLVideoElement interface: attribute videoHeight +PASS HTMLVideoElement interface: attribute poster +PASS HTMLVideoElement interface: attribute playsInline +PASS HTMLVideoElement must be primary interface of document.createElement("video") +PASS Stringification of document.createElement("video") +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "width" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "height" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "videoWidth" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "videoHeight" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "poster" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "playsInline" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "error" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "src" with the proper type +FAIL HTMLMediaElement interface: document.createElement("video") must inherit property "srcObject" with the proper type Unrecognized type MediaStream +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "currentSrc" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "crossOrigin" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_EMPTY" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_IDLE" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_LOADING" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_NO_SOURCE" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "networkState" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "preload" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "buffered" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "load()" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "canPlayType(DOMString)" with the proper type +PASS HTMLMediaElement interface: calling canPlayType(DOMString) on document.createElement("video") with too few arguments must throw TypeError +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_NOTHING" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_METADATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_CURRENT_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_FUTURE_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_ENOUGH_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "readyState" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "seeking" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "currentTime" with the proper type +FAIL HTMLMediaElement interface: document.createElement("video") must inherit property "fastSeek(double)" with the proper type assert_inherits: property "fastSeek" not found in prototype chain +FAIL HTMLMediaElement interface: calling fastSeek(double) on document.createElement("video") with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "duration" with the proper type +FAIL HTMLMediaElement interface: document.createElement("video") must inherit property "getStartDate()" with the proper type assert_inherits: property "getStartDate" not found in prototype chain +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "paused" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "defaultPlaybackRate" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "playbackRate" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "played" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "seekable" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "ended" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "autoplay" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "loop" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "play()" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "pause()" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "controls" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "volume" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "muted" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "defaultMuted" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "audioTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "videoTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "textTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "addTextTrack(TextTrackKind, DOMString, DOMString)" with the proper type +PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind, DOMString, DOMString) on document.createElement("video") with too few arguments must throw TypeError +PASS HTMLAudioElement interface: existence and properties of interface object +PASS HTMLAudioElement interface object length +PASS HTMLAudioElement interface object name +PASS HTMLAudioElement interface: named constructor +PASS HTMLAudioElement interface: named constructor object +PASS HTMLAudioElement interface: named constructor prototype property +PASS HTMLAudioElement interface: named constructor name +PASS HTMLAudioElement interface: named constructor length +PASS HTMLAudioElement interface: named constructor without 'new' +PASS HTMLAudioElement interface: existence and properties of interface prototype object +PASS HTMLAudioElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLAudioElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLAudioElement must be primary interface of document.createElement("audio") +PASS Stringification of document.createElement("audio") +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "error" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "src" with the proper type +FAIL HTMLMediaElement interface: document.createElement("audio") must inherit property "srcObject" with the proper type Unrecognized type MediaStream +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "currentSrc" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "crossOrigin" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_EMPTY" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_IDLE" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_LOADING" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_NO_SOURCE" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "networkState" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "preload" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "buffered" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "load()" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "canPlayType(DOMString)" with the proper type +PASS HTMLMediaElement interface: calling canPlayType(DOMString) on document.createElement("audio") with too few arguments must throw TypeError +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_NOTHING" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_METADATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_CURRENT_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_FUTURE_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_ENOUGH_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "readyState" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "seeking" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "currentTime" with the proper type +FAIL HTMLMediaElement interface: document.createElement("audio") must inherit property "fastSeek(double)" with the proper type assert_inherits: property "fastSeek" not found in prototype chain +FAIL HTMLMediaElement interface: calling fastSeek(double) on document.createElement("audio") with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "duration" with the proper type +FAIL HTMLMediaElement interface: document.createElement("audio") must inherit property "getStartDate()" with the proper type assert_inherits: property "getStartDate" not found in prototype chain +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "paused" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "defaultPlaybackRate" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "playbackRate" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "played" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "seekable" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "ended" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "autoplay" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "loop" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "play()" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "pause()" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "controls" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "volume" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "muted" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "defaultMuted" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "audioTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "videoTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "textTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "addTextTrack(TextTrackKind, DOMString, DOMString)" with the proper type +PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind, DOMString, DOMString) on document.createElement("audio") with too few arguments must throw TypeError +PASS HTMLAudioElement must be primary interface of new Audio() +PASS Stringification of new Audio() +PASS HTMLMediaElement interface: new Audio() must inherit property "error" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "src" with the proper type +FAIL HTMLMediaElement interface: new Audio() must inherit property "srcObject" with the proper type Unrecognized type MediaStream +PASS HTMLMediaElement interface: new Audio() must inherit property "currentSrc" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "crossOrigin" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_EMPTY" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_IDLE" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_LOADING" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_NO_SOURCE" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "networkState" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "preload" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "buffered" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "load()" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "canPlayType(DOMString)" with the proper type +PASS HTMLMediaElement interface: calling canPlayType(DOMString) on new Audio() with too few arguments must throw TypeError +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_NOTHING" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_METADATA" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_CURRENT_DATA" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_FUTURE_DATA" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_ENOUGH_DATA" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "readyState" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "seeking" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "currentTime" with the proper type +FAIL HTMLMediaElement interface: new Audio() must inherit property "fastSeek(double)" with the proper type assert_inherits: property "fastSeek" not found in prototype chain +FAIL HTMLMediaElement interface: calling fastSeek(double) on new Audio() with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain +PASS HTMLMediaElement interface: new Audio() must inherit property "duration" with the proper type +FAIL HTMLMediaElement interface: new Audio() must inherit property "getStartDate()" with the proper type assert_inherits: property "getStartDate" not found in prototype chain +PASS HTMLMediaElement interface: new Audio() must inherit property "paused" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "defaultPlaybackRate" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "playbackRate" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "played" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "seekable" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "ended" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "autoplay" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "loop" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "play()" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "pause()" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "controls" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "volume" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "muted" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "defaultMuted" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "audioTracks" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "videoTracks" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "textTracks" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "addTextTrack(TextTrackKind, DOMString, DOMString)" with the proper type +PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind, DOMString, DOMString) on new Audio() with too few arguments must throw TypeError +PASS HTMLTrackElement interface: existence and properties of interface object +PASS HTMLTrackElement interface object length +PASS HTMLTrackElement interface object name +PASS HTMLTrackElement interface: existence and properties of interface prototype object +PASS HTMLTrackElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTrackElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTrackElement interface: attribute kind +PASS HTMLTrackElement interface: attribute src +PASS HTMLTrackElement interface: attribute srclang +PASS HTMLTrackElement interface: attribute label +PASS HTMLTrackElement interface: attribute default +PASS HTMLTrackElement interface: constant NONE on interface object +PASS HTMLTrackElement interface: constant NONE on interface prototype object +PASS HTMLTrackElement interface: constant LOADING on interface object +PASS HTMLTrackElement interface: constant LOADING on interface prototype object +PASS HTMLTrackElement interface: constant LOADED on interface object +PASS HTMLTrackElement interface: constant LOADED on interface prototype object +PASS HTMLTrackElement interface: constant ERROR on interface object +PASS HTMLTrackElement interface: constant ERROR on interface prototype object +PASS HTMLTrackElement interface: attribute readyState +PASS HTMLTrackElement interface: attribute track +PASS HTMLTrackElement must be primary interface of document.createElement("track") +PASS Stringification of document.createElement("track") +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "kind" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "src" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "srclang" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "label" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "default" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "NONE" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "LOADING" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "LOADED" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "ERROR" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "readyState" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "track" with the proper type +PASS HTMLMediaElement interface: existence and properties of interface object +PASS HTMLMediaElement interface object length +PASS HTMLMediaElement interface object name +PASS HTMLMediaElement interface: existence and properties of interface prototype object +PASS HTMLMediaElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMediaElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMediaElement interface: attribute error +PASS HTMLMediaElement interface: attribute src +PASS HTMLMediaElement interface: attribute srcObject +PASS HTMLMediaElement interface: attribute currentSrc +PASS HTMLMediaElement interface: attribute crossOrigin +PASS HTMLMediaElement interface: constant NETWORK_EMPTY on interface object +PASS HTMLMediaElement interface: constant NETWORK_EMPTY on interface prototype object +PASS HTMLMediaElement interface: constant NETWORK_IDLE on interface object +PASS HTMLMediaElement interface: constant NETWORK_IDLE on interface prototype object +PASS HTMLMediaElement interface: constant NETWORK_LOADING on interface object +PASS HTMLMediaElement interface: constant NETWORK_LOADING on interface prototype object +PASS HTMLMediaElement interface: constant NETWORK_NO_SOURCE on interface object +PASS HTMLMediaElement interface: constant NETWORK_NO_SOURCE on interface prototype object +PASS HTMLMediaElement interface: attribute networkState +PASS HTMLMediaElement interface: attribute preload +PASS HTMLMediaElement interface: attribute buffered +PASS HTMLMediaElement interface: operation load() +PASS HTMLMediaElement interface: operation canPlayType(DOMString) +PASS HTMLMediaElement interface: constant HAVE_NOTHING on interface object +PASS HTMLMediaElement interface: constant HAVE_NOTHING on interface prototype object +PASS HTMLMediaElement interface: constant HAVE_METADATA on interface object +PASS HTMLMediaElement interface: constant HAVE_METADATA on interface prototype object +PASS HTMLMediaElement interface: constant HAVE_CURRENT_DATA on interface object +PASS HTMLMediaElement interface: constant HAVE_CURRENT_DATA on interface prototype object +PASS HTMLMediaElement interface: constant HAVE_FUTURE_DATA on interface object +PASS HTMLMediaElement interface: constant HAVE_FUTURE_DATA on interface prototype object +PASS HTMLMediaElement interface: constant HAVE_ENOUGH_DATA on interface object +PASS HTMLMediaElement interface: constant HAVE_ENOUGH_DATA on interface prototype object +PASS HTMLMediaElement interface: attribute readyState +PASS HTMLMediaElement interface: attribute seeking +PASS HTMLMediaElement interface: attribute currentTime +FAIL HTMLMediaElement interface: operation fastSeek(double) assert_own_property: interface prototype object missing non-static operation expected property "fastSeek" missing +PASS HTMLMediaElement interface: attribute duration +FAIL HTMLMediaElement interface: operation getStartDate() assert_own_property: interface prototype object missing non-static operation expected property "getStartDate" missing +PASS HTMLMediaElement interface: attribute paused +PASS HTMLMediaElement interface: attribute defaultPlaybackRate +PASS HTMLMediaElement interface: attribute playbackRate +PASS HTMLMediaElement interface: attribute played +PASS HTMLMediaElement interface: attribute seekable +PASS HTMLMediaElement interface: attribute ended +PASS HTMLMediaElement interface: attribute autoplay +PASS HTMLMediaElement interface: attribute loop +PASS HTMLMediaElement interface: operation play() +PASS HTMLMediaElement interface: operation pause() +PASS HTMLMediaElement interface: attribute controls +PASS HTMLMediaElement interface: attribute volume +PASS HTMLMediaElement interface: attribute muted +PASS HTMLMediaElement interface: attribute defaultMuted +PASS HTMLMediaElement interface: attribute audioTracks +PASS HTMLMediaElement interface: attribute videoTracks +PASS HTMLMediaElement interface: attribute textTracks +PASS HTMLMediaElement interface: operation addTextTrack(TextTrackKind, DOMString, DOMString) +PASS HTMLMapElement interface: existence and properties of interface object +PASS HTMLMapElement interface object length +PASS HTMLMapElement interface object name +PASS HTMLMapElement interface: existence and properties of interface prototype object +PASS HTMLMapElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMapElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMapElement interface: attribute name +PASS HTMLMapElement interface: attribute areas +PASS HTMLMapElement must be primary interface of document.createElement("map") +PASS Stringification of document.createElement("map") +PASS HTMLMapElement interface: document.createElement("map") must inherit property "name" with the proper type +PASS HTMLMapElement interface: document.createElement("map") must inherit property "areas" with the proper type +PASS HTMLAreaElement interface: existence and properties of interface object +PASS HTMLAreaElement interface object length +PASS HTMLAreaElement interface object name +PASS HTMLAreaElement interface: existence and properties of interface prototype object +PASS HTMLAreaElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLAreaElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLAreaElement interface: attribute alt +PASS HTMLAreaElement interface: attribute coords +PASS HTMLAreaElement interface: attribute shape +PASS HTMLAreaElement interface: attribute target +PASS HTMLAreaElement interface: attribute download +PASS HTMLAreaElement interface: attribute ping +PASS HTMLAreaElement interface: attribute rel +PASS HTMLAreaElement interface: attribute relList +PASS HTMLAreaElement interface: attribute referrerPolicy +PASS HTMLAreaElement interface: attribute noHref +PASS HTMLAreaElement interface: attribute href +PASS HTMLAreaElement interface: stringifier +PASS HTMLAreaElement interface: attribute origin +PASS HTMLAreaElement interface: attribute protocol +PASS HTMLAreaElement interface: attribute username +PASS HTMLAreaElement interface: attribute password +PASS HTMLAreaElement interface: attribute host +PASS HTMLAreaElement interface: attribute hostname +PASS HTMLAreaElement interface: attribute port +PASS HTMLAreaElement interface: attribute pathname +PASS HTMLAreaElement interface: attribute search +PASS HTMLAreaElement interface: attribute hash +PASS HTMLAreaElement must be primary interface of document.createElement("area") +PASS Stringification of document.createElement("area") +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "alt" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "coords" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "shape" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "target" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "download" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "ping" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "rel" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "relList" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "referrerPolicy" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "noHref" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "href" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "origin" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "protocol" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "username" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "password" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "host" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "hostname" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "port" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "pathname" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "search" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "hash" with the proper type +PASS HTMLTableElement interface: existence and properties of interface object +PASS HTMLTableElement interface object length +PASS HTMLTableElement interface object name +PASS HTMLTableElement interface: existence and properties of interface prototype object +PASS HTMLTableElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableElement interface: attribute caption +PASS HTMLTableElement interface: operation createCaption() +PASS HTMLTableElement interface: operation deleteCaption() +PASS HTMLTableElement interface: attribute tHead +PASS HTMLTableElement interface: operation createTHead() +PASS HTMLTableElement interface: operation deleteTHead() +PASS HTMLTableElement interface: attribute tFoot +PASS HTMLTableElement interface: operation createTFoot() +PASS HTMLTableElement interface: operation deleteTFoot() +PASS HTMLTableElement interface: attribute tBodies +PASS HTMLTableElement interface: operation createTBody() +PASS HTMLTableElement interface: attribute rows +PASS HTMLTableElement interface: operation insertRow(long) +PASS HTMLTableElement interface: operation deleteRow(long) +PASS HTMLTableElement interface: attribute align +PASS HTMLTableElement interface: attribute border +PASS HTMLTableElement interface: attribute frame +PASS HTMLTableElement interface: attribute rules +PASS HTMLTableElement interface: attribute summary +PASS HTMLTableElement interface: attribute width +PASS HTMLTableElement interface: attribute bgColor +PASS HTMLTableElement interface: attribute cellPadding +PASS HTMLTableElement interface: attribute cellSpacing +PASS HTMLTableElement must be primary interface of document.createElement("table") +PASS Stringification of document.createElement("table") +PASS HTMLTableElement interface: document.createElement("table") must inherit property "caption" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "createCaption()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteCaption()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "tHead" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTHead()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteTHead()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "tFoot" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTFoot()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteTFoot()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "tBodies" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTBody()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "rows" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "insertRow(long)" with the proper type +PASS HTMLTableElement interface: calling insertRow(long) on document.createElement("table") with too few arguments must throw TypeError +PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteRow(long)" with the proper type +PASS HTMLTableElement interface: calling deleteRow(long) on document.createElement("table") with too few arguments must throw TypeError +PASS HTMLTableElement interface: document.createElement("table") must inherit property "align" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "border" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "frame" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "rules" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "summary" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "width" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "bgColor" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "cellPadding" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "cellSpacing" with the proper type +PASS HTMLTableCaptionElement interface: existence and properties of interface object +PASS HTMLTableCaptionElement interface object length +PASS HTMLTableCaptionElement interface object name +PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object +PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableCaptionElement interface: attribute align +PASS HTMLTableCaptionElement must be primary interface of document.createElement("caption") +PASS Stringification of document.createElement("caption") +PASS HTMLTableCaptionElement interface: document.createElement("caption") must inherit property "align" with the proper type +PASS HTMLTableColElement interface: existence and properties of interface object +PASS HTMLTableColElement interface object length +PASS HTMLTableColElement interface object name +PASS HTMLTableColElement interface: existence and properties of interface prototype object +PASS HTMLTableColElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableColElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableColElement interface: attribute span +PASS HTMLTableColElement interface: attribute align +PASS HTMLTableColElement interface: attribute ch +PASS HTMLTableColElement interface: attribute chOff +PASS HTMLTableColElement interface: attribute vAlign +PASS HTMLTableColElement interface: attribute width +PASS HTMLTableColElement must be primary interface of document.createElement("colgroup") +PASS Stringification of document.createElement("colgroup") +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "span" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "align" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "ch" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "chOff" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "vAlign" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "width" with the proper type +PASS HTMLTableColElement must be primary interface of document.createElement("col") +PASS Stringification of document.createElement("col") +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "span" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "align" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "ch" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "chOff" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "vAlign" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "width" with the proper type +PASS HTMLTableSectionElement interface: existence and properties of interface object +PASS HTMLTableSectionElement interface object length +PASS HTMLTableSectionElement interface object name +PASS HTMLTableSectionElement interface: existence and properties of interface prototype object +PASS HTMLTableSectionElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableSectionElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableSectionElement interface: attribute rows +PASS HTMLTableSectionElement interface: operation insertRow(long) +PASS HTMLTableSectionElement interface: operation deleteRow(long) +PASS HTMLTableSectionElement interface: attribute align +PASS HTMLTableSectionElement interface: attribute ch +PASS HTMLTableSectionElement interface: attribute chOff +PASS HTMLTableSectionElement interface: attribute vAlign +PASS HTMLTableSectionElement must be primary interface of document.createElement("tbody") +PASS Stringification of document.createElement("tbody") +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "rows" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "insertRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("tbody") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "deleteRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("tbody") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "align" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "ch" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "chOff" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "vAlign" with the proper type +PASS HTMLTableSectionElement must be primary interface of document.createElement("thead") +PASS Stringification of document.createElement("thead") +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "rows" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "insertRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("thead") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "deleteRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("thead") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "align" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "ch" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "chOff" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "vAlign" with the proper type +PASS HTMLTableSectionElement must be primary interface of document.createElement("tfoot") +PASS Stringification of document.createElement("tfoot") +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "rows" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "insertRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("tfoot") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "deleteRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("tfoot") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "align" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "ch" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "chOff" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "vAlign" with the proper type +PASS HTMLTableRowElement interface: existence and properties of interface object +PASS HTMLTableRowElement interface object length +PASS HTMLTableRowElement interface object name +PASS HTMLTableRowElement interface: existence and properties of interface prototype object +PASS HTMLTableRowElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableRowElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableRowElement interface: attribute rowIndex +PASS HTMLTableRowElement interface: attribute sectionRowIndex +PASS HTMLTableRowElement interface: attribute cells +PASS HTMLTableRowElement interface: operation insertCell(long) +PASS HTMLTableRowElement interface: operation deleteCell(long) +PASS HTMLTableRowElement interface: attribute align +PASS HTMLTableRowElement interface: attribute ch +PASS HTMLTableRowElement interface: attribute chOff +PASS HTMLTableRowElement interface: attribute vAlign +PASS HTMLTableRowElement interface: attribute bgColor +PASS HTMLTableRowElement must be primary interface of document.createElement("tr") +PASS Stringification of document.createElement("tr") +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "rowIndex" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "sectionRowIndex" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "cells" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "insertCell(long)" with the proper type +PASS HTMLTableRowElement interface: calling insertCell(long) on document.createElement("tr") with too few arguments must throw TypeError +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "deleteCell(long)" with the proper type +PASS HTMLTableRowElement interface: calling deleteCell(long) on document.createElement("tr") with too few arguments must throw TypeError +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "align" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "ch" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "chOff" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "vAlign" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "bgColor" with the proper type +PASS HTMLTableCellElement interface: existence and properties of interface object +PASS HTMLTableCellElement interface object length +PASS HTMLTableCellElement interface object name +PASS HTMLTableCellElement interface: existence and properties of interface prototype object +PASS HTMLTableCellElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableCellElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableCellElement interface: attribute colSpan +PASS HTMLTableCellElement interface: attribute rowSpan +PASS HTMLTableCellElement interface: attribute headers +PASS HTMLTableCellElement interface: attribute cellIndex +PASS HTMLTableCellElement interface: attribute scope +PASS HTMLTableCellElement interface: attribute abbr +PASS HTMLTableCellElement interface: attribute align +PASS HTMLTableCellElement interface: attribute axis +PASS HTMLTableCellElement interface: attribute height +PASS HTMLTableCellElement interface: attribute width +PASS HTMLTableCellElement interface: attribute ch +PASS HTMLTableCellElement interface: attribute chOff +PASS HTMLTableCellElement interface: attribute noWrap +PASS HTMLTableCellElement interface: attribute vAlign +PASS HTMLTableCellElement interface: attribute bgColor +PASS HTMLTableCellElement must be primary interface of document.createElement("td") +PASS Stringification of document.createElement("td") +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "colSpan" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "rowSpan" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "headers" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "cellIndex" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "scope" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "abbr" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "align" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "axis" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "height" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "width" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "ch" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "chOff" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "noWrap" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "vAlign" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "bgColor" with the proper type +PASS HTMLTableCellElement must be primary interface of document.createElement("th") +PASS Stringification of document.createElement("th") +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "colSpan" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "rowSpan" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "headers" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "cellIndex" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "scope" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "abbr" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "align" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "axis" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "height" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "width" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "ch" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "chOff" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "noWrap" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "vAlign" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "bgColor" with the proper type +PASS HTMLFormElement interface: existence and properties of interface object +PASS HTMLFormElement interface object length +PASS HTMLFormElement interface object name +PASS HTMLFormElement interface: existence and properties of interface prototype object +PASS HTMLFormElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFormElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFormElement interface: attribute acceptCharset +PASS HTMLFormElement interface: attribute action +PASS HTMLFormElement interface: attribute autocomplete +PASS HTMLFormElement interface: attribute enctype +PASS HTMLFormElement interface: attribute encoding +PASS HTMLFormElement interface: attribute method +PASS HTMLFormElement interface: attribute name +PASS HTMLFormElement interface: attribute noValidate +PASS HTMLFormElement interface: attribute target +FAIL HTMLFormElement interface: attribute rel assert_true: The prototype object must have a property "rel" expected true got false +FAIL HTMLFormElement interface: attribute relList assert_true: The prototype object must have a property "relList" expected true got false +PASS HTMLFormElement interface: attribute elements +PASS HTMLFormElement interface: attribute length +PASS HTMLFormElement interface: operation submit() +PASS HTMLFormElement interface: operation requestSubmit(HTMLElement) +PASS HTMLFormElement interface: operation reset() +PASS HTMLFormElement interface: operation checkValidity() +PASS HTMLFormElement interface: operation reportValidity() +PASS HTMLFormElement must be primary interface of document.createElement("form") +PASS Stringification of document.createElement("form") +PASS HTMLFormElement interface: document.createElement("form") must inherit property "acceptCharset" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "action" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "autocomplete" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "enctype" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "encoding" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "method" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "name" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "noValidate" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "target" with the proper type +FAIL HTMLFormElement interface: document.createElement("form") must inherit property "rel" with the proper type assert_inherits: property "rel" not found in prototype chain +FAIL HTMLFormElement interface: document.createElement("form") must inherit property "relList" with the proper type assert_inherits: property "relList" not found in prototype chain +PASS HTMLFormElement interface: document.createElement("form") must inherit property "elements" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "length" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "submit()" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "requestSubmit(HTMLElement)" with the proper type +PASS HTMLFormElement interface: calling requestSubmit(HTMLElement) on document.createElement("form") with too few arguments must throw TypeError +PASS HTMLFormElement interface: document.createElement("form") must inherit property "reset()" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "checkValidity()" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "reportValidity()" with the proper type +PASS HTMLLabelElement interface: existence and properties of interface object +PASS HTMLLabelElement interface object length +PASS HTMLLabelElement interface object name +PASS HTMLLabelElement interface: existence and properties of interface prototype object +PASS HTMLLabelElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLLabelElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLLabelElement interface: attribute form +PASS HTMLLabelElement interface: attribute htmlFor +PASS HTMLLabelElement interface: attribute control +PASS HTMLLabelElement must be primary interface of document.createElement("label") +PASS Stringification of document.createElement("label") +PASS HTMLLabelElement interface: document.createElement("label") must inherit property "form" with the proper type +PASS HTMLLabelElement interface: document.createElement("label") must inherit property "htmlFor" with the proper type +PASS HTMLLabelElement interface: document.createElement("label") must inherit property "control" with the proper type +PASS HTMLInputElement interface: existence and properties of interface object +PASS HTMLInputElement interface object length +PASS HTMLInputElement interface object name +PASS HTMLInputElement interface: existence and properties of interface prototype object +PASS HTMLInputElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLInputElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLInputElement interface: attribute accept +PASS HTMLInputElement interface: attribute alt +PASS HTMLInputElement interface: attribute autocomplete +PASS HTMLInputElement interface: attribute defaultChecked +PASS HTMLInputElement interface: attribute checked +PASS HTMLInputElement interface: attribute dirName +PASS HTMLInputElement interface: attribute disabled +PASS HTMLInputElement interface: attribute form +PASS HTMLInputElement interface: attribute files +PASS HTMLInputElement interface: attribute formAction +PASS HTMLInputElement interface: attribute formEnctype +PASS HTMLInputElement interface: attribute formMethod +PASS HTMLInputElement interface: attribute formNoValidate +PASS HTMLInputElement interface: attribute formTarget +PASS HTMLInputElement interface: attribute height +PASS HTMLInputElement interface: attribute indeterminate +PASS HTMLInputElement interface: attribute list +PASS HTMLInputElement interface: attribute max +PASS HTMLInputElement interface: attribute maxLength +PASS HTMLInputElement interface: attribute min +PASS HTMLInputElement interface: attribute minLength +PASS HTMLInputElement interface: attribute multiple +PASS HTMLInputElement interface: attribute name +PASS HTMLInputElement interface: attribute pattern +PASS HTMLInputElement interface: attribute placeholder +PASS HTMLInputElement interface: attribute readOnly +PASS HTMLInputElement interface: attribute required +PASS HTMLInputElement interface: attribute size +PASS HTMLInputElement interface: attribute src +PASS HTMLInputElement interface: attribute step +PASS HTMLInputElement interface: attribute type +PASS HTMLInputElement interface: attribute defaultValue +PASS HTMLInputElement interface: attribute value +PASS HTMLInputElement interface: attribute valueAsDate +PASS HTMLInputElement interface: attribute valueAsNumber +PASS HTMLInputElement interface: attribute width +PASS HTMLInputElement interface: operation stepUp(long) +PASS HTMLInputElement interface: operation stepDown(long) +PASS HTMLInputElement interface: attribute willValidate +PASS HTMLInputElement interface: attribute validity +PASS HTMLInputElement interface: attribute validationMessage +PASS HTMLInputElement interface: operation checkValidity() +PASS HTMLInputElement interface: operation reportValidity() +PASS HTMLInputElement interface: operation setCustomValidity(DOMString) +PASS HTMLInputElement interface: attribute labels +PASS HTMLInputElement interface: operation select() +PASS HTMLInputElement interface: attribute selectionStart +PASS HTMLInputElement interface: attribute selectionEnd +PASS HTMLInputElement interface: attribute selectionDirection +PASS HTMLInputElement interface: operation setRangeText(DOMString) +PASS HTMLInputElement interface: operation setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) +PASS HTMLInputElement interface: operation setSelectionRange(unsigned long, unsigned long, DOMString) +PASS HTMLInputElement interface: attribute align +PASS HTMLInputElement interface: attribute useMap +PASS HTMLInputElement must be primary interface of document.createElement("input") +PASS Stringification of document.createElement("input") +PASS HTMLInputElement interface: document.createElement("input") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "form" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "files" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "height" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "list" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "max" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "min" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "name" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "required" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "size" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "src" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "step" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "type" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "value" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "width" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "align" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("text") +PASS Stringification of createInput("text") +PASS HTMLInputElement interface: createInput("text") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("hidden") +PASS Stringification of createInput("hidden") +PASS HTMLInputElement interface: createInput("hidden") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("search") +PASS Stringification of createInput("search") +PASS HTMLInputElement interface: createInput("search") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("tel") +PASS Stringification of createInput("tel") +PASS HTMLInputElement interface: createInput("tel") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("url") +PASS Stringification of createInput("url") +PASS HTMLInputElement interface: createInput("url") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("email") +PASS Stringification of createInput("email") +PASS HTMLInputElement interface: createInput("email") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("password") +PASS Stringification of createInput("password") +PASS HTMLInputElement interface: createInput("password") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("date") +PASS Stringification of createInput("date") +PASS HTMLInputElement interface: createInput("date") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("month") +PASS Stringification of createInput("month") +PASS HTMLInputElement interface: createInput("month") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("week") +PASS Stringification of createInput("week") +PASS HTMLInputElement interface: createInput("week") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("time") +PASS Stringification of createInput("time") +PASS HTMLInputElement interface: createInput("time") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("datetime-local") +PASS Stringification of createInput("datetime-local") +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("number") +PASS Stringification of createInput("number") +PASS HTMLInputElement interface: createInput("number") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("range") +PASS Stringification of createInput("range") +PASS HTMLInputElement interface: createInput("range") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("color") +PASS Stringification of createInput("color") +PASS HTMLInputElement interface: createInput("color") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("checkbox") +PASS Stringification of createInput("checkbox") +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("radio") +PASS Stringification of createInput("radio") +PASS HTMLInputElement interface: createInput("radio") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("file") +PASS Stringification of createInput("file") +PASS HTMLInputElement interface: createInput("file") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("submit") +PASS Stringification of createInput("submit") +PASS HTMLInputElement interface: createInput("submit") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("image") +PASS Stringification of createInput("image") +PASS HTMLInputElement interface: createInput("image") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("reset") +PASS Stringification of createInput("reset") +PASS HTMLInputElement interface: createInput("reset") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("button") +PASS Stringification of createInput("button") +PASS HTMLInputElement interface: createInput("button") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "useMap" with the proper type +PASS HTMLButtonElement interface: existence and properties of interface object +PASS HTMLButtonElement interface object length +PASS HTMLButtonElement interface object name +PASS HTMLButtonElement interface: existence and properties of interface prototype object +PASS HTMLButtonElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLButtonElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLButtonElement interface: attribute disabled +PASS HTMLButtonElement interface: attribute form +PASS HTMLButtonElement interface: attribute formAction +PASS HTMLButtonElement interface: attribute formEnctype +PASS HTMLButtonElement interface: attribute formMethod +PASS HTMLButtonElement interface: attribute formNoValidate +PASS HTMLButtonElement interface: attribute formTarget +PASS HTMLButtonElement interface: attribute name +PASS HTMLButtonElement interface: attribute type +PASS HTMLButtonElement interface: attribute value +PASS HTMLButtonElement interface: attribute willValidate +PASS HTMLButtonElement interface: attribute validity +PASS HTMLButtonElement interface: attribute validationMessage +PASS HTMLButtonElement interface: operation checkValidity() +PASS HTMLButtonElement interface: operation reportValidity() +PASS HTMLButtonElement interface: operation setCustomValidity(DOMString) +PASS HTMLButtonElement interface: attribute labels +PASS HTMLButtonElement must be primary interface of document.createElement("button") +PASS Stringification of document.createElement("button") +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "disabled" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "form" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formAction" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formEnctype" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formMethod" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formNoValidate" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formTarget" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "name" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "type" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "value" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "willValidate" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "validity" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "validationMessage" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "checkValidity()" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "reportValidity()" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLButtonElement interface: calling setCustomValidity(DOMString) on document.createElement("button") with too few arguments must throw TypeError +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "labels" with the proper type +PASS HTMLSelectElement interface: existence and properties of interface object +PASS HTMLSelectElement interface object length +PASS HTMLSelectElement interface object name +PASS HTMLSelectElement interface: existence and properties of interface prototype object +PASS HTMLSelectElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLSelectElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLSelectElement interface: attribute autocomplete +PASS HTMLSelectElement interface: attribute disabled +PASS HTMLSelectElement interface: attribute form +PASS HTMLSelectElement interface: attribute multiple +PASS HTMLSelectElement interface: attribute name +PASS HTMLSelectElement interface: attribute required +PASS HTMLSelectElement interface: attribute size +PASS HTMLSelectElement interface: attribute type +PASS HTMLSelectElement interface: attribute options +PASS HTMLSelectElement interface: attribute length +PASS HTMLSelectElement interface: operation item(unsigned long) +PASS HTMLSelectElement interface: operation namedItem(DOMString) +PASS HTMLSelectElement interface: operation add([object Object],[object Object], [object Object],[object Object]) +PASS HTMLSelectElement interface: operation remove() +PASS HTMLSelectElement interface: operation remove(long) +PASS HTMLSelectElement interface: attribute selectedOptions +PASS HTMLSelectElement interface: attribute selectedIndex +PASS HTMLSelectElement interface: attribute value +PASS HTMLSelectElement interface: attribute willValidate +PASS HTMLSelectElement interface: attribute validity +PASS HTMLSelectElement interface: attribute validationMessage +PASS HTMLSelectElement interface: operation checkValidity() +PASS HTMLSelectElement interface: operation reportValidity() +PASS HTMLSelectElement interface: operation setCustomValidity(DOMString) +PASS HTMLSelectElement interface: attribute labels +PASS HTMLSelectElement must be primary interface of document.createElement("select") +PASS Stringification of document.createElement("select") +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "autocomplete" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "disabled" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "form" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "multiple" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "name" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "required" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "size" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "type" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "options" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "length" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "item(unsigned long)" with the proper type +PASS HTMLSelectElement interface: calling item(unsigned long) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "namedItem(DOMString)" with the proper type +PASS HTMLSelectElement interface: calling namedItem(DOMString) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "add([object Object],[object Object], [object Object],[object Object])" with the proper type +PASS HTMLSelectElement interface: calling add([object Object],[object Object], [object Object],[object Object]) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "remove()" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "remove(long)" with the proper type +PASS HTMLSelectElement interface: calling remove(long) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "selectedOptions" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "selectedIndex" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "value" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "willValidate" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "validity" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "validationMessage" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "checkValidity()" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "reportValidity()" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLSelectElement interface: calling setCustomValidity(DOMString) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "labels" with the proper type +PASS HTMLDataListElement interface: existence and properties of interface object +PASS HTMLDataListElement interface object length +PASS HTMLDataListElement interface object name +PASS HTMLDataListElement interface: existence and properties of interface prototype object +PASS HTMLDataListElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDataListElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDataListElement interface: attribute options +PASS HTMLDataListElement must be primary interface of document.createElement("datalist") +PASS Stringification of document.createElement("datalist") +PASS HTMLDataListElement interface: document.createElement("datalist") must inherit property "options" with the proper type +PASS HTMLOptGroupElement interface: existence and properties of interface object +PASS HTMLOptGroupElement interface object length +PASS HTMLOptGroupElement interface object name +PASS HTMLOptGroupElement interface: existence and properties of interface prototype object +PASS HTMLOptGroupElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOptGroupElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOptGroupElement interface: attribute disabled +PASS HTMLOptGroupElement interface: attribute label +PASS HTMLOptGroupElement must be primary interface of document.createElement("optgroup") +PASS Stringification of document.createElement("optgroup") +PASS HTMLOptGroupElement interface: document.createElement("optgroup") must inherit property "disabled" with the proper type +PASS HTMLOptGroupElement interface: document.createElement("optgroup") must inherit property "label" with the proper type +PASS HTMLOptionElement interface: existence and properties of interface object +PASS HTMLOptionElement interface object length +PASS HTMLOptionElement interface object name +PASS HTMLOptionElement interface: named constructor +PASS HTMLOptionElement interface: named constructor object +PASS HTMLOptionElement interface: named constructor prototype property +PASS HTMLOptionElement interface: named constructor name +PASS HTMLOptionElement interface: named constructor length +PASS HTMLOptionElement interface: named constructor without 'new' +PASS HTMLOptionElement interface: existence and properties of interface prototype object +PASS HTMLOptionElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOptionElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOptionElement interface: attribute disabled +PASS HTMLOptionElement interface: attribute form +PASS HTMLOptionElement interface: attribute label +PASS HTMLOptionElement interface: attribute defaultSelected +PASS HTMLOptionElement interface: attribute selected +PASS HTMLOptionElement interface: attribute value +PASS HTMLOptionElement interface: attribute text +PASS HTMLOptionElement interface: attribute index +PASS HTMLOptionElement must be primary interface of document.createElement("option") +PASS Stringification of document.createElement("option") +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "disabled" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "form" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "label" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "defaultSelected" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "selected" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "value" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "text" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "index" with the proper type +PASS HTMLOptionElement must be primary interface of new Option() +PASS Stringification of new Option() +PASS HTMLOptionElement interface: new Option() must inherit property "disabled" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "form" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "label" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "defaultSelected" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "selected" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "value" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "text" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "index" with the proper type +PASS HTMLTextAreaElement interface: existence and properties of interface object +PASS HTMLTextAreaElement interface object length +PASS HTMLTextAreaElement interface object name +PASS HTMLTextAreaElement interface: existence and properties of interface prototype object +PASS HTMLTextAreaElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTextAreaElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTextAreaElement interface: attribute autocomplete +PASS HTMLTextAreaElement interface: attribute cols +PASS HTMLTextAreaElement interface: attribute dirName +PASS HTMLTextAreaElement interface: attribute disabled +PASS HTMLTextAreaElement interface: attribute form +PASS HTMLTextAreaElement interface: attribute maxLength +PASS HTMLTextAreaElement interface: attribute minLength +PASS HTMLTextAreaElement interface: attribute name +PASS HTMLTextAreaElement interface: attribute placeholder +PASS HTMLTextAreaElement interface: attribute readOnly +PASS HTMLTextAreaElement interface: attribute required +PASS HTMLTextAreaElement interface: attribute rows +PASS HTMLTextAreaElement interface: attribute wrap +PASS HTMLTextAreaElement interface: attribute type +PASS HTMLTextAreaElement interface: attribute defaultValue +PASS HTMLTextAreaElement interface: attribute value +PASS HTMLTextAreaElement interface: attribute textLength +PASS HTMLTextAreaElement interface: attribute willValidate +PASS HTMLTextAreaElement interface: attribute validity +PASS HTMLTextAreaElement interface: attribute validationMessage +PASS HTMLTextAreaElement interface: operation checkValidity() +PASS HTMLTextAreaElement interface: operation reportValidity() +PASS HTMLTextAreaElement interface: operation setCustomValidity(DOMString) +PASS HTMLTextAreaElement interface: attribute labels +PASS HTMLTextAreaElement interface: operation select() +PASS HTMLTextAreaElement interface: attribute selectionStart +PASS HTMLTextAreaElement interface: attribute selectionEnd +PASS HTMLTextAreaElement interface: attribute selectionDirection +PASS HTMLTextAreaElement interface: operation setRangeText(DOMString) +PASS HTMLTextAreaElement interface: operation setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) +PASS HTMLTextAreaElement interface: operation setSelectionRange(unsigned long, unsigned long, DOMString) +PASS HTMLTextAreaElement must be primary interface of document.createElement("textarea") +PASS Stringification of document.createElement("textarea") +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "autocomplete" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "cols" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "dirName" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "disabled" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "form" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "maxLength" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "minLength" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "name" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "placeholder" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "readOnly" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "required" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "rows" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "wrap" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "type" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "defaultValue" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "value" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "textLength" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "willValidate" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "validity" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "validationMessage" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "checkValidity()" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "reportValidity()" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLTextAreaElement interface: calling setCustomValidity(DOMString) on document.createElement("textarea") with too few arguments must throw TypeError +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "labels" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "select()" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionStart" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionEnd" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionDirection" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLTextAreaElement interface: calling setRangeText(DOMString) on document.createElement("textarea") with too few arguments must throw TypeError +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLTextAreaElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on document.createElement("textarea") with too few arguments must throw TypeError +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLTextAreaElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on document.createElement("textarea") with too few arguments must throw TypeError +PASS HTMLOutputElement interface: existence and properties of interface object +PASS HTMLOutputElement interface object length +PASS HTMLOutputElement interface object name +PASS HTMLOutputElement interface: existence and properties of interface prototype object +PASS HTMLOutputElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOutputElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOutputElement interface: attribute htmlFor +PASS HTMLOutputElement interface: attribute form +PASS HTMLOutputElement interface: attribute name +PASS HTMLOutputElement interface: attribute type +PASS HTMLOutputElement interface: attribute defaultValue +PASS HTMLOutputElement interface: attribute value +PASS HTMLOutputElement interface: attribute willValidate +PASS HTMLOutputElement interface: attribute validity +PASS HTMLOutputElement interface: attribute validationMessage +PASS HTMLOutputElement interface: operation checkValidity() +PASS HTMLOutputElement interface: operation reportValidity() +PASS HTMLOutputElement interface: operation setCustomValidity(DOMString) +PASS HTMLOutputElement interface: attribute labels +PASS HTMLOutputElement must be primary interface of document.createElement("output") +PASS Stringification of document.createElement("output") +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "htmlFor" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "form" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "name" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "type" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "defaultValue" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "value" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "willValidate" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "validity" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "validationMessage" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "checkValidity()" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "reportValidity()" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLOutputElement interface: calling setCustomValidity(DOMString) on document.createElement("output") with too few arguments must throw TypeError +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "labels" with the proper type +PASS HTMLProgressElement interface: existence and properties of interface object +PASS HTMLProgressElement interface object length +PASS HTMLProgressElement interface object name +PASS HTMLProgressElement interface: existence and properties of interface prototype object +PASS HTMLProgressElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLProgressElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLProgressElement interface: attribute value +PASS HTMLProgressElement interface: attribute max +PASS HTMLProgressElement interface: attribute position +PASS HTMLProgressElement interface: attribute labels +PASS HTMLProgressElement must be primary interface of document.createElement("progress") +PASS Stringification of document.createElement("progress") +PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "value" with the proper type +PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "max" with the proper type +PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "position" with the proper type +PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "labels" with the proper type +PASS HTMLMeterElement interface: existence and properties of interface object +PASS HTMLMeterElement interface object length +PASS HTMLMeterElement interface object name +PASS HTMLMeterElement interface: existence and properties of interface prototype object +PASS HTMLMeterElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMeterElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMeterElement interface: attribute value +PASS HTMLMeterElement interface: attribute min +PASS HTMLMeterElement interface: attribute max +PASS HTMLMeterElement interface: attribute low +PASS HTMLMeterElement interface: attribute high +PASS HTMLMeterElement interface: attribute optimum +PASS HTMLMeterElement interface: attribute labels +PASS HTMLMeterElement must be primary interface of document.createElement("meter") +PASS Stringification of document.createElement("meter") +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "value" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "min" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "max" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "low" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "high" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "optimum" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "labels" with the proper type +PASS HTMLFieldSetElement interface: existence and properties of interface object +PASS HTMLFieldSetElement interface object length +PASS HTMLFieldSetElement interface object name +PASS HTMLFieldSetElement interface: existence and properties of interface prototype object +PASS HTMLFieldSetElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFieldSetElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFieldSetElement interface: attribute disabled +PASS HTMLFieldSetElement interface: attribute form +PASS HTMLFieldSetElement interface: attribute name +PASS HTMLFieldSetElement interface: attribute type +PASS HTMLFieldSetElement interface: attribute elements +PASS HTMLFieldSetElement interface: attribute willValidate +PASS HTMLFieldSetElement interface: attribute validity +PASS HTMLFieldSetElement interface: attribute validationMessage +PASS HTMLFieldSetElement interface: operation checkValidity() +PASS HTMLFieldSetElement interface: operation reportValidity() +PASS HTMLFieldSetElement interface: operation setCustomValidity(DOMString) +PASS HTMLLegendElement interface: existence and properties of interface object +PASS HTMLLegendElement interface object length +PASS HTMLLegendElement interface object name +PASS HTMLLegendElement interface: existence and properties of interface prototype object +PASS HTMLLegendElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLLegendElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLLegendElement interface: attribute form +PASS HTMLLegendElement interface: attribute align +PASS HTMLLegendElement must be primary interface of document.createElement("legend") +PASS Stringification of document.createElement("legend") +PASS HTMLLegendElement interface: document.createElement("legend") must inherit property "form" with the proper type +PASS HTMLLegendElement interface: document.createElement("legend") must inherit property "align" with the proper type +PASS HTMLDetailsElement interface: existence and properties of interface object +PASS HTMLDetailsElement interface object length +PASS HTMLDetailsElement interface object name +PASS HTMLDetailsElement interface: existence and properties of interface prototype object +PASS HTMLDetailsElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDetailsElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDetailsElement interface: attribute open +PASS HTMLDetailsElement must be primary interface of document.createElement("details") +PASS Stringification of document.createElement("details") +PASS HTMLDetailsElement interface: document.createElement("details") must inherit property "open" with the proper type +PASS HTMLDialogElement interface: existence and properties of interface object +PASS HTMLDialogElement interface object length +PASS HTMLDialogElement interface object name +PASS HTMLDialogElement interface: existence and properties of interface prototype object +PASS HTMLDialogElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDialogElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDialogElement interface: attribute open +PASS HTMLDialogElement interface: attribute returnValue +PASS HTMLDialogElement interface: operation show() +PASS HTMLDialogElement interface: operation showModal() +PASS HTMLDialogElement interface: operation close(DOMString) +PASS HTMLScriptElement interface: existence and properties of interface object +PASS HTMLScriptElement interface object length +PASS HTMLScriptElement interface object name +PASS HTMLScriptElement interface: existence and properties of interface prototype object +PASS HTMLScriptElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLScriptElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLScriptElement interface: attribute src +PASS HTMLScriptElement interface: attribute type +PASS HTMLScriptElement interface: attribute noModule +PASS HTMLScriptElement interface: attribute async +PASS HTMLScriptElement interface: attribute defer +PASS HTMLScriptElement interface: attribute crossOrigin +PASS HTMLScriptElement interface: attribute text +PASS HTMLScriptElement interface: attribute integrity +PASS HTMLScriptElement interface: attribute referrerPolicy +PASS HTMLScriptElement interface: attribute charset +PASS HTMLScriptElement interface: attribute event +PASS HTMLScriptElement interface: attribute htmlFor +PASS HTMLScriptElement must be primary interface of document.createElement("script") +PASS Stringification of document.createElement("script") +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "src" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "type" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "noModule" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "async" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "defer" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "crossOrigin" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "text" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "integrity" with the proper type +FAIL HTMLScriptElement interface: document.createElement("script") must inherit property "referrerPolicy" with the proper type assert_equals: expected "string" but got "object" +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "charset" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "event" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "htmlFor" with the proper type +PASS HTMLTemplateElement interface: existence and properties of interface object +PASS HTMLTemplateElement interface object length +PASS HTMLTemplateElement interface object name +PASS HTMLTemplateElement interface: existence and properties of interface prototype object +PASS HTMLTemplateElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTemplateElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTemplateElement interface: attribute content +PASS HTMLTemplateElement must be primary interface of document.createElement("template") +PASS Stringification of document.createElement("template") +PASS HTMLTemplateElement interface: document.createElement("template") must inherit property "content" with the proper type +PASS HTMLSlotElement interface: existence and properties of interface object +PASS HTMLSlotElement interface object length +PASS HTMLSlotElement interface object name +PASS HTMLSlotElement interface: existence and properties of interface prototype object +PASS HTMLSlotElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLSlotElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLSlotElement interface: attribute name +PASS HTMLSlotElement interface: operation assignedNodes(AssignedNodesOptions) +PASS HTMLSlotElement interface: operation assignedElements(AssignedNodesOptions) +PASS HTMLSlotElement must be primary interface of document.createElement("slot") +PASS Stringification of document.createElement("slot") +PASS HTMLSlotElement interface: document.createElement("slot") must inherit property "name" with the proper type +PASS HTMLSlotElement interface: document.createElement("slot") must inherit property "assignedNodes(AssignedNodesOptions)" with the proper type +PASS HTMLSlotElement interface: calling assignedNodes(AssignedNodesOptions) on document.createElement("slot") with too few arguments must throw TypeError +PASS HTMLSlotElement interface: document.createElement("slot") must inherit property "assignedElements(AssignedNodesOptions)" with the proper type +PASS HTMLSlotElement interface: calling assignedElements(AssignedNodesOptions) on document.createElement("slot") with too few arguments must throw TypeError +PASS HTMLCanvasElement interface: existence and properties of interface object +PASS HTMLCanvasElement interface object length +PASS HTMLCanvasElement interface object name +PASS HTMLCanvasElement interface: existence and properties of interface prototype object +PASS HTMLCanvasElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLCanvasElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLCanvasElement interface: attribute width +PASS HTMLCanvasElement interface: attribute height +PASS HTMLCanvasElement interface: operation getContext(DOMString, any) +PASS HTMLCanvasElement interface: operation toDataURL(DOMString, any) +PASS HTMLCanvasElement interface: operation toBlob(BlobCallback, DOMString, any) +PASS HTMLCanvasElement interface: operation transferControlToOffscreen() +PASS HTMLCanvasElement must be primary interface of document.createElement("canvas") +PASS Stringification of document.createElement("canvas") +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "width" with the proper type +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "height" with the proper type +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "getContext(DOMString, any)" with the proper type +PASS HTMLCanvasElement interface: calling getContext(DOMString, any) on document.createElement("canvas") with too few arguments must throw TypeError +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "toDataURL(DOMString, any)" with the proper type +PASS HTMLCanvasElement interface: calling toDataURL(DOMString, any) on document.createElement("canvas") with too few arguments must throw TypeError +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "toBlob(BlobCallback, DOMString, any)" with the proper type +PASS HTMLCanvasElement interface: calling toBlob(BlobCallback, DOMString, any) on document.createElement("canvas") with too few arguments must throw TypeError +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "transferControlToOffscreen()" with the proper type +PASS HTMLMarqueeElement interface: existence and properties of interface object +PASS HTMLMarqueeElement interface object length +PASS HTMLMarqueeElement interface object name +PASS HTMLMarqueeElement interface: existence and properties of interface prototype object +PASS HTMLMarqueeElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMarqueeElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMarqueeElement interface: attribute behavior +PASS HTMLMarqueeElement interface: attribute bgColor +PASS HTMLMarqueeElement interface: attribute direction +PASS HTMLMarqueeElement interface: attribute height +PASS HTMLMarqueeElement interface: attribute hspace +PASS HTMLMarqueeElement interface: attribute loop +PASS HTMLMarqueeElement interface: attribute scrollAmount +PASS HTMLMarqueeElement interface: attribute scrollDelay +PASS HTMLMarqueeElement interface: attribute trueSpeed +PASS HTMLMarqueeElement interface: attribute vspace +PASS HTMLMarqueeElement interface: attribute width +FAIL HTMLMarqueeElement interface: attribute onbounce assert_true: The prototype object must have a property "onbounce" expected true got false +FAIL HTMLMarqueeElement interface: attribute onfinish assert_true: The prototype object must have a property "onfinish" expected true got false +FAIL HTMLMarqueeElement interface: attribute onstart assert_true: The prototype object must have a property "onstart" expected true got false +PASS HTMLMarqueeElement interface: operation start() +PASS HTMLMarqueeElement interface: operation stop() +PASS HTMLMarqueeElement must be primary interface of document.createElement("marquee") +PASS Stringification of document.createElement("marquee") +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "behavior" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "bgColor" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "direction" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "height" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "hspace" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "loop" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "scrollAmount" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "scrollDelay" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "trueSpeed" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "vspace" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "width" with the proper type +FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onbounce" with the proper type assert_inherits: property "onbounce" not found in prototype chain +FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onfinish" with the proper type assert_inherits: property "onfinish" not found in prototype chain +FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onstart" with the proper type assert_inherits: property "onstart" not found in prototype chain +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "start()" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "stop()" with the proper type +PASS HTMLFrameSetElement interface: existence and properties of interface object +PASS HTMLFrameSetElement interface object length +PASS HTMLFrameSetElement interface object name +PASS HTMLFrameSetElement interface: existence and properties of interface prototype object +PASS HTMLFrameSetElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFrameSetElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFrameSetElement interface: attribute cols +PASS HTMLFrameSetElement interface: attribute rows +PASS HTMLFrameSetElement interface: attribute onafterprint +PASS HTMLFrameSetElement interface: attribute onbeforeprint +PASS HTMLFrameSetElement interface: attribute onbeforeunload +PASS HTMLFrameSetElement interface: attribute onhashchange +PASS HTMLFrameSetElement interface: attribute onlanguagechange +PASS HTMLFrameSetElement interface: attribute onmessage +PASS HTMLFrameSetElement interface: attribute onmessageerror +PASS HTMLFrameSetElement interface: attribute onoffline +PASS HTMLFrameSetElement interface: attribute ononline +PASS HTMLFrameSetElement interface: attribute onpagehide +PASS HTMLFrameSetElement interface: attribute onpageshow +PASS HTMLFrameSetElement interface: attribute onpopstate +PASS HTMLFrameSetElement interface: attribute onrejectionhandled +PASS HTMLFrameSetElement interface: attribute onstorage +PASS HTMLFrameSetElement interface: attribute onunhandledrejection +PASS HTMLFrameSetElement interface: attribute onunload +PASS HTMLFrameSetElement must be primary interface of document.createElement("frameset") +PASS Stringification of document.createElement("frameset") +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "cols" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "rows" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onafterprint" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onbeforeprint" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onbeforeunload" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onhashchange" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onlanguagechange" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onmessage" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onmessageerror" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onoffline" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "ononline" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpagehide" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpageshow" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpopstate" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onrejectionhandled" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onstorage" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onunhandledrejection" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onunload" with the proper type +PASS HTMLFrameElement interface: existence and properties of interface object +PASS HTMLFrameElement interface object length +PASS HTMLFrameElement interface object name +PASS HTMLFrameElement interface: existence and properties of interface prototype object +PASS HTMLFrameElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFrameElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFrameElement interface: attribute name +PASS HTMLFrameElement interface: attribute scrolling +PASS HTMLFrameElement interface: attribute src +PASS HTMLFrameElement interface: attribute frameBorder +PASS HTMLFrameElement interface: attribute longDesc +PASS HTMLFrameElement interface: attribute noResize +PASS HTMLFrameElement interface: attribute contentDocument +PASS HTMLFrameElement interface: attribute contentWindow +PASS HTMLFrameElement interface: attribute marginHeight +PASS HTMLFrameElement interface: attribute marginWidth +PASS HTMLFrameElement must be primary interface of document.createElement("frame") +PASS Stringification of document.createElement("frame") +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "name" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "scrolling" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "src" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "frameBorder" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "longDesc" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "noResize" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "contentDocument" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "contentWindow" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "marginHeight" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "marginWidth" with the proper type +PASS HTMLDirectoryElement interface: existence and properties of interface object +PASS HTMLDirectoryElement interface object length +PASS HTMLDirectoryElement interface object name +PASS HTMLDirectoryElement interface: existence and properties of interface prototype object +PASS HTMLDirectoryElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDirectoryElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDirectoryElement interface: attribute compact +PASS HTMLDirectoryElement must be primary interface of document.createElement("dir") +PASS Stringification of document.createElement("dir") +PASS HTMLDirectoryElement interface: document.createElement("dir") must inherit property "compact" with the proper type +PASS HTMLFontElement interface: existence and properties of interface object +PASS HTMLFontElement interface object length +PASS HTMLFontElement interface object name +PASS HTMLFontElement interface: existence and properties of interface prototype object +PASS HTMLFontElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFontElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFontElement interface: attribute color +PASS HTMLFontElement interface: attribute face +PASS HTMLFontElement interface: attribute size +PASS HTMLFontElement must be primary interface of document.createElement("font") +PASS Stringification of document.createElement("font") +PASS HTMLFontElement interface: document.createElement("font") must inherit property "color" with the proper type +PASS HTMLFontElement interface: document.createElement("font") must inherit property "face" with the proper type +PASS HTMLFontElement interface: document.createElement("font") must inherit property "size" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/html/webappapis/scripting/events/event-handler-attributes-windowless-body-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/html/webappapis/scripting/events/event-handler-attributes-windowless-body-expected.txt new file mode 100644 index 0000000..9ce3c84 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-retina/external/wpt/html/webappapis/scripting/events/event-handler-attributes-windowless-body-expected.txt
@@ -0,0 +1,210 @@ +This is a testharness.js-based test. +Found 206 tests; 202 PASS, 4 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS Return null when getting the blur event handler of a windowless body +PASS Ignore setting of blur window event handlers on windowless body +PASS Return null when getting the error event handler of a windowless body +PASS Ignore setting of error window event handlers on windowless body +PASS Return null when getting the focus event handler of a windowless body +PASS Ignore setting of focus window event handlers on windowless body +PASS Return null when getting the load event handler of a windowless body +PASS Ignore setting of load window event handlers on windowless body +PASS Return null when getting the resize event handler of a windowless body +PASS Ignore setting of resize window event handlers on windowless body +PASS Return null when getting the scroll event handler of a windowless body +PASS Ignore setting of scroll window event handlers on windowless body +PASS Return null when getting the afterprint event handler of a windowless body +PASS Ignore setting of afterprint window event handlers on windowless body +PASS Return null when getting the beforeprint event handler of a windowless body +PASS Ignore setting of beforeprint window event handlers on windowless body +PASS Return null when getting the beforeunload event handler of a windowless body +PASS Ignore setting of beforeunload window event handlers on windowless body +PASS Return null when getting the hashchange event handler of a windowless body +PASS Ignore setting of hashchange window event handlers on windowless body +PASS Return null when getting the languagechange event handler of a windowless body +PASS Ignore setting of languagechange window event handlers on windowless body +PASS Return null when getting the message event handler of a windowless body +PASS Ignore setting of message window event handlers on windowless body +PASS Return null when getting the messageerror event handler of a windowless body +PASS Ignore setting of messageerror window event handlers on windowless body +PASS Return null when getting the offline event handler of a windowless body +PASS Ignore setting of offline window event handlers on windowless body +PASS Return null when getting the online event handler of a windowless body +PASS Ignore setting of online window event handlers on windowless body +PASS Return null when getting the pagehide event handler of a windowless body +PASS Ignore setting of pagehide window event handlers on windowless body +PASS Return null when getting the pageshow event handler of a windowless body +PASS Ignore setting of pageshow window event handlers on windowless body +PASS Return null when getting the popstate event handler of a windowless body +PASS Ignore setting of popstate window event handlers on windowless body +PASS Return null when getting the rejectionhandled event handler of a windowless body +PASS Ignore setting of rejectionhandled window event handlers on windowless body +PASS Return null when getting the storage event handler of a windowless body +PASS Ignore setting of storage window event handlers on windowless body +PASS Return null when getting the unhandledrejection event handler of a windowless body +PASS Ignore setting of unhandledrejection window event handlers on windowless body +PASS Return null when getting the unload event handler of a windowless body +PASS Ignore setting of unload window event handlers on windowless body +PASS abort is unaffected on a windowless body +PASS auxclick is unaffected on a windowless body +PASS cancel is unaffected on a windowless body +PASS canplay is unaffected on a windowless body +PASS canplaythrough is unaffected on a windowless body +PASS change is unaffected on a windowless body +PASS click is unaffected on a windowless body +PASS close is unaffected on a windowless body +PASS contextmenu is unaffected on a windowless body +PASS cuechange is unaffected on a windowless body +PASS dblclick is unaffected on a windowless body +PASS drag is unaffected on a windowless body +PASS dragend is unaffected on a windowless body +PASS dragenter is unaffected on a windowless body +FAIL dragexit is unaffected on a windowless body assert_equals: expected (object) null but got (undefined) undefined +PASS dragleave is unaffected on a windowless body +PASS dragover is unaffected on a windowless body +PASS dragstart is unaffected on a windowless body +PASS drop is unaffected on a windowless body +PASS durationchange is unaffected on a windowless body +PASS emptied is unaffected on a windowless body +PASS ended is unaffected on a windowless body +PASS formdata is unaffected on a windowless body +PASS input is unaffected on a windowless body +PASS invalid is unaffected on a windowless body +PASS keydown is unaffected on a windowless body +PASS keypress is unaffected on a windowless body +PASS keyup is unaffected on a windowless body +PASS loadeddata is unaffected on a windowless body +PASS loadedmetadata is unaffected on a windowless body +PASS loadstart is unaffected on a windowless body +PASS mousedown is unaffected on a windowless body +PASS mouseenter is unaffected on a windowless body +PASS mouseleave is unaffected on a windowless body +PASS mousemove is unaffected on a windowless body +PASS mouseout is unaffected on a windowless body +PASS mouseover is unaffected on a windowless body +PASS mouseup is unaffected on a windowless body +PASS wheel is unaffected on a windowless body +PASS pause is unaffected on a windowless body +PASS play is unaffected on a windowless body +PASS playing is unaffected on a windowless body +PASS progress is unaffected on a windowless body +PASS ratechange is unaffected on a windowless body +PASS reset is unaffected on a windowless body +FAIL securitypolicyviolation is unaffected on a windowless body assert_equals: expected (object) null but got (undefined) undefined +PASS seeked is unaffected on a windowless body +PASS seeking is unaffected on a windowless body +PASS select is unaffected on a windowless body +PASS stalled is unaffected on a windowless body +PASS submit is unaffected on a windowless body +PASS suspend is unaffected on a windowless body +PASS timeupdate is unaffected on a windowless body +PASS toggle is unaffected on a windowless body +PASS volumechange is unaffected on a windowless body +PASS waiting is unaffected on a windowless body +PASS copy is unaffected on a windowless body +PASS cut is unaffected on a windowless body +PASS paste is unaffected on a windowless body +PASS Return null when getting the blur event handler of a windowless frameset +PASS Ignore setting of blur window event handlers on windowless frameset +PASS Return null when getting the error event handler of a windowless frameset +PASS Ignore setting of error window event handlers on windowless frameset +PASS Return null when getting the focus event handler of a windowless frameset +PASS Ignore setting of focus window event handlers on windowless frameset +PASS Return null when getting the load event handler of a windowless frameset +PASS Ignore setting of load window event handlers on windowless frameset +PASS Return null when getting the resize event handler of a windowless frameset +PASS Ignore setting of resize window event handlers on windowless frameset +PASS Return null when getting the scroll event handler of a windowless frameset +PASS Ignore setting of scroll window event handlers on windowless frameset +PASS Return null when getting the afterprint event handler of a windowless frameset +PASS Ignore setting of afterprint window event handlers on windowless frameset +PASS Return null when getting the beforeprint event handler of a windowless frameset +PASS Ignore setting of beforeprint window event handlers on windowless frameset +PASS Return null when getting the beforeunload event handler of a windowless frameset +PASS Ignore setting of beforeunload window event handlers on windowless frameset +PASS Return null when getting the hashchange event handler of a windowless frameset +PASS Ignore setting of hashchange window event handlers on windowless frameset +PASS Return null when getting the languagechange event handler of a windowless frameset +PASS Ignore setting of languagechange window event handlers on windowless frameset +PASS Return null when getting the message event handler of a windowless frameset +PASS Ignore setting of message window event handlers on windowless frameset +PASS Return null when getting the messageerror event handler of a windowless frameset +PASS Ignore setting of messageerror window event handlers on windowless frameset +PASS Return null when getting the offline event handler of a windowless frameset +PASS Ignore setting of offline window event handlers on windowless frameset +PASS Return null when getting the online event handler of a windowless frameset +PASS Ignore setting of online window event handlers on windowless frameset +PASS Return null when getting the pagehide event handler of a windowless frameset +PASS Ignore setting of pagehide window event handlers on windowless frameset +PASS Return null when getting the pageshow event handler of a windowless frameset +PASS Ignore setting of pageshow window event handlers on windowless frameset +PASS Return null when getting the popstate event handler of a windowless frameset +PASS Ignore setting of popstate window event handlers on windowless frameset +PASS Return null when getting the rejectionhandled event handler of a windowless frameset +PASS Ignore setting of rejectionhandled window event handlers on windowless frameset +PASS Return null when getting the storage event handler of a windowless frameset +PASS Ignore setting of storage window event handlers on windowless frameset +PASS Return null when getting the unhandledrejection event handler of a windowless frameset +PASS Ignore setting of unhandledrejection window event handlers on windowless frameset +PASS Return null when getting the unload event handler of a windowless frameset +PASS Ignore setting of unload window event handlers on windowless frameset +PASS abort is unaffected on a windowless frameset +PASS auxclick is unaffected on a windowless frameset +PASS cancel is unaffected on a windowless frameset +PASS canplay is unaffected on a windowless frameset +PASS canplaythrough is unaffected on a windowless frameset +PASS change is unaffected on a windowless frameset +PASS click is unaffected on a windowless frameset +PASS close is unaffected on a windowless frameset +PASS contextmenu is unaffected on a windowless frameset +PASS cuechange is unaffected on a windowless frameset +PASS dblclick is unaffected on a windowless frameset +PASS drag is unaffected on a windowless frameset +PASS dragend is unaffected on a windowless frameset +PASS dragenter is unaffected on a windowless frameset +FAIL dragexit is unaffected on a windowless frameset assert_equals: expected (object) null but got (undefined) undefined +PASS dragleave is unaffected on a windowless frameset +PASS dragover is unaffected on a windowless frameset +PASS dragstart is unaffected on a windowless frameset +PASS drop is unaffected on a windowless frameset +PASS durationchange is unaffected on a windowless frameset +PASS emptied is unaffected on a windowless frameset +PASS ended is unaffected on a windowless frameset +PASS formdata is unaffected on a windowless frameset +PASS input is unaffected on a windowless frameset +PASS invalid is unaffected on a windowless frameset +PASS keydown is unaffected on a windowless frameset +PASS keypress is unaffected on a windowless frameset +PASS keyup is unaffected on a windowless frameset +PASS loadeddata is unaffected on a windowless frameset +PASS loadedmetadata is unaffected on a windowless frameset +PASS loadstart is unaffected on a windowless frameset +PASS mousedown is unaffected on a windowless frameset +PASS mouseenter is unaffected on a windowless frameset +PASS mouseleave is unaffected on a windowless frameset +PASS mousemove is unaffected on a windowless frameset +PASS mouseout is unaffected on a windowless frameset +PASS mouseover is unaffected on a windowless frameset +PASS mouseup is unaffected on a windowless frameset +PASS wheel is unaffected on a windowless frameset +PASS pause is unaffected on a windowless frameset +PASS play is unaffected on a windowless frameset +PASS playing is unaffected on a windowless frameset +PASS progress is unaffected on a windowless frameset +PASS ratechange is unaffected on a windowless frameset +PASS reset is unaffected on a windowless frameset +FAIL securitypolicyviolation is unaffected on a windowless frameset assert_equals: expected (object) null but got (undefined) undefined +PASS seeked is unaffected on a windowless frameset +PASS seeking is unaffected on a windowless frameset +PASS select is unaffected on a windowless frameset +PASS stalled is unaffected on a windowless frameset +PASS submit is unaffected on a windowless frameset +PASS suspend is unaffected on a windowless frameset +PASS timeupdate is unaffected on a windowless frameset +PASS toggle is unaffected on a windowless frameset +PASS volumechange is unaffected on a windowless frameset +PASS waiting is unaffected on a windowless frameset +PASS copy is unaffected on a windowless frameset +PASS cut is unaffected on a windowless frameset +PASS paste is unaffected on a windowless frameset +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/idle-detection/idlharness.https.any-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/idle-detection/idlharness.https.any-expected.txt new file mode 100644 index 0000000..41bb15de --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-retina/external/wpt/idle-detection/idlharness.https.any-expected.txt
@@ -0,0 +1,32 @@ +This is a testharness.js-based test. +PASS Test IDL implementation of Idle Detection API +PASS IdleDetector interface: existence and properties of interface object +PASS IdleDetector interface object length +PASS IdleDetector interface object name +PASS IdleDetector interface: existence and properties of interface prototype object +PASS IdleDetector interface: existence and properties of interface prototype object's "constructor" property +PASS IdleDetector interface: existence and properties of interface prototype object's @@unscopables property +PASS IdleDetector interface: attribute state +PASS IdleDetector interface: attribute onchange +PASS IdleDetector interface: operation start() +PASS IdleDetector interface: operation stop() +PASS IdleDetector must be primary interface of idle +PASS Stringification of idle +PASS IdleDetector interface: idle must inherit property "state" with the proper type +PASS IdleDetector interface: idle must inherit property "onchange" with the proper type +PASS IdleDetector interface: idle must inherit property "start()" with the proper type +PASS IdleDetector interface: idle must inherit property "stop()" with the proper type +PASS IdleState interface: existence and properties of interface object +PASS IdleState interface object length +PASS IdleState interface object name +PASS IdleState interface: existence and properties of interface prototype object +PASS IdleState interface: existence and properties of interface prototype object's "constructor" property +PASS IdleState interface: existence and properties of interface prototype object's @@unscopables property +PASS IdleState interface: attribute user +PASS IdleState interface: attribute screen +PASS IdleState must be primary interface of idle.state +PASS Stringification of idle.state +PASS IdleState interface: idle.state must inherit property "user" with the proper type +PASS IdleState interface: idle.state must inherit property "screen" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/notifications/idlharness.https.any.serviceworker-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/notifications/idlharness.https.any.serviceworker-expected.txt new file mode 100644 index 0000000..860bff6 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-retina/external/wpt/notifications/idlharness.https.any.serviceworker-expected.txt
@@ -0,0 +1,49 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface ServiceWorkerRegistration: original interface defined +PASS Partial interface ServiceWorkerGlobalScope: original interface defined +PASS Notification interface: existence and properties of interface object +PASS Notification interface object length +PASS Notification interface object name +PASS Notification interface: existence and properties of interface prototype object +PASS Notification interface: existence and properties of interface prototype object's "constructor" property +PASS Notification interface: existence and properties of interface prototype object's @@unscopables property +PASS Notification interface: attribute permission +PASS Notification interface: member requestPermission +PASS Notification interface: attribute maxActions +PASS Notification interface: attribute onclick +PASS Notification interface: attribute onshow +PASS Notification interface: attribute onerror +PASS Notification interface: attribute onclose +PASS Notification interface: attribute title +PASS Notification interface: attribute dir +PASS Notification interface: attribute lang +PASS Notification interface: attribute body +PASS Notification interface: attribute tag +PASS Notification interface: attribute image +PASS Notification interface: attribute icon +PASS Notification interface: attribute badge +PASS Notification interface: attribute vibrate +PASS Notification interface: attribute timestamp +PASS Notification interface: attribute renotify +PASS Notification interface: attribute silent +PASS Notification interface: attribute requireInteraction +PASS Notification interface: attribute data +PASS Notification interface: attribute actions +PASS Notification interface: operation close() +PASS NotificationEvent interface: existence and properties of interface object +PASS NotificationEvent interface object length +PASS NotificationEvent interface object name +PASS NotificationEvent interface: existence and properties of interface prototype object +PASS NotificationEvent interface: existence and properties of interface prototype object's "constructor" property +PASS NotificationEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS NotificationEvent interface: attribute notification +PASS NotificationEvent interface: attribute action +PASS ServiceWorkerRegistration interface: operation showNotification(DOMString, NotificationOptions) +PASS ServiceWorkerRegistration interface: operation getNotifications(GetNotificationOptions) +PASS ServiceWorkerGlobalScope interface: attribute onnotificationclick +PASS ServiceWorkerGlobalScope interface: attribute onnotificationclose +PASS ServiceWorkerGlobalScope interface: self must inherit property "onnotificationclick" with the proper type +PASS ServiceWorkerGlobalScope interface: self must inherit property "onnotificationclose" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/push-api/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/push-api/idlharness.https.any.worker-expected.txt new file mode 100644 index 0000000..b62d5df3 --- /dev/null +++ b/third_party/blink/web_tests/platform/mac-retina/external/wpt/push-api/idlharness.https.any.worker-expected.txt
@@ -0,0 +1,43 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface ServiceWorkerRegistration: original interface defined +PASS Partial interface ServiceWorkerGlobalScope: original interface defined +PASS Partial interface ServiceWorkerGlobalScope: valid exposure set +PASS PushManager interface: existence and properties of interface object +PASS PushManager interface object length +PASS PushManager interface object name +PASS PushManager interface: existence and properties of interface prototype object +PASS PushManager interface: existence and properties of interface prototype object's "constructor" property +PASS PushManager interface: existence and properties of interface prototype object's @@unscopables property +PASS PushManager interface: attribute supportedContentEncodings +PASS PushManager interface: operation subscribe(PushSubscriptionOptionsInit) +PASS PushManager interface: operation getSubscription() +PASS PushManager interface: operation permissionState(PushSubscriptionOptionsInit) +PASS PushSubscriptionOptions interface: existence and properties of interface object +PASS PushSubscriptionOptions interface object length +PASS PushSubscriptionOptions interface object name +PASS PushSubscriptionOptions interface: existence and properties of interface prototype object +PASS PushSubscriptionOptions interface: existence and properties of interface prototype object's "constructor" property +PASS PushSubscriptionOptions interface: existence and properties of interface prototype object's @@unscopables property +PASS PushSubscriptionOptions interface: attribute userVisibleOnly +PASS PushSubscriptionOptions interface: attribute applicationServerKey +PASS PushSubscription interface: existence and properties of interface object +PASS PushSubscription interface object length +PASS PushSubscription interface object name +PASS PushSubscription interface: existence and properties of interface prototype object +PASS PushSubscription interface: existence and properties of interface prototype object's "constructor" property +PASS PushSubscription interface: existence and properties of interface prototype object's @@unscopables property +PASS PushSubscription interface: attribute endpoint +PASS PushSubscription interface: attribute expirationTime +PASS PushSubscription interface: attribute options +PASS PushSubscription interface: operation getKey(PushEncryptionKeyName) +PASS PushSubscription interface: operation unsubscribe() +PASS PushSubscription interface: operation toJSON() +PASS PushMessageData interface: existence and properties of interface object +PASS PushEvent interface: existence and properties of interface object +PASS PushSubscriptionChangeEvent interface: existence and properties of interface object +PASS ServiceWorkerRegistration interface: attribute pushManager +PASS ServiceWorkerGlobalScope interface: existence and properties of interface object +PASS ExtendableEvent interface: existence and properties of interface object +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/mac/virtual/forced-colors/fast/css/forced-colors-mode/backplate/forced-colors-mode-backplate-11-expected.png b/third_party/blink/web_tests/platform/mac/virtual/forced-colors/fast/css/forced-colors-mode/backplate/forced-colors-mode-backplate-11-expected.png new file mode 100644 index 0000000..d2b745a --- /dev/null +++ b/third_party/blink/web_tests/platform/mac/virtual/forced-colors/fast/css/forced-colors-mode/backplate/forced-colors-mode-backplate-11-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/IndexedDB/idlharness.any.serviceworker-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/IndexedDB/idlharness.any.serviceworker-expected.txt new file mode 100644 index 0000000..cf73abdc --- /dev/null +++ b/third_party/blink/web_tests/platform/win/external/wpt/IndexedDB/idlharness.any.serviceworker-expected.txt
@@ -0,0 +1,189 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined +PASS IDBRequest interface: existence and properties of interface object +PASS IDBRequest interface object length +PASS IDBRequest interface object name +PASS IDBRequest interface: existence and properties of interface prototype object +PASS IDBRequest interface: existence and properties of interface prototype object's "constructor" property +PASS IDBRequest interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBRequest interface: attribute result +PASS IDBRequest interface: attribute error +PASS IDBRequest interface: attribute source +PASS IDBRequest interface: attribute transaction +PASS IDBRequest interface: attribute readyState +PASS IDBRequest interface: attribute onsuccess +PASS IDBRequest interface: attribute onerror +PASS IDBOpenDBRequest interface: existence and properties of interface object +PASS IDBOpenDBRequest interface object length +PASS IDBOpenDBRequest interface object name +PASS IDBOpenDBRequest interface: existence and properties of interface prototype object +PASS IDBOpenDBRequest interface: existence and properties of interface prototype object's "constructor" property +PASS IDBOpenDBRequest interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBOpenDBRequest interface: attribute onblocked +PASS IDBOpenDBRequest interface: attribute onupgradeneeded +PASS IDBVersionChangeEvent interface: existence and properties of interface object +PASS IDBVersionChangeEvent interface object length +PASS IDBVersionChangeEvent interface object name +PASS IDBVersionChangeEvent interface: existence and properties of interface prototype object +PASS IDBVersionChangeEvent interface: existence and properties of interface prototype object's "constructor" property +PASS IDBVersionChangeEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBVersionChangeEvent interface: attribute oldVersion +PASS IDBVersionChangeEvent interface: attribute newVersion +PASS IDBVersionChangeEvent must be primary interface of new IDBVersionChangeEvent("type") +PASS Stringification of new IDBVersionChangeEvent("type") +PASS IDBVersionChangeEvent interface: new IDBVersionChangeEvent("type") must inherit property "oldVersion" with the proper type +PASS IDBVersionChangeEvent interface: new IDBVersionChangeEvent("type") must inherit property "newVersion" with the proper type +PASS IDBFactory interface: existence and properties of interface object +PASS IDBFactory interface object length +PASS IDBFactory interface object name +PASS IDBFactory interface: existence and properties of interface prototype object +PASS IDBFactory interface: existence and properties of interface prototype object's "constructor" property +PASS IDBFactory interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBFactory interface: operation open(DOMString, unsigned long long) +PASS IDBFactory interface: operation deleteDatabase(DOMString) +PASS IDBFactory interface: operation databases() +PASS IDBFactory interface: operation cmp(any, any) +PASS IDBFactory must be primary interface of [object IDBFactory] +PASS Stringification of [object IDBFactory] +PASS IDBFactory interface: [object IDBFactory] must inherit property "open(DOMString, unsigned long long)" with the proper type +PASS IDBFactory interface: calling open(DOMString, unsigned long long) on [object IDBFactory] with too few arguments must throw TypeError +PASS IDBFactory interface: [object IDBFactory] must inherit property "deleteDatabase(DOMString)" with the proper type +PASS IDBFactory interface: calling deleteDatabase(DOMString) on [object IDBFactory] with too few arguments must throw TypeError +PASS IDBFactory interface: [object IDBFactory] must inherit property "databases()" with the proper type +PASS IDBFactory interface: [object IDBFactory] must inherit property "cmp(any, any)" with the proper type +PASS IDBFactory interface: calling cmp(any, any) on [object IDBFactory] with too few arguments must throw TypeError +PASS IDBDatabase interface: existence and properties of interface object +PASS IDBDatabase interface object length +PASS IDBDatabase interface object name +PASS IDBDatabase interface: existence and properties of interface prototype object +PASS IDBDatabase interface: existence and properties of interface prototype object's "constructor" property +PASS IDBDatabase interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBDatabase interface: attribute name +PASS IDBDatabase interface: attribute version +PASS IDBDatabase interface: attribute objectStoreNames +PASS IDBDatabase interface: operation transaction([object Object],[object Object], IDBTransactionMode) +PASS IDBDatabase interface: operation close() +PASS IDBDatabase interface: operation createObjectStore(DOMString, IDBObjectStoreParameters) +PASS IDBDatabase interface: operation deleteObjectStore(DOMString) +PASS IDBDatabase interface: attribute onabort +PASS IDBDatabase interface: attribute onclose +PASS IDBDatabase interface: attribute onerror +PASS IDBDatabase interface: attribute onversionchange +PASS IDBObjectStore interface: existence and properties of interface object +PASS IDBObjectStore interface object length +PASS IDBObjectStore interface object name +PASS IDBObjectStore interface: existence and properties of interface prototype object +PASS IDBObjectStore interface: existence and properties of interface prototype object's "constructor" property +PASS IDBObjectStore interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBObjectStore interface: attribute name +PASS IDBObjectStore interface: attribute keyPath +PASS IDBObjectStore interface: attribute indexNames +PASS IDBObjectStore interface: attribute transaction +PASS IDBObjectStore interface: attribute autoIncrement +PASS IDBObjectStore interface: operation put(any, any) +PASS IDBObjectStore interface: operation add(any, any) +PASS IDBObjectStore interface: operation delete(any) +PASS IDBObjectStore interface: operation clear() +PASS IDBObjectStore interface: operation get(any) +PASS IDBObjectStore interface: operation getKey(any) +PASS IDBObjectStore interface: operation getAll(any, unsigned long) +PASS IDBObjectStore interface: operation getAllKeys(any, unsigned long) +PASS IDBObjectStore interface: operation count(any) +PASS IDBObjectStore interface: operation openCursor(any, IDBCursorDirection) +PASS IDBObjectStore interface: operation openKeyCursor(any, IDBCursorDirection) +PASS IDBObjectStore interface: operation index(DOMString) +PASS IDBObjectStore interface: operation createIndex(DOMString, [object Object],[object Object], IDBIndexParameters) +PASS IDBObjectStore interface: operation deleteIndex(DOMString) +PASS IDBIndex interface: existence and properties of interface object +PASS IDBIndex interface object length +PASS IDBIndex interface object name +PASS IDBIndex interface: existence and properties of interface prototype object +PASS IDBIndex interface: existence and properties of interface prototype object's "constructor" property +PASS IDBIndex interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBIndex interface: attribute name +PASS IDBIndex interface: attribute objectStore +PASS IDBIndex interface: attribute keyPath +PASS IDBIndex interface: attribute multiEntry +PASS IDBIndex interface: attribute unique +PASS IDBIndex interface: operation get(any) +PASS IDBIndex interface: operation getKey(any) +PASS IDBIndex interface: operation getAll(any, unsigned long) +PASS IDBIndex interface: operation getAllKeys(any, unsigned long) +PASS IDBIndex interface: operation count(any) +PASS IDBIndex interface: operation openCursor(any, IDBCursorDirection) +PASS IDBIndex interface: operation openKeyCursor(any, IDBCursorDirection) +PASS IDBKeyRange interface: existence and properties of interface object +PASS IDBKeyRange interface object length +PASS IDBKeyRange interface object name +PASS IDBKeyRange interface: existence and properties of interface prototype object +PASS IDBKeyRange interface: existence and properties of interface prototype object's "constructor" property +PASS IDBKeyRange interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBKeyRange interface: attribute lower +PASS IDBKeyRange interface: attribute upper +PASS IDBKeyRange interface: attribute lowerOpen +PASS IDBKeyRange interface: attribute upperOpen +PASS IDBKeyRange interface: operation only(any) +PASS IDBKeyRange interface: operation lowerBound(any, boolean) +PASS IDBKeyRange interface: operation upperBound(any, boolean) +PASS IDBKeyRange interface: operation bound(any, any, boolean, boolean) +PASS IDBKeyRange interface: operation includes(any) +PASS IDBKeyRange must be primary interface of [object IDBKeyRange] +PASS Stringification of [object IDBKeyRange] +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lower" with the proper type +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upper" with the proper type +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lowerOpen" with the proper type +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upperOpen" with the proper type +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "only(any)" with the proper type +PASS IDBKeyRange interface: calling only(any) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "lowerBound(any, boolean)" with the proper type +PASS IDBKeyRange interface: calling lowerBound(any, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "upperBound(any, boolean)" with the proper type +PASS IDBKeyRange interface: calling upperBound(any, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "bound(any, any, boolean, boolean)" with the proper type +PASS IDBKeyRange interface: calling bound(any, any, boolean, boolean) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "includes(any)" with the proper type +PASS IDBKeyRange interface: calling includes(any) on [object IDBKeyRange] with too few arguments must throw TypeError +PASS IDBCursor interface: existence and properties of interface object +PASS IDBCursor interface object length +PASS IDBCursor interface object name +PASS IDBCursor interface: existence and properties of interface prototype object +PASS IDBCursor interface: existence and properties of interface prototype object's "constructor" property +PASS IDBCursor interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBCursor interface: attribute source +PASS IDBCursor interface: attribute direction +PASS IDBCursor interface: attribute key +PASS IDBCursor interface: attribute primaryKey +PASS IDBCursor interface: attribute request +PASS IDBCursor interface: operation advance(unsigned long) +PASS IDBCursor interface: operation continue(any) +PASS IDBCursor interface: operation continuePrimaryKey(any, any) +PASS IDBCursor interface: operation update(any) +PASS IDBCursor interface: operation delete() +PASS IDBCursorWithValue interface: existence and properties of interface object +PASS IDBCursorWithValue interface object length +PASS IDBCursorWithValue interface object name +PASS IDBCursorWithValue interface: existence and properties of interface prototype object +PASS IDBCursorWithValue interface: existence and properties of interface prototype object's "constructor" property +PASS IDBCursorWithValue interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBCursorWithValue interface: attribute value +PASS IDBTransaction interface: existence and properties of interface object +PASS IDBTransaction interface object length +PASS IDBTransaction interface object name +PASS IDBTransaction interface: existence and properties of interface prototype object +PASS IDBTransaction interface: existence and properties of interface prototype object's "constructor" property +PASS IDBTransaction interface: existence and properties of interface prototype object's @@unscopables property +PASS IDBTransaction interface: attribute objectStoreNames +PASS IDBTransaction interface: attribute mode +PASS IDBTransaction interface: attribute db +PASS IDBTransaction interface: attribute error +PASS IDBTransaction interface: operation objectStore(DOMString) +PASS IDBTransaction interface: operation commit() +PASS IDBTransaction interface: operation abort() +PASS IDBTransaction interface: attribute onabort +PASS IDBTransaction interface: attribute oncomplete +PASS IDBTransaction interface: attribute onerror +PASS Window interface: existence and properties of interface object +PASS WorkerGlobalScope interface: attribute indexedDB +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/WebCryptoAPI/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/WebCryptoAPI/idlharness.https.any.worker-expected.txt new file mode 100644 index 0000000..482b74a --- /dev/null +++ b/third_party/blink/web_tests/platform/win/external/wpt/WebCryptoAPI/idlharness.https.any.worker-expected.txt
@@ -0,0 +1,74 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined +PASS Crypto interface: existence and properties of interface object +PASS Crypto interface object length +PASS Crypto interface object name +PASS Crypto interface: existence and properties of interface prototype object +PASS Crypto interface: existence and properties of interface prototype object's "constructor" property +PASS Crypto interface: existence and properties of interface prototype object's @@unscopables property +PASS Crypto interface: attribute subtle +PASS Crypto interface: operation getRandomValues(ArrayBufferView) +PASS Crypto must be primary interface of crypto +PASS Stringification of crypto +PASS Crypto interface: crypto must inherit property "subtle" with the proper type +PASS Crypto interface: crypto must inherit property "getRandomValues(ArrayBufferView)" with the proper type +PASS Crypto interface: calling getRandomValues(ArrayBufferView) on crypto with too few arguments must throw TypeError +PASS CryptoKey interface: existence and properties of interface object +PASS CryptoKey interface object length +PASS CryptoKey interface object name +PASS CryptoKey interface: existence and properties of interface prototype object +PASS CryptoKey interface: existence and properties of interface prototype object's "constructor" property +PASS CryptoKey interface: existence and properties of interface prototype object's @@unscopables property +PASS CryptoKey interface: attribute type +PASS CryptoKey interface: attribute extractable +PASS CryptoKey interface: attribute algorithm +PASS CryptoKey interface: attribute usages +PASS SubtleCrypto interface: existence and properties of interface object +PASS SubtleCrypto interface object length +PASS SubtleCrypto interface object name +PASS SubtleCrypto interface: existence and properties of interface prototype object +PASS SubtleCrypto interface: existence and properties of interface prototype object's "constructor" property +PASS SubtleCrypto interface: existence and properties of interface prototype object's @@unscopables property +PASS SubtleCrypto interface: operation encrypt(AlgorithmIdentifier, CryptoKey, BufferSource) +PASS SubtleCrypto interface: operation decrypt(AlgorithmIdentifier, CryptoKey, BufferSource) +PASS SubtleCrypto interface: operation sign(AlgorithmIdentifier, CryptoKey, BufferSource) +PASS SubtleCrypto interface: operation verify(AlgorithmIdentifier, CryptoKey, BufferSource, BufferSource) +PASS SubtleCrypto interface: operation digest(AlgorithmIdentifier, BufferSource) +PASS SubtleCrypto interface: operation generateKey(AlgorithmIdentifier, boolean, [object Object]) +PASS SubtleCrypto interface: operation deriveKey(AlgorithmIdentifier, CryptoKey, AlgorithmIdentifier, boolean, [object Object]) +PASS SubtleCrypto interface: operation deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) +PASS SubtleCrypto interface: operation importKey(KeyFormat, [object Object],[object Object], AlgorithmIdentifier, boolean, [object Object]) +PASS SubtleCrypto interface: operation exportKey(KeyFormat, CryptoKey) +PASS SubtleCrypto interface: operation wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier) +PASS SubtleCrypto interface: operation unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, [object Object]) +PASS SubtleCrypto must be primary interface of crypto.subtle +PASS Stringification of crypto.subtle +PASS SubtleCrypto interface: crypto.subtle must inherit property "encrypt(AlgorithmIdentifier, CryptoKey, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling encrypt(AlgorithmIdentifier, CryptoKey, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "decrypt(AlgorithmIdentifier, CryptoKey, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling decrypt(AlgorithmIdentifier, CryptoKey, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "sign(AlgorithmIdentifier, CryptoKey, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling sign(AlgorithmIdentifier, CryptoKey, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "verify(AlgorithmIdentifier, CryptoKey, BufferSource, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling verify(AlgorithmIdentifier, CryptoKey, BufferSource, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "digest(AlgorithmIdentifier, BufferSource)" with the proper type +PASS SubtleCrypto interface: calling digest(AlgorithmIdentifier, BufferSource) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "generateKey(AlgorithmIdentifier, boolean, [object Object])" with the proper type +PASS SubtleCrypto interface: calling generateKey(AlgorithmIdentifier, boolean, [object Object]) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "deriveKey(AlgorithmIdentifier, CryptoKey, AlgorithmIdentifier, boolean, [object Object])" with the proper type +PASS SubtleCrypto interface: calling deriveKey(AlgorithmIdentifier, CryptoKey, AlgorithmIdentifier, boolean, [object Object]) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long)" with the proper type +PASS SubtleCrypto interface: calling deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "importKey(KeyFormat, [object Object],[object Object], AlgorithmIdentifier, boolean, [object Object])" with the proper type +PASS SubtleCrypto interface: calling importKey(KeyFormat, [object Object],[object Object], AlgorithmIdentifier, boolean, [object Object]) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "exportKey(KeyFormat, CryptoKey)" with the proper type +PASS SubtleCrypto interface: calling exportKey(KeyFormat, CryptoKey) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier)" with the proper type +PASS SubtleCrypto interface: calling wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier) on crypto.subtle with too few arguments must throw TypeError +PASS SubtleCrypto interface: crypto.subtle must inherit property "unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, [object Object])" with the proper type +PASS SubtleCrypto interface: calling unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, [object Object]) on crypto.subtle with too few arguments must throw TypeError +PASS Window interface: existence and properties of interface object +PASS WorkerGlobalScope interface: attribute crypto +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/background-fetch/idlharness.https.any.serviceworker-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/background-fetch/idlharness.https.any.serviceworker-expected.txt new file mode 100644 index 0000000..d0dfd483 --- /dev/null +++ b/third_party/blink/web_tests/platform/win/external/wpt/background-fetch/idlharness.https.any.serviceworker-expected.txt
@@ -0,0 +1,61 @@ +This is a testharness.js-based test. +Found 57 tests; 56 PASS, 1 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface ServiceWorkerGlobalScope: original interface defined +PASS Partial interface ServiceWorkerRegistration: original interface defined +PASS BackgroundFetchManager interface: existence and properties of interface object +PASS BackgroundFetchManager interface object length +PASS BackgroundFetchManager interface object name +PASS BackgroundFetchManager interface: existence and properties of interface prototype object +PASS BackgroundFetchManager interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchManager interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchManager interface: operation fetch(DOMString, [object Object],[object Object], BackgroundFetchOptions) +PASS BackgroundFetchManager interface: operation get(DOMString) +PASS BackgroundFetchManager interface: operation getIds() +PASS BackgroundFetchRegistration interface: existence and properties of interface object +PASS BackgroundFetchRegistration interface object length +PASS BackgroundFetchRegistration interface object name +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchRegistration interface: attribute id +PASS BackgroundFetchRegistration interface: attribute uploadTotal +PASS BackgroundFetchRegistration interface: attribute uploaded +PASS BackgroundFetchRegistration interface: attribute downloadTotal +PASS BackgroundFetchRegistration interface: attribute downloaded +PASS BackgroundFetchRegistration interface: attribute result +PASS BackgroundFetchRegistration interface: attribute failureReason +PASS BackgroundFetchRegistration interface: attribute recordsAvailable +PASS BackgroundFetchRegistration interface: attribute onprogress +PASS BackgroundFetchRegistration interface: operation abort() +PASS BackgroundFetchRegistration interface: operation match(RequestInfo, CacheQueryOptions) +PASS BackgroundFetchRegistration interface: operation matchAll(RequestInfo, CacheQueryOptions) +PASS BackgroundFetchRecord interface: existence and properties of interface object +PASS BackgroundFetchRecord interface object length +PASS BackgroundFetchRecord interface object name +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchRecord interface: attribute request +PASS BackgroundFetchRecord interface: attribute responseReady +PASS BackgroundFetchEvent interface: existence and properties of interface object +PASS BackgroundFetchEvent interface object length +PASS BackgroundFetchEvent interface object name +PASS BackgroundFetchEvent interface: existence and properties of interface prototype object +PASS BackgroundFetchEvent interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchEvent interface: attribute registration +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface object +PASS BackgroundFetchUpdateUIEvent interface object length +PASS BackgroundFetchUpdateUIEvent interface object name +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface prototype object +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface prototype object's @@unscopables property +FAIL BackgroundFetchUpdateUIEvent interface: operation updateUI(BackgroundFetchUIOptions) assert_equals: property has wrong .length expected 0 but got 1 +PASS ServiceWorkerRegistration interface: attribute backgroundFetch +PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchsuccess +PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchfail +PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchabort +PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchclick +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/background-fetch/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/background-fetch/idlharness.https.any.worker-expected.txt new file mode 100644 index 0000000..0b6e9e5 --- /dev/null +++ b/third_party/blink/web_tests/platform/win/external/wpt/background-fetch/idlharness.https.any.worker-expected.txt
@@ -0,0 +1,46 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface ServiceWorkerGlobalScope: original interface defined +PASS Partial interface ServiceWorkerRegistration: original interface defined +PASS BackgroundFetchManager interface: existence and properties of interface object +PASS BackgroundFetchManager interface object length +PASS BackgroundFetchManager interface object name +PASS BackgroundFetchManager interface: existence and properties of interface prototype object +PASS BackgroundFetchManager interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchManager interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchManager interface: operation fetch(DOMString, [object Object],[object Object], BackgroundFetchOptions) +PASS BackgroundFetchManager interface: operation get(DOMString) +PASS BackgroundFetchManager interface: operation getIds() +PASS BackgroundFetchRegistration interface: existence and properties of interface object +PASS BackgroundFetchRegistration interface object length +PASS BackgroundFetchRegistration interface object name +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchRegistration interface: attribute id +PASS BackgroundFetchRegistration interface: attribute uploadTotal +PASS BackgroundFetchRegistration interface: attribute uploaded +PASS BackgroundFetchRegistration interface: attribute downloadTotal +PASS BackgroundFetchRegistration interface: attribute downloaded +PASS BackgroundFetchRegistration interface: attribute result +PASS BackgroundFetchRegistration interface: attribute failureReason +PASS BackgroundFetchRegistration interface: attribute recordsAvailable +PASS BackgroundFetchRegistration interface: attribute onprogress +PASS BackgroundFetchRegistration interface: operation abort() +PASS BackgroundFetchRegistration interface: operation match(RequestInfo, CacheQueryOptions) +PASS BackgroundFetchRegistration interface: operation matchAll(RequestInfo, CacheQueryOptions) +PASS BackgroundFetchRecord interface: existence and properties of interface object +PASS BackgroundFetchRecord interface object length +PASS BackgroundFetchRecord interface object name +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's "constructor" property +PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's @@unscopables property +PASS BackgroundFetchRecord interface: attribute request +PASS BackgroundFetchRecord interface: attribute responseReady +PASS BackgroundFetchEvent interface: existence and properties of interface object +PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface object +PASS ServiceWorkerRegistration interface: attribute backgroundFetch +PASS ServiceWorkerGlobalScope interface: existence and properties of interface object +PASS ExtendableEvent interface: existence and properties of interface object +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/css/css-masking/idlharness-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/css/css-masking/idlharness-expected.txt new file mode 100644 index 0000000..f188afc0 --- /dev/null +++ b/third_party/blink/web_tests/platform/win/external/wpt/css/css-masking/idlharness-expected.txt
@@ -0,0 +1,36 @@ +This is a testharness.js-based test. +PASS idl_test setup +FAIL SVGClipPathElement interface: existence and properties of interface object assert_equals: prototype of SVGClipPathElement is not SVGElement expected function "function SVGElement() { [native code] }" but got function "function SVGGraphicsElement() { [native code] }" +PASS SVGClipPathElement interface object length +PASS SVGClipPathElement interface object name +FAIL SVGClipPathElement interface: existence and properties of interface prototype object assert_equals: prototype of SVGClipPathElement.prototype is not SVGElement.prototype expected object "[object SVGElement]" but got object "[object SVGGraphicsElement]" +PASS SVGClipPathElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGClipPathElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGClipPathElement interface: attribute clipPathUnits +FAIL SVGClipPathElement interface: attribute transform assert_own_property: expected property "transform" missing +PASS SVGClipPathElement must be primary interface of [object SVGClipPathElement] +PASS Stringification of [object SVGClipPathElement] +PASS SVGClipPathElement interface: [object SVGClipPathElement] must inherit property "clipPathUnits" with the proper type +PASS SVGClipPathElement interface: [object SVGClipPathElement] must inherit property "transform" with the proper type +PASS SVGMaskElement interface: existence and properties of interface object +PASS SVGMaskElement interface object length +PASS SVGMaskElement interface object name +PASS SVGMaskElement interface: existence and properties of interface prototype object +PASS SVGMaskElement interface: existence and properties of interface prototype object's "constructor" property +PASS SVGMaskElement interface: existence and properties of interface prototype object's @@unscopables property +PASS SVGMaskElement interface: attribute maskUnits +PASS SVGMaskElement interface: attribute maskContentUnits +PASS SVGMaskElement interface: attribute x +PASS SVGMaskElement interface: attribute y +PASS SVGMaskElement interface: attribute width +PASS SVGMaskElement interface: attribute height +PASS SVGMaskElement must be primary interface of [object SVGMaskElement] +PASS Stringification of [object SVGMaskElement] +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "maskUnits" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "maskContentUnits" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "x" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "y" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "width" with the proper type +PASS SVGMaskElement interface: [object SVGMaskElement] must inherit property "height" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/css/cssom-view/idlharness-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/css/cssom-view/idlharness-expected.txt new file mode 100644 index 0000000..55af6db --- /dev/null +++ b/third_party/blink/web_tests/platform/win/external/wpt/css/cssom-view/idlharness-expected.txt
@@ -0,0 +1,329 @@ +This is a testharness.js-based test. +Found 325 tests; 252 PASS, 73 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface Window: original interface defined +PASS Partial interface Document: original interface defined +PASS Partial interface Element: original interface defined +PASS Partial interface HTMLElement: original interface defined +PASS Partial interface HTMLImageElement: original interface defined +PASS Partial interface Range: original interface defined +PASS Partial interface MouseEvent: original interface defined +PASS Partial dictionary MouseEventInit: original dictionary defined +PASS MediaQueryList interface: existence and properties of interface object +PASS MediaQueryList interface object length +PASS MediaQueryList interface object name +PASS MediaQueryList interface: existence and properties of interface prototype object +PASS MediaQueryList interface: existence and properties of interface prototype object's "constructor" property +PASS MediaQueryList interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaQueryList interface: attribute media +PASS MediaQueryList interface: attribute matches +PASS MediaQueryList interface: operation addListener(EventListener) +PASS MediaQueryList interface: operation removeListener(EventListener) +PASS MediaQueryList interface: attribute onchange +PASS MediaQueryList must be primary interface of matchMedia("all") +PASS Stringification of matchMedia("all") +PASS MediaQueryList interface: matchMedia("all") must inherit property "media" with the proper type +PASS MediaQueryList interface: matchMedia("all") must inherit property "matches" with the proper type +PASS MediaQueryList interface: matchMedia("all") must inherit property "addListener(EventListener)" with the proper type +PASS MediaQueryList interface: calling addListener(EventListener) on matchMedia("all") with too few arguments must throw TypeError +PASS MediaQueryList interface: matchMedia("all") must inherit property "removeListener(EventListener)" with the proper type +PASS MediaQueryList interface: calling removeListener(EventListener) on matchMedia("all") with too few arguments must throw TypeError +PASS MediaQueryList interface: matchMedia("all") must inherit property "onchange" with the proper type +PASS MediaQueryListEvent interface: existence and properties of interface object +PASS MediaQueryListEvent interface object length +PASS MediaQueryListEvent interface object name +PASS MediaQueryListEvent interface: existence and properties of interface prototype object +PASS MediaQueryListEvent interface: existence and properties of interface prototype object's "constructor" property +PASS MediaQueryListEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaQueryListEvent interface: attribute media +PASS MediaQueryListEvent interface: attribute matches +PASS MediaQueryListEvent must be primary interface of new MediaQueryListEvent("change") +PASS Stringification of new MediaQueryListEvent("change") +PASS MediaQueryListEvent interface: new MediaQueryListEvent("change") must inherit property "media" with the proper type +PASS MediaQueryListEvent interface: new MediaQueryListEvent("change") must inherit property "matches" with the proper type +PASS Screen interface: existence and properties of interface object +PASS Screen interface object length +PASS Screen interface object name +PASS Screen interface: existence and properties of interface prototype object +PASS Screen interface: existence and properties of interface prototype object's "constructor" property +PASS Screen interface: existence and properties of interface prototype object's @@unscopables property +PASS Screen interface: attribute availWidth +PASS Screen interface: attribute availHeight +PASS Screen interface: attribute width +PASS Screen interface: attribute height +PASS Screen interface: attribute colorDepth +PASS Screen interface: attribute pixelDepth +PASS Screen must be primary interface of screen +PASS Stringification of screen +PASS Screen interface: screen must inherit property "availWidth" with the proper type +PASS Screen interface: screen must inherit property "availHeight" with the proper type +PASS Screen interface: screen must inherit property "width" with the proper type +PASS Screen interface: screen must inherit property "height" with the proper type +PASS Screen interface: screen must inherit property "colorDepth" with the proper type +PASS Screen interface: screen must inherit property "pixelDepth" with the proper type +FAIL CaretPosition interface: existence and properties of interface object assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface object length assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface object name assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: existence and properties of interface prototype object assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: attribute offsetNode assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: attribute offset assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition interface: operation getClientRect() assert_own_property: self does not have own property "CaretPosition" expected property "CaretPosition" missing +FAIL CaretPosition must be primary interface of document.caretPositionFromPoint(5, 5) assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL Stringification of document.caretPositionFromPoint(5, 5) assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL CaretPosition interface: document.caretPositionFromPoint(5, 5) must inherit property "offsetNode" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL CaretPosition interface: document.caretPositionFromPoint(5, 5) must inherit property "offset" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL CaretPosition interface: document.caretPositionFromPoint(5, 5) must inherit property "getClientRect()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: document.caretPositionFromPoint is not a function" +FAIL CSSPseudoElement interface: operation getBoxQuads(BoxQuadOptions) assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface: operation convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface: operation convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +FAIL CSSPseudoElement interface: operation convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing +PASS MouseEvent interface: attribute screenX +PASS MouseEvent interface: attribute screenY +PASS MouseEvent interface: attribute pageX +PASS MouseEvent interface: attribute pageY +PASS MouseEvent interface: attribute clientX +PASS MouseEvent interface: attribute clientY +PASS MouseEvent interface: attribute x +PASS MouseEvent interface: attribute y +PASS MouseEvent interface: attribute offsetX +PASS MouseEvent interface: attribute offsetY +PASS HTMLElement interface: attribute offsetParent +PASS HTMLElement interface: attribute offsetTop +PASS HTMLElement interface: attribute offsetLeft +PASS HTMLElement interface: attribute offsetWidth +PASS HTMLElement interface: attribute offsetHeight +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetParent" with the proper type +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetTop" with the proper type +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetLeft" with the proper type +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetWidth" with the proper type +PASS HTMLElement interface: document.createElement("div") must inherit property "offsetHeight" with the proper type +PASS Element interface: document.createElement("div") must inherit property "getClientRects()" with the proper type +PASS Element interface: document.createElement("div") must inherit property "getBoundingClientRect()" with the proper type +PASS Element interface: document.createElement("div") must inherit property "scrollIntoView([object Object],[object Object])" with the proper type +PASS Element interface: calling scrollIntoView([object Object],[object Object]) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scroll(ScrollToOptions)" with the proper type +PASS Element interface: calling scroll(ScrollToOptions) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scroll(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scroll(unrestricted double, unrestricted double) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollTo(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollTo(ScrollToOptions) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollTo(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollTo(unrestricted double, unrestricted double) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollBy(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollBy(ScrollToOptions) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollBy(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollBy(unrestricted double, unrestricted double) on document.createElement("div") with too few arguments must throw TypeError +PASS Element interface: document.createElement("div") must inherit property "scrollTop" with the proper type +PASS Element interface: document.createElement("div") must inherit property "scrollLeft" with the proper type +PASS Element interface: document.createElement("div") must inherit property "scrollWidth" with the proper type +PASS Element interface: document.createElement("div") must inherit property "scrollHeight" with the proper type +PASS Element interface: document.createElement("div") must inherit property "clientTop" with the proper type +PASS Element interface: document.createElement("div") must inherit property "clientLeft" with the proper type +PASS Element interface: document.createElement("div") must inherit property "clientWidth" with the proper type +PASS Element interface: document.createElement("div") must inherit property "clientHeight" with the proper type +FAIL Element interface: document.createElement("div") must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: calling getBoxQuads(BoxQuadOptions) on document.createElement("div") with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: document.createElement("div") must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document.createElement("div") with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: document.createElement("div") must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document.createElement("div") with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: document.createElement("div") must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Element interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document.createElement("div") with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +PASS HTMLImageElement interface: attribute x +PASS HTMLImageElement interface: attribute y +PASS HTMLImageElement interface: document.createElement("img") must inherit property "x" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "y" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetParent" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetTop" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetLeft" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetWidth" with the proper type +PASS HTMLElement interface: document.createElement("img") must inherit property "offsetHeight" with the proper type +PASS Element interface: document.createElement("img") must inherit property "getClientRects()" with the proper type +PASS Element interface: document.createElement("img") must inherit property "getBoundingClientRect()" with the proper type +PASS Element interface: document.createElement("img") must inherit property "scrollIntoView([object Object],[object Object])" with the proper type +PASS Element interface: calling scrollIntoView([object Object],[object Object]) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scroll(ScrollToOptions)" with the proper type +PASS Element interface: calling scroll(ScrollToOptions) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scroll(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scroll(unrestricted double, unrestricted double) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollTo(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollTo(ScrollToOptions) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollTo(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollTo(unrestricted double, unrestricted double) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollBy(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollBy(ScrollToOptions) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollBy(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollBy(unrestricted double, unrestricted double) on document.createElement("img") with too few arguments must throw TypeError +PASS Element interface: document.createElement("img") must inherit property "scrollTop" with the proper type +PASS Element interface: document.createElement("img") must inherit property "scrollLeft" with the proper type +PASS Element interface: document.createElement("img") must inherit property "scrollWidth" with the proper type +PASS Element interface: document.createElement("img") must inherit property "scrollHeight" with the proper type +PASS Element interface: document.createElement("img") must inherit property "clientTop" with the proper type +PASS Element interface: document.createElement("img") must inherit property "clientLeft" with the proper type +PASS Element interface: document.createElement("img") must inherit property "clientWidth" with the proper type +PASS Element interface: document.createElement("img") must inherit property "clientHeight" with the proper type +FAIL Element interface: document.createElement("img") must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: calling getBoxQuads(BoxQuadOptions) on document.createElement("img") with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: document.createElement("img") must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document.createElement("img") with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: document.createElement("img") must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document.createElement("img") with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: document.createElement("img") must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Element interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document.createElement("img") with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +PASS Window interface: operation matchMedia(CSSOMString) +PASS Window interface: attribute screen +PASS Window interface: operation moveTo(long, long) +PASS Window interface: operation moveBy(long, long) +PASS Window interface: operation resizeTo(long, long) +PASS Window interface: operation resizeBy(long, long) +PASS Window interface: attribute innerWidth +PASS Window interface: attribute innerHeight +PASS Window interface: attribute scrollX +PASS Window interface: attribute pageXOffset +PASS Window interface: attribute scrollY +PASS Window interface: attribute pageYOffset +PASS Window interface: operation scroll(ScrollToOptions) +PASS Window interface: operation scroll(unrestricted double, unrestricted double) +PASS Window interface: operation scrollTo(ScrollToOptions) +PASS Window interface: operation scrollTo(unrestricted double, unrestricted double) +PASS Window interface: operation scrollBy(ScrollToOptions) +PASS Window interface: operation scrollBy(unrestricted double, unrestricted double) +PASS Window interface: attribute screenX +PASS Window interface: attribute screenLeft +PASS Window interface: attribute screenY +PASS Window interface: attribute screenTop +PASS Window interface: attribute outerWidth +PASS Window interface: attribute outerHeight +PASS Window interface: attribute devicePixelRatio +PASS Window interface: window must inherit property "matchMedia(CSSOMString)" with the proper type +PASS Window interface: calling matchMedia(CSSOMString) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "screen" with the proper type +PASS Window interface: window must inherit property "moveTo(long, long)" with the proper type +PASS Window interface: calling moveTo(long, long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "moveBy(long, long)" with the proper type +PASS Window interface: calling moveBy(long, long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "resizeTo(long, long)" with the proper type +PASS Window interface: calling resizeTo(long, long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "resizeBy(long, long)" with the proper type +PASS Window interface: calling resizeBy(long, long) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "innerWidth" with the proper type +PASS Window interface: window must inherit property "innerHeight" with the proper type +PASS Window interface: window must inherit property "scrollX" with the proper type +PASS Window interface: window must inherit property "pageXOffset" with the proper type +PASS Window interface: window must inherit property "scrollY" with the proper type +PASS Window interface: window must inherit property "pageYOffset" with the proper type +PASS Window interface: window must inherit property "scroll(ScrollToOptions)" with the proper type +PASS Window interface: calling scroll(ScrollToOptions) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scroll(unrestricted double, unrestricted double)" with the proper type +PASS Window interface: calling scroll(unrestricted double, unrestricted double) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scrollTo(ScrollToOptions)" with the proper type +PASS Window interface: calling scrollTo(ScrollToOptions) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scrollTo(unrestricted double, unrestricted double)" with the proper type +PASS Window interface: calling scrollTo(unrestricted double, unrestricted double) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scrollBy(ScrollToOptions)" with the proper type +PASS Window interface: calling scrollBy(ScrollToOptions) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "scrollBy(unrestricted double, unrestricted double)" with the proper type +PASS Window interface: calling scrollBy(unrestricted double, unrestricted double) on window with too few arguments must throw TypeError +PASS Window interface: window must inherit property "screenX" with the proper type +PASS Window interface: window must inherit property "screenLeft" with the proper type +PASS Window interface: window must inherit property "screenY" with the proper type +PASS Window interface: window must inherit property "screenTop" with the proper type +PASS Window interface: window must inherit property "outerWidth" with the proper type +PASS Window interface: window must inherit property "outerHeight" with the proper type +PASS Window interface: window must inherit property "devicePixelRatio" with the proper type +PASS Document interface: operation elementFromPoint(double, double) +PASS Document interface: operation elementsFromPoint(double, double) +FAIL Document interface: operation caretPositionFromPoint(double, double) assert_own_property: interface prototype object missing non-static operation expected property "caretPositionFromPoint" missing +PASS Document interface: attribute scrollingElement +FAIL Document interface: operation getBoxQuads(BoxQuadOptions) assert_own_property: interface prototype object missing non-static operation expected property "getBoxQuads" missing +FAIL Document interface: operation convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertQuadFromNode" missing +FAIL Document interface: operation convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertRectFromNode" missing +FAIL Document interface: operation convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertPointFromNode" missing +PASS Document interface: document must inherit property "elementFromPoint(double, double)" with the proper type +PASS Document interface: calling elementFromPoint(double, double) on document with too few arguments must throw TypeError +PASS Document interface: document must inherit property "elementsFromPoint(double, double)" with the proper type +PASS Document interface: calling elementsFromPoint(double, double) on document with too few arguments must throw TypeError +FAIL Document interface: document must inherit property "caretPositionFromPoint(double, double)" with the proper type assert_inherits: property "caretPositionFromPoint" not found in prototype chain +FAIL Document interface: calling caretPositionFromPoint(double, double) on document with too few arguments must throw TypeError assert_inherits: property "caretPositionFromPoint" not found in prototype chain +PASS Document interface: document must inherit property "scrollingElement" with the proper type +FAIL Document interface: document must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Document interface: calling getBoxQuads(BoxQuadOptions) on document with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Document interface: document must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Document interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Document interface: document must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Document interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Document interface: document must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Document interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +PASS Element interface: operation getClientRects() +PASS Element interface: operation getBoundingClientRect() +PASS Element interface: operation scrollIntoView([object Object],[object Object]) +PASS Element interface: operation scroll(ScrollToOptions) +PASS Element interface: operation scroll(unrestricted double, unrestricted double) +PASS Element interface: operation scrollTo(ScrollToOptions) +PASS Element interface: operation scrollTo(unrestricted double, unrestricted double) +PASS Element interface: operation scrollBy(ScrollToOptions) +PASS Element interface: operation scrollBy(unrestricted double, unrestricted double) +PASS Element interface: attribute scrollTop +PASS Element interface: attribute scrollLeft +PASS Element interface: attribute scrollWidth +PASS Element interface: attribute scrollHeight +PASS Element interface: attribute clientTop +PASS Element interface: attribute clientLeft +PASS Element interface: attribute clientWidth +PASS Element interface: attribute clientHeight +FAIL Element interface: operation getBoxQuads(BoxQuadOptions) assert_own_property: interface prototype object missing non-static operation expected property "getBoxQuads" missing +FAIL Element interface: operation convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertQuadFromNode" missing +FAIL Element interface: operation convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertRectFromNode" missing +FAIL Element interface: operation convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertPointFromNode" missing +PASS Element interface: document.createElementNS("x", "y") must inherit property "getClientRects()" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "getBoundingClientRect()" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollIntoView([object Object],[object Object])" with the proper type +PASS Element interface: calling scrollIntoView([object Object],[object Object]) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scroll(ScrollToOptions)" with the proper type +PASS Element interface: calling scroll(ScrollToOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scroll(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scroll(unrestricted double, unrestricted double) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollTo(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollTo(ScrollToOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollTo(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollTo(unrestricted double, unrestricted double) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollBy(ScrollToOptions)" with the proper type +PASS Element interface: calling scrollBy(ScrollToOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollBy(unrestricted double, unrestricted double)" with the proper type +PASS Element interface: calling scrollBy(unrestricted double, unrestricted double) on document.createElementNS("x", "y") with too few arguments must throw TypeError +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollTop" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollLeft" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollWidth" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "scrollHeight" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "clientTop" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "clientLeft" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "clientWidth" with the proper type +PASS Element interface: document.createElementNS("x", "y") must inherit property "clientHeight" with the proper type +FAIL Element interface: document.createElementNS("x", "y") must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: calling getBoxQuads(BoxQuadOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Element interface: document.createElementNS("x", "y") must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Element interface: document.createElementNS("x", "y") must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Element interface: document.createElementNS("x", "y") must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Element interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document.createElementNS("x", "y") with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Text interface: operation getBoxQuads(BoxQuadOptions) assert_own_property: interface prototype object missing non-static operation expected property "getBoxQuads" missing +FAIL Text interface: operation convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertQuadFromNode" missing +FAIL Text interface: operation convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertRectFromNode" missing +FAIL Text interface: operation convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) assert_own_property: interface prototype object missing non-static operation expected property "convertPointFromNode" missing +FAIL Text interface: document.createTextNode("x") must inherit property "getBoxQuads(BoxQuadOptions)" with the proper type assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Text interface: calling getBoxQuads(BoxQuadOptions) on document.createTextNode("x") with too few arguments must throw TypeError assert_inherits: property "getBoxQuads" not found in prototype chain +FAIL Text interface: document.createTextNode("x") must inherit property "convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Text interface: calling convertQuadFromNode(DOMQuadInit, GeometryNode, ConvertCoordinateOptions) on document.createTextNode("x") with too few arguments must throw TypeError assert_inherits: property "convertQuadFromNode" not found in prototype chain +FAIL Text interface: document.createTextNode("x") must inherit property "convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Text interface: calling convertRectFromNode(DOMRectReadOnly, GeometryNode, ConvertCoordinateOptions) on document.createTextNode("x") with too few arguments must throw TypeError assert_inherits: property "convertRectFromNode" not found in prototype chain +FAIL Text interface: document.createTextNode("x") must inherit property "convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions)" with the proper type assert_inherits: property "convertPointFromNode" not found in prototype chain +FAIL Text interface: calling convertPointFromNode(DOMPointInit, GeometryNode, ConvertCoordinateOptions) on document.createTextNode("x") with too few arguments must throw TypeError assert_inherits: property "convertPointFromNode" not found in prototype chain +PASS Range interface: operation getClientRects() +PASS Range interface: operation getBoundingClientRect() +PASS Range interface: new Range() must inherit property "getClientRects()" with the proper type +PASS Range interface: new Range() must inherit property "getBoundingClientRect()" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/dom/idlharness.window_include=Node-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/dom/idlharness.window_include=Node-expected.txt new file mode 100644 index 0000000..60bf7dfc --- /dev/null +++ b/third_party/blink/web_tests/platform/win/external/wpt/dom/idlharness.window_include=Node-expected.txt
@@ -0,0 +1,616 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface Window: original interface defined +PASS Node interface: existence and properties of interface object +PASS Node interface object length +PASS Node interface object name +PASS Node interface: existence and properties of interface prototype object +PASS Node interface: existence and properties of interface prototype object's "constructor" property +PASS Node interface: existence and properties of interface prototype object's @@unscopables property +PASS Node interface: constant ELEMENT_NODE on interface object +PASS Node interface: constant ELEMENT_NODE on interface prototype object +PASS Node interface: constant ATTRIBUTE_NODE on interface object +PASS Node interface: constant ATTRIBUTE_NODE on interface prototype object +PASS Node interface: constant TEXT_NODE on interface object +PASS Node interface: constant TEXT_NODE on interface prototype object +PASS Node interface: constant CDATA_SECTION_NODE on interface object +PASS Node interface: constant CDATA_SECTION_NODE on interface prototype object +PASS Node interface: constant ENTITY_REFERENCE_NODE on interface object +PASS Node interface: constant ENTITY_REFERENCE_NODE on interface prototype object +PASS Node interface: constant ENTITY_NODE on interface object +PASS Node interface: constant ENTITY_NODE on interface prototype object +PASS Node interface: constant PROCESSING_INSTRUCTION_NODE on interface object +PASS Node interface: constant PROCESSING_INSTRUCTION_NODE on interface prototype object +PASS Node interface: constant COMMENT_NODE on interface object +PASS Node interface: constant COMMENT_NODE on interface prototype object +PASS Node interface: constant DOCUMENT_NODE on interface object +PASS Node interface: constant DOCUMENT_NODE on interface prototype object +PASS Node interface: constant DOCUMENT_TYPE_NODE on interface object +PASS Node interface: constant DOCUMENT_TYPE_NODE on interface prototype object +PASS Node interface: constant DOCUMENT_FRAGMENT_NODE on interface object +PASS Node interface: constant DOCUMENT_FRAGMENT_NODE on interface prototype object +PASS Node interface: constant NOTATION_NODE on interface object +PASS Node interface: constant NOTATION_NODE on interface prototype object +PASS Node interface: attribute nodeType +PASS Node interface: attribute nodeName +PASS Node interface: attribute baseURI +PASS Node interface: attribute isConnected +PASS Node interface: attribute ownerDocument +PASS Node interface: operation getRootNode(GetRootNodeOptions) +PASS Node interface: attribute parentNode +PASS Node interface: attribute parentElement +PASS Node interface: operation hasChildNodes() +PASS Node interface: attribute childNodes +PASS Node interface: attribute firstChild +PASS Node interface: attribute lastChild +PASS Node interface: attribute previousSibling +PASS Node interface: attribute nextSibling +PASS Node interface: attribute nodeValue +PASS Node interface: attribute textContent +PASS Node interface: operation normalize() +PASS Node interface: operation cloneNode(boolean) +PASS Node interface: operation isEqualNode(Node) +PASS Node interface: operation isSameNode(Node) +PASS Node interface: constant DOCUMENT_POSITION_DISCONNECTED on interface object +PASS Node interface: constant DOCUMENT_POSITION_DISCONNECTED on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_PRECEDING on interface object +PASS Node interface: constant DOCUMENT_POSITION_PRECEDING on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_FOLLOWING on interface object +PASS Node interface: constant DOCUMENT_POSITION_FOLLOWING on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_CONTAINS on interface object +PASS Node interface: constant DOCUMENT_POSITION_CONTAINS on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface object +PASS Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface prototype object +PASS Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface object +PASS Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface prototype object +PASS Node interface: operation compareDocumentPosition(Node) +PASS Node interface: operation contains(Node) +PASS Node interface: operation lookupPrefix(DOMString) +PASS Node interface: operation lookupNamespaceURI(DOMString) +PASS Node interface: operation isDefaultNamespace(DOMString) +PASS Node interface: operation insertBefore(Node, Node) +PASS Node interface: operation appendChild(Node) +PASS Node interface: operation replaceChild(Node, Node) +PASS Node interface: operation removeChild(Node) +PASS Node interface: new Document() must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: new Document() must inherit property "TEXT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: new Document() must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: new Document() must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: new Document() must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: new Document() must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: new Document() must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: new Document() must inherit property "nodeType" with the proper type +PASS Node interface: new Document() must inherit property "nodeName" with the proper type +PASS Node interface: new Document() must inherit property "baseURI" with the proper type +PASS Node interface: new Document() must inherit property "isConnected" with the proper type +PASS Node interface: new Document() must inherit property "ownerDocument" with the proper type +PASS Node interface: new Document() must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "parentNode" with the proper type +PASS Node interface: new Document() must inherit property "parentElement" with the proper type +PASS Node interface: new Document() must inherit property "hasChildNodes()" with the proper type +PASS Node interface: new Document() must inherit property "childNodes" with the proper type +PASS Node interface: new Document() must inherit property "firstChild" with the proper type +PASS Node interface: new Document() must inherit property "lastChild" with the proper type +PASS Node interface: new Document() must inherit property "previousSibling" with the proper type +PASS Node interface: new Document() must inherit property "nextSibling" with the proper type +PASS Node interface: new Document() must inherit property "nodeValue" with the proper type +PASS Node interface: new Document() must inherit property "textContent" with the proper type +PASS Node interface: new Document() must inherit property "normalize()" with the proper type +PASS Node interface: new Document() must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: new Document() must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: new Document() must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on new Document() with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "TEXT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: xmlDoc must inherit property "nodeType" with the proper type +PASS Node interface: xmlDoc must inherit property "nodeName" with the proper type +PASS Node interface: xmlDoc must inherit property "baseURI" with the proper type +PASS Node interface: xmlDoc must inherit property "isConnected" with the proper type +PASS Node interface: xmlDoc must inherit property "ownerDocument" with the proper type +PASS Node interface: xmlDoc must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "parentNode" with the proper type +PASS Node interface: xmlDoc must inherit property "parentElement" with the proper type +PASS Node interface: xmlDoc must inherit property "hasChildNodes()" with the proper type +PASS Node interface: xmlDoc must inherit property "childNodes" with the proper type +PASS Node interface: xmlDoc must inherit property "firstChild" with the proper type +PASS Node interface: xmlDoc must inherit property "lastChild" with the proper type +PASS Node interface: xmlDoc must inherit property "previousSibling" with the proper type +PASS Node interface: xmlDoc must inherit property "nextSibling" with the proper type +PASS Node interface: xmlDoc must inherit property "nodeValue" with the proper type +PASS Node interface: xmlDoc must inherit property "textContent" with the proper type +PASS Node interface: xmlDoc must inherit property "normalize()" with the proper type +PASS Node interface: xmlDoc must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: xmlDoc must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: xmlDoc must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on xmlDoc with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.doctype must inherit property "nodeType" with the proper type +PASS Node interface: document.doctype must inherit property "nodeName" with the proper type +PASS Node interface: document.doctype must inherit property "baseURI" with the proper type +PASS Node interface: document.doctype must inherit property "isConnected" with the proper type +PASS Node interface: document.doctype must inherit property "ownerDocument" with the proper type +PASS Node interface: document.doctype must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "parentNode" with the proper type +PASS Node interface: document.doctype must inherit property "parentElement" with the proper type +PASS Node interface: document.doctype must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.doctype must inherit property "childNodes" with the proper type +PASS Node interface: document.doctype must inherit property "firstChild" with the proper type +PASS Node interface: document.doctype must inherit property "lastChild" with the proper type +PASS Node interface: document.doctype must inherit property "previousSibling" with the proper type +PASS Node interface: document.doctype must inherit property "nextSibling" with the proper type +PASS Node interface: document.doctype must inherit property "nodeValue" with the proper type +PASS Node interface: document.doctype must inherit property "textContent" with the proper type +PASS Node interface: document.doctype must inherit property "normalize()" with the proper type +PASS Node interface: document.doctype must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.doctype must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.doctype must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.doctype with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "nodeType" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "nodeName" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "baseURI" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "isConnected" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "ownerDocument" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "parentNode" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "parentElement" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "childNodes" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "firstChild" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "lastChild" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "previousSibling" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "nextSibling" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "nodeValue" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "textContent" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "normalize()" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.createDocumentFragment() must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: document.createDocumentFragment() must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError +PASS Node interface: element must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: element must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: element must inherit property "TEXT_NODE" with the proper type +PASS Node interface: element must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: element must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: element must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: element must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: element must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: element must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: element must inherit property "nodeType" with the proper type +PASS Node interface: element must inherit property "nodeName" with the proper type +PASS Node interface: element must inherit property "baseURI" with the proper type +PASS Node interface: element must inherit property "isConnected" with the proper type +PASS Node interface: element must inherit property "ownerDocument" with the proper type +PASS Node interface: element must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "parentNode" with the proper type +PASS Node interface: element must inherit property "parentElement" with the proper type +PASS Node interface: element must inherit property "hasChildNodes()" with the proper type +PASS Node interface: element must inherit property "childNodes" with the proper type +PASS Node interface: element must inherit property "firstChild" with the proper type +PASS Node interface: element must inherit property "lastChild" with the proper type +PASS Node interface: element must inherit property "previousSibling" with the proper type +PASS Node interface: element must inherit property "nextSibling" with the proper type +PASS Node interface: element must inherit property "nodeValue" with the proper type +PASS Node interface: element must inherit property "textContent" with the proper type +PASS Node interface: element must inherit property "normalize()" with the proper type +PASS Node interface: element must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: element must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: element must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on element with too few arguments must throw TypeError +PASS Node interface: element must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on element with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeType" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeName" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "baseURI" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isConnected" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ownerDocument" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "parentNode" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "parentElement" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "childNodes" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "firstChild" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lastChild" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "previousSibling" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nextSibling" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeValue" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "textContent" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "normalize()" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "nodeType" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "nodeName" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "baseURI" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "isConnected" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "ownerDocument" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "parentNode" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "parentElement" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "childNodes" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "firstChild" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "lastChild" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "previousSibling" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "nextSibling" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "nodeValue" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "textContent" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "normalize()" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.createTextNode("abc") must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: document.createTextNode("abc") must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.createTextNode("abc") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "TEXT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeType" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeName" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "baseURI" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isConnected" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ownerDocument" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "parentNode" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "parentElement" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "hasChildNodes()" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "childNodes" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "firstChild" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lastChild" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "previousSibling" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nextSibling" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeValue" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "textContent" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "normalize()" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "ELEMENT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "ATTRIBUTE_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "TEXT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "CDATA_SECTION_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "ENTITY_REFERENCE_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "ENTITY_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "COMMENT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_TYPE_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "NOTATION_NODE" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "nodeType" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "nodeName" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "baseURI" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "isConnected" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "ownerDocument" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "getRootNode(GetRootNodeOptions)" with the proper type +PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "parentNode" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "parentElement" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "hasChildNodes()" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "childNodes" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "firstChild" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "lastChild" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "previousSibling" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "nextSibling" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "nodeValue" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "textContent" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "normalize()" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "cloneNode(boolean)" with the proper type +PASS Node interface: calling cloneNode(boolean) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "isEqualNode(Node)" with the proper type +PASS Node interface: calling isEqualNode(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "isSameNode(Node)" with the proper type +PASS Node interface: calling isSameNode(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type +PASS Node interface: document.createComment("abc") must inherit property "compareDocumentPosition(Node)" with the proper type +PASS Node interface: calling compareDocumentPosition(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "contains(Node)" with the proper type +PASS Node interface: calling contains(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "lookupPrefix(DOMString)" with the proper type +PASS Node interface: calling lookupPrefix(DOMString) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "lookupNamespaceURI(DOMString)" with the proper type +PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "isDefaultNamespace(DOMString)" with the proper type +PASS Node interface: calling isDefaultNamespace(DOMString) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "insertBefore(Node, Node)" with the proper type +PASS Node interface: calling insertBefore(Node, Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "appendChild(Node)" with the proper type +PASS Node interface: calling appendChild(Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "replaceChild(Node, Node)" with the proper type +PASS Node interface: calling replaceChild(Node, Node) on document.createComment("abc") with too few arguments must throw TypeError +PASS Node interface: document.createComment("abc") must inherit property "removeChild(Node)" with the proper type +PASS Node interface: calling removeChild(Node) on document.createComment("abc") with too few arguments must throw TypeError +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/encrypted-media/idlharness.https-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/encrypted-media/idlharness.https-expected.txt new file mode 100644 index 0000000..3b1c95e --- /dev/null +++ b/third_party/blink/web_tests/platform/win/external/wpt/encrypted-media/idlharness.https-expected.txt
@@ -0,0 +1,75 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface Navigator: original interface defined +PASS Partial interface Navigator: valid exposure set +PASS Partial interface HTMLMediaElement: original interface defined +PASS Partial interface HTMLMediaElement: valid exposure set +PASS MediaKeySystemAccess interface: existence and properties of interface object +PASS MediaKeySystemAccess interface object length +PASS MediaKeySystemAccess interface object name +PASS MediaKeySystemAccess interface: existence and properties of interface prototype object +PASS MediaKeySystemAccess interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeySystemAccess interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeySystemAccess interface: attribute keySystem +PASS MediaKeySystemAccess interface: operation getConfiguration() +PASS MediaKeySystemAccess interface: operation createMediaKeys() +PASS MediaKeys interface: existence and properties of interface object +PASS MediaKeys interface object length +PASS MediaKeys interface object name +PASS MediaKeys interface: existence and properties of interface prototype object +PASS MediaKeys interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeys interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeys interface: operation createSession(MediaKeySessionType) +PASS MediaKeys interface: operation setServerCertificate(BufferSource) +PASS MediaKeySession interface: existence and properties of interface object +PASS MediaKeySession interface object length +PASS MediaKeySession interface object name +PASS MediaKeySession interface: existence and properties of interface prototype object +PASS MediaKeySession interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeySession interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeySession interface: attribute sessionId +PASS MediaKeySession interface: attribute expiration +PASS MediaKeySession interface: attribute closed +PASS MediaKeySession interface: attribute keyStatuses +PASS MediaKeySession interface: attribute onkeystatuseschange +PASS MediaKeySession interface: attribute onmessage +PASS MediaKeySession interface: operation generateRequest(DOMString, BufferSource) +PASS MediaKeySession interface: operation load(DOMString) +PASS MediaKeySession interface: operation update(BufferSource) +PASS MediaKeySession interface: operation close() +PASS MediaKeySession interface: operation remove() +PASS MediaKeyStatusMap interface: existence and properties of interface object +PASS MediaKeyStatusMap interface object length +PASS MediaKeyStatusMap interface object name +PASS MediaKeyStatusMap interface: existence and properties of interface prototype object +PASS MediaKeyStatusMap interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeyStatusMap interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeyStatusMap interface: iterable<BufferSource, MediaKeyStatus> +PASS MediaKeyStatusMap interface: attribute size +PASS MediaKeyStatusMap interface: operation has(BufferSource) +PASS MediaKeyStatusMap interface: operation get(BufferSource) +PASS MediaKeyMessageEvent interface: existence and properties of interface object +PASS MediaKeyMessageEvent interface object length +PASS MediaKeyMessageEvent interface object name +PASS MediaKeyMessageEvent interface: existence and properties of interface prototype object +PASS MediaKeyMessageEvent interface: existence and properties of interface prototype object's "constructor" property +PASS MediaKeyMessageEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaKeyMessageEvent interface: attribute messageType +PASS MediaKeyMessageEvent interface: attribute message +PASS MediaEncryptedEvent interface: existence and properties of interface object +PASS MediaEncryptedEvent interface object length +PASS MediaEncryptedEvent interface object name +PASS MediaEncryptedEvent interface: existence and properties of interface prototype object +PASS MediaEncryptedEvent interface: existence and properties of interface prototype object's "constructor" property +PASS MediaEncryptedEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS MediaEncryptedEvent interface: attribute initDataType +PASS MediaEncryptedEvent interface: attribute initData +PASS HTMLMediaElement interface: attribute mediaKeys +PASS HTMLMediaElement interface: attribute onencrypted +PASS HTMLMediaElement interface: attribute onwaitingforkey +PASS HTMLMediaElement interface: operation setMediaKeys(MediaKeys) +PASS Navigator interface: operation requestMediaKeySystemAccess(DOMString, [object Object]) +PASS Navigator interface: navigator must inherit property "requestMediaKeySystemAccess(DOMString, [object Object])" with the proper type +PASS Navigator interface: calling requestMediaKeySystemAccess(DOMString, [object Object]) on navigator with too few arguments must throw TypeError +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/geolocation-API/idlharness.window-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/geolocation-API/idlharness.window-expected.txt new file mode 100644 index 0000000..6fa16430 --- /dev/null +++ b/third_party/blink/web_tests/platform/win/external/wpt/geolocation-API/idlharness.window-expected.txt
@@ -0,0 +1,14 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface Navigator: original interface defined +PASS Stringification of navigator.geolocation +PASS Geolocation interface: navigator.geolocation must inherit property "getCurrentPosition(PositionCallback, PositionErrorCallback, PositionOptions)" with the proper type +PASS Geolocation interface: calling getCurrentPosition(PositionCallback, PositionErrorCallback, PositionOptions) on navigator.geolocation with too few arguments must throw TypeError +PASS Geolocation interface: navigator.geolocation must inherit property "watchPosition(PositionCallback, PositionErrorCallback, PositionOptions)" with the proper type +PASS Geolocation interface: calling watchPosition(PositionCallback, PositionErrorCallback, PositionOptions) on navigator.geolocation with too few arguments must throw TypeError +PASS Geolocation interface: navigator.geolocation must inherit property "clearWatch(long)" with the proper type +PASS Geolocation interface: calling clearWatch(long) on navigator.geolocation with too few arguments must throw TypeError +PASS Navigator interface: attribute geolocation +PASS Navigator interface: navigator must inherit property "geolocation" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/html/dom/idlharness.https_include=HTML._-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/html/dom/idlharness.https_include=HTML._-expected.txt new file mode 100644 index 0000000..579bca6 --- /dev/null +++ b/third_party/blink/web_tests/platform/win/external/wpt/html/dom/idlharness.https_include=HTML._-expected.txt
@@ -0,0 +1,3593 @@ +This is a testharness.js-based test. +Found 3589 tests; 3549 PASS, 40 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Partial interface Document: original interface defined +PASS Partial interface mixin DocumentOrShadowRoot: original interface mixin defined +PASS Partial interface mixin NavigatorID: original interface mixin defined +PASS Partial interface HTMLAnchorElement: original interface defined +PASS Partial interface HTMLAreaElement: original interface defined +PASS Partial interface HTMLBodyElement: original interface defined +PASS Partial interface HTMLBRElement: original interface defined +PASS Partial interface HTMLTableCaptionElement: original interface defined +PASS Partial interface HTMLTableColElement: original interface defined +PASS Partial interface HTMLDivElement: original interface defined +PASS Partial interface HTMLDListElement: original interface defined +PASS Partial interface HTMLEmbedElement: original interface defined +PASS Partial interface HTMLHeadingElement: original interface defined +PASS Partial interface HTMLHRElement: original interface defined +PASS Partial interface HTMLHtmlElement: original interface defined +PASS Partial interface HTMLIFrameElement: original interface defined +PASS Partial interface HTMLImageElement: original interface defined +PASS Partial interface HTMLInputElement: original interface defined +PASS Partial interface HTMLLegendElement: original interface defined +PASS Partial interface HTMLLIElement: original interface defined +PASS Partial interface HTMLLinkElement: original interface defined +PASS Partial interface HTMLMenuElement: original interface defined +PASS Partial interface HTMLMetaElement: original interface defined +PASS Partial interface HTMLObjectElement: original interface defined +PASS Partial interface HTMLOListElement: original interface defined +PASS Partial interface HTMLParagraphElement: original interface defined +PASS Partial interface HTMLParamElement: original interface defined +PASS Partial interface HTMLPreElement: original interface defined +PASS Partial interface HTMLStyleElement: original interface defined +PASS Partial interface HTMLScriptElement: original interface defined +PASS Partial interface HTMLTableElement: original interface defined +PASS Partial interface HTMLTableSectionElement: original interface defined +PASS Partial interface HTMLTableCellElement: original interface defined +PASS Partial interface HTMLTableRowElement: original interface defined +PASS Partial interface HTMLUListElement: original interface defined +PASS Partial interface Document[2]: original interface defined +PASS Partial interface Window: original interface defined +PASS HTMLAllCollection interface: existence and properties of interface object +PASS HTMLAllCollection interface object length +PASS HTMLAllCollection interface object name +PASS HTMLAllCollection interface: existence and properties of interface prototype object +PASS HTMLAllCollection interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLAllCollection interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLAllCollection interface: attribute length +PASS HTMLAllCollection interface: operation namedItem(DOMString) +PASS HTMLAllCollection interface: operation item(DOMString) +FAIL HTMLAllCollection must be primary interface of document.all assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL Stringification of document.all assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: document.all must inherit property "length" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: document.all must inherit property "namedItem(DOMString)" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: calling namedItem(DOMString) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: document.all must inherit property "item(DOMString)" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL HTMLAllCollection interface: calling item(DOMString) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "object" but got "undefined" +PASS HTMLFormControlsCollection interface: existence and properties of interface object +PASS HTMLFormControlsCollection interface object length +PASS HTMLFormControlsCollection interface object name +PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object +PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFormControlsCollection interface: operation namedItem(DOMString) +PASS HTMLFormControlsCollection must be primary interface of document.createElement("form").elements +PASS Stringification of document.createElement("form").elements +PASS HTMLFormControlsCollection interface: document.createElement("form").elements must inherit property "namedItem(DOMString)" with the proper type +PASS HTMLFormControlsCollection interface: calling namedItem(DOMString) on document.createElement("form").elements with too few arguments must throw TypeError +PASS HTMLOptionsCollection interface: existence and properties of interface object +PASS HTMLOptionsCollection interface object length +PASS HTMLOptionsCollection interface object name +PASS HTMLOptionsCollection interface: existence and properties of interface prototype object +PASS HTMLOptionsCollection interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOptionsCollection interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOptionsCollection interface: attribute length +PASS HTMLOptionsCollection interface: operation add([object Object],[object Object], [object Object],[object Object]) +PASS HTMLOptionsCollection interface: operation remove(long) +PASS HTMLOptionsCollection interface: attribute selectedIndex +PASS HTMLOptionsCollection must be primary interface of document.createElement("select").options +PASS Stringification of document.createElement("select").options +PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "length" with the proper type +PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "add([object Object],[object Object], [object Object],[object Object])" with the proper type +PASS HTMLOptionsCollection interface: calling add([object Object],[object Object], [object Object],[object Object]) on document.createElement("select").options with too few arguments must throw TypeError +PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "remove(long)" with the proper type +PASS HTMLOptionsCollection interface: calling remove(long) on document.createElement("select").options with too few arguments must throw TypeError +PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "selectedIndex" with the proper type +PASS HTMLElement interface: existence and properties of interface object +PASS HTMLElement interface object length +PASS HTMLElement interface object name +PASS HTMLElement interface: existence and properties of interface prototype object +PASS HTMLElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLElement interface: attribute title +PASS HTMLElement interface: attribute lang +PASS HTMLElement interface: attribute translate +PASS HTMLElement interface: attribute dir +PASS HTMLElement interface: attribute hidden +PASS HTMLElement interface: operation click() +PASS HTMLElement interface: attribute accessKey +FAIL HTMLElement interface: attribute accessKeyLabel assert_true: The prototype object must have a property "accessKeyLabel" expected true got false +PASS HTMLElement interface: attribute draggable +PASS HTMLElement interface: attribute spellcheck +PASS HTMLElement interface: attribute autocapitalize +PASS HTMLElement interface: attribute innerText +PASS HTMLElement interface: operation attachInternals() +PASS HTMLElement interface: attribute onabort +PASS HTMLElement interface: attribute onauxclick +PASS HTMLElement interface: attribute onblur +PASS HTMLElement interface: attribute oncancel +PASS HTMLElement interface: attribute oncanplay +PASS HTMLElement interface: attribute oncanplaythrough +PASS HTMLElement interface: attribute onchange +PASS HTMLElement interface: attribute onclick +PASS HTMLElement interface: attribute onclose +PASS HTMLElement interface: attribute oncontextmenu +PASS HTMLElement interface: attribute oncuechange +PASS HTMLElement interface: attribute ondblclick +PASS HTMLElement interface: attribute ondrag +PASS HTMLElement interface: attribute ondragend +PASS HTMLElement interface: attribute ondragenter +FAIL HTMLElement interface: attribute ondragexit assert_true: The prototype object must have a property "ondragexit" expected true got false +PASS HTMLElement interface: attribute ondragleave +PASS HTMLElement interface: attribute ondragover +PASS HTMLElement interface: attribute ondragstart +PASS HTMLElement interface: attribute ondrop +PASS HTMLElement interface: attribute ondurationchange +PASS HTMLElement interface: attribute onemptied +PASS HTMLElement interface: attribute onended +PASS HTMLElement interface: attribute onerror +PASS HTMLElement interface: attribute onfocus +PASS HTMLElement interface: attribute onformdata +PASS HTMLElement interface: attribute oninput +PASS HTMLElement interface: attribute oninvalid +PASS HTMLElement interface: attribute onkeydown +PASS HTMLElement interface: attribute onkeypress +PASS HTMLElement interface: attribute onkeyup +PASS HTMLElement interface: attribute onload +PASS HTMLElement interface: attribute onloadeddata +PASS HTMLElement interface: attribute onloadedmetadata +PASS HTMLElement interface: attribute onloadstart +PASS HTMLElement interface: attribute onmousedown +PASS HTMLElement interface: attribute onmouseenter +PASS HTMLElement interface: attribute onmouseleave +PASS HTMLElement interface: attribute onmousemove +PASS HTMLElement interface: attribute onmouseout +PASS HTMLElement interface: attribute onmouseover +PASS HTMLElement interface: attribute onmouseup +PASS HTMLElement interface: attribute onwheel +PASS HTMLElement interface: attribute onpause +PASS HTMLElement interface: attribute onplay +PASS HTMLElement interface: attribute onplaying +PASS HTMLElement interface: attribute onprogress +PASS HTMLElement interface: attribute onratechange +PASS HTMLElement interface: attribute onreset +PASS HTMLElement interface: attribute onresize +PASS HTMLElement interface: attribute onscroll +FAIL HTMLElement interface: attribute onsecuritypolicyviolation assert_true: The prototype object must have a property "onsecuritypolicyviolation" expected true got false +PASS HTMLElement interface: attribute onseeked +PASS HTMLElement interface: attribute onseeking +PASS HTMLElement interface: attribute onselect +PASS HTMLElement interface: attribute onstalled +PASS HTMLElement interface: attribute onsubmit +PASS HTMLElement interface: attribute onsuspend +PASS HTMLElement interface: attribute ontimeupdate +PASS HTMLElement interface: attribute ontoggle +PASS HTMLElement interface: attribute onvolumechange +PASS HTMLElement interface: attribute onwaiting +PASS HTMLElement interface: attribute oncopy +PASS HTMLElement interface: attribute oncut +PASS HTMLElement interface: attribute onpaste +PASS HTMLElement interface: attribute contentEditable +PASS HTMLElement interface: attribute enterKeyHint +PASS HTMLElement interface: attribute isContentEditable +PASS HTMLElement interface: attribute inputMode +PASS HTMLElement interface: attribute dataset +PASS HTMLElement interface: attribute nonce +FAIL HTMLElement interface: attribute autofocus assert_true: The prototype object must have a property "autofocus" expected true got false +PASS HTMLElement interface: attribute tabIndex +PASS HTMLElement interface: operation focus(FocusOptions) +PASS HTMLElement interface: operation blur() +PASS HTMLElement must be primary interface of document.createElement("noscript") +PASS Stringification of document.createElement("noscript") +PASS HTMLElement interface: document.createElement("noscript") must inherit property "title" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "lang" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "translate" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "dir" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "hidden" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "click()" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "accessKey" with the proper type +FAIL HTMLElement interface: document.createElement("noscript") must inherit property "accessKeyLabel" with the proper type assert_inherits: property "accessKeyLabel" not found in prototype chain +PASS HTMLElement interface: document.createElement("noscript") must inherit property "draggable" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "spellcheck" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "autocapitalize" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "innerText" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "attachInternals()" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onabort" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onauxclick" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onblur" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncancel" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncanplay" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncanplaythrough" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onchange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onclick" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onclose" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncontextmenu" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncuechange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondblclick" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondrag" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragend" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragenter" with the proper type +FAIL HTMLElement interface: document.createElement("noscript") must inherit property "ondragexit" with the proper type assert_inherits: property "ondragexit" not found in prototype chain +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragleave" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragover" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragstart" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondrop" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondurationchange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onemptied" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onended" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onerror" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onfocus" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onformdata" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oninput" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oninvalid" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeydown" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeypress" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeyup" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onload" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadeddata" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadedmetadata" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadstart" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmousedown" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseenter" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseleave" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmousemove" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseout" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseover" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseup" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onwheel" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onpause" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onplay" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onplaying" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onprogress" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onratechange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onreset" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onresize" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onscroll" with the proper type +FAIL HTMLElement interface: document.createElement("noscript") must inherit property "onsecuritypolicyviolation" with the proper type assert_inherits: property "onsecuritypolicyviolation" not found in prototype chain +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onseeked" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onseeking" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onselect" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onstalled" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onsubmit" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onsuspend" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ontimeupdate" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "ontoggle" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onvolumechange" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onwaiting" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncopy" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncut" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "onpaste" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "contentEditable" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "enterKeyHint" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "isContentEditable" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "inputMode" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "dataset" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "nonce" with the proper type +FAIL HTMLElement interface: document.createElement("noscript") must inherit property "autofocus" with the proper type assert_inherits: property "autofocus" not found in prototype chain +PASS HTMLElement interface: document.createElement("noscript") must inherit property "tabIndex" with the proper type +PASS HTMLElement interface: document.createElement("noscript") must inherit property "focus(FocusOptions)" with the proper type +PASS HTMLElement interface: calling focus(FocusOptions) on document.createElement("noscript") with too few arguments must throw TypeError +PASS HTMLElement interface: document.createElement("noscript") must inherit property "blur()" with the proper type +PASS HTMLUnknownElement interface: existence and properties of interface object +PASS HTMLUnknownElement interface object length +PASS HTMLUnknownElement interface object name +PASS HTMLUnknownElement interface: existence and properties of interface prototype object +PASS HTMLUnknownElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLUnknownElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLUnknownElement must be primary interface of document.createElement("bgsound") +PASS Stringification of document.createElement("bgsound") +PASS HTMLHtmlElement interface: existence and properties of interface object +PASS HTMLHtmlElement interface object length +PASS HTMLHtmlElement interface object name +PASS HTMLHtmlElement interface: existence and properties of interface prototype object +PASS HTMLHtmlElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLHtmlElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLHtmlElement interface: attribute version +PASS HTMLHtmlElement must be primary interface of document.createElement("html") +PASS Stringification of document.createElement("html") +PASS HTMLHtmlElement interface: document.createElement("html") must inherit property "version" with the proper type +PASS HTMLHeadElement interface: existence and properties of interface object +PASS HTMLHeadElement interface object length +PASS HTMLHeadElement interface object name +PASS HTMLHeadElement interface: existence and properties of interface prototype object +PASS HTMLHeadElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLHeadElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLHeadElement must be primary interface of document.createElement("head") +PASS Stringification of document.createElement("head") +PASS HTMLTitleElement interface: existence and properties of interface object +PASS HTMLTitleElement interface object length +PASS HTMLTitleElement interface object name +PASS HTMLTitleElement interface: existence and properties of interface prototype object +PASS HTMLTitleElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTitleElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTitleElement interface: attribute text +PASS HTMLTitleElement must be primary interface of document.createElement("title") +PASS Stringification of document.createElement("title") +PASS HTMLTitleElement interface: document.createElement("title") must inherit property "text" with the proper type +PASS HTMLBaseElement interface: existence and properties of interface object +PASS HTMLBaseElement interface object length +PASS HTMLBaseElement interface object name +PASS HTMLBaseElement interface: existence and properties of interface prototype object +PASS HTMLBaseElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLBaseElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLBaseElement interface: attribute href +PASS HTMLBaseElement interface: attribute target +PASS HTMLBaseElement must be primary interface of document.createElement("base") +PASS Stringification of document.createElement("base") +PASS HTMLBaseElement interface: document.createElement("base") must inherit property "href" with the proper type +PASS HTMLBaseElement interface: document.createElement("base") must inherit property "target" with the proper type +PASS HTMLLinkElement interface: existence and properties of interface object +PASS HTMLLinkElement interface object length +PASS HTMLLinkElement interface object name +PASS HTMLLinkElement interface: existence and properties of interface prototype object +PASS HTMLLinkElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLLinkElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLLinkElement interface: attribute href +PASS HTMLLinkElement interface: attribute crossOrigin +PASS HTMLLinkElement interface: attribute rel +PASS HTMLLinkElement interface: attribute as +PASS HTMLLinkElement interface: attribute relList +PASS HTMLLinkElement interface: attribute media +PASS HTMLLinkElement interface: attribute integrity +PASS HTMLLinkElement interface: attribute hreflang +PASS HTMLLinkElement interface: attribute type +PASS HTMLLinkElement interface: attribute sizes +PASS HTMLLinkElement interface: attribute imageSrcset +PASS HTMLLinkElement interface: attribute imageSizes +PASS HTMLLinkElement interface: attribute referrerPolicy +PASS HTMLLinkElement interface: attribute charset +PASS HTMLLinkElement interface: attribute rev +PASS HTMLLinkElement interface: attribute target +PASS HTMLLinkElement must be primary interface of document.createElement("link") +PASS Stringification of document.createElement("link") +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "href" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "crossOrigin" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "rel" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "as" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "relList" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "media" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "integrity" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "hreflang" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "type" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "sizes" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "imageSrcset" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "imageSizes" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "referrerPolicy" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "charset" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "rev" with the proper type +PASS HTMLLinkElement interface: document.createElement("link") must inherit property "target" with the proper type +PASS HTMLMetaElement interface: existence and properties of interface object +PASS HTMLMetaElement interface object length +PASS HTMLMetaElement interface object name +PASS HTMLMetaElement interface: existence and properties of interface prototype object +PASS HTMLMetaElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMetaElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMetaElement interface: attribute name +PASS HTMLMetaElement interface: attribute httpEquiv +PASS HTMLMetaElement interface: attribute content +PASS HTMLMetaElement interface: attribute scheme +PASS HTMLMetaElement must be primary interface of document.createElement("meta") +PASS Stringification of document.createElement("meta") +PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "name" with the proper type +PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "httpEquiv" with the proper type +PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "content" with the proper type +PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "scheme" with the proper type +PASS HTMLStyleElement interface: existence and properties of interface object +PASS HTMLStyleElement interface object length +PASS HTMLStyleElement interface object name +PASS HTMLStyleElement interface: existence and properties of interface prototype object +PASS HTMLStyleElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLStyleElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLStyleElement interface: attribute media +PASS HTMLStyleElement interface: attribute type +PASS HTMLStyleElement must be primary interface of document.createElement("style") +PASS Stringification of document.createElement("style") +PASS HTMLStyleElement interface: document.createElement("style") must inherit property "media" with the proper type +PASS HTMLStyleElement interface: document.createElement("style") must inherit property "type" with the proper type +PASS HTMLBodyElement interface: existence and properties of interface object +PASS HTMLBodyElement interface object length +PASS HTMLBodyElement interface object name +PASS HTMLBodyElement interface: existence and properties of interface prototype object +PASS HTMLBodyElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLBodyElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLBodyElement interface: attribute text +PASS HTMLBodyElement interface: attribute link +PASS HTMLBodyElement interface: attribute vLink +PASS HTMLBodyElement interface: attribute aLink +PASS HTMLBodyElement interface: attribute bgColor +PASS HTMLBodyElement interface: attribute background +PASS HTMLBodyElement interface: attribute onafterprint +PASS HTMLBodyElement interface: attribute onbeforeprint +PASS HTMLBodyElement interface: attribute onbeforeunload +PASS HTMLBodyElement interface: attribute onhashchange +PASS HTMLBodyElement interface: attribute onlanguagechange +PASS HTMLBodyElement interface: attribute onmessage +PASS HTMLBodyElement interface: attribute onmessageerror +PASS HTMLBodyElement interface: attribute onoffline +PASS HTMLBodyElement interface: attribute ononline +PASS HTMLBodyElement interface: attribute onpagehide +PASS HTMLBodyElement interface: attribute onpageshow +PASS HTMLBodyElement interface: attribute onpopstate +PASS HTMLBodyElement interface: attribute onrejectionhandled +PASS HTMLBodyElement interface: attribute onstorage +PASS HTMLBodyElement interface: attribute onunhandledrejection +PASS HTMLBodyElement interface: attribute onunload +PASS HTMLBodyElement must be primary interface of document.createElement("body") +PASS Stringification of document.createElement("body") +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "text" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "link" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "vLink" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "aLink" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "bgColor" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "background" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onafterprint" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onbeforeprint" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onbeforeunload" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onhashchange" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onlanguagechange" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onmessage" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onmessageerror" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onoffline" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "ononline" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpagehide" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpageshow" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpopstate" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onrejectionhandled" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onstorage" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onunhandledrejection" with the proper type +PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onunload" with the proper type +PASS HTMLHeadingElement interface: existence and properties of interface object +PASS HTMLHeadingElement interface object length +PASS HTMLHeadingElement interface object name +PASS HTMLHeadingElement interface: existence and properties of interface prototype object +PASS HTMLHeadingElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLHeadingElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLHeadingElement interface: attribute align +PASS HTMLHeadingElement must be primary interface of document.createElement("h1") +PASS Stringification of document.createElement("h1") +PASS HTMLHeadingElement interface: document.createElement("h1") must inherit property "align" with the proper type +PASS HTMLParagraphElement interface: existence and properties of interface object +PASS HTMLParagraphElement interface object length +PASS HTMLParagraphElement interface object name +PASS HTMLParagraphElement interface: existence and properties of interface prototype object +PASS HTMLParagraphElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLParagraphElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLParagraphElement interface: attribute align +PASS HTMLParagraphElement must be primary interface of document.createElement("p") +PASS Stringification of document.createElement("p") +PASS HTMLParagraphElement interface: document.createElement("p") must inherit property "align" with the proper type +PASS HTMLHRElement interface: existence and properties of interface object +PASS HTMLHRElement interface object length +PASS HTMLHRElement interface object name +PASS HTMLHRElement interface: existence and properties of interface prototype object +PASS HTMLHRElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLHRElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLHRElement interface: attribute align +PASS HTMLHRElement interface: attribute color +PASS HTMLHRElement interface: attribute noShade +PASS HTMLHRElement interface: attribute size +PASS HTMLHRElement interface: attribute width +PASS HTMLHRElement must be primary interface of document.createElement("hr") +PASS Stringification of document.createElement("hr") +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "align" with the proper type +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "color" with the proper type +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "noShade" with the proper type +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "size" with the proper type +PASS HTMLHRElement interface: document.createElement("hr") must inherit property "width" with the proper type +PASS HTMLPreElement interface: existence and properties of interface object +PASS HTMLPreElement interface object length +PASS HTMLPreElement interface object name +PASS HTMLPreElement interface: existence and properties of interface prototype object +PASS HTMLPreElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLPreElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLPreElement interface: attribute width +PASS HTMLPreElement must be primary interface of document.createElement("pre") +PASS Stringification of document.createElement("pre") +PASS HTMLPreElement interface: document.createElement("pre") must inherit property "width" with the proper type +PASS HTMLPreElement must be primary interface of document.createElement("listing") +PASS Stringification of document.createElement("listing") +PASS HTMLPreElement interface: document.createElement("listing") must inherit property "width" with the proper type +PASS HTMLPreElement must be primary interface of document.createElement("xmp") +PASS Stringification of document.createElement("xmp") +PASS HTMLPreElement interface: document.createElement("xmp") must inherit property "width" with the proper type +PASS HTMLQuoteElement interface: existence and properties of interface object +PASS HTMLQuoteElement interface object length +PASS HTMLQuoteElement interface object name +PASS HTMLQuoteElement interface: existence and properties of interface prototype object +PASS HTMLQuoteElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLQuoteElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLQuoteElement interface: attribute cite +PASS HTMLQuoteElement must be primary interface of document.createElement("blockquote") +PASS Stringification of document.createElement("blockquote") +PASS HTMLQuoteElement interface: document.createElement("blockquote") must inherit property "cite" with the proper type +PASS HTMLQuoteElement must be primary interface of document.createElement("q") +PASS Stringification of document.createElement("q") +PASS HTMLQuoteElement interface: document.createElement("q") must inherit property "cite" with the proper type +PASS HTMLOListElement interface: existence and properties of interface object +PASS HTMLOListElement interface object length +PASS HTMLOListElement interface object name +PASS HTMLOListElement interface: existence and properties of interface prototype object +PASS HTMLOListElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOListElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOListElement interface: attribute reversed +PASS HTMLOListElement interface: attribute start +PASS HTMLOListElement interface: attribute type +PASS HTMLOListElement interface: attribute compact +PASS HTMLUListElement interface: existence and properties of interface object +PASS HTMLUListElement interface object length +PASS HTMLUListElement interface object name +PASS HTMLUListElement interface: existence and properties of interface prototype object +PASS HTMLUListElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLUListElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLUListElement interface: attribute compact +PASS HTMLUListElement interface: attribute type +PASS HTMLMenuElement interface: existence and properties of interface object +PASS HTMLMenuElement interface object length +PASS HTMLMenuElement interface object name +PASS HTMLMenuElement interface: existence and properties of interface prototype object +PASS HTMLMenuElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMenuElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMenuElement interface: attribute compact +PASS HTMLMenuElement must be primary interface of document.createElement("menu") +PASS Stringification of document.createElement("menu") +PASS HTMLMenuElement interface: document.createElement("menu") must inherit property "compact" with the proper type +PASS HTMLLIElement interface: existence and properties of interface object +PASS HTMLLIElement interface object length +PASS HTMLLIElement interface object name +PASS HTMLLIElement interface: existence and properties of interface prototype object +PASS HTMLLIElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLLIElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLLIElement interface: attribute value +PASS HTMLLIElement interface: attribute type +PASS HTMLLIElement must be primary interface of document.createElement("li") +PASS Stringification of document.createElement("li") +PASS HTMLLIElement interface: document.createElement("li") must inherit property "value" with the proper type +PASS HTMLLIElement interface: document.createElement("li") must inherit property "type" with the proper type +PASS HTMLDListElement interface: existence and properties of interface object +PASS HTMLDListElement interface object length +PASS HTMLDListElement interface object name +PASS HTMLDListElement interface: existence and properties of interface prototype object +PASS HTMLDListElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDListElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDListElement interface: attribute compact +PASS HTMLDivElement interface: existence and properties of interface object +PASS HTMLDivElement interface object length +PASS HTMLDivElement interface object name +PASS HTMLDivElement interface: existence and properties of interface prototype object +PASS HTMLDivElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDivElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDivElement interface: attribute align +PASS HTMLDivElement must be primary interface of document.createElement("div") +PASS Stringification of document.createElement("div") +PASS HTMLDivElement interface: document.createElement("div") must inherit property "align" with the proper type +PASS HTMLAnchorElement interface: existence and properties of interface object +PASS HTMLAnchorElement interface object length +PASS HTMLAnchorElement interface object name +PASS HTMLAnchorElement interface: existence and properties of interface prototype object +PASS HTMLAnchorElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLAnchorElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLAnchorElement interface: attribute target +PASS HTMLAnchorElement interface: attribute download +PASS HTMLAnchorElement interface: attribute ping +PASS HTMLAnchorElement interface: attribute rel +PASS HTMLAnchorElement interface: attribute relList +PASS HTMLAnchorElement interface: attribute hreflang +PASS HTMLAnchorElement interface: attribute type +PASS HTMLAnchorElement interface: attribute text +PASS HTMLAnchorElement interface: attribute referrerPolicy +PASS HTMLAnchorElement interface: attribute coords +PASS HTMLAnchorElement interface: attribute charset +PASS HTMLAnchorElement interface: attribute name +PASS HTMLAnchorElement interface: attribute rev +PASS HTMLAnchorElement interface: attribute shape +PASS HTMLAnchorElement interface: attribute href +PASS HTMLAnchorElement interface: stringifier +PASS HTMLAnchorElement interface: attribute origin +PASS HTMLAnchorElement interface: attribute protocol +PASS HTMLAnchorElement interface: attribute username +PASS HTMLAnchorElement interface: attribute password +PASS HTMLAnchorElement interface: attribute host +PASS HTMLAnchorElement interface: attribute hostname +PASS HTMLAnchorElement interface: attribute port +PASS HTMLAnchorElement interface: attribute pathname +PASS HTMLAnchorElement interface: attribute search +PASS HTMLAnchorElement interface: attribute hash +PASS HTMLAnchorElement must be primary interface of document.createElement("a") +PASS Stringification of document.createElement("a") +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "target" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "download" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "ping" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "rel" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "relList" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hreflang" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "type" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "text" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "referrerPolicy" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "coords" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "charset" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "name" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "rev" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "shape" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "href" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "origin" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "protocol" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "username" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "password" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "host" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hostname" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "port" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "pathname" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "search" with the proper type +PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hash" with the proper type +PASS HTMLDataElement interface: existence and properties of interface object +PASS HTMLDataElement interface object length +PASS HTMLDataElement interface object name +PASS HTMLDataElement interface: existence and properties of interface prototype object +PASS HTMLDataElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDataElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDataElement interface: attribute value +PASS HTMLDataElement must be primary interface of document.createElement("data") +PASS Stringification of document.createElement("data") +PASS HTMLDataElement interface: document.createElement("data") must inherit property "value" with the proper type +PASS HTMLTimeElement interface: existence and properties of interface object +PASS HTMLTimeElement interface object length +PASS HTMLTimeElement interface object name +PASS HTMLTimeElement interface: existence and properties of interface prototype object +PASS HTMLTimeElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTimeElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTimeElement interface: attribute dateTime +PASS HTMLTimeElement must be primary interface of document.createElement("time") +PASS Stringification of document.createElement("time") +PASS HTMLTimeElement interface: document.createElement("time") must inherit property "dateTime" with the proper type +PASS HTMLSpanElement interface: existence and properties of interface object +PASS HTMLSpanElement interface object length +PASS HTMLSpanElement interface object name +PASS HTMLSpanElement interface: existence and properties of interface prototype object +PASS HTMLSpanElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLSpanElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLSpanElement must be primary interface of document.createElement("span") +PASS Stringification of document.createElement("span") +PASS HTMLBRElement interface: existence and properties of interface object +PASS HTMLBRElement interface object length +PASS HTMLBRElement interface object name +PASS HTMLBRElement interface: existence and properties of interface prototype object +PASS HTMLBRElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLBRElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLBRElement interface: attribute clear +PASS HTMLBRElement must be primary interface of document.createElement("br") +PASS Stringification of document.createElement("br") +PASS HTMLBRElement interface: document.createElement("br") must inherit property "clear" with the proper type +PASS HTMLModElement interface: existence and properties of interface object +PASS HTMLModElement interface object length +PASS HTMLModElement interface object name +PASS HTMLModElement interface: existence and properties of interface prototype object +PASS HTMLModElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLModElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLModElement interface: attribute cite +PASS HTMLModElement interface: attribute dateTime +PASS HTMLModElement must be primary interface of document.createElement("ins") +PASS Stringification of document.createElement("ins") +PASS HTMLModElement interface: document.createElement("ins") must inherit property "cite" with the proper type +PASS HTMLModElement interface: document.createElement("ins") must inherit property "dateTime" with the proper type +PASS HTMLModElement must be primary interface of document.createElement("del") +PASS Stringification of document.createElement("del") +PASS HTMLModElement interface: document.createElement("del") must inherit property "cite" with the proper type +PASS HTMLModElement interface: document.createElement("del") must inherit property "dateTime" with the proper type +PASS HTMLPictureElement interface: existence and properties of interface object +PASS HTMLPictureElement interface object length +PASS HTMLPictureElement interface object name +PASS HTMLPictureElement interface: existence and properties of interface prototype object +PASS HTMLPictureElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLPictureElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLPictureElement must be primary interface of document.createElement("picture") +PASS Stringification of document.createElement("picture") +PASS HTMLSourceElement interface: existence and properties of interface object +PASS HTMLSourceElement interface object length +PASS HTMLSourceElement interface object name +PASS HTMLSourceElement interface: existence and properties of interface prototype object +PASS HTMLSourceElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLSourceElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLSourceElement interface: attribute src +PASS HTMLSourceElement interface: attribute type +PASS HTMLSourceElement interface: attribute srcset +PASS HTMLSourceElement interface: attribute sizes +PASS HTMLSourceElement interface: attribute media +PASS HTMLSourceElement must be primary interface of document.createElement("source") +PASS Stringification of document.createElement("source") +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "src" with the proper type +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "type" with the proper type +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "srcset" with the proper type +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "sizes" with the proper type +PASS HTMLSourceElement interface: document.createElement("source") must inherit property "media" with the proper type +PASS HTMLImageElement interface: existence and properties of interface object +PASS HTMLImageElement interface object length +PASS HTMLImageElement interface object name +PASS HTMLImageElement interface: named constructor +PASS HTMLImageElement interface: named constructor object +PASS HTMLImageElement interface: named constructor prototype property +PASS HTMLImageElement interface: named constructor name +PASS HTMLImageElement interface: named constructor length +PASS HTMLImageElement interface: named constructor without 'new' +PASS HTMLImageElement interface: existence and properties of interface prototype object +PASS HTMLImageElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLImageElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLImageElement interface: attribute alt +PASS HTMLImageElement interface: attribute src +PASS HTMLImageElement interface: attribute srcset +PASS HTMLImageElement interface: attribute sizes +PASS HTMLImageElement interface: attribute crossOrigin +PASS HTMLImageElement interface: attribute useMap +PASS HTMLImageElement interface: attribute isMap +PASS HTMLImageElement interface: attribute width +PASS HTMLImageElement interface: attribute height +PASS HTMLImageElement interface: attribute naturalWidth +PASS HTMLImageElement interface: attribute naturalHeight +PASS HTMLImageElement interface: attribute complete +PASS HTMLImageElement interface: attribute currentSrc +PASS HTMLImageElement interface: attribute referrerPolicy +PASS HTMLImageElement interface: attribute decoding +PASS HTMLImageElement interface: operation decode() +PASS HTMLImageElement interface: attribute name +PASS HTMLImageElement interface: attribute lowsrc +PASS HTMLImageElement interface: attribute align +PASS HTMLImageElement interface: attribute hspace +PASS HTMLImageElement interface: attribute vspace +PASS HTMLImageElement interface: attribute longDesc +PASS HTMLImageElement interface: attribute border +PASS HTMLImageElement must be primary interface of document.createElement("img") +PASS Stringification of document.createElement("img") +PASS HTMLImageElement interface: document.createElement("img") must inherit property "alt" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "src" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "srcset" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "sizes" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "crossOrigin" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "useMap" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "isMap" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "width" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "height" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "naturalWidth" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "naturalHeight" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "complete" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "currentSrc" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "referrerPolicy" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "decoding" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "decode()" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "name" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "lowsrc" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "align" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "hspace" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "vspace" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "longDesc" with the proper type +PASS HTMLImageElement interface: document.createElement("img") must inherit property "border" with the proper type +PASS HTMLImageElement must be primary interface of new Image() +PASS Stringification of new Image() +PASS HTMLImageElement interface: new Image() must inherit property "alt" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "src" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "srcset" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "sizes" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "crossOrigin" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "useMap" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "isMap" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "width" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "height" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "naturalWidth" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "naturalHeight" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "complete" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "currentSrc" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "referrerPolicy" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "decoding" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "decode()" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "name" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "lowsrc" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "align" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "hspace" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "vspace" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "longDesc" with the proper type +PASS HTMLImageElement interface: new Image() must inherit property "border" with the proper type +PASS HTMLIFrameElement interface: existence and properties of interface object +PASS HTMLIFrameElement interface object length +PASS HTMLIFrameElement interface object name +PASS HTMLIFrameElement interface: existence and properties of interface prototype object +PASS HTMLIFrameElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLIFrameElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLIFrameElement interface: attribute src +PASS HTMLIFrameElement interface: attribute srcdoc +PASS HTMLIFrameElement interface: attribute name +PASS HTMLIFrameElement interface: attribute sandbox +PASS HTMLIFrameElement interface: attribute allow +PASS HTMLIFrameElement interface: attribute allowFullscreen +PASS HTMLIFrameElement interface: attribute allowPaymentRequest +PASS HTMLIFrameElement interface: attribute width +PASS HTMLIFrameElement interface: attribute height +PASS HTMLIFrameElement interface: attribute referrerPolicy +PASS HTMLIFrameElement interface: attribute contentDocument +PASS HTMLIFrameElement interface: attribute contentWindow +PASS HTMLIFrameElement interface: operation getSVGDocument() +PASS HTMLIFrameElement interface: attribute align +PASS HTMLIFrameElement interface: attribute scrolling +PASS HTMLIFrameElement interface: attribute frameBorder +PASS HTMLIFrameElement interface: attribute longDesc +PASS HTMLIFrameElement interface: attribute marginHeight +PASS HTMLIFrameElement interface: attribute marginWidth +PASS HTMLEmbedElement interface: existence and properties of interface object +PASS HTMLEmbedElement interface object length +PASS HTMLEmbedElement interface object name +PASS HTMLEmbedElement interface: existence and properties of interface prototype object +PASS HTMLEmbedElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLEmbedElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLEmbedElement interface: attribute src +PASS HTMLEmbedElement interface: attribute type +PASS HTMLEmbedElement interface: attribute width +PASS HTMLEmbedElement interface: attribute height +PASS HTMLEmbedElement interface: operation getSVGDocument() +PASS HTMLEmbedElement interface: attribute align +PASS HTMLEmbedElement interface: attribute name +PASS HTMLEmbedElement must be primary interface of document.createElement("embed") +PASS Stringification of document.createElement("embed") +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "src" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "type" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "width" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "height" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "getSVGDocument()" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "align" with the proper type +PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "name" with the proper type +PASS HTMLObjectElement interface: existence and properties of interface object +PASS HTMLObjectElement interface object length +PASS HTMLObjectElement interface object name +PASS HTMLObjectElement interface: existence and properties of interface prototype object +PASS HTMLObjectElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLObjectElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLObjectElement interface: attribute data +PASS HTMLObjectElement interface: attribute type +PASS HTMLObjectElement interface: attribute name +PASS HTMLObjectElement interface: attribute useMap +PASS HTMLObjectElement interface: attribute form +PASS HTMLObjectElement interface: attribute width +PASS HTMLObjectElement interface: attribute height +PASS HTMLObjectElement interface: attribute contentDocument +PASS HTMLObjectElement interface: attribute contentWindow +PASS HTMLObjectElement interface: operation getSVGDocument() +PASS HTMLObjectElement interface: attribute willValidate +PASS HTMLObjectElement interface: attribute validity +PASS HTMLObjectElement interface: attribute validationMessage +PASS HTMLObjectElement interface: operation checkValidity() +PASS HTMLObjectElement interface: operation reportValidity() +PASS HTMLObjectElement interface: operation setCustomValidity(DOMString) +PASS HTMLObjectElement interface: attribute align +PASS HTMLObjectElement interface: attribute archive +PASS HTMLObjectElement interface: attribute code +PASS HTMLObjectElement interface: attribute declare +PASS HTMLObjectElement interface: attribute hspace +PASS HTMLObjectElement interface: attribute standby +PASS HTMLObjectElement interface: attribute vspace +PASS HTMLObjectElement interface: attribute codeBase +PASS HTMLObjectElement interface: attribute codeType +PASS HTMLObjectElement interface: attribute border +PASS HTMLObjectElement must be primary interface of document.createElement("object") +PASS Stringification of document.createElement("object") +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "data" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "type" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "name" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "useMap" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "form" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "width" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "height" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "contentDocument" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "contentWindow" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "getSVGDocument()" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "willValidate" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "validity" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "validationMessage" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "checkValidity()" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "reportValidity()" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLObjectElement interface: calling setCustomValidity(DOMString) on document.createElement("object") with too few arguments must throw TypeError +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "align" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "archive" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "code" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "declare" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "hspace" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "standby" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "vspace" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "codeBase" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "codeType" with the proper type +PASS HTMLObjectElement interface: document.createElement("object") must inherit property "border" with the proper type +PASS HTMLParamElement interface: existence and properties of interface object +PASS HTMLParamElement interface object length +PASS HTMLParamElement interface object name +PASS HTMLParamElement interface: existence and properties of interface prototype object +PASS HTMLParamElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLParamElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLParamElement interface: attribute name +PASS HTMLParamElement interface: attribute value +PASS HTMLParamElement interface: attribute type +PASS HTMLParamElement interface: attribute valueType +PASS HTMLParamElement must be primary interface of document.createElement("param") +PASS Stringification of document.createElement("param") +PASS HTMLParamElement interface: document.createElement("param") must inherit property "name" with the proper type +PASS HTMLParamElement interface: document.createElement("param") must inherit property "value" with the proper type +PASS HTMLParamElement interface: document.createElement("param") must inherit property "type" with the proper type +PASS HTMLParamElement interface: document.createElement("param") must inherit property "valueType" with the proper type +PASS HTMLVideoElement interface: existence and properties of interface object +PASS HTMLVideoElement interface object length +PASS HTMLVideoElement interface object name +PASS HTMLVideoElement interface: existence and properties of interface prototype object +PASS HTMLVideoElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLVideoElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLVideoElement interface: attribute width +PASS HTMLVideoElement interface: attribute height +PASS HTMLVideoElement interface: attribute videoWidth +PASS HTMLVideoElement interface: attribute videoHeight +PASS HTMLVideoElement interface: attribute poster +PASS HTMLVideoElement interface: attribute playsInline +PASS HTMLVideoElement must be primary interface of document.createElement("video") +PASS Stringification of document.createElement("video") +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "width" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "height" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "videoWidth" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "videoHeight" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "poster" with the proper type +PASS HTMLVideoElement interface: document.createElement("video") must inherit property "playsInline" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "error" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "src" with the proper type +FAIL HTMLMediaElement interface: document.createElement("video") must inherit property "srcObject" with the proper type Unrecognized type MediaStream +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "currentSrc" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "crossOrigin" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_EMPTY" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_IDLE" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_LOADING" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_NO_SOURCE" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "networkState" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "preload" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "buffered" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "load()" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "canPlayType(DOMString)" with the proper type +PASS HTMLMediaElement interface: calling canPlayType(DOMString) on document.createElement("video") with too few arguments must throw TypeError +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_NOTHING" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_METADATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_CURRENT_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_FUTURE_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_ENOUGH_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "readyState" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "seeking" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "currentTime" with the proper type +FAIL HTMLMediaElement interface: document.createElement("video") must inherit property "fastSeek(double)" with the proper type assert_inherits: property "fastSeek" not found in prototype chain +FAIL HTMLMediaElement interface: calling fastSeek(double) on document.createElement("video") with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "duration" with the proper type +FAIL HTMLMediaElement interface: document.createElement("video") must inherit property "getStartDate()" with the proper type assert_inherits: property "getStartDate" not found in prototype chain +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "paused" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "defaultPlaybackRate" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "playbackRate" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "played" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "seekable" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "ended" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "autoplay" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "loop" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "play()" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "pause()" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "controls" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "volume" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "muted" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "defaultMuted" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "audioTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "videoTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "textTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("video") must inherit property "addTextTrack(TextTrackKind, DOMString, DOMString)" with the proper type +PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind, DOMString, DOMString) on document.createElement("video") with too few arguments must throw TypeError +PASS HTMLAudioElement interface: existence and properties of interface object +PASS HTMLAudioElement interface object length +PASS HTMLAudioElement interface object name +PASS HTMLAudioElement interface: named constructor +PASS HTMLAudioElement interface: named constructor object +PASS HTMLAudioElement interface: named constructor prototype property +PASS HTMLAudioElement interface: named constructor name +PASS HTMLAudioElement interface: named constructor length +PASS HTMLAudioElement interface: named constructor without 'new' +PASS HTMLAudioElement interface: existence and properties of interface prototype object +PASS HTMLAudioElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLAudioElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLAudioElement must be primary interface of document.createElement("audio") +PASS Stringification of document.createElement("audio") +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "error" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "src" with the proper type +FAIL HTMLMediaElement interface: document.createElement("audio") must inherit property "srcObject" with the proper type Unrecognized type MediaStream +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "currentSrc" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "crossOrigin" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_EMPTY" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_IDLE" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_LOADING" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_NO_SOURCE" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "networkState" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "preload" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "buffered" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "load()" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "canPlayType(DOMString)" with the proper type +PASS HTMLMediaElement interface: calling canPlayType(DOMString) on document.createElement("audio") with too few arguments must throw TypeError +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_NOTHING" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_METADATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_CURRENT_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_FUTURE_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_ENOUGH_DATA" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "readyState" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "seeking" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "currentTime" with the proper type +FAIL HTMLMediaElement interface: document.createElement("audio") must inherit property "fastSeek(double)" with the proper type assert_inherits: property "fastSeek" not found in prototype chain +FAIL HTMLMediaElement interface: calling fastSeek(double) on document.createElement("audio") with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "duration" with the proper type +FAIL HTMLMediaElement interface: document.createElement("audio") must inherit property "getStartDate()" with the proper type assert_inherits: property "getStartDate" not found in prototype chain +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "paused" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "defaultPlaybackRate" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "playbackRate" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "played" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "seekable" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "ended" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "autoplay" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "loop" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "play()" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "pause()" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "controls" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "volume" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "muted" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "defaultMuted" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "audioTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "videoTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "textTracks" with the proper type +PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "addTextTrack(TextTrackKind, DOMString, DOMString)" with the proper type +PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind, DOMString, DOMString) on document.createElement("audio") with too few arguments must throw TypeError +PASS HTMLAudioElement must be primary interface of new Audio() +PASS Stringification of new Audio() +PASS HTMLMediaElement interface: new Audio() must inherit property "error" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "src" with the proper type +FAIL HTMLMediaElement interface: new Audio() must inherit property "srcObject" with the proper type Unrecognized type MediaStream +PASS HTMLMediaElement interface: new Audio() must inherit property "currentSrc" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "crossOrigin" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_EMPTY" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_IDLE" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_LOADING" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_NO_SOURCE" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "networkState" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "preload" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "buffered" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "load()" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "canPlayType(DOMString)" with the proper type +PASS HTMLMediaElement interface: calling canPlayType(DOMString) on new Audio() with too few arguments must throw TypeError +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_NOTHING" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_METADATA" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_CURRENT_DATA" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_FUTURE_DATA" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_ENOUGH_DATA" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "readyState" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "seeking" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "currentTime" with the proper type +FAIL HTMLMediaElement interface: new Audio() must inherit property "fastSeek(double)" with the proper type assert_inherits: property "fastSeek" not found in prototype chain +FAIL HTMLMediaElement interface: calling fastSeek(double) on new Audio() with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain +PASS HTMLMediaElement interface: new Audio() must inherit property "duration" with the proper type +FAIL HTMLMediaElement interface: new Audio() must inherit property "getStartDate()" with the proper type assert_inherits: property "getStartDate" not found in prototype chain +PASS HTMLMediaElement interface: new Audio() must inherit property "paused" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "defaultPlaybackRate" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "playbackRate" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "played" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "seekable" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "ended" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "autoplay" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "loop" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "play()" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "pause()" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "controls" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "volume" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "muted" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "defaultMuted" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "audioTracks" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "videoTracks" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "textTracks" with the proper type +PASS HTMLMediaElement interface: new Audio() must inherit property "addTextTrack(TextTrackKind, DOMString, DOMString)" with the proper type +PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind, DOMString, DOMString) on new Audio() with too few arguments must throw TypeError +PASS HTMLTrackElement interface: existence and properties of interface object +PASS HTMLTrackElement interface object length +PASS HTMLTrackElement interface object name +PASS HTMLTrackElement interface: existence and properties of interface prototype object +PASS HTMLTrackElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTrackElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTrackElement interface: attribute kind +PASS HTMLTrackElement interface: attribute src +PASS HTMLTrackElement interface: attribute srclang +PASS HTMLTrackElement interface: attribute label +PASS HTMLTrackElement interface: attribute default +PASS HTMLTrackElement interface: constant NONE on interface object +PASS HTMLTrackElement interface: constant NONE on interface prototype object +PASS HTMLTrackElement interface: constant LOADING on interface object +PASS HTMLTrackElement interface: constant LOADING on interface prototype object +PASS HTMLTrackElement interface: constant LOADED on interface object +PASS HTMLTrackElement interface: constant LOADED on interface prototype object +PASS HTMLTrackElement interface: constant ERROR on interface object +PASS HTMLTrackElement interface: constant ERROR on interface prototype object +PASS HTMLTrackElement interface: attribute readyState +PASS HTMLTrackElement interface: attribute track +PASS HTMLTrackElement must be primary interface of document.createElement("track") +PASS Stringification of document.createElement("track") +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "kind" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "src" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "srclang" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "label" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "default" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "NONE" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "LOADING" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "LOADED" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "ERROR" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "readyState" with the proper type +PASS HTMLTrackElement interface: document.createElement("track") must inherit property "track" with the proper type +PASS HTMLMediaElement interface: existence and properties of interface object +PASS HTMLMediaElement interface object length +PASS HTMLMediaElement interface object name +PASS HTMLMediaElement interface: existence and properties of interface prototype object +PASS HTMLMediaElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMediaElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMediaElement interface: attribute error +PASS HTMLMediaElement interface: attribute src +PASS HTMLMediaElement interface: attribute srcObject +PASS HTMLMediaElement interface: attribute currentSrc +PASS HTMLMediaElement interface: attribute crossOrigin +PASS HTMLMediaElement interface: constant NETWORK_EMPTY on interface object +PASS HTMLMediaElement interface: constant NETWORK_EMPTY on interface prototype object +PASS HTMLMediaElement interface: constant NETWORK_IDLE on interface object +PASS HTMLMediaElement interface: constant NETWORK_IDLE on interface prototype object +PASS HTMLMediaElement interface: constant NETWORK_LOADING on interface object +PASS HTMLMediaElement interface: constant NETWORK_LOADING on interface prototype object +PASS HTMLMediaElement interface: constant NETWORK_NO_SOURCE on interface object +PASS HTMLMediaElement interface: constant NETWORK_NO_SOURCE on interface prototype object +PASS HTMLMediaElement interface: attribute networkState +PASS HTMLMediaElement interface: attribute preload +PASS HTMLMediaElement interface: attribute buffered +PASS HTMLMediaElement interface: operation load() +PASS HTMLMediaElement interface: operation canPlayType(DOMString) +PASS HTMLMediaElement interface: constant HAVE_NOTHING on interface object +PASS HTMLMediaElement interface: constant HAVE_NOTHING on interface prototype object +PASS HTMLMediaElement interface: constant HAVE_METADATA on interface object +PASS HTMLMediaElement interface: constant HAVE_METADATA on interface prototype object +PASS HTMLMediaElement interface: constant HAVE_CURRENT_DATA on interface object +PASS HTMLMediaElement interface: constant HAVE_CURRENT_DATA on interface prototype object +PASS HTMLMediaElement interface: constant HAVE_FUTURE_DATA on interface object +PASS HTMLMediaElement interface: constant HAVE_FUTURE_DATA on interface prototype object +PASS HTMLMediaElement interface: constant HAVE_ENOUGH_DATA on interface object +PASS HTMLMediaElement interface: constant HAVE_ENOUGH_DATA on interface prototype object +PASS HTMLMediaElement interface: attribute readyState +PASS HTMLMediaElement interface: attribute seeking +PASS HTMLMediaElement interface: attribute currentTime +FAIL HTMLMediaElement interface: operation fastSeek(double) assert_own_property: interface prototype object missing non-static operation expected property "fastSeek" missing +PASS HTMLMediaElement interface: attribute duration +FAIL HTMLMediaElement interface: operation getStartDate() assert_own_property: interface prototype object missing non-static operation expected property "getStartDate" missing +PASS HTMLMediaElement interface: attribute paused +PASS HTMLMediaElement interface: attribute defaultPlaybackRate +PASS HTMLMediaElement interface: attribute playbackRate +PASS HTMLMediaElement interface: attribute played +PASS HTMLMediaElement interface: attribute seekable +PASS HTMLMediaElement interface: attribute ended +PASS HTMLMediaElement interface: attribute autoplay +PASS HTMLMediaElement interface: attribute loop +PASS HTMLMediaElement interface: operation play() +PASS HTMLMediaElement interface: operation pause() +PASS HTMLMediaElement interface: attribute controls +PASS HTMLMediaElement interface: attribute volume +PASS HTMLMediaElement interface: attribute muted +PASS HTMLMediaElement interface: attribute defaultMuted +PASS HTMLMediaElement interface: attribute audioTracks +PASS HTMLMediaElement interface: attribute videoTracks +PASS HTMLMediaElement interface: attribute textTracks +PASS HTMLMediaElement interface: operation addTextTrack(TextTrackKind, DOMString, DOMString) +PASS HTMLMapElement interface: existence and properties of interface object +PASS HTMLMapElement interface object length +PASS HTMLMapElement interface object name +PASS HTMLMapElement interface: existence and properties of interface prototype object +PASS HTMLMapElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMapElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMapElement interface: attribute name +PASS HTMLMapElement interface: attribute areas +PASS HTMLMapElement must be primary interface of document.createElement("map") +PASS Stringification of document.createElement("map") +PASS HTMLMapElement interface: document.createElement("map") must inherit property "name" with the proper type +PASS HTMLMapElement interface: document.createElement("map") must inherit property "areas" with the proper type +PASS HTMLAreaElement interface: existence and properties of interface object +PASS HTMLAreaElement interface object length +PASS HTMLAreaElement interface object name +PASS HTMLAreaElement interface: existence and properties of interface prototype object +PASS HTMLAreaElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLAreaElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLAreaElement interface: attribute alt +PASS HTMLAreaElement interface: attribute coords +PASS HTMLAreaElement interface: attribute shape +PASS HTMLAreaElement interface: attribute target +PASS HTMLAreaElement interface: attribute download +PASS HTMLAreaElement interface: attribute ping +PASS HTMLAreaElement interface: attribute rel +PASS HTMLAreaElement interface: attribute relList +PASS HTMLAreaElement interface: attribute referrerPolicy +PASS HTMLAreaElement interface: attribute noHref +PASS HTMLAreaElement interface: attribute href +PASS HTMLAreaElement interface: stringifier +PASS HTMLAreaElement interface: attribute origin +PASS HTMLAreaElement interface: attribute protocol +PASS HTMLAreaElement interface: attribute username +PASS HTMLAreaElement interface: attribute password +PASS HTMLAreaElement interface: attribute host +PASS HTMLAreaElement interface: attribute hostname +PASS HTMLAreaElement interface: attribute port +PASS HTMLAreaElement interface: attribute pathname +PASS HTMLAreaElement interface: attribute search +PASS HTMLAreaElement interface: attribute hash +PASS HTMLAreaElement must be primary interface of document.createElement("area") +PASS Stringification of document.createElement("area") +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "alt" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "coords" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "shape" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "target" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "download" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "ping" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "rel" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "relList" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "referrerPolicy" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "noHref" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "href" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "origin" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "protocol" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "username" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "password" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "host" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "hostname" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "port" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "pathname" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "search" with the proper type +PASS HTMLAreaElement interface: document.createElement("area") must inherit property "hash" with the proper type +PASS HTMLTableElement interface: existence and properties of interface object +PASS HTMLTableElement interface object length +PASS HTMLTableElement interface object name +PASS HTMLTableElement interface: existence and properties of interface prototype object +PASS HTMLTableElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableElement interface: attribute caption +PASS HTMLTableElement interface: operation createCaption() +PASS HTMLTableElement interface: operation deleteCaption() +PASS HTMLTableElement interface: attribute tHead +PASS HTMLTableElement interface: operation createTHead() +PASS HTMLTableElement interface: operation deleteTHead() +PASS HTMLTableElement interface: attribute tFoot +PASS HTMLTableElement interface: operation createTFoot() +PASS HTMLTableElement interface: operation deleteTFoot() +PASS HTMLTableElement interface: attribute tBodies +PASS HTMLTableElement interface: operation createTBody() +PASS HTMLTableElement interface: attribute rows +PASS HTMLTableElement interface: operation insertRow(long) +PASS HTMLTableElement interface: operation deleteRow(long) +PASS HTMLTableElement interface: attribute align +PASS HTMLTableElement interface: attribute border +PASS HTMLTableElement interface: attribute frame +PASS HTMLTableElement interface: attribute rules +PASS HTMLTableElement interface: attribute summary +PASS HTMLTableElement interface: attribute width +PASS HTMLTableElement interface: attribute bgColor +PASS HTMLTableElement interface: attribute cellPadding +PASS HTMLTableElement interface: attribute cellSpacing +PASS HTMLTableElement must be primary interface of document.createElement("table") +PASS Stringification of document.createElement("table") +PASS HTMLTableElement interface: document.createElement("table") must inherit property "caption" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "createCaption()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteCaption()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "tHead" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTHead()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteTHead()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "tFoot" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTFoot()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteTFoot()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "tBodies" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTBody()" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "rows" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "insertRow(long)" with the proper type +PASS HTMLTableElement interface: calling insertRow(long) on document.createElement("table") with too few arguments must throw TypeError +PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteRow(long)" with the proper type +PASS HTMLTableElement interface: calling deleteRow(long) on document.createElement("table") with too few arguments must throw TypeError +PASS HTMLTableElement interface: document.createElement("table") must inherit property "align" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "border" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "frame" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "rules" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "summary" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "width" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "bgColor" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "cellPadding" with the proper type +PASS HTMLTableElement interface: document.createElement("table") must inherit property "cellSpacing" with the proper type +PASS HTMLTableCaptionElement interface: existence and properties of interface object +PASS HTMLTableCaptionElement interface object length +PASS HTMLTableCaptionElement interface object name +PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object +PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableCaptionElement interface: attribute align +PASS HTMLTableCaptionElement must be primary interface of document.createElement("caption") +PASS Stringification of document.createElement("caption") +PASS HTMLTableCaptionElement interface: document.createElement("caption") must inherit property "align" with the proper type +PASS HTMLTableColElement interface: existence and properties of interface object +PASS HTMLTableColElement interface object length +PASS HTMLTableColElement interface object name +PASS HTMLTableColElement interface: existence and properties of interface prototype object +PASS HTMLTableColElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableColElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableColElement interface: attribute span +PASS HTMLTableColElement interface: attribute align +PASS HTMLTableColElement interface: attribute ch +PASS HTMLTableColElement interface: attribute chOff +PASS HTMLTableColElement interface: attribute vAlign +PASS HTMLTableColElement interface: attribute width +PASS HTMLTableColElement must be primary interface of document.createElement("colgroup") +PASS Stringification of document.createElement("colgroup") +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "span" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "align" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "ch" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "chOff" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "vAlign" with the proper type +PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "width" with the proper type +PASS HTMLTableColElement must be primary interface of document.createElement("col") +PASS Stringification of document.createElement("col") +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "span" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "align" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "ch" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "chOff" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "vAlign" with the proper type +PASS HTMLTableColElement interface: document.createElement("col") must inherit property "width" with the proper type +PASS HTMLTableSectionElement interface: existence and properties of interface object +PASS HTMLTableSectionElement interface object length +PASS HTMLTableSectionElement interface object name +PASS HTMLTableSectionElement interface: existence and properties of interface prototype object +PASS HTMLTableSectionElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableSectionElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableSectionElement interface: attribute rows +PASS HTMLTableSectionElement interface: operation insertRow(long) +PASS HTMLTableSectionElement interface: operation deleteRow(long) +PASS HTMLTableSectionElement interface: attribute align +PASS HTMLTableSectionElement interface: attribute ch +PASS HTMLTableSectionElement interface: attribute chOff +PASS HTMLTableSectionElement interface: attribute vAlign +PASS HTMLTableSectionElement must be primary interface of document.createElement("tbody") +PASS Stringification of document.createElement("tbody") +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "rows" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "insertRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("tbody") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "deleteRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("tbody") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "align" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "ch" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "chOff" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "vAlign" with the proper type +PASS HTMLTableSectionElement must be primary interface of document.createElement("thead") +PASS Stringification of document.createElement("thead") +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "rows" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "insertRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("thead") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "deleteRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("thead") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "align" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "ch" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "chOff" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "vAlign" with the proper type +PASS HTMLTableSectionElement must be primary interface of document.createElement("tfoot") +PASS Stringification of document.createElement("tfoot") +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "rows" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "insertRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("tfoot") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "deleteRow(long)" with the proper type +PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("tfoot") with too few arguments must throw TypeError +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "align" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "ch" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "chOff" with the proper type +PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "vAlign" with the proper type +PASS HTMLTableRowElement interface: existence and properties of interface object +PASS HTMLTableRowElement interface object length +PASS HTMLTableRowElement interface object name +PASS HTMLTableRowElement interface: existence and properties of interface prototype object +PASS HTMLTableRowElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableRowElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableRowElement interface: attribute rowIndex +PASS HTMLTableRowElement interface: attribute sectionRowIndex +PASS HTMLTableRowElement interface: attribute cells +PASS HTMLTableRowElement interface: operation insertCell(long) +PASS HTMLTableRowElement interface: operation deleteCell(long) +PASS HTMLTableRowElement interface: attribute align +PASS HTMLTableRowElement interface: attribute ch +PASS HTMLTableRowElement interface: attribute chOff +PASS HTMLTableRowElement interface: attribute vAlign +PASS HTMLTableRowElement interface: attribute bgColor +PASS HTMLTableRowElement must be primary interface of document.createElement("tr") +PASS Stringification of document.createElement("tr") +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "rowIndex" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "sectionRowIndex" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "cells" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "insertCell(long)" with the proper type +PASS HTMLTableRowElement interface: calling insertCell(long) on document.createElement("tr") with too few arguments must throw TypeError +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "deleteCell(long)" with the proper type +PASS HTMLTableRowElement interface: calling deleteCell(long) on document.createElement("tr") with too few arguments must throw TypeError +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "align" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "ch" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "chOff" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "vAlign" with the proper type +PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "bgColor" with the proper type +PASS HTMLTableCellElement interface: existence and properties of interface object +PASS HTMLTableCellElement interface object length +PASS HTMLTableCellElement interface object name +PASS HTMLTableCellElement interface: existence and properties of interface prototype object +PASS HTMLTableCellElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTableCellElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTableCellElement interface: attribute colSpan +PASS HTMLTableCellElement interface: attribute rowSpan +PASS HTMLTableCellElement interface: attribute headers +PASS HTMLTableCellElement interface: attribute cellIndex +PASS HTMLTableCellElement interface: attribute scope +PASS HTMLTableCellElement interface: attribute abbr +PASS HTMLTableCellElement interface: attribute align +PASS HTMLTableCellElement interface: attribute axis +PASS HTMLTableCellElement interface: attribute height +PASS HTMLTableCellElement interface: attribute width +PASS HTMLTableCellElement interface: attribute ch +PASS HTMLTableCellElement interface: attribute chOff +PASS HTMLTableCellElement interface: attribute noWrap +PASS HTMLTableCellElement interface: attribute vAlign +PASS HTMLTableCellElement interface: attribute bgColor +PASS HTMLTableCellElement must be primary interface of document.createElement("td") +PASS Stringification of document.createElement("td") +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "colSpan" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "rowSpan" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "headers" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "cellIndex" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "scope" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "abbr" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "align" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "axis" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "height" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "width" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "ch" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "chOff" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "noWrap" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "vAlign" with the proper type +PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "bgColor" with the proper type +PASS HTMLTableCellElement must be primary interface of document.createElement("th") +PASS Stringification of document.createElement("th") +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "colSpan" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "rowSpan" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "headers" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "cellIndex" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "scope" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "abbr" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "align" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "axis" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "height" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "width" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "ch" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "chOff" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "noWrap" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "vAlign" with the proper type +PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "bgColor" with the proper type +PASS HTMLFormElement interface: existence and properties of interface object +PASS HTMLFormElement interface object length +PASS HTMLFormElement interface object name +PASS HTMLFormElement interface: existence and properties of interface prototype object +PASS HTMLFormElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFormElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFormElement interface: attribute acceptCharset +PASS HTMLFormElement interface: attribute action +PASS HTMLFormElement interface: attribute autocomplete +PASS HTMLFormElement interface: attribute enctype +PASS HTMLFormElement interface: attribute encoding +PASS HTMLFormElement interface: attribute method +PASS HTMLFormElement interface: attribute name +PASS HTMLFormElement interface: attribute noValidate +PASS HTMLFormElement interface: attribute target +FAIL HTMLFormElement interface: attribute rel assert_true: The prototype object must have a property "rel" expected true got false +FAIL HTMLFormElement interface: attribute relList assert_true: The prototype object must have a property "relList" expected true got false +PASS HTMLFormElement interface: attribute elements +PASS HTMLFormElement interface: attribute length +PASS HTMLFormElement interface: operation submit() +PASS HTMLFormElement interface: operation requestSubmit(HTMLElement) +PASS HTMLFormElement interface: operation reset() +PASS HTMLFormElement interface: operation checkValidity() +PASS HTMLFormElement interface: operation reportValidity() +PASS HTMLFormElement must be primary interface of document.createElement("form") +PASS Stringification of document.createElement("form") +PASS HTMLFormElement interface: document.createElement("form") must inherit property "acceptCharset" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "action" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "autocomplete" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "enctype" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "encoding" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "method" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "name" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "noValidate" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "target" with the proper type +FAIL HTMLFormElement interface: document.createElement("form") must inherit property "rel" with the proper type assert_inherits: property "rel" not found in prototype chain +FAIL HTMLFormElement interface: document.createElement("form") must inherit property "relList" with the proper type assert_inherits: property "relList" not found in prototype chain +PASS HTMLFormElement interface: document.createElement("form") must inherit property "elements" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "length" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "submit()" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "requestSubmit(HTMLElement)" with the proper type +PASS HTMLFormElement interface: calling requestSubmit(HTMLElement) on document.createElement("form") with too few arguments must throw TypeError +PASS HTMLFormElement interface: document.createElement("form") must inherit property "reset()" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "checkValidity()" with the proper type +PASS HTMLFormElement interface: document.createElement("form") must inherit property "reportValidity()" with the proper type +PASS HTMLLabelElement interface: existence and properties of interface object +PASS HTMLLabelElement interface object length +PASS HTMLLabelElement interface object name +PASS HTMLLabelElement interface: existence and properties of interface prototype object +PASS HTMLLabelElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLLabelElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLLabelElement interface: attribute form +PASS HTMLLabelElement interface: attribute htmlFor +PASS HTMLLabelElement interface: attribute control +PASS HTMLLabelElement must be primary interface of document.createElement("label") +PASS Stringification of document.createElement("label") +PASS HTMLLabelElement interface: document.createElement("label") must inherit property "form" with the proper type +PASS HTMLLabelElement interface: document.createElement("label") must inherit property "htmlFor" with the proper type +PASS HTMLLabelElement interface: document.createElement("label") must inherit property "control" with the proper type +PASS HTMLInputElement interface: existence and properties of interface object +PASS HTMLInputElement interface object length +PASS HTMLInputElement interface object name +PASS HTMLInputElement interface: existence and properties of interface prototype object +PASS HTMLInputElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLInputElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLInputElement interface: attribute accept +PASS HTMLInputElement interface: attribute alt +PASS HTMLInputElement interface: attribute autocomplete +PASS HTMLInputElement interface: attribute defaultChecked +PASS HTMLInputElement interface: attribute checked +PASS HTMLInputElement interface: attribute dirName +PASS HTMLInputElement interface: attribute disabled +PASS HTMLInputElement interface: attribute form +PASS HTMLInputElement interface: attribute files +PASS HTMLInputElement interface: attribute formAction +PASS HTMLInputElement interface: attribute formEnctype +PASS HTMLInputElement interface: attribute formMethod +PASS HTMLInputElement interface: attribute formNoValidate +PASS HTMLInputElement interface: attribute formTarget +PASS HTMLInputElement interface: attribute height +PASS HTMLInputElement interface: attribute indeterminate +PASS HTMLInputElement interface: attribute list +PASS HTMLInputElement interface: attribute max +PASS HTMLInputElement interface: attribute maxLength +PASS HTMLInputElement interface: attribute min +PASS HTMLInputElement interface: attribute minLength +PASS HTMLInputElement interface: attribute multiple +PASS HTMLInputElement interface: attribute name +PASS HTMLInputElement interface: attribute pattern +PASS HTMLInputElement interface: attribute placeholder +PASS HTMLInputElement interface: attribute readOnly +PASS HTMLInputElement interface: attribute required +PASS HTMLInputElement interface: attribute size +PASS HTMLInputElement interface: attribute src +PASS HTMLInputElement interface: attribute step +PASS HTMLInputElement interface: attribute type +PASS HTMLInputElement interface: attribute defaultValue +PASS HTMLInputElement interface: attribute value +PASS HTMLInputElement interface: attribute valueAsDate +PASS HTMLInputElement interface: attribute valueAsNumber +PASS HTMLInputElement interface: attribute width +PASS HTMLInputElement interface: operation stepUp(long) +PASS HTMLInputElement interface: operation stepDown(long) +PASS HTMLInputElement interface: attribute willValidate +PASS HTMLInputElement interface: attribute validity +PASS HTMLInputElement interface: attribute validationMessage +PASS HTMLInputElement interface: operation checkValidity() +PASS HTMLInputElement interface: operation reportValidity() +PASS HTMLInputElement interface: operation setCustomValidity(DOMString) +PASS HTMLInputElement interface: attribute labels +PASS HTMLInputElement interface: operation select() +PASS HTMLInputElement interface: attribute selectionStart +PASS HTMLInputElement interface: attribute selectionEnd +PASS HTMLInputElement interface: attribute selectionDirection +PASS HTMLInputElement interface: operation setRangeText(DOMString) +PASS HTMLInputElement interface: operation setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) +PASS HTMLInputElement interface: operation setSelectionRange(unsigned long, unsigned long, DOMString) +PASS HTMLInputElement interface: attribute align +PASS HTMLInputElement interface: attribute useMap +PASS HTMLInputElement must be primary interface of document.createElement("input") +PASS Stringification of document.createElement("input") +PASS HTMLInputElement interface: document.createElement("input") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "form" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "files" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "height" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "list" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "max" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "min" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "name" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "required" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "size" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "src" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "step" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "type" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "value" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "width" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on document.createElement("input") with too few arguments must throw TypeError +PASS HTMLInputElement interface: document.createElement("input") must inherit property "align" with the proper type +PASS HTMLInputElement interface: document.createElement("input") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("text") +PASS Stringification of createInput("text") +PASS HTMLInputElement interface: createInput("text") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("text") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("text") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("text") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("hidden") +PASS Stringification of createInput("hidden") +PASS HTMLInputElement interface: createInput("hidden") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("hidden") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("hidden") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("hidden") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("search") +PASS Stringification of createInput("search") +PASS HTMLInputElement interface: createInput("search") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("search") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("search") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("search") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("tel") +PASS Stringification of createInput("tel") +PASS HTMLInputElement interface: createInput("tel") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("tel") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("tel") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("tel") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("url") +PASS Stringification of createInput("url") +PASS HTMLInputElement interface: createInput("url") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("url") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("url") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("url") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("email") +PASS Stringification of createInput("email") +PASS HTMLInputElement interface: createInput("email") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("email") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("email") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("email") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("password") +PASS Stringification of createInput("password") +PASS HTMLInputElement interface: createInput("password") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("password") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("password") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("password") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("date") +PASS Stringification of createInput("date") +PASS HTMLInputElement interface: createInput("date") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("date") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("date") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("date") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("month") +PASS Stringification of createInput("month") +PASS HTMLInputElement interface: createInput("month") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("month") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("month") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("month") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("week") +PASS Stringification of createInput("week") +PASS HTMLInputElement interface: createInput("week") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("week") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("week") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("week") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("time") +PASS Stringification of createInput("time") +PASS HTMLInputElement interface: createInput("time") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("time") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("time") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("time") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("datetime-local") +PASS Stringification of createInput("datetime-local") +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("datetime-local") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("number") +PASS Stringification of createInput("number") +PASS HTMLInputElement interface: createInput("number") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("number") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("number") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("number") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("range") +PASS Stringification of createInput("range") +PASS HTMLInputElement interface: createInput("range") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("range") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("range") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("range") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("color") +PASS Stringification of createInput("color") +PASS HTMLInputElement interface: createInput("color") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("color") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("color") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("color") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("checkbox") +PASS Stringification of createInput("checkbox") +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("checkbox") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("checkbox") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("radio") +PASS Stringification of createInput("radio") +PASS HTMLInputElement interface: createInput("radio") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("radio") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("radio") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("radio") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("file") +PASS Stringification of createInput("file") +PASS HTMLInputElement interface: createInput("file") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("file") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("file") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("file") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("submit") +PASS Stringification of createInput("submit") +PASS HTMLInputElement interface: createInput("submit") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("submit") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("submit") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("submit") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("image") +PASS Stringification of createInput("image") +PASS HTMLInputElement interface: createInput("image") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("image") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("image") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("image") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("reset") +PASS Stringification of createInput("reset") +PASS HTMLInputElement interface: createInput("reset") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("reset") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("reset") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("reset") must inherit property "useMap" with the proper type +PASS HTMLInputElement must be primary interface of createInput("button") +PASS Stringification of createInput("button") +PASS HTMLInputElement interface: createInput("button") must inherit property "accept" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "alt" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "autocomplete" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "defaultChecked" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "checked" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "dirName" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "disabled" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "form" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "files" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formAction" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formEnctype" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formMethod" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formNoValidate" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "formTarget" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "height" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "indeterminate" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "list" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "max" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "maxLength" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "min" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "minLength" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "multiple" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "name" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "pattern" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "placeholder" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "readOnly" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "required" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "size" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "src" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "step" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "type" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "defaultValue" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "value" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "valueAsDate" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "valueAsNumber" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "width" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "stepUp(long)" with the proper type +PASS HTMLInputElement interface: calling stepUp(long) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "stepDown(long)" with the proper type +PASS HTMLInputElement interface: calling stepDown(long) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "willValidate" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "validity" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "validationMessage" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "checkValidity()" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "reportValidity()" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "labels" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "select()" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "selectionStart" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "selectionEnd" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "selectionDirection" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("button") with too few arguments must throw TypeError +PASS HTMLInputElement interface: createInput("button") must inherit property "align" with the proper type +PASS HTMLInputElement interface: createInput("button") must inherit property "useMap" with the proper type +PASS HTMLButtonElement interface: existence and properties of interface object +PASS HTMLButtonElement interface object length +PASS HTMLButtonElement interface object name +PASS HTMLButtonElement interface: existence and properties of interface prototype object +PASS HTMLButtonElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLButtonElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLButtonElement interface: attribute disabled +PASS HTMLButtonElement interface: attribute form +PASS HTMLButtonElement interface: attribute formAction +PASS HTMLButtonElement interface: attribute formEnctype +PASS HTMLButtonElement interface: attribute formMethod +PASS HTMLButtonElement interface: attribute formNoValidate +PASS HTMLButtonElement interface: attribute formTarget +PASS HTMLButtonElement interface: attribute name +PASS HTMLButtonElement interface: attribute type +PASS HTMLButtonElement interface: attribute value +PASS HTMLButtonElement interface: attribute willValidate +PASS HTMLButtonElement interface: attribute validity +PASS HTMLButtonElement interface: attribute validationMessage +PASS HTMLButtonElement interface: operation checkValidity() +PASS HTMLButtonElement interface: operation reportValidity() +PASS HTMLButtonElement interface: operation setCustomValidity(DOMString) +PASS HTMLButtonElement interface: attribute labels +PASS HTMLButtonElement must be primary interface of document.createElement("button") +PASS Stringification of document.createElement("button") +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "disabled" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "form" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formAction" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formEnctype" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formMethod" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formNoValidate" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formTarget" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "name" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "type" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "value" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "willValidate" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "validity" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "validationMessage" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "checkValidity()" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "reportValidity()" with the proper type +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLButtonElement interface: calling setCustomValidity(DOMString) on document.createElement("button") with too few arguments must throw TypeError +PASS HTMLButtonElement interface: document.createElement("button") must inherit property "labels" with the proper type +PASS HTMLSelectElement interface: existence and properties of interface object +PASS HTMLSelectElement interface object length +PASS HTMLSelectElement interface object name +PASS HTMLSelectElement interface: existence and properties of interface prototype object +PASS HTMLSelectElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLSelectElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLSelectElement interface: attribute autocomplete +PASS HTMLSelectElement interface: attribute disabled +PASS HTMLSelectElement interface: attribute form +PASS HTMLSelectElement interface: attribute multiple +PASS HTMLSelectElement interface: attribute name +PASS HTMLSelectElement interface: attribute required +PASS HTMLSelectElement interface: attribute size +PASS HTMLSelectElement interface: attribute type +PASS HTMLSelectElement interface: attribute options +PASS HTMLSelectElement interface: attribute length +PASS HTMLSelectElement interface: operation item(unsigned long) +PASS HTMLSelectElement interface: operation namedItem(DOMString) +PASS HTMLSelectElement interface: operation add([object Object],[object Object], [object Object],[object Object]) +PASS HTMLSelectElement interface: operation remove() +PASS HTMLSelectElement interface: operation remove(long) +PASS HTMLSelectElement interface: attribute selectedOptions +PASS HTMLSelectElement interface: attribute selectedIndex +PASS HTMLSelectElement interface: attribute value +PASS HTMLSelectElement interface: attribute willValidate +PASS HTMLSelectElement interface: attribute validity +PASS HTMLSelectElement interface: attribute validationMessage +PASS HTMLSelectElement interface: operation checkValidity() +PASS HTMLSelectElement interface: operation reportValidity() +PASS HTMLSelectElement interface: operation setCustomValidity(DOMString) +PASS HTMLSelectElement interface: attribute labels +PASS HTMLSelectElement must be primary interface of document.createElement("select") +PASS Stringification of document.createElement("select") +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "autocomplete" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "disabled" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "form" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "multiple" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "name" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "required" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "size" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "type" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "options" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "length" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "item(unsigned long)" with the proper type +PASS HTMLSelectElement interface: calling item(unsigned long) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "namedItem(DOMString)" with the proper type +PASS HTMLSelectElement interface: calling namedItem(DOMString) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "add([object Object],[object Object], [object Object],[object Object])" with the proper type +PASS HTMLSelectElement interface: calling add([object Object],[object Object], [object Object],[object Object]) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "remove()" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "remove(long)" with the proper type +PASS HTMLSelectElement interface: calling remove(long) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "selectedOptions" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "selectedIndex" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "value" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "willValidate" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "validity" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "validationMessage" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "checkValidity()" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "reportValidity()" with the proper type +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLSelectElement interface: calling setCustomValidity(DOMString) on document.createElement("select") with too few arguments must throw TypeError +PASS HTMLSelectElement interface: document.createElement("select") must inherit property "labels" with the proper type +PASS HTMLDataListElement interface: existence and properties of interface object +PASS HTMLDataListElement interface object length +PASS HTMLDataListElement interface object name +PASS HTMLDataListElement interface: existence and properties of interface prototype object +PASS HTMLDataListElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDataListElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDataListElement interface: attribute options +PASS HTMLDataListElement must be primary interface of document.createElement("datalist") +PASS Stringification of document.createElement("datalist") +PASS HTMLDataListElement interface: document.createElement("datalist") must inherit property "options" with the proper type +PASS HTMLOptGroupElement interface: existence and properties of interface object +PASS HTMLOptGroupElement interface object length +PASS HTMLOptGroupElement interface object name +PASS HTMLOptGroupElement interface: existence and properties of interface prototype object +PASS HTMLOptGroupElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOptGroupElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOptGroupElement interface: attribute disabled +PASS HTMLOptGroupElement interface: attribute label +PASS HTMLOptGroupElement must be primary interface of document.createElement("optgroup") +PASS Stringification of document.createElement("optgroup") +PASS HTMLOptGroupElement interface: document.createElement("optgroup") must inherit property "disabled" with the proper type +PASS HTMLOptGroupElement interface: document.createElement("optgroup") must inherit property "label" with the proper type +PASS HTMLOptionElement interface: existence and properties of interface object +PASS HTMLOptionElement interface object length +PASS HTMLOptionElement interface object name +PASS HTMLOptionElement interface: named constructor +PASS HTMLOptionElement interface: named constructor object +PASS HTMLOptionElement interface: named constructor prototype property +PASS HTMLOptionElement interface: named constructor name +PASS HTMLOptionElement interface: named constructor length +PASS HTMLOptionElement interface: named constructor without 'new' +PASS HTMLOptionElement interface: existence and properties of interface prototype object +PASS HTMLOptionElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOptionElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOptionElement interface: attribute disabled +PASS HTMLOptionElement interface: attribute form +PASS HTMLOptionElement interface: attribute label +PASS HTMLOptionElement interface: attribute defaultSelected +PASS HTMLOptionElement interface: attribute selected +PASS HTMLOptionElement interface: attribute value +PASS HTMLOptionElement interface: attribute text +PASS HTMLOptionElement interface: attribute index +PASS HTMLOptionElement must be primary interface of document.createElement("option") +PASS Stringification of document.createElement("option") +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "disabled" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "form" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "label" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "defaultSelected" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "selected" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "value" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "text" with the proper type +PASS HTMLOptionElement interface: document.createElement("option") must inherit property "index" with the proper type +PASS HTMLOptionElement must be primary interface of new Option() +PASS Stringification of new Option() +PASS HTMLOptionElement interface: new Option() must inherit property "disabled" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "form" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "label" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "defaultSelected" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "selected" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "value" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "text" with the proper type +PASS HTMLOptionElement interface: new Option() must inherit property "index" with the proper type +PASS HTMLTextAreaElement interface: existence and properties of interface object +PASS HTMLTextAreaElement interface object length +PASS HTMLTextAreaElement interface object name +PASS HTMLTextAreaElement interface: existence and properties of interface prototype object +PASS HTMLTextAreaElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTextAreaElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTextAreaElement interface: attribute autocomplete +PASS HTMLTextAreaElement interface: attribute cols +PASS HTMLTextAreaElement interface: attribute dirName +PASS HTMLTextAreaElement interface: attribute disabled +PASS HTMLTextAreaElement interface: attribute form +PASS HTMLTextAreaElement interface: attribute maxLength +PASS HTMLTextAreaElement interface: attribute minLength +PASS HTMLTextAreaElement interface: attribute name +PASS HTMLTextAreaElement interface: attribute placeholder +PASS HTMLTextAreaElement interface: attribute readOnly +PASS HTMLTextAreaElement interface: attribute required +PASS HTMLTextAreaElement interface: attribute rows +PASS HTMLTextAreaElement interface: attribute wrap +PASS HTMLTextAreaElement interface: attribute type +PASS HTMLTextAreaElement interface: attribute defaultValue +PASS HTMLTextAreaElement interface: attribute value +PASS HTMLTextAreaElement interface: attribute textLength +PASS HTMLTextAreaElement interface: attribute willValidate +PASS HTMLTextAreaElement interface: attribute validity +PASS HTMLTextAreaElement interface: attribute validationMessage +PASS HTMLTextAreaElement interface: operation checkValidity() +PASS HTMLTextAreaElement interface: operation reportValidity() +PASS HTMLTextAreaElement interface: operation setCustomValidity(DOMString) +PASS HTMLTextAreaElement interface: attribute labels +PASS HTMLTextAreaElement interface: operation select() +PASS HTMLTextAreaElement interface: attribute selectionStart +PASS HTMLTextAreaElement interface: attribute selectionEnd +PASS HTMLTextAreaElement interface: attribute selectionDirection +PASS HTMLTextAreaElement interface: operation setRangeText(DOMString) +PASS HTMLTextAreaElement interface: operation setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) +PASS HTMLTextAreaElement interface: operation setSelectionRange(unsigned long, unsigned long, DOMString) +PASS HTMLTextAreaElement must be primary interface of document.createElement("textarea") +PASS Stringification of document.createElement("textarea") +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "autocomplete" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "cols" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "dirName" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "disabled" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "form" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "maxLength" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "minLength" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "name" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "placeholder" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "readOnly" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "required" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "rows" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "wrap" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "type" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "defaultValue" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "value" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "textLength" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "willValidate" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "validity" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "validationMessage" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "checkValidity()" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "reportValidity()" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLTextAreaElement interface: calling setCustomValidity(DOMString) on document.createElement("textarea") with too few arguments must throw TypeError +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "labels" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "select()" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionStart" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionEnd" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionDirection" with the proper type +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setRangeText(DOMString)" with the proper type +PASS HTMLTextAreaElement interface: calling setRangeText(DOMString) on document.createElement("textarea") with too few arguments must throw TypeError +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type +PASS HTMLTextAreaElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on document.createElement("textarea") with too few arguments must throw TypeError +PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type +PASS HTMLTextAreaElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on document.createElement("textarea") with too few arguments must throw TypeError +PASS HTMLOutputElement interface: existence and properties of interface object +PASS HTMLOutputElement interface object length +PASS HTMLOutputElement interface object name +PASS HTMLOutputElement interface: existence and properties of interface prototype object +PASS HTMLOutputElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLOutputElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLOutputElement interface: attribute htmlFor +PASS HTMLOutputElement interface: attribute form +PASS HTMLOutputElement interface: attribute name +PASS HTMLOutputElement interface: attribute type +PASS HTMLOutputElement interface: attribute defaultValue +PASS HTMLOutputElement interface: attribute value +PASS HTMLOutputElement interface: attribute willValidate +PASS HTMLOutputElement interface: attribute validity +PASS HTMLOutputElement interface: attribute validationMessage +PASS HTMLOutputElement interface: operation checkValidity() +PASS HTMLOutputElement interface: operation reportValidity() +PASS HTMLOutputElement interface: operation setCustomValidity(DOMString) +PASS HTMLOutputElement interface: attribute labels +PASS HTMLOutputElement must be primary interface of document.createElement("output") +PASS Stringification of document.createElement("output") +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "htmlFor" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "form" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "name" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "type" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "defaultValue" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "value" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "willValidate" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "validity" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "validationMessage" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "checkValidity()" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "reportValidity()" with the proper type +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "setCustomValidity(DOMString)" with the proper type +PASS HTMLOutputElement interface: calling setCustomValidity(DOMString) on document.createElement("output") with too few arguments must throw TypeError +PASS HTMLOutputElement interface: document.createElement("output") must inherit property "labels" with the proper type +PASS HTMLProgressElement interface: existence and properties of interface object +PASS HTMLProgressElement interface object length +PASS HTMLProgressElement interface object name +PASS HTMLProgressElement interface: existence and properties of interface prototype object +PASS HTMLProgressElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLProgressElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLProgressElement interface: attribute value +PASS HTMLProgressElement interface: attribute max +PASS HTMLProgressElement interface: attribute position +PASS HTMLProgressElement interface: attribute labels +PASS HTMLProgressElement must be primary interface of document.createElement("progress") +PASS Stringification of document.createElement("progress") +PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "value" with the proper type +PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "max" with the proper type +PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "position" with the proper type +PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "labels" with the proper type +PASS HTMLMeterElement interface: existence and properties of interface object +PASS HTMLMeterElement interface object length +PASS HTMLMeterElement interface object name +PASS HTMLMeterElement interface: existence and properties of interface prototype object +PASS HTMLMeterElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMeterElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMeterElement interface: attribute value +PASS HTMLMeterElement interface: attribute min +PASS HTMLMeterElement interface: attribute max +PASS HTMLMeterElement interface: attribute low +PASS HTMLMeterElement interface: attribute high +PASS HTMLMeterElement interface: attribute optimum +PASS HTMLMeterElement interface: attribute labels +PASS HTMLMeterElement must be primary interface of document.createElement("meter") +PASS Stringification of document.createElement("meter") +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "value" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "min" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "max" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "low" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "high" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "optimum" with the proper type +PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "labels" with the proper type +PASS HTMLFieldSetElement interface: existence and properties of interface object +PASS HTMLFieldSetElement interface object length +PASS HTMLFieldSetElement interface object name +PASS HTMLFieldSetElement interface: existence and properties of interface prototype object +PASS HTMLFieldSetElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFieldSetElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFieldSetElement interface: attribute disabled +PASS HTMLFieldSetElement interface: attribute form +PASS HTMLFieldSetElement interface: attribute name +PASS HTMLFieldSetElement interface: attribute type +PASS HTMLFieldSetElement interface: attribute elements +PASS HTMLFieldSetElement interface: attribute willValidate +PASS HTMLFieldSetElement interface: attribute validity +PASS HTMLFieldSetElement interface: attribute validationMessage +PASS HTMLFieldSetElement interface: operation checkValidity() +PASS HTMLFieldSetElement interface: operation reportValidity() +PASS HTMLFieldSetElement interface: operation setCustomValidity(DOMString) +PASS HTMLLegendElement interface: existence and properties of interface object +PASS HTMLLegendElement interface object length +PASS HTMLLegendElement interface object name +PASS HTMLLegendElement interface: existence and properties of interface prototype object +PASS HTMLLegendElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLLegendElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLLegendElement interface: attribute form +PASS HTMLLegendElement interface: attribute align +PASS HTMLLegendElement must be primary interface of document.createElement("legend") +PASS Stringification of document.createElement("legend") +PASS HTMLLegendElement interface: document.createElement("legend") must inherit property "form" with the proper type +PASS HTMLLegendElement interface: document.createElement("legend") must inherit property "align" with the proper type +PASS HTMLDetailsElement interface: existence and properties of interface object +PASS HTMLDetailsElement interface object length +PASS HTMLDetailsElement interface object name +PASS HTMLDetailsElement interface: existence and properties of interface prototype object +PASS HTMLDetailsElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDetailsElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDetailsElement interface: attribute open +PASS HTMLDetailsElement must be primary interface of document.createElement("details") +PASS Stringification of document.createElement("details") +PASS HTMLDetailsElement interface: document.createElement("details") must inherit property "open" with the proper type +PASS HTMLDialogElement interface: existence and properties of interface object +PASS HTMLDialogElement interface object length +PASS HTMLDialogElement interface object name +PASS HTMLDialogElement interface: existence and properties of interface prototype object +PASS HTMLDialogElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDialogElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDialogElement interface: attribute open +PASS HTMLDialogElement interface: attribute returnValue +PASS HTMLDialogElement interface: operation show() +PASS HTMLDialogElement interface: operation showModal() +PASS HTMLDialogElement interface: operation close(DOMString) +PASS HTMLScriptElement interface: existence and properties of interface object +PASS HTMLScriptElement interface object length +PASS HTMLScriptElement interface object name +PASS HTMLScriptElement interface: existence and properties of interface prototype object +PASS HTMLScriptElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLScriptElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLScriptElement interface: attribute src +PASS HTMLScriptElement interface: attribute type +PASS HTMLScriptElement interface: attribute noModule +PASS HTMLScriptElement interface: attribute async +PASS HTMLScriptElement interface: attribute defer +PASS HTMLScriptElement interface: attribute crossOrigin +PASS HTMLScriptElement interface: attribute text +PASS HTMLScriptElement interface: attribute integrity +PASS HTMLScriptElement interface: attribute referrerPolicy +PASS HTMLScriptElement interface: attribute charset +PASS HTMLScriptElement interface: attribute event +PASS HTMLScriptElement interface: attribute htmlFor +PASS HTMLScriptElement must be primary interface of document.createElement("script") +PASS Stringification of document.createElement("script") +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "src" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "type" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "noModule" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "async" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "defer" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "crossOrigin" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "text" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "integrity" with the proper type +FAIL HTMLScriptElement interface: document.createElement("script") must inherit property "referrerPolicy" with the proper type assert_equals: expected "string" but got "object" +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "charset" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "event" with the proper type +PASS HTMLScriptElement interface: document.createElement("script") must inherit property "htmlFor" with the proper type +PASS HTMLTemplateElement interface: existence and properties of interface object +PASS HTMLTemplateElement interface object length +PASS HTMLTemplateElement interface object name +PASS HTMLTemplateElement interface: existence and properties of interface prototype object +PASS HTMLTemplateElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLTemplateElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLTemplateElement interface: attribute content +PASS HTMLTemplateElement must be primary interface of document.createElement("template") +PASS Stringification of document.createElement("template") +PASS HTMLTemplateElement interface: document.createElement("template") must inherit property "content" with the proper type +PASS HTMLSlotElement interface: existence and properties of interface object +PASS HTMLSlotElement interface object length +PASS HTMLSlotElement interface object name +PASS HTMLSlotElement interface: existence and properties of interface prototype object +PASS HTMLSlotElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLSlotElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLSlotElement interface: attribute name +PASS HTMLSlotElement interface: operation assignedNodes(AssignedNodesOptions) +PASS HTMLSlotElement interface: operation assignedElements(AssignedNodesOptions) +PASS HTMLSlotElement must be primary interface of document.createElement("slot") +PASS Stringification of document.createElement("slot") +PASS HTMLSlotElement interface: document.createElement("slot") must inherit property "name" with the proper type +PASS HTMLSlotElement interface: document.createElement("slot") must inherit property "assignedNodes(AssignedNodesOptions)" with the proper type +PASS HTMLSlotElement interface: calling assignedNodes(AssignedNodesOptions) on document.createElement("slot") with too few arguments must throw TypeError +PASS HTMLSlotElement interface: document.createElement("slot") must inherit property "assignedElements(AssignedNodesOptions)" with the proper type +PASS HTMLSlotElement interface: calling assignedElements(AssignedNodesOptions) on document.createElement("slot") with too few arguments must throw TypeError +PASS HTMLCanvasElement interface: existence and properties of interface object +PASS HTMLCanvasElement interface object length +PASS HTMLCanvasElement interface object name +PASS HTMLCanvasElement interface: existence and properties of interface prototype object +PASS HTMLCanvasElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLCanvasElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLCanvasElement interface: attribute width +PASS HTMLCanvasElement interface: attribute height +PASS HTMLCanvasElement interface: operation getContext(DOMString, any) +PASS HTMLCanvasElement interface: operation toDataURL(DOMString, any) +PASS HTMLCanvasElement interface: operation toBlob(BlobCallback, DOMString, any) +PASS HTMLCanvasElement interface: operation transferControlToOffscreen() +PASS HTMLCanvasElement must be primary interface of document.createElement("canvas") +PASS Stringification of document.createElement("canvas") +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "width" with the proper type +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "height" with the proper type +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "getContext(DOMString, any)" with the proper type +PASS HTMLCanvasElement interface: calling getContext(DOMString, any) on document.createElement("canvas") with too few arguments must throw TypeError +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "toDataURL(DOMString, any)" with the proper type +PASS HTMLCanvasElement interface: calling toDataURL(DOMString, any) on document.createElement("canvas") with too few arguments must throw TypeError +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "toBlob(BlobCallback, DOMString, any)" with the proper type +PASS HTMLCanvasElement interface: calling toBlob(BlobCallback, DOMString, any) on document.createElement("canvas") with too few arguments must throw TypeError +PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "transferControlToOffscreen()" with the proper type +PASS HTMLMarqueeElement interface: existence and properties of interface object +PASS HTMLMarqueeElement interface object length +PASS HTMLMarqueeElement interface object name +PASS HTMLMarqueeElement interface: existence and properties of interface prototype object +PASS HTMLMarqueeElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLMarqueeElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLMarqueeElement interface: attribute behavior +PASS HTMLMarqueeElement interface: attribute bgColor +PASS HTMLMarqueeElement interface: attribute direction +PASS HTMLMarqueeElement interface: attribute height +PASS HTMLMarqueeElement interface: attribute hspace +PASS HTMLMarqueeElement interface: attribute loop +PASS HTMLMarqueeElement interface: attribute scrollAmount +PASS HTMLMarqueeElement interface: attribute scrollDelay +PASS HTMLMarqueeElement interface: attribute trueSpeed +PASS HTMLMarqueeElement interface: attribute vspace +PASS HTMLMarqueeElement interface: attribute width +FAIL HTMLMarqueeElement interface: attribute onbounce assert_true: The prototype object must have a property "onbounce" expected true got false +FAIL HTMLMarqueeElement interface: attribute onfinish assert_true: The prototype object must have a property "onfinish" expected true got false +FAIL HTMLMarqueeElement interface: attribute onstart assert_true: The prototype object must have a property "onstart" expected true got false +PASS HTMLMarqueeElement interface: operation start() +PASS HTMLMarqueeElement interface: operation stop() +PASS HTMLMarqueeElement must be primary interface of document.createElement("marquee") +PASS Stringification of document.createElement("marquee") +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "behavior" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "bgColor" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "direction" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "height" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "hspace" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "loop" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "scrollAmount" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "scrollDelay" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "trueSpeed" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "vspace" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "width" with the proper type +FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onbounce" with the proper type assert_inherits: property "onbounce" not found in prototype chain +FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onfinish" with the proper type assert_inherits: property "onfinish" not found in prototype chain +FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onstart" with the proper type assert_inherits: property "onstart" not found in prototype chain +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "start()" with the proper type +PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "stop()" with the proper type +PASS HTMLFrameSetElement interface: existence and properties of interface object +PASS HTMLFrameSetElement interface object length +PASS HTMLFrameSetElement interface object name +PASS HTMLFrameSetElement interface: existence and properties of interface prototype object +PASS HTMLFrameSetElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFrameSetElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFrameSetElement interface: attribute cols +PASS HTMLFrameSetElement interface: attribute rows +PASS HTMLFrameSetElement interface: attribute onafterprint +PASS HTMLFrameSetElement interface: attribute onbeforeprint +PASS HTMLFrameSetElement interface: attribute onbeforeunload +PASS HTMLFrameSetElement interface: attribute onhashchange +PASS HTMLFrameSetElement interface: attribute onlanguagechange +PASS HTMLFrameSetElement interface: attribute onmessage +PASS HTMLFrameSetElement interface: attribute onmessageerror +PASS HTMLFrameSetElement interface: attribute onoffline +PASS HTMLFrameSetElement interface: attribute ononline +PASS HTMLFrameSetElement interface: attribute onpagehide +PASS HTMLFrameSetElement interface: attribute onpageshow +PASS HTMLFrameSetElement interface: attribute onpopstate +PASS HTMLFrameSetElement interface: attribute onrejectionhandled +PASS HTMLFrameSetElement interface: attribute onstorage +PASS HTMLFrameSetElement interface: attribute onunhandledrejection +PASS HTMLFrameSetElement interface: attribute onunload +PASS HTMLFrameSetElement must be primary interface of document.createElement("frameset") +PASS Stringification of document.createElement("frameset") +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "cols" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "rows" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onafterprint" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onbeforeprint" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onbeforeunload" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onhashchange" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onlanguagechange" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onmessage" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onmessageerror" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onoffline" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "ononline" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpagehide" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpageshow" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpopstate" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onrejectionhandled" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onstorage" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onunhandledrejection" with the proper type +PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onunload" with the proper type +PASS HTMLFrameElement interface: existence and properties of interface object +PASS HTMLFrameElement interface object length +PASS HTMLFrameElement interface object name +PASS HTMLFrameElement interface: existence and properties of interface prototype object +PASS HTMLFrameElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFrameElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFrameElement interface: attribute name +PASS HTMLFrameElement interface: attribute scrolling +PASS HTMLFrameElement interface: attribute src +PASS HTMLFrameElement interface: attribute frameBorder +PASS HTMLFrameElement interface: attribute longDesc +PASS HTMLFrameElement interface: attribute noResize +PASS HTMLFrameElement interface: attribute contentDocument +PASS HTMLFrameElement interface: attribute contentWindow +PASS HTMLFrameElement interface: attribute marginHeight +PASS HTMLFrameElement interface: attribute marginWidth +PASS HTMLFrameElement must be primary interface of document.createElement("frame") +PASS Stringification of document.createElement("frame") +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "name" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "scrolling" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "src" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "frameBorder" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "longDesc" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "noResize" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "contentDocument" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "contentWindow" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "marginHeight" with the proper type +PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "marginWidth" with the proper type +PASS HTMLDirectoryElement interface: existence and properties of interface object +PASS HTMLDirectoryElement interface object length +PASS HTMLDirectoryElement interface object name +PASS HTMLDirectoryElement interface: existence and properties of interface prototype object +PASS HTMLDirectoryElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLDirectoryElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLDirectoryElement interface: attribute compact +PASS HTMLDirectoryElement must be primary interface of document.createElement("dir") +PASS Stringification of document.createElement("dir") +PASS HTMLDirectoryElement interface: document.createElement("dir") must inherit property "compact" with the proper type +PASS HTMLFontElement interface: existence and properties of interface object +PASS HTMLFontElement interface object length +PASS HTMLFontElement interface object name +PASS HTMLFontElement interface: existence and properties of interface prototype object +PASS HTMLFontElement interface: existence and properties of interface prototype object's "constructor" property +PASS HTMLFontElement interface: existence and properties of interface prototype object's @@unscopables property +PASS HTMLFontElement interface: attribute color +PASS HTMLFontElement interface: attribute face +PASS HTMLFontElement interface: attribute size +PASS HTMLFontElement must be primary interface of document.createElement("font") +PASS Stringification of document.createElement("font") +PASS HTMLFontElement interface: document.createElement("font") must inherit property "color" with the proper type +PASS HTMLFontElement interface: document.createElement("font") must inherit property "face" with the proper type +PASS HTMLFontElement interface: document.createElement("font") must inherit property "size" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/html/webappapis/scripting/events/event-handler-attributes-windowless-body-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/html/webappapis/scripting/events/event-handler-attributes-windowless-body-expected.txt new file mode 100644 index 0000000..9ce3c84 --- /dev/null +++ b/third_party/blink/web_tests/platform/win/external/wpt/html/webappapis/scripting/events/event-handler-attributes-windowless-body-expected.txt
@@ -0,0 +1,210 @@ +This is a testharness.js-based test. +Found 206 tests; 202 PASS, 4 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS Return null when getting the blur event handler of a windowless body +PASS Ignore setting of blur window event handlers on windowless body +PASS Return null when getting the error event handler of a windowless body +PASS Ignore setting of error window event handlers on windowless body +PASS Return null when getting the focus event handler of a windowless body +PASS Ignore setting of focus window event handlers on windowless body +PASS Return null when getting the load event handler of a windowless body +PASS Ignore setting of load window event handlers on windowless body +PASS Return null when getting the resize event handler of a windowless body +PASS Ignore setting of resize window event handlers on windowless body +PASS Return null when getting the scroll event handler of a windowless body +PASS Ignore setting of scroll window event handlers on windowless body +PASS Return null when getting the afterprint event handler of a windowless body +PASS Ignore setting of afterprint window event handlers on windowless body +PASS Return null when getting the beforeprint event handler of a windowless body +PASS Ignore setting of beforeprint window event handlers on windowless body +PASS Return null when getting the beforeunload event handler of a windowless body +PASS Ignore setting of beforeunload window event handlers on windowless body +PASS Return null when getting the hashchange event handler of a windowless body +PASS Ignore setting of hashchange window event handlers on windowless body +PASS Return null when getting the languagechange event handler of a windowless body +PASS Ignore setting of languagechange window event handlers on windowless body +PASS Return null when getting the message event handler of a windowless body +PASS Ignore setting of message window event handlers on windowless body +PASS Return null when getting the messageerror event handler of a windowless body +PASS Ignore setting of messageerror window event handlers on windowless body +PASS Return null when getting the offline event handler of a windowless body +PASS Ignore setting of offline window event handlers on windowless body +PASS Return null when getting the online event handler of a windowless body +PASS Ignore setting of online window event handlers on windowless body +PASS Return null when getting the pagehide event handler of a windowless body +PASS Ignore setting of pagehide window event handlers on windowless body +PASS Return null when getting the pageshow event handler of a windowless body +PASS Ignore setting of pageshow window event handlers on windowless body +PASS Return null when getting the popstate event handler of a windowless body +PASS Ignore setting of popstate window event handlers on windowless body +PASS Return null when getting the rejectionhandled event handler of a windowless body +PASS Ignore setting of rejectionhandled window event handlers on windowless body +PASS Return null when getting the storage event handler of a windowless body +PASS Ignore setting of storage window event handlers on windowless body +PASS Return null when getting the unhandledrejection event handler of a windowless body +PASS Ignore setting of unhandledrejection window event handlers on windowless body +PASS Return null when getting the unload event handler of a windowless body +PASS Ignore setting of unload window event handlers on windowless body +PASS abort is unaffected on a windowless body +PASS auxclick is unaffected on a windowless body +PASS cancel is unaffected on a windowless body +PASS canplay is unaffected on a windowless body +PASS canplaythrough is unaffected on a windowless body +PASS change is unaffected on a windowless body +PASS click is unaffected on a windowless body +PASS close is unaffected on a windowless body +PASS contextmenu is unaffected on a windowless body +PASS cuechange is unaffected on a windowless body +PASS dblclick is unaffected on a windowless body +PASS drag is unaffected on a windowless body +PASS dragend is unaffected on a windowless body +PASS dragenter is unaffected on a windowless body +FAIL dragexit is unaffected on a windowless body assert_equals: expected (object) null but got (undefined) undefined +PASS dragleave is unaffected on a windowless body +PASS dragover is unaffected on a windowless body +PASS dragstart is unaffected on a windowless body +PASS drop is unaffected on a windowless body +PASS durationchange is unaffected on a windowless body +PASS emptied is unaffected on a windowless body +PASS ended is unaffected on a windowless body +PASS formdata is unaffected on a windowless body +PASS input is unaffected on a windowless body +PASS invalid is unaffected on a windowless body +PASS keydown is unaffected on a windowless body +PASS keypress is unaffected on a windowless body +PASS keyup is unaffected on a windowless body +PASS loadeddata is unaffected on a windowless body +PASS loadedmetadata is unaffected on a windowless body +PASS loadstart is unaffected on a windowless body +PASS mousedown is unaffected on a windowless body +PASS mouseenter is unaffected on a windowless body +PASS mouseleave is unaffected on a windowless body +PASS mousemove is unaffected on a windowless body +PASS mouseout is unaffected on a windowless body +PASS mouseover is unaffected on a windowless body +PASS mouseup is unaffected on a windowless body +PASS wheel is unaffected on a windowless body +PASS pause is unaffected on a windowless body +PASS play is unaffected on a windowless body +PASS playing is unaffected on a windowless body +PASS progress is unaffected on a windowless body +PASS ratechange is unaffected on a windowless body +PASS reset is unaffected on a windowless body +FAIL securitypolicyviolation is unaffected on a windowless body assert_equals: expected (object) null but got (undefined) undefined +PASS seeked is unaffected on a windowless body +PASS seeking is unaffected on a windowless body +PASS select is unaffected on a windowless body +PASS stalled is unaffected on a windowless body +PASS submit is unaffected on a windowless body +PASS suspend is unaffected on a windowless body +PASS timeupdate is unaffected on a windowless body +PASS toggle is unaffected on a windowless body +PASS volumechange is unaffected on a windowless body +PASS waiting is unaffected on a windowless body +PASS copy is unaffected on a windowless body +PASS cut is unaffected on a windowless body +PASS paste is unaffected on a windowless body +PASS Return null when getting the blur event handler of a windowless frameset +PASS Ignore setting of blur window event handlers on windowless frameset +PASS Return null when getting the error event handler of a windowless frameset +PASS Ignore setting of error window event handlers on windowless frameset +PASS Return null when getting the focus event handler of a windowless frameset +PASS Ignore setting of focus window event handlers on windowless frameset +PASS Return null when getting the load event handler of a windowless frameset +PASS Ignore setting of load window event handlers on windowless frameset +PASS Return null when getting the resize event handler of a windowless frameset +PASS Ignore setting of resize window event handlers on windowless frameset +PASS Return null when getting the scroll event handler of a windowless frameset +PASS Ignore setting of scroll window event handlers on windowless frameset +PASS Return null when getting the afterprint event handler of a windowless frameset +PASS Ignore setting of afterprint window event handlers on windowless frameset +PASS Return null when getting the beforeprint event handler of a windowless frameset +PASS Ignore setting of beforeprint window event handlers on windowless frameset +PASS Return null when getting the beforeunload event handler of a windowless frameset +PASS Ignore setting of beforeunload window event handlers on windowless frameset +PASS Return null when getting the hashchange event handler of a windowless frameset +PASS Ignore setting of hashchange window event handlers on windowless frameset +PASS Return null when getting the languagechange event handler of a windowless frameset +PASS Ignore setting of languagechange window event handlers on windowless frameset +PASS Return null when getting the message event handler of a windowless frameset +PASS Ignore setting of message window event handlers on windowless frameset +PASS Return null when getting the messageerror event handler of a windowless frameset +PASS Ignore setting of messageerror window event handlers on windowless frameset +PASS Return null when getting the offline event handler of a windowless frameset +PASS Ignore setting of offline window event handlers on windowless frameset +PASS Return null when getting the online event handler of a windowless frameset +PASS Ignore setting of online window event handlers on windowless frameset +PASS Return null when getting the pagehide event handler of a windowless frameset +PASS Ignore setting of pagehide window event handlers on windowless frameset +PASS Return null when getting the pageshow event handler of a windowless frameset +PASS Ignore setting of pageshow window event handlers on windowless frameset +PASS Return null when getting the popstate event handler of a windowless frameset +PASS Ignore setting of popstate window event handlers on windowless frameset +PASS Return null when getting the rejectionhandled event handler of a windowless frameset +PASS Ignore setting of rejectionhandled window event handlers on windowless frameset +PASS Return null when getting the storage event handler of a windowless frameset +PASS Ignore setting of storage window event handlers on windowless frameset +PASS Return null when getting the unhandledrejection event handler of a windowless frameset +PASS Ignore setting of unhandledrejection window event handlers on windowless frameset +PASS Return null when getting the unload event handler of a windowless frameset +PASS Ignore setting of unload window event handlers on windowless frameset +PASS abort is unaffected on a windowless frameset +PASS auxclick is unaffected on a windowless frameset +PASS cancel is unaffected on a windowless frameset +PASS canplay is unaffected on a windowless frameset +PASS canplaythrough is unaffected on a windowless frameset +PASS change is unaffected on a windowless frameset +PASS click is unaffected on a windowless frameset +PASS close is unaffected on a windowless frameset +PASS contextmenu is unaffected on a windowless frameset +PASS cuechange is unaffected on a windowless frameset +PASS dblclick is unaffected on a windowless frameset +PASS drag is unaffected on a windowless frameset +PASS dragend is unaffected on a windowless frameset +PASS dragenter is unaffected on a windowless frameset +FAIL dragexit is unaffected on a windowless frameset assert_equals: expected (object) null but got (undefined) undefined +PASS dragleave is unaffected on a windowless frameset +PASS dragover is unaffected on a windowless frameset +PASS dragstart is unaffected on a windowless frameset +PASS drop is unaffected on a windowless frameset +PASS durationchange is unaffected on a windowless frameset +PASS emptied is unaffected on a windowless frameset +PASS ended is unaffected on a windowless frameset +PASS formdata is unaffected on a windowless frameset +PASS input is unaffected on a windowless frameset +PASS invalid is unaffected on a windowless frameset +PASS keydown is unaffected on a windowless frameset +PASS keypress is unaffected on a windowless frameset +PASS keyup is unaffected on a windowless frameset +PASS loadeddata is unaffected on a windowless frameset +PASS loadedmetadata is unaffected on a windowless frameset +PASS loadstart is unaffected on a windowless frameset +PASS mousedown is unaffected on a windowless frameset +PASS mouseenter is unaffected on a windowless frameset +PASS mouseleave is unaffected on a windowless frameset +PASS mousemove is unaffected on a windowless frameset +PASS mouseout is unaffected on a windowless frameset +PASS mouseover is unaffected on a windowless frameset +PASS mouseup is unaffected on a windowless frameset +PASS wheel is unaffected on a windowless frameset +PASS pause is unaffected on a windowless frameset +PASS play is unaffected on a windowless frameset +PASS playing is unaffected on a windowless frameset +PASS progress is unaffected on a windowless frameset +PASS ratechange is unaffected on a windowless frameset +PASS reset is unaffected on a windowless frameset +FAIL securitypolicyviolation is unaffected on a windowless frameset assert_equals: expected (object) null but got (undefined) undefined +PASS seeked is unaffected on a windowless frameset +PASS seeking is unaffected on a windowless frameset +PASS select is unaffected on a windowless frameset +PASS stalled is unaffected on a windowless frameset +PASS submit is unaffected on a windowless frameset +PASS suspend is unaffected on a windowless frameset +PASS timeupdate is unaffected on a windowless frameset +PASS toggle is unaffected on a windowless frameset +PASS volumechange is unaffected on a windowless frameset +PASS waiting is unaffected on a windowless frameset +PASS copy is unaffected on a windowless frameset +PASS cut is unaffected on a windowless frameset +PASS paste is unaffected on a windowless frameset +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/idle-detection/idlharness.https.any-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/idle-detection/idlharness.https.any-expected.txt new file mode 100644 index 0000000..41bb15de --- /dev/null +++ b/third_party/blink/web_tests/platform/win/external/wpt/idle-detection/idlharness.https.any-expected.txt
@@ -0,0 +1,32 @@ +This is a testharness.js-based test. +PASS Test IDL implementation of Idle Detection API +PASS IdleDetector interface: existence and properties of interface object +PASS IdleDetector interface object length +PASS IdleDetector interface object name +PASS IdleDetector interface: existence and properties of interface prototype object +PASS IdleDetector interface: existence and properties of interface prototype object's "constructor" property +PASS IdleDetector interface: existence and properties of interface prototype object's @@unscopables property +PASS IdleDetector interface: attribute state +PASS IdleDetector interface: attribute onchange +PASS IdleDetector interface: operation start() +PASS IdleDetector interface: operation stop() +PASS IdleDetector must be primary interface of idle +PASS Stringification of idle +PASS IdleDetector interface: idle must inherit property "state" with the proper type +PASS IdleDetector interface: idle must inherit property "onchange" with the proper type +PASS IdleDetector interface: idle must inherit property "start()" with the proper type +PASS IdleDetector interface: idle must inherit property "stop()" with the proper type +PASS IdleState interface: existence and properties of interface object +PASS IdleState interface object length +PASS IdleState interface object name +PASS IdleState interface: existence and properties of interface prototype object +PASS IdleState interface: existence and properties of interface prototype object's "constructor" property +PASS IdleState interface: existence and properties of interface prototype object's @@unscopables property +PASS IdleState interface: attribute user +PASS IdleState interface: attribute screen +PASS IdleState must be primary interface of idle.state +PASS Stringification of idle.state +PASS IdleState interface: idle.state must inherit property "user" with the proper type +PASS IdleState interface: idle.state must inherit property "screen" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/notifications/idlharness.https.any.serviceworker-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/notifications/idlharness.https.any.serviceworker-expected.txt new file mode 100644 index 0000000..860bff6 --- /dev/null +++ b/third_party/blink/web_tests/platform/win/external/wpt/notifications/idlharness.https.any.serviceworker-expected.txt
@@ -0,0 +1,49 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface ServiceWorkerRegistration: original interface defined +PASS Partial interface ServiceWorkerGlobalScope: original interface defined +PASS Notification interface: existence and properties of interface object +PASS Notification interface object length +PASS Notification interface object name +PASS Notification interface: existence and properties of interface prototype object +PASS Notification interface: existence and properties of interface prototype object's "constructor" property +PASS Notification interface: existence and properties of interface prototype object's @@unscopables property +PASS Notification interface: attribute permission +PASS Notification interface: member requestPermission +PASS Notification interface: attribute maxActions +PASS Notification interface: attribute onclick +PASS Notification interface: attribute onshow +PASS Notification interface: attribute onerror +PASS Notification interface: attribute onclose +PASS Notification interface: attribute title +PASS Notification interface: attribute dir +PASS Notification interface: attribute lang +PASS Notification interface: attribute body +PASS Notification interface: attribute tag +PASS Notification interface: attribute image +PASS Notification interface: attribute icon +PASS Notification interface: attribute badge +PASS Notification interface: attribute vibrate +PASS Notification interface: attribute timestamp +PASS Notification interface: attribute renotify +PASS Notification interface: attribute silent +PASS Notification interface: attribute requireInteraction +PASS Notification interface: attribute data +PASS Notification interface: attribute actions +PASS Notification interface: operation close() +PASS NotificationEvent interface: existence and properties of interface object +PASS NotificationEvent interface object length +PASS NotificationEvent interface object name +PASS NotificationEvent interface: existence and properties of interface prototype object +PASS NotificationEvent interface: existence and properties of interface prototype object's "constructor" property +PASS NotificationEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS NotificationEvent interface: attribute notification +PASS NotificationEvent interface: attribute action +PASS ServiceWorkerRegistration interface: operation showNotification(DOMString, NotificationOptions) +PASS ServiceWorkerRegistration interface: operation getNotifications(GetNotificationOptions) +PASS ServiceWorkerGlobalScope interface: attribute onnotificationclick +PASS ServiceWorkerGlobalScope interface: attribute onnotificationclose +PASS ServiceWorkerGlobalScope interface: self must inherit property "onnotificationclick" with the proper type +PASS ServiceWorkerGlobalScope interface: self must inherit property "onnotificationclose" with the proper type +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/push-api/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/push-api/idlharness.https.any.worker-expected.txt new file mode 100644 index 0000000..b62d5df3 --- /dev/null +++ b/third_party/blink/web_tests/platform/win/external/wpt/push-api/idlharness.https.any.worker-expected.txt
@@ -0,0 +1,43 @@ +This is a testharness.js-based test. +PASS idl_test setup +PASS Partial interface ServiceWorkerRegistration: original interface defined +PASS Partial interface ServiceWorkerGlobalScope: original interface defined +PASS Partial interface ServiceWorkerGlobalScope: valid exposure set +PASS PushManager interface: existence and properties of interface object +PASS PushManager interface object length +PASS PushManager interface object name +PASS PushManager interface: existence and properties of interface prototype object +PASS PushManager interface: existence and properties of interface prototype object's "constructor" property +PASS PushManager interface: existence and properties of interface prototype object's @@unscopables property +PASS PushManager interface: attribute supportedContentEncodings +PASS PushManager interface: operation subscribe(PushSubscriptionOptionsInit) +PASS PushManager interface: operation getSubscription() +PASS PushManager interface: operation permissionState(PushSubscriptionOptionsInit) +PASS PushSubscriptionOptions interface: existence and properties of interface object +PASS PushSubscriptionOptions interface object length +PASS PushSubscriptionOptions interface object name +PASS PushSubscriptionOptions interface: existence and properties of interface prototype object +PASS PushSubscriptionOptions interface: existence and properties of interface prototype object's "constructor" property +PASS PushSubscriptionOptions interface: existence and properties of interface prototype object's @@unscopables property +PASS PushSubscriptionOptions interface: attribute userVisibleOnly +PASS PushSubscriptionOptions interface: attribute applicationServerKey +PASS PushSubscription interface: existence and properties of interface object +PASS PushSubscription interface object length +PASS PushSubscription interface object name +PASS PushSubscription interface: existence and properties of interface prototype object +PASS PushSubscription interface: existence and properties of interface prototype object's "constructor" property +PASS PushSubscription interface: existence and properties of interface prototype object's @@unscopables property +PASS PushSubscription interface: attribute endpoint +PASS PushSubscription interface: attribute expirationTime +PASS PushSubscription interface: attribute options +PASS PushSubscription interface: operation getKey(PushEncryptionKeyName) +PASS PushSubscription interface: operation unsubscribe() +PASS PushSubscription interface: operation toJSON() +PASS PushMessageData interface: existence and properties of interface object +PASS PushEvent interface: existence and properties of interface object +PASS PushSubscriptionChangeEvent interface: existence and properties of interface object +PASS ServiceWorkerRegistration interface: attribute pushManager +PASS ServiceWorkerGlobalScope interface: existence and properties of interface object +PASS ExtendableEvent interface: existence and properties of interface object +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/virtual/forced-colors/fast/css/forced-colors-mode/backplate/forced-colors-mode-backplate-11-expected.png b/third_party/blink/web_tests/virtual/forced-colors/fast/css/forced-colors-mode/backplate/forced-colors-mode-backplate-11-expected.png new file mode 100644 index 0000000..07e17e6 --- /dev/null +++ b/third_party/blink/web_tests/virtual/forced-colors/fast/css/forced-colors-mode/backplate/forced-colors-mode-backplate-11-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/virtual/forced-colors/fast/css/forced-colors-mode/backplate/forced-colors-mode-backplate-11.html b/third_party/blink/web_tests/virtual/forced-colors/fast/css/forced-colors-mode/backplate/forced-colors-mode-backplate-11.html new file mode 100644 index 0000000..450c941 --- /dev/null +++ b/third_party/blink/web_tests/virtual/forced-colors/fast/css/forced-colors-mode/backplate/forced-colors-mode-backplate-11.html
@@ -0,0 +1,20 @@ +<!doctype html> +<title> + Forced colors mode - backplate. + Tests backplate is drawn behind SVG text. +</title> +<style> + body { + background-image: url("../resources/test-image.jpg"); + font-size: 10px; + } +</style> +<body> + <div> + <svg> + <text x="50" y="50" width="226" height="11" font-family="Ahem"> + This text should have a backplate in <tspan>forced colors mode.</tspan> + </text> + </svg> + </div> +</body>
diff --git a/third_party/blink/web_tests/virtual/webrtc-wpt-plan-b/external/wpt/webrtc/idlharness.https.window-expected.txt b/third_party/blink/web_tests/virtual/webrtc-wpt-plan-b/external/wpt/webrtc/idlharness.https.window-expected.txt new file mode 100644 index 0000000..38d3332b --- /dev/null +++ b/third_party/blink/web_tests/virtual/webrtc-wpt-plan-b/external/wpt/webrtc/idlharness.https.window-expected.txt
@@ -0,0 +1,520 @@ +This is a testharness.js-based test. +Found 508 tests; 400 PASS, 108 FAIL, 0 TIMEOUT, 0 NOTRUN. +PASS idl_test setup +PASS Test driver for asyncInitCertificate +FAIL Test driver for asyncInitTransports assert_unreached: Failed to run asyncInitTransports: Error: assert_true: Expect pc.sctp to be instance of RTCSctpTransport expected true got false Reached unreachable code +PASS Test driver for asyncInitMediaStreamTrack +PASS Partial interface RTCPeerConnection: original interface defined +PASS Partial dictionary RTCOfferOptions: original dictionary defined +PASS Partial interface RTCPeerConnection[2]: original interface defined +PASS Partial interface RTCPeerConnection[3]: original interface defined +PASS Partial interface RTCPeerConnection[4]: original interface defined +PASS Partial interface RTCRtpSender: original interface defined +PASS Partial interface RTCPeerConnection[5]: original interface defined +PASS RTCPeerConnection interface: existence and properties of interface object +PASS RTCPeerConnection interface object length +PASS RTCPeerConnection interface object name +PASS RTCPeerConnection interface: existence and properties of interface prototype object +PASS RTCPeerConnection interface: existence and properties of interface prototype object's "constructor" property +PASS RTCPeerConnection interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCPeerConnection interface: operation createOffer(RTCOfferOptions) +PASS RTCPeerConnection interface: operation createAnswer(RTCAnswerOptions) +FAIL RTCPeerConnection interface: operation setLocalDescription(RTCSessionDescriptionInit) assert_equals: property has wrong .length expected 0 but got 1 +PASS RTCPeerConnection interface: attribute localDescription +PASS RTCPeerConnection interface: attribute currentLocalDescription +PASS RTCPeerConnection interface: attribute pendingLocalDescription +FAIL RTCPeerConnection interface: operation setRemoteDescription(RTCSessionDescriptionInit) assert_equals: property has wrong .length expected 0 but got 1 +PASS RTCPeerConnection interface: attribute remoteDescription +PASS RTCPeerConnection interface: attribute currentRemoteDescription +PASS RTCPeerConnection interface: attribute pendingRemoteDescription +FAIL RTCPeerConnection interface: operation addIceCandidate(RTCIceCandidateInit) assert_equals: property has wrong .length expected 0 but got 1 +PASS RTCPeerConnection interface: attribute signalingState +PASS RTCPeerConnection interface: attribute iceGatheringState +PASS RTCPeerConnection interface: attribute iceConnectionState +PASS RTCPeerConnection interface: attribute connectionState +FAIL RTCPeerConnection interface: attribute canTrickleIceCandidates assert_true: The prototype object must have a property "canTrickleIceCandidates" expected true got false +PASS RTCPeerConnection interface: operation restartIce() +FAIL RTCPeerConnection interface: operation getDefaultIceServers() assert_own_property: interface object missing static operation expected property "getDefaultIceServers" missing +PASS RTCPeerConnection interface: operation getConfiguration() +PASS RTCPeerConnection interface: operation setConfiguration(RTCConfiguration) +PASS RTCPeerConnection interface: operation close() +PASS RTCPeerConnection interface: attribute onnegotiationneeded +PASS RTCPeerConnection interface: attribute onicecandidate +PASS RTCPeerConnection interface: attribute onicecandidateerror +PASS RTCPeerConnection interface: attribute onsignalingstatechange +PASS RTCPeerConnection interface: attribute oniceconnectionstatechange +PASS RTCPeerConnection interface: attribute onicegatheringstatechange +PASS RTCPeerConnection interface: attribute onconnectionstatechange +PASS RTCPeerConnection interface: operation createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions) +FAIL RTCPeerConnection interface: operation setLocalDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) assert_equals: property has wrong .length expected 0 but got 1 +PASS RTCPeerConnection interface: operation createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback) +FAIL RTCPeerConnection interface: operation setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) assert_equals: property has wrong .length expected 0 but got 1 +FAIL RTCPeerConnection interface: operation addIceCandidate(RTCIceCandidateInit, VoidFunction, RTCPeerConnectionErrorCallback) assert_equals: property has wrong .length expected 0 but got 1 +PASS RTCPeerConnection interface: operation generateCertificate(AlgorithmIdentifier) +PASS RTCPeerConnection interface: operation getSenders() +PASS RTCPeerConnection interface: operation getReceivers() +PASS RTCPeerConnection interface: operation getTransceivers() +PASS RTCPeerConnection interface: operation addTrack(MediaStreamTrack, MediaStream) +PASS RTCPeerConnection interface: operation removeTrack(RTCRtpSender) +PASS RTCPeerConnection interface: operation addTransceiver([object Object],[object Object], RTCRtpTransceiverInit) +PASS RTCPeerConnection interface: attribute ontrack +PASS RTCPeerConnection interface: attribute sctp +PASS RTCPeerConnection interface: operation createDataChannel(USVString, RTCDataChannelInit) +PASS RTCPeerConnection interface: attribute ondatachannel +PASS RTCPeerConnection interface: operation getStats(MediaStreamTrack) +FAIL RTCPeerConnection interface: attribute onstatsended assert_true: The prototype object must have a property "onstatsended" expected true got false +PASS RTCPeerConnection must be primary interface of new RTCPeerConnection() +PASS Stringification of new RTCPeerConnection() +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createOffer(RTCOfferOptions)" with the proper type +PASS RTCPeerConnection interface: calling createOffer(RTCOfferOptions) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createAnswer(RTCAnswerOptions)" with the proper type +PASS RTCPeerConnection interface: calling createAnswer(RTCAnswerOptions) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setLocalDescription(RTCSessionDescriptionInit)" with the proper type +PASS RTCPeerConnection interface: calling setLocalDescription(RTCSessionDescriptionInit) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "localDescription" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "currentLocalDescription" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "pendingLocalDescription" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setRemoteDescription(RTCSessionDescriptionInit)" with the proper type +PASS RTCPeerConnection interface: calling setRemoteDescription(RTCSessionDescriptionInit) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "remoteDescription" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "currentRemoteDescription" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "pendingRemoteDescription" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addIceCandidate(RTCIceCandidateInit)" with the proper type +PASS RTCPeerConnection interface: calling addIceCandidate(RTCIceCandidateInit) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "signalingState" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "iceGatheringState" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "iceConnectionState" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "connectionState" with the proper type +FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "canTrickleIceCandidates" with the proper type assert_inherits: property "canTrickleIceCandidates" not found in prototype chain +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "restartIce()" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getDefaultIceServers()" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getConfiguration()" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setConfiguration(RTCConfiguration)" with the proper type +PASS RTCPeerConnection interface: calling setConfiguration(RTCConfiguration) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "close()" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onnegotiationneeded" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onicecandidate" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onicecandidateerror" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onsignalingstatechange" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "oniceconnectionstatechange" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onicegatheringstatechange" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onconnectionstatechange" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions)" with the proper type +PASS RTCPeerConnection interface: calling createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setLocalDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type +PASS RTCPeerConnection interface: calling setLocalDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback)" with the proper type +PASS RTCPeerConnection interface: calling createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type +PASS RTCPeerConnection interface: calling setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addIceCandidate(RTCIceCandidateInit, VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type +PASS RTCPeerConnection interface: calling addIceCandidate(RTCIceCandidateInit, VoidFunction, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "generateCertificate(AlgorithmIdentifier)" with the proper type +PASS RTCPeerConnection interface: calling generateCertificate(AlgorithmIdentifier) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getSenders()" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getReceivers()" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getTransceivers()" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addTrack(MediaStreamTrack, MediaStream)" with the proper type +PASS RTCPeerConnection interface: calling addTrack(MediaStreamTrack, MediaStream) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "removeTrack(RTCRtpSender)" with the proper type +PASS RTCPeerConnection interface: calling removeTrack(RTCRtpSender) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addTransceiver([object Object],[object Object], RTCRtpTransceiverInit)" with the proper type +PASS RTCPeerConnection interface: calling addTransceiver([object Object],[object Object], RTCRtpTransceiverInit) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "ontrack" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "sctp" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createDataChannel(USVString, RTCDataChannelInit)" with the proper type +PASS RTCPeerConnection interface: calling createDataChannel(USVString, RTCDataChannelInit) on new RTCPeerConnection() with too few arguments must throw TypeError +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "ondatachannel" with the proper type +PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getStats(MediaStreamTrack)" with the proper type +PASS RTCPeerConnection interface: calling getStats(MediaStreamTrack) on new RTCPeerConnection() with too few arguments must throw TypeError +FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onstatsended" with the proper type assert_inherits: property "onstatsended" not found in prototype chain +PASS RTCSessionDescription interface: existence and properties of interface object +PASS RTCSessionDescription interface object length +PASS RTCSessionDescription interface object name +PASS RTCSessionDescription interface: existence and properties of interface prototype object +PASS RTCSessionDescription interface: existence and properties of interface prototype object's "constructor" property +PASS RTCSessionDescription interface: existence and properties of interface prototype object's @@unscopables property +FAIL RTCSessionDescription interface: attribute type assert_equals: setter must be undefined for readonly attributes expected (undefined) undefined but got (function) function "function set type() { [native code] }" +FAIL RTCSessionDescription interface: attribute sdp assert_equals: setter must be undefined for readonly attributes expected (undefined) undefined but got (function) function "function set sdp() { [native code] }" +PASS RTCSessionDescription interface: operation toJSON() +PASS RTCSessionDescription must be primary interface of new RTCSessionDescription({ type: 'offer' }) +PASS Stringification of new RTCSessionDescription({ type: 'offer' }) +PASS RTCSessionDescription interface: new RTCSessionDescription({ type: 'offer' }) must inherit property "type" with the proper type +FAIL RTCSessionDescription interface: new RTCSessionDescription({ type: 'offer' }) must inherit property "sdp" with the proper type assert_equals: expected "string" but got "object" +PASS RTCSessionDescription interface: new RTCSessionDescription({ type: 'offer' }) must inherit property "toJSON()" with the proper type +FAIL RTCSessionDescription interface: default toJSON operation on new RTCSessionDescription({ type: 'offer' }) assert_equals: expected "string" but got "object" +PASS RTCIceCandidate interface: existence and properties of interface object +PASS RTCIceCandidate interface object length +PASS RTCIceCandidate interface object name +PASS RTCIceCandidate interface: existence and properties of interface prototype object +PASS RTCIceCandidate interface: existence and properties of interface prototype object's "constructor" property +PASS RTCIceCandidate interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCIceCandidate interface: attribute candidate +PASS RTCIceCandidate interface: attribute sdpMid +PASS RTCIceCandidate interface: attribute sdpMLineIndex +PASS RTCIceCandidate interface: attribute foundation +PASS RTCIceCandidate interface: attribute component +PASS RTCIceCandidate interface: attribute priority +PASS RTCIceCandidate interface: attribute address +PASS RTCIceCandidate interface: attribute protocol +PASS RTCIceCandidate interface: attribute port +PASS RTCIceCandidate interface: attribute type +PASS RTCIceCandidate interface: attribute tcpType +PASS RTCIceCandidate interface: attribute relatedAddress +PASS RTCIceCandidate interface: attribute relatedPort +PASS RTCIceCandidate interface: attribute usernameFragment +PASS RTCIceCandidate interface: operation toJSON() +PASS RTCIceCandidate must be primary interface of new RTCIceCandidate({ sdpMid: 1 }) +PASS Stringification of new RTCIceCandidate({ sdpMid: 1 }) +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "candidate" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "sdpMid" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "sdpMLineIndex" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "foundation" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "component" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "priority" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "address" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "protocol" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "port" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "type" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "tcpType" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "relatedAddress" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "relatedPort" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "usernameFragment" with the proper type +PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "toJSON()" with the proper type +PASS RTCIceCandidate interface: toJSON operation on new RTCIceCandidate({ sdpMid: 1 }) +PASS RTCPeerConnectionIceEvent interface: existence and properties of interface object +PASS RTCPeerConnectionIceEvent interface object length +PASS RTCPeerConnectionIceEvent interface object name +PASS RTCPeerConnectionIceEvent interface: existence and properties of interface prototype object +PASS RTCPeerConnectionIceEvent interface: existence and properties of interface prototype object's "constructor" property +PASS RTCPeerConnectionIceEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCPeerConnectionIceEvent interface: attribute candidate +FAIL RTCPeerConnectionIceEvent interface: attribute url assert_true: The prototype object must have a property "url" expected true got false +PASS RTCPeerConnectionIceEvent must be primary interface of new RTCPeerConnectionIceEvent('ice') +PASS Stringification of new RTCPeerConnectionIceEvent('ice') +PASS RTCPeerConnectionIceEvent interface: new RTCPeerConnectionIceEvent('ice') must inherit property "candidate" with the proper type +FAIL RTCPeerConnectionIceEvent interface: new RTCPeerConnectionIceEvent('ice') must inherit property "url" with the proper type assert_inherits: property "url" not found in prototype chain +PASS RTCPeerConnectionIceErrorEvent interface: existence and properties of interface object +PASS RTCPeerConnectionIceErrorEvent interface object length +PASS RTCPeerConnectionIceErrorEvent interface object name +PASS RTCPeerConnectionIceErrorEvent interface: existence and properties of interface prototype object +PASS RTCPeerConnectionIceErrorEvent interface: existence and properties of interface prototype object's "constructor" property +PASS RTCPeerConnectionIceErrorEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCPeerConnectionIceErrorEvent interface: attribute hostCandidate +PASS RTCPeerConnectionIceErrorEvent interface: attribute url +PASS RTCPeerConnectionIceErrorEvent interface: attribute errorCode +PASS RTCPeerConnectionIceErrorEvent interface: attribute errorText +PASS RTCPeerConnectionIceErrorEvent must be primary interface of new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); +PASS Stringification of new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); +PASS RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "hostCandidate" with the proper type +PASS RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "url" with the proper type +PASS RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "errorCode" with the proper type +PASS RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "errorText" with the proper type +PASS RTCCertificate interface: existence and properties of interface object +PASS RTCCertificate interface object length +PASS RTCCertificate interface object name +PASS RTCCertificate interface: existence and properties of interface prototype object +PASS RTCCertificate interface: existence and properties of interface prototype object's "constructor" property +PASS RTCCertificate interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCCertificate interface: attribute expires +FAIL RTCCertificate interface: operation getSupportedAlgorithms() assert_own_property: interface object missing static operation expected property "getSupportedAlgorithms" missing +PASS RTCCertificate interface: operation getFingerprints() +PASS RTCCertificate must be primary interface of idlTestObjects.certificate +PASS Stringification of idlTestObjects.certificate +PASS RTCCertificate interface: idlTestObjects.certificate must inherit property "expires" with the proper type +PASS RTCCertificate interface: idlTestObjects.certificate must inherit property "getSupportedAlgorithms()" with the proper type +PASS RTCCertificate interface: idlTestObjects.certificate must inherit property "getFingerprints()" with the proper type +PASS RTCRtpSender interface: existence and properties of interface object +PASS RTCRtpSender interface object length +PASS RTCRtpSender interface object name +PASS RTCRtpSender interface: existence and properties of interface prototype object +PASS RTCRtpSender interface: existence and properties of interface prototype object's "constructor" property +PASS RTCRtpSender interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCRtpSender interface: attribute track +PASS RTCRtpSender interface: attribute transport +PASS RTCRtpSender interface: attribute rtcpTransport +PASS RTCRtpSender interface: operation getCapabilities(DOMString) +FAIL RTCRtpSender interface: operation setParameters(RTCRtpSendParameters) assert_equals: property has wrong .length expected 1 but got 0 +PASS RTCRtpSender interface: operation getParameters() +PASS RTCRtpSender interface: operation replaceTrack(MediaStreamTrack) +PASS RTCRtpSender interface: operation setStreams(MediaStream) +PASS RTCRtpSender interface: operation getStats() +PASS RTCRtpSender interface: attribute dtmf +FAIL RTCRtpSender must be primary interface of new RTCPeerConnection().addTransceiver('audio').sender assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL Stringification of new RTCPeerConnection().addTransceiver('audio').sender assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "track" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "transport" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "rtcpTransport" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getCapabilities(DOMString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpSender interface: calling getCapabilities(DOMString) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "setParameters(RTCRtpSendParameters)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpSender interface: calling setParameters(RTCRtpSendParameters) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getParameters()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "replaceTrack(MediaStreamTrack)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpSender interface: calling replaceTrack(MediaStreamTrack) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "setStreams(MediaStream)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpSender interface: calling setStreams(MediaStream) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getStats()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "dtmf" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +PASS RTCRtpReceiver interface: existence and properties of interface object +PASS RTCRtpReceiver interface object length +PASS RTCRtpReceiver interface object name +PASS RTCRtpReceiver interface: existence and properties of interface prototype object +PASS RTCRtpReceiver interface: existence and properties of interface prototype object's "constructor" property +PASS RTCRtpReceiver interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCRtpReceiver interface: attribute track +PASS RTCRtpReceiver interface: attribute transport +PASS RTCRtpReceiver interface: attribute rtcpTransport +PASS RTCRtpReceiver interface: operation getCapabilities(DOMString) +PASS RTCRtpReceiver interface: operation getParameters() +PASS RTCRtpReceiver interface: operation getContributingSources() +PASS RTCRtpReceiver interface: operation getSynchronizationSources() +PASS RTCRtpReceiver interface: operation getStats() +FAIL RTCRtpReceiver must be primary interface of new RTCPeerConnection().addTransceiver('audio').receiver assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL Stringification of new RTCPeerConnection().addTransceiver('audio').receiver assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "track" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "transport" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "rtcpTransport" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getCapabilities(DOMString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpReceiver interface: calling getCapabilities(DOMString) on new RTCPeerConnection().addTransceiver('audio').receiver with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getParameters()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getContributingSources()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getSynchronizationSources()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getStats()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +PASS RTCRtpTransceiver interface: existence and properties of interface object +PASS RTCRtpTransceiver interface object length +PASS RTCRtpTransceiver interface object name +PASS RTCRtpTransceiver interface: existence and properties of interface prototype object +PASS RTCRtpTransceiver interface: existence and properties of interface prototype object's "constructor" property +PASS RTCRtpTransceiver interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCRtpTransceiver interface: attribute mid +PASS RTCRtpTransceiver interface: attribute sender +PASS RTCRtpTransceiver interface: attribute receiver +PASS RTCRtpTransceiver interface: attribute direction +PASS RTCRtpTransceiver interface: attribute currentDirection +FAIL RTCRtpTransceiver interface: operation stop() assert_own_property: interface prototype object missing non-static operation expected property "stop" missing +PASS RTCRtpTransceiver interface: operation setCodecPreferences([object Object]) +FAIL RTCRtpTransceiver must be primary interface of new RTCPeerConnection().addTransceiver('audio') assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL Stringification of new RTCPeerConnection().addTransceiver('audio') assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "mid" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "sender" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "receiver" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "direction" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "currentDirection" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "stop()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "setCodecPreferences([object Object])" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCRtpTransceiver interface: calling setCodecPreferences([object Object]) on new RTCPeerConnection().addTransceiver('audio') with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +PASS RTCDtlsTransport interface: existence and properties of interface object +PASS RTCDtlsTransport interface object length +PASS RTCDtlsTransport interface object name +PASS RTCDtlsTransport interface: existence and properties of interface prototype object +PASS RTCDtlsTransport interface: existence and properties of interface prototype object's "constructor" property +PASS RTCDtlsTransport interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCDtlsTransport interface: attribute iceTransport +PASS RTCDtlsTransport interface: attribute state +PASS RTCDtlsTransport interface: operation getRemoteCertificates() +PASS RTCDtlsTransport interface: attribute onstatechange +PASS RTCDtlsTransport interface: attribute onerror +FAIL RTCDtlsTransport must be primary interface of idlTestObjects.dtlsTransport assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL Stringification of idlTestObjects.dtlsTransport assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "iceTransport" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "state" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "getRemoteCertificates()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "onstatechange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "onerror" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCIceTransport interface: existence and properties of interface object assert_throws: interface object didn't throw TypeError when called as a constructor function "function() { + new interface_object(); + }" did not throw +PASS RTCIceTransport interface object length +PASS RTCIceTransport interface object name +PASS RTCIceTransport interface: existence and properties of interface prototype object +PASS RTCIceTransport interface: existence and properties of interface prototype object's "constructor" property +PASS RTCIceTransport interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCIceTransport interface: attribute role +FAIL RTCIceTransport interface: attribute component assert_true: The prototype object must have a property "component" expected true got false +PASS RTCIceTransport interface: attribute state +PASS RTCIceTransport interface: attribute gatheringState +PASS RTCIceTransport interface: operation getLocalCandidates() +PASS RTCIceTransport interface: operation getRemoteCandidates() +PASS RTCIceTransport interface: operation getSelectedCandidatePair() +PASS RTCIceTransport interface: operation getLocalParameters() +PASS RTCIceTransport interface: operation getRemoteParameters() +PASS RTCIceTransport interface: attribute onstatechange +PASS RTCIceTransport interface: attribute ongatheringstatechange +PASS RTCIceTransport interface: attribute onselectedcandidatepairchange +FAIL RTCIceTransport must be primary interface of idlTestObjects.iceTransport assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL Stringification of idlTestObjects.iceTransport assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "role" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "component" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "state" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "gatheringState" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getLocalCandidates()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getRemoteCandidates()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getSelectedCandidatePair()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getLocalParameters()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getRemoteParameters()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "onstatechange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "ongatheringstatechange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "onselectedcandidatepairchange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +PASS RTCTrackEvent interface: existence and properties of interface object +PASS RTCTrackEvent interface object length +PASS RTCTrackEvent interface object name +PASS RTCTrackEvent interface: existence and properties of interface prototype object +PASS RTCTrackEvent interface: existence and properties of interface prototype object's "constructor" property +PASS RTCTrackEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCTrackEvent interface: attribute receiver +PASS RTCTrackEvent interface: attribute track +PASS RTCTrackEvent interface: attribute streams +PASS RTCTrackEvent interface: attribute transceiver +FAIL RTCTrackEvent must be primary interface of initTrackEvent() assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL Stringification of initTrackEvent() assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCTrackEvent interface: initTrackEvent() must inherit property "receiver" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCTrackEvent interface: initTrackEvent() must inherit property "track" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCTrackEvent interface: initTrackEvent() must inherit property "streams" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +FAIL RTCTrackEvent interface: initTrackEvent() must inherit property "transceiver" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." +PASS RTCSctpTransport interface: existence and properties of interface object +PASS RTCSctpTransport interface object length +PASS RTCSctpTransport interface object name +PASS RTCSctpTransport interface: existence and properties of interface prototype object +PASS RTCSctpTransport interface: existence and properties of interface prototype object's "constructor" property +PASS RTCSctpTransport interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCSctpTransport interface: attribute transport +PASS RTCSctpTransport interface: attribute state +PASS RTCSctpTransport interface: attribute maxMessageSize +PASS RTCSctpTransport interface: attribute maxChannels +PASS RTCSctpTransport interface: attribute onstatechange +FAIL RTCSctpTransport must be primary interface of idlTestObjects.sctpTransport assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL Stringification of idlTestObjects.sctpTransport assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "transport" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "state" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "maxMessageSize" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "maxChannels" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +FAIL RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "onstatechange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined" +PASS RTCDataChannel interface: existence and properties of interface object +PASS RTCDataChannel interface object length +PASS RTCDataChannel interface object name +PASS RTCDataChannel interface: existence and properties of interface prototype object +PASS RTCDataChannel interface: existence and properties of interface prototype object's "constructor" property +PASS RTCDataChannel interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCDataChannel interface: attribute label +PASS RTCDataChannel interface: attribute ordered +PASS RTCDataChannel interface: attribute maxPacketLifeTime +PASS RTCDataChannel interface: attribute maxRetransmits +PASS RTCDataChannel interface: attribute protocol +PASS RTCDataChannel interface: attribute negotiated +PASS RTCDataChannel interface: attribute id +FAIL RTCDataChannel interface: attribute priority assert_true: The prototype object must have a property "priority" expected true got false +PASS RTCDataChannel interface: attribute readyState +PASS RTCDataChannel interface: attribute bufferedAmount +PASS RTCDataChannel interface: attribute bufferedAmountLowThreshold +PASS RTCDataChannel interface: attribute onopen +PASS RTCDataChannel interface: attribute onbufferedamountlow +PASS RTCDataChannel interface: attribute onerror +FAIL RTCDataChannel interface: attribute onclosing assert_true: The prototype object must have a property "onclosing" expected true got false +PASS RTCDataChannel interface: attribute onclose +PASS RTCDataChannel interface: operation close() +PASS RTCDataChannel interface: attribute onmessage +PASS RTCDataChannel interface: attribute binaryType +PASS RTCDataChannel interface: operation send(USVString) +PASS RTCDataChannel interface: operation send(Blob) +PASS RTCDataChannel interface: operation send(ArrayBuffer) +PASS RTCDataChannel interface: operation send(ArrayBufferView) +PASS RTCDataChannel must be primary interface of new RTCPeerConnection().createDataChannel('') +PASS Stringification of new RTCPeerConnection().createDataChannel('') +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "label" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "ordered" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "maxPacketLifeTime" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "maxRetransmits" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "protocol" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "negotiated" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "id" with the proper type +FAIL RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "priority" with the proper type assert_inherits: property "priority" not found in prototype chain +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "readyState" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "bufferedAmount" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "bufferedAmountLowThreshold" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onopen" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onbufferedamountlow" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onerror" with the proper type +FAIL RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onclosing" with the proper type assert_inherits: property "onclosing" not found in prototype chain +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onclose" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "close()" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onmessage" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "binaryType" with the proper type +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(USVString)" with the proper type +PASS RTCDataChannel interface: calling send(USVString) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(Blob)" with the proper type +PASS RTCDataChannel interface: calling send(Blob) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(ArrayBuffer)" with the proper type +PASS RTCDataChannel interface: calling send(ArrayBuffer) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError +PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(ArrayBufferView)" with the proper type +PASS RTCDataChannel interface: calling send(ArrayBufferView) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError +PASS RTCDataChannelEvent interface: existence and properties of interface object +PASS RTCDataChannelEvent interface object length +PASS RTCDataChannelEvent interface object name +PASS RTCDataChannelEvent interface: existence and properties of interface prototype object +PASS RTCDataChannelEvent interface: existence and properties of interface prototype object's "constructor" property +PASS RTCDataChannelEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCDataChannelEvent interface: attribute channel +PASS RTCDataChannelEvent must be primary interface of new RTCDataChannelEvent('channel', { + channel: new RTCPeerConnection().createDataChannel('') + }) +PASS Stringification of new RTCDataChannelEvent('channel', { + channel: new RTCPeerConnection().createDataChannel('') + }) +PASS RTCDataChannelEvent interface: new RTCDataChannelEvent('channel', { + channel: new RTCPeerConnection().createDataChannel('') + }) must inherit property "channel" with the proper type +PASS RTCDTMFSender interface: existence and properties of interface object +PASS RTCDTMFSender interface object length +PASS RTCDTMFSender interface object name +PASS RTCDTMFSender interface: existence and properties of interface prototype object +PASS RTCDTMFSender interface: existence and properties of interface prototype object's "constructor" property +PASS RTCDTMFSender interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCDTMFSender interface: operation insertDTMF(DOMString, unsigned long, unsigned long) +PASS RTCDTMFSender interface: attribute ontonechange +PASS RTCDTMFSender interface: attribute canInsertDTMF +PASS RTCDTMFSender interface: attribute toneBuffer +PASS RTCDTMFToneChangeEvent interface: existence and properties of interface object +PASS RTCDTMFToneChangeEvent interface object length +PASS RTCDTMFToneChangeEvent interface object name +PASS RTCDTMFToneChangeEvent interface: existence and properties of interface prototype object +PASS RTCDTMFToneChangeEvent interface: existence and properties of interface prototype object's "constructor" property +PASS RTCDTMFToneChangeEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCDTMFToneChangeEvent interface: attribute tone +PASS RTCStatsReport interface: existence and properties of interface object +PASS RTCStatsReport interface object length +PASS RTCStatsReport interface object name +PASS RTCStatsReport interface: existence and properties of interface prototype object +PASS RTCStatsReport interface: existence and properties of interface prototype object's "constructor" property +PASS RTCStatsReport interface: existence and properties of interface prototype object's @@unscopables property +FAIL RTCStatsEvent interface: existence and properties of interface object assert_own_property: self does not have own property "RTCStatsEvent" expected property "RTCStatsEvent" missing +FAIL RTCStatsEvent interface object length assert_own_property: self does not have own property "RTCStatsEvent" expected property "RTCStatsEvent" missing +FAIL RTCStatsEvent interface object name assert_own_property: self does not have own property "RTCStatsEvent" expected property "RTCStatsEvent" missing +FAIL RTCStatsEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCStatsEvent" expected property "RTCStatsEvent" missing +FAIL RTCStatsEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCStatsEvent" expected property "RTCStatsEvent" missing +FAIL RTCStatsEvent interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCStatsEvent" expected property "RTCStatsEvent" missing +FAIL RTCStatsEvent interface: attribute report assert_own_property: self does not have own property "RTCStatsEvent" expected property "RTCStatsEvent" missing +PASS RTCError interface: existence and properties of interface object +PASS RTCError interface object length +PASS RTCError interface object name +PASS RTCError interface: existence and properties of interface prototype object +PASS RTCError interface: existence and properties of interface prototype object's "constructor" property +PASS RTCError interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCError interface: attribute errorDetail +PASS RTCError interface: attribute sdpLineNumber +PASS RTCError interface: attribute httpRequestStatusCode +PASS RTCError interface: attribute sctpCauseCode +PASS RTCError interface: attribute receivedAlert +PASS RTCError interface: attribute sentAlert +PASS RTCErrorEvent interface: existence and properties of interface object +PASS RTCErrorEvent interface object length +PASS RTCErrorEvent interface object name +PASS RTCErrorEvent interface: existence and properties of interface prototype object +PASS RTCErrorEvent interface: existence and properties of interface prototype object's "constructor" property +PASS RTCErrorEvent interface: existence and properties of interface prototype object's @@unscopables property +PASS RTCErrorEvent interface: attribute error +FAIL RTCErrorEvent must be primary interface of new RTCErrorEvent('error') assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'RTCErrorEvent': 2 arguments required, but only 1 present." +FAIL Stringification of new RTCErrorEvent('error') assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'RTCErrorEvent': 2 arguments required, but only 1 present." +FAIL RTCErrorEvent interface: new RTCErrorEvent('error') must inherit property "error" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Failed to construct 'RTCErrorEvent': 2 arguments required, but only 1 present." +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/vr/getEyeParameters_match.html b/third_party/blink/web_tests/vr/getEyeParameters_match.html index 1523a90..b120c6ed 100644 --- a/third_party/blink/web_tests/vr/getEyeParameters_match.html +++ b/third_party/blink/web_tests/vr/getEyeParameters_match.html
@@ -21,12 +21,11 @@ function compareEyes(actual, expected) { t.step( () => { - assert_equals(actual.offset.length, 3); - assert_approx_equals(actual.offset[0], expected.offset.x, + assert_approx_equals(actual.offset[0], expected.headFromEye.matrix[12], FLOAT_EPSILON); - assert_approx_equals(actual.offset[1], expected.offset.y, + assert_approx_equals(actual.offset[1], expected.headFromEye.matrix[13], FLOAT_EPSILON); - assert_approx_equals(actual.offset[2], expected.offset.z, + assert_approx_equals(actual.offset[2], expected.headFromEye.matrix[14], FLOAT_EPSILON); assert_equals(actual.renderWidth, expected.renderWidth * scale); assert_equals(actual.renderHeight, expected.renderHeight * scale);
diff --git a/third_party/blink/web_tests/vr/resources/vr-test-utils.js b/third_party/blink/web_tests/vr/resources/vr-test-utils.js index 25f83a8..496c1a71 100644 --- a/third_party/blink/web_tests/vr/resources/vr-test-utils.js +++ b/third_party/blink/web_tests/vr/resources/vr-test-utils.js
@@ -48,6 +48,15 @@ this.displayClient_.onActivate(reason); }; +function getGFXTransformFromPosition(x, y, z) { + let transform = new gfx.mojom.Transform(); + transform.matrix = getMatrixFromTransform({ + position: [x, y, z], + orientation: [0, 0, 0, 1] + }); + return transform; +} + function vr_test(func, vrDisplays, name, properties) { let chain = Promise.resolve(); let firstDeviceController; @@ -86,14 +95,14 @@ let generic_left_eye = { fieldOfView : generic_left_fov, - offset : { x: -0.03, y: 0, z: 0 }, + headFromEye : getGFXTransformFromPosition(-0.03, 0, 0), renderWidth : 1024, renderHeight : 1024 }; let generic_right_eye = { - fieldOfView :generic_right_fov, - offset : { x: 0.03, y: 0, z: 0 }, + fieldOfView : generic_right_fov, + headFromEye : getGFXTransformFromPosition(0.03, 0, 0), renderWidth : 1024, renderHeight : 1024 }; @@ -152,7 +161,7 @@ leftDegrees : 35.197, rightDegrees : 50.899, }, - offset : { x: -0.032, y: 0, z: 0 }, + headFromEye : getGFXTransformFromPosition(-0.032, 0, 0), renderWidth : 1920, renderHeight : 2160 }, @@ -163,7 +172,7 @@ leftDegrees: 50.899, rightDegrees: 35.197 }, - offset : { x: 0.032, y: 0, z: 0 }, + headFromEye : getGFXTransformFromPosition(0.032, 0, 0), renderWidth : 1920, renderHeight : 2160 },
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-001-ref.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-001-ref.html new file mode 100644 index 0000000..bb3c0e7 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-001-ref.html
@@ -0,0 +1,17 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: unsized div</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> + +<style> +#target { + background: lightblue; +} +#target > div { + width: 111px; + height: 222px; +} +</style> + +<div id=target><div></div></div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-001.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-001.html new file mode 100644 index 0000000..35f51145 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-001.html
@@ -0,0 +1,16 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: unsized div</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> +<link rel="match" href="content-size-001-ref.html"> + +<style> +#target { + background: lightblue; + content-size: 111px 222px; + contain: size; +} +</style> + +<div id=target></div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-002-ref.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-002-ref.html new file mode 100644 index 0000000..dfd49b9d --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-002-ref.html
@@ -0,0 +1,23 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: unsized div with max-content parent</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> + +<style> +#border { + width: max-content; + border: 1px solid black; +} +#target { + background: lightblue; +} +#target > div { + width: 111px; + height: 222px; +} +</style> + +<div id=border> + <div id=target><div></div></div> +</div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-002.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-002.html new file mode 100644 index 0000000..7fa01b6 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-002.html
@@ -0,0 +1,22 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: unsized div</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> +<link rel="match" href="content-size-002-ref.html"> + +<style> +#border { + width: max-content; + border: 1px solid black; +} +#target { + background: lightblue; + content-size: 111px 222px; + contain: size; +} +</style> + +<div id=border> + <div id=target></div> +</div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-003-ref.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-003-ref.html new file mode 100644 index 0000000..9acd81d --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-003-ref.html
@@ -0,0 +1,18 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: width specified</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> + +<style> +#target { + background: lightblue; + width: 50px; +} +#target > div { + height: 222px; + contain: size; +} +</style> + +<div id=target><div></div></div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-003.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-003.html new file mode 100644 index 0000000..d1017b3 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-003.html
@@ -0,0 +1,17 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: width specified</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> +<link rel="match" href="content-size-003-ref.html"> + +<style> +#target { + background: lightblue; + content-size: 111px 222px; + width: 50px; + contain: size; +} +</style> + +<div id=target></div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-004-ref.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-004-ref.html new file mode 100644 index 0000000..43475f74 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-004-ref.html
@@ -0,0 +1,18 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: width is min-content</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> + +<style> +#target { + background: lightblue; + width: min-content; +} +#target > div { + width: 111px; + height: 222px; +} +</style> + +<div id=target><div></div></div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-004.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-004.html new file mode 100644 index 0000000..ca684c2 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-004.html
@@ -0,0 +1,17 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: width is min-content</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> +<link rel="match" href="content-size-004-ref.html"> + +<style> +#target { + background: lightblue; + content-size: 111px 222px; + width: min-content; + contain: size; +} +</style> + +<div id=target></div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-005-ref.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-005-ref.html new file mode 100644 index 0000000..eb7e2c7 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-005-ref.html
@@ -0,0 +1,18 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: width is max-content</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> + +<style> +#target { + background: lightblue; + width: max-content; +} +#target > div { + width: 111px; + height: 222px; +} +</style> + +<div id=target><div></div></div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-005.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-005.html new file mode 100644 index 0000000..a72e6d7 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-005.html
@@ -0,0 +1,17 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: width is max-content</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> +<link rel="match" href="content-size-004-ref.html"> + +<style> +#target { + background: lightblue; + content-size: 111px 222px; + width: max-content; + contain: size; +} +</style> + +<div id=target></div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-006-ref.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-006-ref.html new file mode 100644 index 0000000..1214c842a --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-006-ref.html
@@ -0,0 +1,18 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: unsized div, content-size is small</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> + +<style> +#target { + background: lightblue; +} +#target > div { + height: 6px; + contain: size; +} +</style> + +<div id=target><div>Lorem ipsum</div></div> +
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-006.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-006.html new file mode 100644 index 0000000..3688f55 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-006.html
@@ -0,0 +1,16 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: unsized div, content-size is small</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> +<link rel="match" href="content-size-006-ref.html"> + +<style> +#target { + background: lightblue; + content-size: 5px 6px; + contain: size; +} +</style> + +<div id=target>Lorem ipsum</div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-007-ref.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-007-ref.html new file mode 100644 index 0000000..4ad3f1b --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-007-ref.html
@@ -0,0 +1,27 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: unsized div, content-size is small</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> + +<style> +#border { + border: 1px solid blue; + width: max-content; +} + +#target { + background: lightblue; + box-sizing: content-box; + width: 55px; + height: 66px; + + border-style: solid; + border-color: black; + border-width: 2px 3px 5px 7px; +} +</style> + +<div id=border> + <div id=target></div> +</div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-007.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-007.html new file mode 100644 index 0000000..a998be5 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-007.html
@@ -0,0 +1,26 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: div with border and scrollbars</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> +<link rel="match" href="content-size-007-ref.html"> + +<style> +#border { + border: 1px solid blue; + width: max-content; +} + +#target { + background: lightblue; + content-size: 55px 66px; + contain: size; + border-style: solid; + border-color: black; + border-width: 2px 3px 5px 7px; +} +</style> + +<div id=border> + <div id=target></div> +</div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-008-ref.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-008-ref.html new file mode 100644 index 0000000..874518b5 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-008-ref.html
@@ -0,0 +1,38 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: writing modes</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> + +<style> +.border { + border: 1px solid blue; + width: max-content; + margin: 5px; +} + +.box { + background: lightblue; + box-sizing: content-box; + width: 55px; + height: 66px; + contain: size; + border-style: solid; + border-color: black; + border-width: 2px 3px 5px 7px; + padding: 11px 13px 17px 19px; +} +.verticalrl { + writing-mode: vertical-rl; +} +.verticallr { + writing-mode: vertical-lr; +} +.horizontaltb { + writing-mode: horizontal-tb; +} +</style> + +<div class=border><div class="box verticalrl">Lorem</div></div> +<div class=border><div class="box verticallr">Ipsum</div></div> +<div class=border><div class="box horizontaltb">Dolor</div></div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-008.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-008.html new file mode 100644 index 0000000..f802feb --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-008.html
@@ -0,0 +1,37 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: writing modes</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> +<link rel="match" href="content-size-008-ref.html"> + +<style> +.border { + border: 1px solid blue; + width: max-content; + margin: 5px; +} + +.box { + background: lightblue; + content-size: 55px 66px; + contain: size; + border-style: solid; + border-color: black; + border-width: 2px 3px 5px 7px; + padding: 11px 13px 17px 19px; +} +.verticalrl { + writing-mode: vertical-rl; +} +.verticallr { + writing-mode: vertical-lr; +} +.horizontaltb { + writing-mode: horizontal-tb; +} +</style> + +<div class=border><div class="box verticalrl">Lorem</div></div> +<div class=border><div class="box verticallr">Ipsum</div></div> +<div class=border><div class="box horizontaltb">Dolor</div></div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-no-containment-001-ref.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-no-containment-001-ref.html new file mode 100644 index 0000000..bc9da395 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-no-containment-001-ref.html
@@ -0,0 +1,13 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: no size containment</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> + +<style> +#target { + background: lightblue; +} +</style> + +<div id=target>Lorem ipsum</div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-no-containment-001.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-no-containment-001.html new file mode 100644 index 0000000..4e6594e --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-no-containment-001.html
@@ -0,0 +1,15 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: no size containment</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> +<link rel="match" href="content-size-no-containment-001-ref.html"> + +<style> +#target { + background: lightblue; + content-size: 111px 222px; +} +</style> + +<div id=target>Lorem ipsum</div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-no-containment-002-ref.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-no-containment-002-ref.html new file mode 100644 index 0000000..dba75e3 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-no-containment-002-ref.html
@@ -0,0 +1,31 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: no size containment</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> + +<style> +#flex { + display: flex; + flex-direction: column; + height: 500px; +} +#one { + background: lightblue; + flex-grow: 3; +} +#two { + background: lightgreen; + flex-grow: 2; +} +#three { + background: lightgrey; + flex-grow: 1; +} +</style> + +<div id=flex> + <div id=one>Lorem ipsum</div> + <div id=two>dolor sit amet</div> + <div id=three>consectetur adipiscing elit</div> +</div>
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-no-containment-002.html b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-no-containment-002.html new file mode 100644 index 0000000..521c3fc --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/css/css-content-size/content-size-no-containment-002.html
@@ -0,0 +1,36 @@ +<!doctype html> +<meta charset="utf8"> +<title>CSS content-size: no size containment</title> +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> +<link rel="help" href="http://tabatkins.github.io/specs/css-content-size/"> +<link rel="match" href="content-size-no-containment-002-ref.html"> + +<style> +#flex { + display: flex; + flex-direction: column; + height: 500px; +} + +#one { + background: lightblue; + content-size: 111px 222px; + flex-grow: 3; +} +#two { + background: lightgreen; + content-size: 333px 1px; + flex-grow: 2; +} +#three { + background: lightgrey; + content-size: 1px 444px; + flex-grow: 1; +} +</style> + +<div id=flex> + <div id=one>Lorem ipsum</div> + <div id=two>dolor sit amet</div> + <div id=three>consectetur adipiscing elit</div> +</div>
diff --git a/third_party/blink/web_tests/wpt_internal/std-switch/tentative/interface-expected.txt b/third_party/blink/web_tests/wpt_internal/std-switch/tentative/interface-expected.txt deleted file mode 100644 index 26f5cad9..0000000 --- a/third_party/blink/web_tests/wpt_internal/std-switch/tentative/interface-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL interface promise_test: Unhandled rejection with value: object "WebIDLParseError: Syntax error at line 1471, since `interface CustomElementRegistry`: - define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions - ^ Trailing comma in arguments list" -Harness: the test ran to completion. -
diff --git a/third_party/libphonenumber/BUILD.gn b/third_party/libphonenumber/BUILD.gn index f66ffe0..5b4863e 100644 --- a/third_party/libphonenumber/BUILD.gn +++ b/third_party/libphonenumber/BUILD.gn
@@ -47,6 +47,7 @@ "dist/cpp/src/phonenumbers/phonenumbermatch.cc", "dist/cpp/src/phonenumbers/phonenumbermatcher.cc", "dist/cpp/src/phonenumbers/phonenumberutil.cc", + "dist/cpp/src/phonenumbers/regex_based_matcher.cc", "dist/cpp/src/phonenumbers/regexp_adapter_icu.cc", "dist/cpp/src/phonenumbers/regexp_cache.cc", "dist/cpp/src/phonenumbers/string_byte_sink.cc",
diff --git a/third_party/libphonenumber/README.chromium b/third_party/libphonenumber/README.chromium index 329072ec..e506866 100644 --- a/third_party/libphonenumber/README.chromium +++ b/third_party/libphonenumber/README.chromium
@@ -2,7 +2,7 @@ Short Name: libphonenumber URL: https://github.com/googlei18n/libphonenumber/ Version: unknown -Revision: a4da30df63a097d67e3c429ead6790ad91d36cf4 +Revision: 68eba9d6ee8b11fb58ece36b6c46d07965d7f7ff License: Apache 2.0 License File: LICENSE Security Critical: yes @@ -16,19 +16,16 @@ - third_party/protobuf Lite version. Additional files, not in the original library: - libphonenumber.gyp + BUILD.gn README.chromium LICENSE # Taken from https://github.com/googlei18n/libphonenumber/ phonenumber_api.h -The library is mapped through the DEPS file into dist/ folder. To update: +The library is mapped through the DEPS file into the Chromium sources root +folder. To update: 1. Get the latest commit hash from https://github.com/googlei18n/libphonenumber/ -2. Locally update this file and DEPS. +2. Locally update this file and src/DEPS. 3. run 'gclient sync' -4. Adjust libphonenumber.gyp/BUILD.gn if necessary. +4. Adjust BUILD.gn if necessary. 5. Verify that all compiles and all of the tests are successfull. - -WARNING: This library is only thread-safe on POSIX. This means that -PhoneNumberUtil and the other singletons should be accessed from a single -thread.
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml index e262cce..8af7f44a 100644 --- a/tools/metrics/histograms/enums.xml +++ b/tools/metrics/histograms/enums.xml
@@ -35613,6 +35613,7 @@ <int value="-705746939" label="ChromeDuet:enabled"/> <int value="-704232562" label="UseMonitorColorSpace:enabled"/> <int value="-702477233" label="ContentFullscreen:enabled"/> + <int value="-700300613" label="use-fake-device-for-media-stream:disabled"/> <int value="-699767107" label="enable-sync-app-list"/> <int value="-699198009" label="KeyboardShortcutViewer:enabled"/> <int value="-697887799" @@ -37300,6 +37301,7 @@ <int value="1677167062" label="AutomaticPasswordGeneration:enabled"/> <int value="1677258310" label="DragAppsInTabletMode:disabled"/> <int value="1679558835" label="ArcAvailableForChildAccount:enabled"/> + <int value="1680248931" label="use-fake-device-for-media-stream:enabled"/> <int value="1684043382" label="AssistantKeyRemapping:enabled"/> <int value="1685280468" label="AppServiceShelf:enabled"/> <int value="1688075820" label="OmniboxExperimentalKeywordMode:disabled"/> @@ -52510,6 +52512,7 @@ <int value="0" label="Safety Tip status unknown/not applicable"/> <int value="1" label="No Safety Tip"/> <int value="2" label="Safety Tip for bad reputation"/> + <int value="3" label="Safety Tip for lookalike URL"/> </enum> <enum name="SamlInSessionPasswordChangeEvent"> @@ -55858,6 +55861,11 @@ <int value="5" label="Authenticated channel dropped"/> </enum> +<enum name="SMSReceiverInfobarAction"> + <int value="0" label="Baseline: InfobarShown"/> + <int value="1" label="KeyboardDismissed"/> +</enum> + <enum name="SMSReceiverOutcome"> <int value="0" label="Success"/> <int value="1" label="Timed out"/> @@ -58647,6 +58655,8 @@ <int value="16" label="Updates"/> <int value="17" label="Click To Call"/> <int value="18" label="Shared Clipboard"/> + <int value="19" label="Permission Requests"/> + <int value="20" label="Permission Requests High"/> </enum> <enum name="TabBackgroundLoadStatus"> @@ -65444,6 +65454,9 @@ </enum> <enum name="WMIRefresherInitStatus"> + <obsolete> + Removed from code 08/2019. + </obsolete> <int value="0" label="Success"/> <int value="1" label="Local WMI Connection error"/> <int value="2" label="Refresher creation error"/> @@ -65452,6 +65465,9 @@ </enum> <enum name="WMIRefresherRefreshStatus"> + <obsolete> + Removed from code 08/2019. + </obsolete> <int value="0" label="Success"/> <int value="1" label="Call to Refresh failed"/> <int value="2" label="Call to GetObjects failed"/>
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index c6fe45a..7b02d238 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml
@@ -7774,6 +7774,9 @@ <histogram name="Ash.Wallpaper.ColorExtraction.Durations" units="ms" expires_after="M77"> + <obsolete> + Deprecated as of 8/2018. + </obsolete> <owner>bruthig@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7784,6 +7787,9 @@ <histogram name="Ash.Wallpaper.ColorExtraction.UserDelay" units="ms" expires_after="M77"> + <obsolete> + Deprecated as of 8/2018. + </obsolete> <owner>bruthig@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7864,6 +7870,9 @@ <histogram name="Ash.Wallpaper.TimeSpentResizing" units="ms" expires_after="M77"> + <obsolete> + Deprecated as of 8/2018. + </obsolete> <owner>bruthig@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -12776,7 +12785,7 @@ </histogram> <histogram name="BackgroundSync.LaunchTask.CancelSuccess" enum="BooleanSuccess" - expires_after="M80"> + expires_after="M86"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <summary> @@ -12786,7 +12795,7 @@ </histogram> <histogram name="BackgroundSync.LaunchTask.PlayServicesAvailable" - enum="Boolean" expires_after="M80"> + enum="Boolean" expires_after="M86"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <summary> @@ -12797,7 +12806,7 @@ </histogram> <histogram name="BackgroundSync.LaunchTask.ScheduleSuccess" - enum="BooleanSuccess"> + enum="BooleanSuccess" expires_after="M86"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <summary> @@ -15217,6 +15226,16 @@ </summary> </histogram> +<histogram name="Blink.Sms.Receive.Infobar" enum="SMSReceiverInfobarAction"> + <owner>goto@chromium.org</owner> + <owner>reillyg@chromium.org</owner> + <owner>ayui@chromium.org</owner> + <summary> + Records how many times the infobar was called and how many times the infobar + replaced a keyboard. + </summary> +</histogram> + <histogram name="Blink.Sms.Receive.Outcome" enum="SMSReceiverOutcome"> <owner>goto@chromium.org</owner> <owner>reillyg@chromium.org</owner> @@ -15245,6 +15264,17 @@ </summary> </histogram> +<histogram name="Blink.Sms.Receive.TimeCancelOnKeyboardDismissal" units="ms"> + <owner>goto@chromium.org</owner> + <owner>reillyg@chromium.org</owner> + <owner>juncai@chromium.org</owner> + <owner>ayui@chromium.org</owner> + <summary> + Records the duration from when the keyboard was replaced with an infobar + until when the user clicked the cancel button. + </summary> +</histogram> + <histogram name="Blink.Sms.Receive.TimeCancelOnSuccess" units="ms"> <owner>goto@chromium.org</owner> <owner>reillyg@chromium.org</owner> @@ -47327,7 +47357,7 @@ </histogram> <histogram name="GCM.Crypto.GCMDatabaseUpgradeResult" enum="Boolean" - expires_after="M80"> + expires_after="M86"> <owner>nator@chromium.org</owner> <owner>peter@chromium.org</owner> <owner>rayankans@chromium.org</owner> @@ -47539,7 +47569,7 @@ </histogram> <histogram name="GCM.RegistrationCacheStatus" enum="GCMRegistrationCacheStatus" - expires_after="M80"> + expires_after="M86"> <owner>nator@chromium.org</owner> <owner>peter@chromium.org</owner> <owner>rayankans@chromium.org</owner> @@ -65188,6 +65218,9 @@ <histogram name="Memory.Experimental.WMIRefresher.Init.AddEnumDuration2" units="ms" expires_after="2019-09-30"> + <obsolete> + Obsolete as of 08/2019 + </obsolete> <owner>sebmarchand@chromium.org</owner> <summary> The time it takes for the call to |AddEnum| to complete during the @@ -65198,6 +65231,9 @@ <histogram name="Memory.Experimental.WMIRefresher.Init.CoCreateInstanceDuration" units="ms" expires_after="2019-09-30"> + <obsolete> + Obsolete as of 08/2019 + </obsolete> <owner>sebmarchand@chromium.org</owner> <summary> The time it takes for the call to |CoCreateInstance| to complete during the @@ -65208,6 +65244,9 @@ <histogram name="Memory.Experimental.WMIRefresher.Init.CreateLocalWmiConnectionDuration" units="ms" expires_after="2019-09-30"> + <obsolete> + Obsolete as of 08/2019 + </obsolete> <owner>sebmarchand@chromium.org</owner> <summary> The time it takes for the call to |CreateLocalWmiConnection| to complete @@ -65240,6 +65279,9 @@ <histogram name="Memory.Experimental.WMIRefresher.InitializeDiskIdleTimeConfigDuration2" units="ms" expires_after="2019-09-30"> + <obsolete> + Obsolete as of 08/2019 + </obsolete> <owner>sebmarchand@chromium.org</owner> <summary> The time it takes to initialize the disk idle config in the WMI Refresher. @@ -65248,6 +65290,9 @@ <histogram name="Memory.Experimental.WMIRefresher.RefreshDiskIdleTimeDuration" units="ms" expires_after="2019-09-30"> + <obsolete> + Obsolete as of 08/2019 + </obsolete> <owner>sebmarchand@chromium.org</owner> <summary> The time it takes to do a refresh of the disk idle time value in the WMI @@ -65257,6 +65302,9 @@ <histogram name="Memory.Experimental.WMIRefresher.RefreshDiskIdleTimeStatus" enum="WMIRefresherRefreshStatus" expires_after="2019-09-30"> + <obsolete> + Obsolete as of 08/2019 + </obsolete> <owner>sebmarchand@chromium.org</owner> <summary> The result of refreshing the disk idle time value in the WMIRefresher. @@ -124628,6 +124676,24 @@ </summary> </histogram> +<histogram name="Security.SafetyTips.SafetyTipIgnoredPageLoad" + enum="SafetyTipStatus"> + <owner>jdeblasio@chromium.org</owner> + <owner>livvielin@chromium.org</owner> + <summary> + Records the Safety Tip status of a page after navigation commit for a page + where the Safety Tip has previously been ignored. + </summary> +</histogram> + +<histogram name="Security.SafetyTips.SafetyTipShown" enum="SafetyTipStatus"> + <owner>jdeblasio@chromium.org</owner> + <owner>livvielin@chromium.org</owner> + <summary> + Records the Safety Tip status of a page after navigation commit. + </summary> +</histogram> + <histogram name="Security.SecurityLevel.CryptographicScheme" enum="SecurityLevel"> <owner>estark@chromium.org</owner> @@ -129068,6 +129134,16 @@ </summary> </histogram> +<histogram name="Sharing.ClickToCallHelpTextClicked" enum="SharingDialogType" + expires_after="2020-02-02"> + <owner>mvanouwerkerk@chromium.org</owner> + <owner>knollr@chromium.org</owner> + <summary> + Logged whenever a user clicks on the help text in a Click to Call dialog. + The value is used to distinguish which dialog type was shown. Desktop only. + </summary> +</histogram> + <histogram name="Sharing.ClickToCallPhoneCall" units="ms" expires_after="M80"> <owner>mvanouwerkerk@chromium.org</owner> <owner>knollr@chromium.org</owner> @@ -173871,7 +173947,7 @@ label="Recorded with between 5 and 7 tabs open in the browser."/> <suffix name="ByTabCount.8To19Tabs" label="Recorded with between 8 and 19 tabs open in the browser."/> - <suffix name="ByTabCount.8To19Tabs" + <suffix name="ByTabCount.20To39Tabs" label="Recorded with between 20 and 39 tabs open in the browser."/> <suffix name="ByTabCount.40OrMoreTabs" label="Recorded with 40 or more tabs open in the browser."/>
diff --git a/tools/perf/expectations.config b/tools/perf/expectations.config index fa1883c..fbac672 100644 --- a/tools/perf/expectations.config +++ b/tools/perf/expectations.config
@@ -225,6 +225,9 @@ # Benchmark: rendering.desktop crbug.com/755556 [ mac ] rendering.desktop/mix_blend_mode_animation_difference [ Skip ] crbug.com/755556 [ mac ] rendering.desktop/mix_blend_mode_animation_hue [ Skip ] +crbug.com/1000473 [ linux ] rendering.desktop/balls_svg_animations [ Skip ] +crbug.com/1000473 [ mac ] rendering.desktop/balls_svg_animations [ Skip ] +crbug.com/1000473 [ win ] rendering.desktop/balls_svg_animations [ Skip ] # Benchmark: rendering.mobile crbug.com/785485 [ android-webview ] rendering.mobile/kevs_3d [ Skip ] @@ -267,6 +270,7 @@ crbug.com/954948 [ android-webview ] rendering.mobile/cnn_mobile_pinch_2018 [ Skip ] crbug.com/966637 [ android-pixel-2 android-webview ] rendering.mobile/google_news_mobile_2018 [ Skip ] crbug.com/967809 [ android-webview ] rendering.mobile/microsoft_video_city [ Skip ] +crbug.com/1000473 [ android-webview ] rendering.mobile/balls_svg_animations [ Skip ] # Benchmark: rasterize_and_record_micro.top_25 crbug.com/764543 rasterize_and_record_micro.top_25/file://static_top_25/wikipedia.html [ Skip ]
diff --git a/ui/accessibility/platform/test_ax_node_wrapper.cc b/ui/accessibility/platform/test_ax_node_wrapper.cc index 602f83b..7b4fc90 100644 --- a/ui/accessibility/platform/test_ax_node_wrapper.cc +++ b/ui/accessibility/platform/test_ax_node_wrapper.cc
@@ -587,6 +587,9 @@ case ax::mojom::Role::kColorWell: return base::ASCIIToUTF16("color picker"); + case ax::mojom::Role::kContentInfo: + return base::ASCIIToUTF16("content information"); + case ax::mojom::Role::kDate: return base::ASCIIToUTF16("date picker");
diff --git a/ui/aura/window_tree_host_platform.cc b/ui/aura/window_tree_host_platform.cc index fe1dc9ac..98b04fa 100644 --- a/ui/aura/window_tree_host_platform.cc +++ b/ui/aura/window_tree_host_platform.cc
@@ -74,7 +74,7 @@ #elif defined(OS_WIN) platform_window_.reset(new ui::WinWindow(this, properties.bounds)); #elif defined(USE_X11) - auto x11_window = std::make_unique<ui::X11Window>(this, nullptr); + auto x11_window = std::make_unique<ui::X11Window>(this); x11_window->Initialize(std::move(properties)); SetPlatformWindow(std::move(x11_window)); #else
diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc index 835d14a..a2e985a 100644 --- a/ui/base/ui_base_features.cc +++ b/ui/base/ui_base_features.cc
@@ -140,17 +140,6 @@ #endif } -#if defined(OS_MACOSX) -// When enabled, the NSWindows for apps will be created in the app's process, -// and will forward input to the browser process. -const base::Feature kHostWindowsInAppShimProcess{ - "HostWindowsInAppShimProcess", base::FEATURE_ENABLED_BY_DEFAULT}; - -bool HostWindowsInAppShimProcess() { - return base::FeatureList::IsEnabled(kHostWindowsInAppShimProcess); -} -#endif // defined(OS_MACOSX) - const base::Feature kEnableOzoneDrmMojo = {"OzoneDrmMojo", base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/ui/base/ui_base_features.h b/ui/base/ui_base_features.h index e7deb66..8fa392e 100644 --- a/ui/base/ui_base_features.h +++ b/ui/base/ui_base_features.h
@@ -75,15 +75,6 @@ COMPONENT_EXPORT(UI_BASE_FEATURES) bool IsAutomaticUiAdjustmentsForTouchEnabled(); -#if defined(OS_MACOSX) -COMPONENT_EXPORT(UI_BASE_FEATURES) -extern const base::Feature kHostWindowsInAppShimProcess; - -// Returns true if the NSWindows for apps will be created in the app's process, -// and will forward input to the browser process. -COMPONENT_EXPORT(UI_BASE_FEATURES) bool HostWindowsInAppShimProcess(); -#endif // defined(OS_MACOSX) - // Use mojo communication in the drm platform instead of paramtraits. Remove // this switch (and associated code) when the drm platform always uses mojo // communication.
diff --git a/ui/ozone/platform/x11/x11_window_ozone.cc b/ui/ozone/platform/x11/x11_window_ozone.cc index f62b39e..b88ce99 100644 --- a/ui/ozone/platform/x11/x11_window_ozone.cc +++ b/ui/ozone/platform/x11/x11_window_ozone.cc
@@ -25,7 +25,7 @@ X11WindowOzone::X11WindowOzone(PlatformWindowDelegate* delegate, X11WindowManagerOzone* window_manager) - : X11Window(delegate, nullptr), window_manager_(window_manager) { + : X11Window(delegate), window_manager_(window_manager) { DCHECK(window_manager_); // Set a class property key, which allows |this| to be used for interactive
diff --git a/ui/platform_window/platform_window_init_properties.h b/ui/platform_window/platform_window_init_properties.h index 38e5382..eeb06608 100644 --- a/ui/platform_window/platform_window_init_properties.h +++ b/ui/platform_window/platform_window_init_properties.h
@@ -73,18 +73,18 @@ bool remove_standard_frame = false; std::string workspace; -#if defined(USE_X11) - // Only used by X11: +#if defined(OS_LINUX) bool prefer_dark_theme = false; gfx::ImageSkia* icon = nullptr; base::Optional<int> background_color; -#endif + // Specifies the res_name and res_class fields, // respectively, of the WM_CLASS window property. Controls window grouping // and desktop file matching in Linux window managers. std::string wm_role_name; std::string wm_class_name; std::string wm_class_class; +#endif }; } // namespace ui
diff --git a/ui/platform_window/x11/x11_window.cc b/ui/platform_window/x11/x11_window.cc index b0a7365..c181b69 100644 --- a/ui/platform_window/x11/x11_window.cc +++ b/ui/platform_window/x11/x11_window.cc
@@ -71,10 +71,8 @@ } // namespace -X11Window::X11Window(PlatformWindowDelegateLinux* platform_window_delegate, - XEventDelegate* x_event_delegate) - : platform_window_delegate_(platform_window_delegate), - x_event_delegate_(x_event_delegate) {} +X11Window::X11Window(PlatformWindowDelegateLinux* platform_window_delegate) + : platform_window_delegate_(platform_window_delegate) {} X11Window::~X11Window() { PrepareForShutdown(); @@ -87,6 +85,11 @@ Init(config); } +void X11Window::SetXEventDelegate(XEventDelegate* delegate) { + DCHECK(!x_event_delegate_); + x_event_delegate_ = delegate; +} + void X11Window::Show() { // TODO(msisov): pass inactivity to PlatformWindow::Show. XWindow::Map(false /* inactive */);
diff --git a/ui/platform_window/x11/x11_window.h b/ui/platform_window/x11/x11_window.h index 62ae8fb..f094d650 100644 --- a/ui/platform_window/x11/x11_window.h +++ b/ui/platform_window/x11/x11_window.h
@@ -14,8 +14,6 @@ namespace ui { -class PlatformWindowDelegateLinux; - // Delegate interface used to communicate the X11PlatformWindow API client about // XEvents of interest. class X11_WINDOW_EXPORT XEventDelegate { @@ -38,12 +36,13 @@ public XWindow, public PlatformEventDispatcher { public: - X11Window(PlatformWindowDelegateLinux* platform_window_delegate, - XEventDelegate* x_event_delegate); + explicit X11Window(PlatformWindowDelegateLinux* platform_window_delegate); ~X11Window() override; void Initialize(PlatformWindowInitProperties properties); + void SetXEventDelegate(XEventDelegate* delegate); + // PlatformWindow: void Show() override; void Hide() override; @@ -110,7 +109,7 @@ PlatformWindowDelegateLinux* const platform_window_delegate_; - XEventDelegate* const x_event_delegate_; + XEventDelegate* x_event_delegate_ = nullptr; // Tells if the window got a ::Close call. bool is_shutting_down_ = false;
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn index 7872cc6..6ddc8fb 100644 --- a/ui/views/BUILD.gn +++ b/ui/views/BUILD.gn
@@ -756,8 +756,10 @@ ] } if (is_linux) { + public += [ "widget/desktop_aura/desktop_window_tree_host_linux.h" ] sources += [ "style/platform_style_linux.cc", + "widget/desktop_aura/desktop_window_tree_host_linux.cc", "widget/desktop_aura/window_event_filter.cc", "widget/desktop_aura/window_event_filter.h", ]
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host.h b/ui/views/widget/desktop_aura/desktop_window_tree_host.h index c4fa6859..da8caf2 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host.h +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host.h
@@ -19,13 +19,13 @@ namespace client { class DragDropClient; class ScreenPositionClient; -} +} // namespace client } // namespace aura namespace gfx { class ImageSkia; class Rect; -} +} // namespace gfx namespace views { namespace corewm {
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc new file mode 100644 index 0000000..da40153 --- /dev/null +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
@@ -0,0 +1,83 @@ +// 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 "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h" + +#include "ui/display/display.h" +#include "ui/display/screen.h" +#include "ui/platform_window/platform_window_init_properties.h" +#include "ui/views/linux_ui/linux_ui.h" +#include "ui/views/views_delegate.h" +#include "ui/views/widget/widget.h" + +namespace views { + +DesktopWindowTreeHostLinux::DesktopWindowTreeHostLinux( + internal::NativeWidgetDelegate* native_widget_delegate, + DesktopNativeWidgetAura* desktop_native_widget_aura) + : DesktopWindowTreeHostPlatform(native_widget_delegate, + desktop_native_widget_aura) {} + +DesktopWindowTreeHostLinux::~DesktopWindowTreeHostLinux() = default; + +gfx::Size DesktopWindowTreeHostLinux::AdjustSizeForDisplay( + const gfx::Size& requested_size_in_pixels) { + std::vector<display::Display> displays = + display::Screen::GetScreen()->GetAllDisplays(); + // Compare against all monitor sizes. The window manager can move the window + // to whichever monitor it wants. + for (const auto& display : displays) { + if (requested_size_in_pixels == display.GetSizeInPixel()) { + return gfx::Size(requested_size_in_pixels.width() - 1, + requested_size_in_pixels.height() - 1); + } + } + + // Do not request a 0x0 window size. It causes an XError. + gfx::Size size_in_pixels = requested_size_in_pixels; + size_in_pixels.SetToMax(gfx::Size(1, 1)); + return size_in_pixels; +} + +void DesktopWindowTreeHostLinux::AddAdditionalInitProperties( + const Widget::InitParams& params, + ui::PlatformWindowInitProperties* properties) { + // Calculate initial bounds + gfx::Rect bounds_in_pixels = ToPixelRect(properties->bounds); + gfx::Size adjusted_size = AdjustSizeForDisplay(bounds_in_pixels.size()); + bounds_in_pixels.set_size(adjusted_size); + properties->bounds = bounds_in_pixels; + + // Set the background color on startup to make the initial flickering + // happening between the XWindow is mapped and the first expose event + // is completely handled less annoying. If possible, we use the content + // window's background color, otherwise we fallback to white. + base::Optional<int> background_color; + const views::LinuxUI* linux_ui = views::LinuxUI::instance(); + if (linux_ui && content_window()) { + ui::NativeTheme::ColorId target_color; + switch (properties->type) { + case ui::PlatformWindowType::kBubble: + target_color = ui::NativeTheme::kColorId_BubbleBackground; + break; + case ui::PlatformWindowType::kTooltip: + target_color = ui::NativeTheme::kColorId_TooltipBackground; + break; + default: + target_color = ui::NativeTheme::kColorId_WindowBackground; + break; + } + ui::NativeTheme* theme = linux_ui->GetNativeTheme(content_window()); + background_color = theme->GetSystemColor(target_color); + } + properties->prefer_dark_theme = linux_ui && linux_ui->PreferDarkTheme(); + properties->background_color = background_color; + properties->icon = ViewsDelegate::GetInstance()->GetDefaultWindowIcon(); + + properties->wm_class_name = params.wm_class_name; + properties->wm_class_class = params.wm_class_class; + properties->wm_role_name = params.wm_role_name; +} + +} // namespace views
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h b/ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h new file mode 100644 index 0000000..eee9ef64 --- /dev/null +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h
@@ -0,0 +1,44 @@ +// 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 UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_WINDOW_TREE_HOST_LINUX_H_ +#define UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_WINDOW_TREE_HOST_LINUX_H_ + +#include "base/macros.h" +#include "ui/views/views_export.h" +#include "ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h" + +namespace views { + +// Contains Linux specific implementation. +class VIEWS_EXPORT DesktopWindowTreeHostLinux + : public DesktopWindowTreeHostPlatform { + public: + DesktopWindowTreeHostLinux( + internal::NativeWidgetDelegate* native_widget_delegate, + DesktopNativeWidgetAura* desktop_native_widget_aura); + ~DesktopWindowTreeHostLinux() override; + + protected: + // Adjusts |requested_size| to avoid the WM "feature" where setting the + // window size to the monitor size causes the WM to set the EWMH for + // fullscreen. + // + // TODO(https://crbug.com/990756)): this method is mainly for X11 + // impl (Wayland does not need this workaround). Move this to X11Window + // instead. We can't do it now as there are some methods that depend on this. + gfx::Size AdjustSizeForDisplay(const gfx::Size& requested_size_in_pixels); + + private: + // DesktopWindowTreeHostPlatform overrides: + void AddAdditionalInitProperties( + const Widget::InitParams& params, + ui::PlatformWindowInitProperties* properties) override; + + DISALLOW_COPY_AND_ASSIGN(DesktopWindowTreeHostLinux); +}; + +} // namespace views + +#endif // UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_WINDOW_TREE_HOST_LINUX_H_
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc index f494d1f..2c02111 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
@@ -7,6 +7,7 @@ #include "base/bind.h" #include "base/threading/thread_task_runner_handle.h" #include "base/time/time.h" +#include "ui/aura/client/aura_constants.h" #include "ui/aura/client/drag_drop_client.h" #include "ui/aura/client/transient_window_client.h" #include "ui/base/hit_test.h" @@ -26,6 +27,68 @@ namespace views { +namespace { + +ui::PlatformWindowInitProperties ConvertWidgetInitParamsToInitProperties( + const Widget::InitParams& params) { + ui::PlatformWindowInitProperties properties; + + switch (params.type) { + case Widget::InitParams::TYPE_WINDOW: + properties.type = ui::PlatformWindowType::kWindow; + break; + + case Widget::InitParams::TYPE_MENU: + properties.type = ui::PlatformWindowType::kMenu; + break; + + case Widget::InitParams::TYPE_TOOLTIP: + properties.type = ui::PlatformWindowType::kTooltip; + break; + + case Widget::InitParams::TYPE_DRAG: + properties.type = ui::PlatformWindowType::kDrag; + break; + + case Widget::InitParams::TYPE_BUBBLE: + properties.type = ui::PlatformWindowType::kBubble; + break; + + default: + properties.type = ui::PlatformWindowType::kPopup; + break; + } + + properties.bounds = params.bounds; + properties.activatable = + params.activatable == Widget::InitParams::ACTIVATABLE_YES; + properties.force_show_in_taskbar = params.force_show_in_taskbar; + properties.keep_on_top = + params.EffectiveZOrderLevel() != ui::ZOrderLevel::kNormal; + properties.visible_on_all_workspaces = params.visible_on_all_workspaces; + properties.remove_standard_frame = params.remove_standard_frame; + properties.workspace = params.workspace; + + if (params.parent && params.parent->GetHost()) + properties.parent_widget = params.parent->GetHost()->GetAcceleratedWidget(); + + switch (params.opacity) { + case Widget::InitParams::WindowOpacity::INFER_OPACITY: + properties.opacity = ui::PlatformWindowOpacity::kInferOpacity; + break; + case Widget::InitParams::WindowOpacity::OPAQUE_WINDOW: + properties.opacity = ui::PlatformWindowOpacity::kOpaqueWindow; + break; + case Widget::InitParams::WindowOpacity::TRANSLUCENT_WINDOW: + properties.opacity = ui::PlatformWindowOpacity::kTranslucentWindow; + break; + } + + return properties; +} + +} // namespace + //////////////////////////////////////////////////////////////////////////////// // DesktopWindowTreeHostPlatform: @@ -46,15 +109,22 @@ } void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) { + if (params.type == Widget::InitParams::TYPE_WINDOW) + content_window()->SetProperty(aura::client::kAnimationsDisabledKey, true); + ui::PlatformWindowInitProperties properties = ConvertWidgetInitParamsToInitProperties(params); + AddAdditionalInitProperties(params, &properties); CreateAndSetPlatformWindow(std::move(properties)); - CreateCompositor(viz::FrameSinkId(), params.force_software_compositing); - aura::WindowTreeHost::OnAcceleratedWidgetAvailable(); + // Disable compositing on tooltips as a workaround for + // https://crbug.com/442111. + CreateCompositor(viz::FrameSinkId(), + params.force_software_compositing || + params.type == Widget::InitParams::TYPE_TOOLTIP); + + WindowTreeHost::OnAcceleratedWidgetAvailable(); InitHost(); - if (!params.bounds.IsEmpty()) - SetBoundsInDIP(params.bounds); window()->Show(); } @@ -86,18 +156,6 @@ void DesktopWindowTreeHostPlatform::OnActiveWindowChanged(bool active) {} -base::Optional<gfx::Size> -DesktopWindowTreeHostPlatform::GetMinimumSizeForWindow() { - return ToPixelRect(gfx::Rect(native_widget_delegate()->GetMinimumSize())) - .size(); -} - -base::Optional<gfx::Size> -DesktopWindowTreeHostPlatform::GetMaximumSizeForWindow() { - return ToPixelRect(gfx::Rect(native_widget_delegate()->GetMaximumSize())) - .size(); -} - std::unique_ptr<corewm::Tooltip> DesktopWindowTreeHostPlatform::CreateTooltip() { return std::make_unique<corewm::TooltipAura>(); @@ -479,6 +537,19 @@ return true; } +gfx::Transform DesktopWindowTreeHostPlatform::GetRootTransform() const { + display::Display display = display::Screen::GetScreen()->GetPrimaryDisplay(); + if (IsVisible()) { + display = display::Screen::GetScreen()->GetDisplayNearestWindow( + GetWidget()->GetNativeWindow()); + } + + float scale = display.device_scale_factor(); + gfx::Transform transform; + transform.Scale(scale, scale); + return transform; +} + void DesktopWindowTreeHostPlatform::DispatchEvent(ui::Event* event) { #if defined(USE_OZONE) // Make sure the |event| is marked as a non-client if it's a non-client @@ -537,72 +608,36 @@ desktop_native_widget_aura_->HandleActivationChanged(active); } -ui::PlatformWindowInitProperties -DesktopWindowTreeHostPlatform::ConvertWidgetInitParamsToInitProperties( - const Widget::InitParams& params) { - ui::PlatformWindowInitProperties properties; +base::Optional<gfx::Size> +DesktopWindowTreeHostPlatform::GetMinimumSizeForWindow() { + return ToPixelRect(gfx::Rect(native_widget_delegate()->GetMinimumSize())) + .size(); +} - switch (params.type) { - case Widget::InitParams::TYPE_WINDOW: - properties.type = ui::PlatformWindowType::kWindow; - break; - - case Widget::InitParams::TYPE_MENU: - properties.type = ui::PlatformWindowType::kMenu; - break; - - case Widget::InitParams::TYPE_TOOLTIP: - properties.type = ui::PlatformWindowType::kTooltip; - break; - - case Widget::InitParams::TYPE_DRAG: - properties.type = ui::PlatformWindowType::kDrag; - break; - - case Widget::InitParams::TYPE_BUBBLE: - properties.type = ui::PlatformWindowType::kBubble; - break; - - default: - properties.type = ui::PlatformWindowType::kPopup; - break; - } - - properties.bounds = params.bounds; - properties.activatable = - params.activatable == Widget::InitParams::ACTIVATABLE_YES; - properties.force_show_in_taskbar = params.force_show_in_taskbar; - properties.keep_on_top = - params.EffectiveZOrderLevel() != ui::ZOrderLevel::kNormal; - properties.visible_on_all_workspaces = params.visible_on_all_workspaces; - properties.remove_standard_frame = params.remove_standard_frame; - properties.workspace = params.workspace; - properties.wm_class_name = params.wm_class_name; - properties.wm_class_class = params.wm_class_class; - properties.wm_role_name = params.wm_role_name; - - if (params.parent && params.parent->GetHost()) - properties.parent_widget = params.parent->GetHost()->GetAcceleratedWidget(); - - switch (params.opacity) { - case Widget::InitParams::WindowOpacity::INFER_OPACITY: - properties.opacity = ui::PlatformWindowOpacity::kInferOpacity; - break; - case Widget::InitParams::WindowOpacity::OPAQUE_WINDOW: - properties.opacity = ui::PlatformWindowOpacity::kOpaqueWindow; - break; - case Widget::InitParams::WindowOpacity::TRANSLUCENT_WINDOW: - properties.opacity = ui::PlatformWindowOpacity::kTranslucentWindow; - break; - } - - return properties; +base::Optional<gfx::Size> +DesktopWindowTreeHostPlatform::GetMaximumSizeForWindow() { + return ToPixelRect(gfx::Rect(native_widget_delegate()->GetMaximumSize())) + .size(); } aura::Window* DesktopWindowTreeHostPlatform::content_window() { return desktop_native_widget_aura_->content_window(); } +gfx::Rect DesktopWindowTreeHostPlatform::ToDIPRect( + const gfx::Rect& rect_in_pixels) const { + gfx::RectF rect_in_dip = gfx::RectF(rect_in_pixels); + GetRootTransform().TransformRectReverse(&rect_in_dip); + return gfx::ToEnclosingRect(rect_in_dip); +} + +gfx::Rect DesktopWindowTreeHostPlatform::ToPixelRect( + const gfx::Rect& rect_in_dip) const { + gfx::RectF rect_in_pixels = gfx::RectF(rect_in_dip); + GetRootTransform().TransformRect(&rect_in_pixels); + return gfx::ToEnclosingRect(rect_in_pixels); +} + void DesktopWindowTreeHostPlatform::Relayout() { Widget* widget = native_widget_delegate_->AsWidget(); NonClientView* non_client_view = widget->non_client_view(); @@ -627,19 +662,13 @@ return native_widget_delegate_->AsWidget(); } -gfx::Rect DesktopWindowTreeHostPlatform::ToDIPRect( - const gfx::Rect& rect_in_pixels) const { - gfx::RectF rect_in_dip = gfx::RectF(rect_in_pixels); - GetRootTransform().TransformRectReverse(&rect_in_dip); - return gfx::ToEnclosingRect(rect_in_dip); +const Widget* DesktopWindowTreeHostPlatform::GetWidget() const { + return native_widget_delegate_->AsWidget(); } -gfx::Rect DesktopWindowTreeHostPlatform::ToPixelRect( - const gfx::Rect& rect_in_dip) const { - gfx::RectF rect_in_pixels = gfx::RectF(rect_in_dip); - GetRootTransform().TransformRect(&rect_in_pixels); - return gfx::ToEnclosingRect(rect_in_pixels); -} +void DesktopWindowTreeHostPlatform::AddAdditionalInitProperties( + const Widget::InitParams& params, + ui::PlatformWindowInitProperties* properties) {} //////////////////////////////////////////////////////////////////////////////// // DesktopWindowTreeHost:
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h index f3f9ace..00ff41a21 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h
@@ -90,6 +90,9 @@ bool ShouldUseDesktopNativeCursorManager() const override; bool ShouldCreateVisibilityController() const override; + // WindowTreeHost: + gfx::Transform GetRootTransform() const override; + // PlatformWindowDelegateBase: void DispatchEvent(ui::Event* event) override; void OnClosed() override; @@ -100,11 +103,8 @@ base::Optional<gfx::Size> GetMaximumSizeForWindow() override; protected: - // TODO(https://crbug.com/990756): move this back to unnamed namespace, when - // DWTHX11 stops initialization of the PlatformWindow. Also, remove these - // accessor methods. - ui::PlatformWindowInitProperties ConvertWidgetInitParamsToInitProperties( - const Widget::InitParams& params); + // TODO(https://crbug.com/990756): move these methods back to private + // once DWTHX11 stops using them. internal::NativeWidgetDelegate* native_widget_delegate() { return native_widget_delegate_; } @@ -114,6 +114,11 @@ // Accessor for DesktopNativeWidgetAura::content_window(). aura::Window* content_window(); + // These are not general purpose methods and must be used with care. Please + // make sure you understand the rounding direction before using. + gfx::Rect ToDIPRect(const gfx::Rect& rect_in_pixels) const; + gfx::Rect ToPixelRect(const gfx::Rect& rect_in_dip) const; + private: FRIEND_TEST_ALL_PREFIXES(DesktopWindowTreeHostPlatformTest, HitTest); @@ -122,9 +127,12 @@ void RemoveNonClientEventFilter(); Widget* GetWidget(); + const Widget* GetWidget() const; - gfx::Rect ToDIPRect(const gfx::Rect& rect_in_pixels) const; - gfx::Rect ToPixelRect(const gfx::Rect& rect_in_dip) const; + // There are platform specific properties that Linux may want to add. + virtual void AddAdditionalInitProperties( + const Widget::InitParams& params, + ui::PlatformWindowInitProperties* properties); internal::NativeWidgetDelegate* const native_widget_delegate_; DesktopNativeWidgetAura* const desktop_native_widget_aura_;
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc index 312df3e9..ab974862 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
@@ -53,10 +53,8 @@ #include "ui/gfx/path_x11.h" #include "ui/gfx/x/x11.h" #include "ui/gfx/x/x11_atom_cache.h" -#include "ui/platform_window/x11/x11_window.h" #include "ui/views/corewm/tooltip_aura.h" #include "ui/views/linux_ui/linux_ui.h" -#include "ui/views/views_delegate.h" #include "ui/views/views_switches.h" #include "ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11.h" #include "ui/views/widget/desktop_aura/desktop_native_cursor_manager.h" @@ -155,9 +153,8 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11( internal::NativeWidgetDelegate* native_widget_delegate, DesktopNativeWidgetAura* desktop_native_widget_aura) - : DesktopWindowTreeHostPlatform(native_widget_delegate, - desktop_native_widget_aura), - x11_window_(std::make_unique<ui::X11Window>(this, this)) {} + : DesktopWindowTreeHostLinux(native_widget_delegate, + desktop_native_widget_aura) {} DesktopWindowTreeHostX11::~DesktopWindowTreeHostX11() { window()->ClearProperty(kHostForRootWindow); @@ -189,15 +186,15 @@ } gfx::Rect DesktopWindowTreeHostX11::GetX11RootWindowBounds() const { - return x11_window_->bounds(); + return GetBoundsInPixels(); } gfx::Rect DesktopWindowTreeHostX11::GetX11RootWindowOuterBounds() const { - return x11_window_->GetOutterBounds(); + return GetXWindow()->GetOutterBounds(); } ::Region DesktopWindowTreeHostX11::GetWindowShape() const { - return x11_window_->shape(); + return GetXWindow()->shape(); } void DesktopWindowTreeHostX11::AddObserver( @@ -230,9 +227,9 @@ if (!open_windows_) return; while (!open_windows_->empty()) { - XID xid = open_windows_->front(); - func(GetContentWindowForXID(xid)); - if (!open_windows_->empty() && open_windows_->front() == xid) + gfx::AcceleratedWidget widget = open_windows_->front(); + func(GetContentWindowForXID(widget)); + if (!open_windows_->empty() && open_windows_->front() == widget) open_windows_->erase(open_windows_->begin()); } @@ -244,12 +241,34 @@ // DesktopWindowTreeHostX11, DesktopWindowTreeHost implementation: void DesktopWindowTreeHostX11::Init(const Widget::InitParams& params) { - if (params.type == Widget::InitParams::TYPE_WINDOW) - content_window()->SetProperty(aura::client::kAnimationsDisabledKey, true); + // If we have a parent, record the parent/child relationship. We use this + // data during destruction to make sure that when we try to close a parent + // window, we also destroy all child windows. + if (params.parent && params.parent->GetHost()) { + window_parent_ = + static_cast<DesktopWindowTreeHostX11*>(params.parent->GetHost()); + DCHECK(window_parent_); + window_parent_->window_children_.insert(this); + } - InitX11Window(params); - InitHost(); - window()->Show(); + DesktopWindowTreeHostPlatform::Init(params); + + // Set XEventDelegate to receive selection, drag&drop and raw key events. + // + // TODO(https://crbug.com/990756): There are two cases of this delegate: + // XEvents for DragAndDrop client and raw key events. DragAndDrop could be + // unified so that DragAndrDropClientOzone is used and XEvent are handled on + // platform level. + static_cast<ui::X11Window*>(platform_window())->SetXEventDelegate(this); + + // Can it be unified and will Ozone benefit from this? Check comment above + // where this class is defined and declared. + if (ui::IsSyncExtensionAvailable()) { + compositor_observer_ = std::make_unique<SwapWithNewSizeObserverHelper>( + compositor(), base::BindRepeating( + &DesktopWindowTreeHostX11::OnCompleteSwapWithNewSize, + base::Unretained(this))); + } } void DesktopWindowTreeHostX11::OnNativeWidgetCreated( @@ -284,8 +303,9 @@ std::unique_ptr<aura::client::DragDropClient> DesktopWindowTreeHostX11::CreateDragDropClient( DesktopNativeCursorManager* cursor_manager) { - drag_drop_client_ = new DesktopDragDropClientAuraX11( - window(), cursor_manager, x11_window_->display(), x11_window_->window()); + drag_drop_client_ = new DesktopDragDropClientAuraX11(window(), cursor_manager, + GetXWindow()->display(), + GetXWindow()->window()); drag_drop_client_->Init(); return base::WrapUnique(drag_drop_client_); } @@ -294,7 +314,7 @@ content_window()->Hide(); // TODO(erg): Might need to do additional hiding tasks here. - x11_window_->CancelResize(); + GetXWindow()->CancelResize(); if (!close_widget_factory_.HasWeakPtrs()) { // And we delay the close so that if we are called from an ATL callback, @@ -308,9 +328,9 @@ } void DesktopWindowTreeHostX11::CloseNow() { - if (x11_window_->window() == x11::None) + if (GetXWindow()->window() == x11::None) return; - x11_window_->PrepareForShutdown(); + platform_window()->PrepareForShutdown(); ReleaseCapture(); RemoveNonClientEventFilter(); @@ -334,9 +354,9 @@ // causes a crash with in-process renderer. DestroyCompositor(); - open_windows().remove(x11_window_->window()); + open_windows().remove(GetAcceleratedWidget()); - x11_window_->Close(); + platform_window()->Close(); } aura::WindowTreeHost* DesktopWindowTreeHostX11::AsWindowTreeHost() { @@ -348,7 +368,7 @@ if (compositor()) SetVisible(true); - if (!x11_window_->mapped_in_client() || IsMinimized()) + if (!GetXWindow()->mapped_in_client() || IsMinimized()) MapWindow(show_state); switch (show_state) { @@ -376,16 +396,16 @@ } bool DesktopWindowTreeHostX11::IsVisible() const { - return x11_window_->IsVisible(); + return platform_window() ? GetXWindow()->IsVisible() : false; } void DesktopWindowTreeHostX11::SetSize(const gfx::Size& requested_size) { gfx::Size size_in_pixels = ToPixelRect(gfx::Rect(requested_size)).size(); - size_in_pixels = AdjustSize(size_in_pixels); + size_in_pixels = AdjustSizeForDisplay(size_in_pixels); - bool size_changed = x11_window_->bounds().size() != size_in_pixels; + bool size_changed = GetBoundsInPixels().size() != size_in_pixels; - x11_window_->SetSize(size_in_pixels); + GetXWindow()->SetSize(size_in_pixels); if (size_changed) { OnHostResizedInPixels(size_in_pixels); @@ -394,8 +414,8 @@ } void DesktopWindowTreeHostX11::StackAbove(aura::Window* window) { - XDisplay* display = x11_window_->display(); - ::Window xwindow = x11_window_->window(); + XDisplay* display = GetXWindow()->display(); + ::Window xwindow = GetXWindow()->window(); if (window && window->GetRootWindow()) { ::Window window_below = window->GetHost()->GetAcceleratedWidget(); @@ -428,7 +448,7 @@ } void DesktopWindowTreeHostX11::StackAtTop() { - x11_window_->StackAtTop(); + GetXWindow()->StackAtTop(); } void DesktopWindowTreeHostX11::CenterWindow(const gfx::Size& size) { @@ -478,8 +498,7 @@ } gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const { - gfx::Rect bounds_in_pixels = x11_window_->bounds(); - return ToDIPRect(bounds_in_pixels); + return ToDIPRect(GetBoundsInPixels()); } gfx::Rect DesktopWindowTreeHostX11::GetClientAreaBoundsInScreen() const { @@ -506,7 +525,7 @@ } std::string DesktopWindowTreeHostX11::GetWorkspace() const { - base::Optional<int> workspace = x11_window_->workspace(); + base::Optional<int> workspace = GetXWindow()->workspace(); return workspace ? base::NumberToString(workspace.value()) : std::string(); } @@ -537,37 +556,37 @@ xregion = gfx::CreateRegionFromSkRegion(native_region); } } - x11_window_->SetShape(xregion); + GetXWindow()->SetShape(xregion); ResetWindowRegion(); } void DesktopWindowTreeHostX11::Activate() { - x11_window_->Activate(); + GetXWindow()->Activate(); } void DesktopWindowTreeHostX11::Deactivate() { ReleaseCapture(); - x11_window_->Deactivate(); + GetXWindow()->Deactivate(); } bool DesktopWindowTreeHostX11::IsActive() const { - return x11_window_->IsActive(); + return GetXWindow()->IsActive(); } void DesktopWindowTreeHostX11::Maximize() { // TODO(nickdiego): Move into XWindow. For now, it is kept outside - // it due to |AdjustSize|, which depends on display::Display, which is not - // accessible at Ozone layer. - if (x11_window_->IsFullscreen()) { + // it due to |AdjustSizeForDisplay|, which depends on display::Display, which + // is not accessible at Ozone layer. + if (GetXWindow()->IsFullscreen()) { // Unfullscreen the window if it is fullscreen. - x11_window_->SetFullscreen(false); + GetXWindow()->SetFullscreen(false); // Resize the window so that it does not have the same size as a monitor. // (Otherwise, some window managers immediately put the window back in // fullscreen mode). - gfx::Rect bounds = x11_window_->bounds(); + gfx::Rect bounds = GetBoundsInPixels(); gfx::Rect adjusted_bounds_in_pixels(bounds.origin(), - AdjustSize(bounds.size())); + AdjustSizeForDisplay(bounds.size())); if (adjusted_bounds_in_pixels != bounds) SetBoundsInPixels(adjusted_bounds_in_pixels); } @@ -575,30 +594,30 @@ // When we are in the process of requesting to maximize a window, we can // accurately keep track of our restored bounds instead of relying on the // heuristics that are in the PropertyNotify and ConfigureNotify handlers. - restored_bounds_in_pixels_ = x11_window_->bounds(); + restored_bounds_in_pixels_ = GetBoundsInPixels(); - x11_window_->Maximize(); + GetXWindow()->Maximize(); if (IsMinimized()) Show(ui::SHOW_STATE_NORMAL, gfx::Rect()); } void DesktopWindowTreeHostX11::Minimize() { ReleaseCapture(); - x11_window_->Minimize(); + GetXWindow()->Minimize(); } void DesktopWindowTreeHostX11::Restore() { - x11_window_->Unmaximize(); + GetXWindow()->Unmaximize(); Show(ui::SHOW_STATE_NORMAL, gfx::Rect()); - x11_window_->Unhide(); + GetXWindow()->Unhide(); } bool DesktopWindowTreeHostX11::IsMaximized() const { - return x11_window_->IsMaximized(); + return GetXWindow()->IsMaximized(); } bool DesktopWindowTreeHostX11::IsMinimized() const { - return x11_window_->IsMinimized(); + return GetXWindow()->IsMinimized(); } bool DesktopWindowTreeHostX11::HasCapture() const { @@ -611,11 +630,11 @@ // Emulate the multiple window levels provided by other platforms by // collapsing the z-order enum into kNormal = normal, everything else = always // on top. - x11_window_->SetAlwaysOnTop(order != ui::ZOrderLevel::kNormal); + GetXWindow()->SetAlwaysOnTop(order != ui::ZOrderLevel::kNormal); } ui::ZOrderLevel DesktopWindowTreeHostX11::GetZOrderLevel() const { - bool window_always_on_top = x11_window_->is_always_on_top(); + bool window_always_on_top = GetXWindow()->is_always_on_top(); bool level_always_on_top = z_order_ != ui::ZOrderLevel::kNormal; if (window_always_on_top == level_always_on_top) @@ -639,17 +658,15 @@ } void DesktopWindowTreeHostX11::SetVisibleOnAllWorkspaces(bool always_visible) { - x11_window_->SetVisibleOnAllWorkspaces(always_visible); + GetXWindow()->SetVisibleOnAllWorkspaces(always_visible); } bool DesktopWindowTreeHostX11::IsVisibleOnAllWorkspaces() const { - return x11_window_->IsVisibleOnAllWorkspaces(); + return GetXWindow()->IsVisibleOnAllWorkspaces(); } bool DesktopWindowTreeHostX11::SetWindowTitle(const base::string16& title) { - auto* x_window = static_cast<ui::XWindow*>(x11_window_.get()); - DCHECK(x_window); - return x_window->SetTitle(title); + return GetXWindow()->SetTitle(title); } void DesktopWindowTreeHostX11::ClearNativeFocus() { @@ -695,11 +712,11 @@ } bool DesktopWindowTreeHostX11::ShouldUseNativeFrame() const { - return x11_window_->use_native_frame(); + return GetXWindow()->use_native_frame(); } bool DesktopWindowTreeHostX11::ShouldWindowContentsBeTransparent() const { - return x11_window_->has_alpha(); + return GetXWindow()->has_alpha(); } void DesktopWindowTreeHostX11::FrameTypeChanged() { @@ -727,7 +744,7 @@ is_fullscreen_ = fullscreen; if (is_fullscreen_) - x11_window_->CancelResize(); + GetXWindow()->CancelResize(); // Work around a bug where if we try to unfullscreen, metacity immediately // fullscreens us again. This is a little flickery and not necessary if @@ -739,7 +756,7 @@ if (unmaximize_and_remaximize) Restore(); - x11_window_->SetFullscreen(fullscreen); + GetXWindow()->SetFullscreen(fullscreen); if (unmaximize_and_remaximize) Maximize(); @@ -749,7 +766,7 @@ // - works around Flash content which expects to have the size updated // synchronously. // See https://crbug.com/361408 - gfx::Rect bounds = x11_window_->bounds(); + gfx::Rect bounds = GetXWindow()->bounds(); if (fullscreen) { display::Screen* screen = display::Screen::GetScreen(); const display::Display display = screen->GetDisplayNearestWindow(window()); @@ -758,12 +775,12 @@ } else { bounds = restored_bounds_in_pixels_; } - x11_window_->set_bounds(bounds); + GetXWindow()->set_bounds(bounds); OnHostMovedInPixels(bounds.origin()); OnHostResizedInPixels(bounds.size()); - if (x11_window_->IsFullscreen() == fullscreen) { + if (GetXWindow()->IsFullscreen() == fullscreen) { Relayout(); ResetWindowRegion(); } @@ -776,16 +793,16 @@ } void DesktopWindowTreeHostX11::SetOpacity(float opacity) { - x11_window_->SetOpacity(opacity); + GetXWindow()->SetOpacity(opacity); } void DesktopWindowTreeHostX11::SetAspectRatio(const gfx::SizeF& aspect_ratio) { - x11_window_->SetAspectRatio(aspect_ratio); + GetXWindow()->SetAspectRatio(aspect_ratio); } void DesktopWindowTreeHostX11::SetWindowIcons(const gfx::ImageSkia& window_icon, const gfx::ImageSkia& app_icon) { - x11_window_->SetWindowIcons(window_icon, app_icon); + GetXWindow()->SetWindowIcons(window_icon, app_icon); } void DesktopWindowTreeHostX11::InitModalType(ui::ModalType modal_type) { @@ -801,7 +818,7 @@ } void DesktopWindowTreeHostX11::FlashFrame(bool flash_frame) { - x11_window_->FlashFrame(flash_frame); + GetXWindow()->FlashFrame(flash_frame); } bool DesktopWindowTreeHostX11::IsAnimatingClosed() const { @@ -816,7 +833,7 @@ } void DesktopWindowTreeHostX11::SizeConstraintsChanged() { - x11_window_->UpdateMinAndMaxSize(); + GetXWindow()->UpdateMinAndMaxSize(); } bool DesktopWindowTreeHostX11::ShouldUpdateWindowTransparency() const { @@ -832,63 +849,45 @@ } //////////////////////////////////////////////////////////////////////////////// -// DesktopWindowTreeHostX11, aura::WindowTreeHost implementation: - -gfx::Transform DesktopWindowTreeHostX11::GetRootTransform() const { - display::Display display = display::Screen::GetScreen()->GetPrimaryDisplay(); - if (IsVisible()) { - aura::Window* win = const_cast<aura::Window*>(window()); - display = display::Screen::GetScreen()->GetDisplayNearestWindow(win); - } - - float scale = display.device_scale_factor(); - gfx::Transform transform; - transform.Scale(scale, scale); - return transform; -} +// DesktopWindowTreeHostX11, aura::WindowTreeHost implementatio ui::EventSource* DesktopWindowTreeHostX11::GetEventSource() { return this; } -gfx::AcceleratedWidget DesktopWindowTreeHostX11::GetAcceleratedWidget() { - return x11_window_->window(); -} - void DesktopWindowTreeHostX11::ShowImpl() { Show(ui::SHOW_STATE_NORMAL, gfx::Rect()); } void DesktopWindowTreeHostX11::HideImpl() { - auto* x_window = static_cast<ui::XWindow*>(x11_window_.get()); - DCHECK(x_window); - if (x_window->Hide()) + if (GetXWindow()->Hide()) SetVisible(false); } gfx::Rect DesktopWindowTreeHostX11::GetBoundsInPixels() const { - return x11_window_->bounds(); + return GetXWindow()->bounds(); } void DesktopWindowTreeHostX11::SetBoundsInPixels( const gfx::Rect& requested_bounds_in_pixel) { - gfx::Rect bounds = x11_window_->bounds(); - gfx::Rect bounds_in_pixels(requested_bounds_in_pixel.origin(), - AdjustSize(requested_bounds_in_pixel.size())); + gfx::Rect bounds = GetXWindow()->bounds(); + gfx::Rect bounds_in_pixels( + requested_bounds_in_pixel.origin(), + AdjustSizeForDisplay(requested_bounds_in_pixel.size())); bool size_changed = bounds.size() != bounds_in_pixels.size(); if (size_changed) { // Only cancel the delayed resize task if we're already about to call // OnHostResized in this function. - x11_window_->CancelResize(); + GetXWindow()->CancelResize(); } - x11_window_->SetBounds(bounds_in_pixels); + platform_window()->SetBounds(bounds_in_pixels); } gfx::Point DesktopWindowTreeHostX11::GetLocationOnScreenInPixels() const { - return x11_window_->bounds().origin(); + return GetXWindow()->bounds().origin(); } void DesktopWindowTreeHostX11::SetCapture() { @@ -910,7 +909,7 @@ if (old_capturer) old_capturer->OnHostLostWindowCapture(); - x11_window_->GrabPointer(); + GetXWindow()->GrabPointer(); } void DesktopWindowTreeHostX11::ReleaseCapture() { @@ -919,7 +918,7 @@ // the topmost window underneath the mouse so the capture release being // asynchronous is likely inconsequential. g_current_capture = nullptr; - x11_window_->ReleasePointerGrab(); + GetXWindow()->ReleasePointerGrab(); OnHostLostWindowCapture(); } @@ -948,12 +947,12 @@ } void DesktopWindowTreeHostX11::SetCursorNative(gfx::NativeCursor cursor) { - x11_window_->SetCursor(cursor.platform()); + GetXWindow()->SetCursor(cursor.platform()); } void DesktopWindowTreeHostX11::MoveCursorToScreenLocationInPixels( const gfx::Point& location_in_pixels) { - x11_window_->MoveCursorTo(location_in_pixels); + GetXWindow()->MoveCursorTo(location_in_pixels); } void DesktopWindowTreeHostX11::OnCursorVisibilityChangedNative(bool show) { @@ -977,92 +976,21 @@ // compositor redraw will be scheduled. This is weird, but works. // TODO(thomasanderson): Figure out a more direct way of doing // this. - x11_window_->DispatchResize(); + GetXWindow()->DispatchResize(); } } //////////////////////////////////////////////////////////////////////////////// // DesktopWindowTreeHostX11, private: -void DesktopWindowTreeHostX11::InitX11Window(const Widget::InitParams& params) { - // Disable compositing on tooltips as a workaround for - // https://crbug.com/442111. - CreateCompositor(viz::FrameSinkId(), - params.force_software_compositing || - params.type == Widget::InitParams::TYPE_TOOLTIP); - - // Calculate initial bounds - gfx::Rect bounds_in_pixels = ToPixelRect(params.bounds); - gfx::Size adjusted_size = AdjustSize(bounds_in_pixels.size()); - bounds_in_pixels.set_size(adjusted_size); - - // Set the background color on startup to make the initial flickering - // happening between the XWindow is mapped and the first expose event - // is completely handled less annoying. If possible, we use the content - // window's background color, otherwise we fallback to white. - base::Optional<int> background_color; - const views::LinuxUI* linux_ui = views::LinuxUI::instance(); - if (linux_ui && content_window()) { - ui::NativeTheme::ColorId target_color; - switch (params.type) { - case Widget::InitParams::TYPE_BUBBLE: - target_color = ui::NativeTheme::kColorId_BubbleBackground; - break; - case Widget::InitParams::TYPE_TOOLTIP: - target_color = ui::NativeTheme::kColorId_TooltipBackground; - break; - default: - target_color = ui::NativeTheme::kColorId_WindowBackground; - break; - } - ui::NativeTheme* theme = linux_ui->GetNativeTheme(content_window()); - background_color = theme->GetSystemColor(target_color); - } - - // Create PlatformWindowInitProperties and initialize it - ui::PlatformWindowInitProperties properties = - ConvertWidgetInitParamsToInitProperties(params); - properties.bounds = bounds_in_pixels; - properties.background_color = background_color; - properties.prefer_dark_theme = linux_ui && linux_ui->PreferDarkTheme(); - properties.icon = ViewsDelegate::GetInstance()->GetDefaultWindowIcon(); - x11_window_->Initialize(std::move(properties)); - - if (ui::IsSyncExtensionAvailable()) { - compositor_observer_ = std::make_unique<SwapWithNewSizeObserverHelper>( - compositor(), base::BindRepeating( - &DesktopWindowTreeHostX11::OnCompleteSwapWithNewSize, - base::Unretained(this))); - } -} - void DesktopWindowTreeHostX11::DispatchHostWindowDragMovement( int hittest, const gfx::Point& pointer_location) { - x11_window_->WmMoveResize(hittest, pointer_location); -} - -gfx::Size DesktopWindowTreeHostX11::AdjustSize( - const gfx::Size& requested_size_in_pixels) { - std::vector<display::Display> displays = - display::Screen::GetScreen()->GetAllDisplays(); - // Compare against all monitor sizes. The window manager can move the window - // to whichever monitor it wants. - for (const auto& display : displays) { - if (requested_size_in_pixels == display.GetSizeInPixel()) { - return gfx::Size(requested_size_in_pixels.width() - 1, - requested_size_in_pixels.height() - 1); - } - } - - // Do not request a 0x0 window size. It causes an XError. - gfx::Size size_in_pixels = requested_size_in_pixels; - size_in_pixels.SetToMax(gfx::Size(1, 1)); - return size_in_pixels; + GetXWindow()->WmMoveResize(hittest, pointer_location); } void DesktopWindowTreeHostX11::SetUseNativeFrame(bool use_native_frame) { - x11_window_->SetUseNativeFrame(use_native_frame); + GetXWindow()->SetUseNativeFrame(use_native_frame); ResetWindowRegion(); } @@ -1134,25 +1062,25 @@ void DesktopWindowTreeHostX11::ResetWindowRegion() { _XRegion* xregion = nullptr; - if (!x11_window_->use_custom_shape() && !IsMaximized() && !IsFullscreen()) { + if (!GetXWindow()->use_custom_shape() && !IsMaximized() && !IsFullscreen()) { SkPath window_mask; Widget* widget = native_widget_delegate()->AsWidget(); if (widget->non_client_view()) { // Some frame views define a custom (non-rectangular) window mask. If // so, use it to define the window shape. If not, fall through. - widget->non_client_view()->GetWindowMask(x11_window_->bounds().size(), + widget->non_client_view()->GetWindowMask(GetXWindow()->bounds().size(), &window_mask); if (window_mask.countPoints() > 0) { xregion = gfx::CreateRegionFromSkPath(window_mask); } } } - x11_window_->UpdateWindowRegion(xregion); + GetXWindow()->UpdateWindowRegion(xregion); } -std::list<XID>& DesktopWindowTreeHostX11::open_windows() { +std::list<gfx::AcceleratedWidget>& DesktopWindowTreeHostX11::open_windows() { if (!open_windows_) - open_windows_ = new std::list<XID>(); + open_windows_ = new std::list<gfx::AcceleratedWidget>(); return *open_windows_; } @@ -1170,11 +1098,11 @@ // http://standards.freedesktop.org/wm-spec/latest/ar01s05.html bool inactive = show_state == ui::SHOW_STATE_INACTIVE; - x11_window_->Map(inactive); + GetXWindow()->Map(inactive); } void DesktopWindowTreeHostX11::SetWindowTransparency() { - bool has_alpha = x11_window_->has_alpha(); + bool has_alpha = GetXWindow()->has_alpha(); compositor()->SetBackgroundColor(has_alpha ? SK_ColorTRANSPARENT : SK_ColorWHITE); window()->SetTransparent(has_alpha); @@ -1202,20 +1130,6 @@ native_widget_delegate()->AsWidget()->non_client_view()->UpdateFrame(); } -gfx::Rect DesktopWindowTreeHostX11::ToDIPRect( - const gfx::Rect& rect_in_pixels) const { - gfx::RectF rect_in_dip = gfx::RectF(rect_in_pixels); - GetRootTransform().TransformRectReverse(&rect_in_dip); - return gfx::ToEnclosingRect(rect_in_dip); -} - -gfx::Rect DesktopWindowTreeHostX11::ToPixelRect( - const gfx::Rect& rect_in_dip) const { - gfx::RectF rect_in_pixels = gfx::RectF(rect_in_dip); - GetRootTransform().TransformRect(&rect_in_pixels); - return gfx::ToEnclosingRect(rect_in_pixels); -} - base::OnceClosure DesktopWindowTreeHostX11::DisableEventListening() { // Allows to open multiple file-pickers. See https://crbug.com/678982 modal_dialog_counter_++; @@ -1238,7 +1152,7 @@ void DesktopWindowTreeHostX11::OnCompleteSwapWithNewSize( const gfx::Size& size) { - x11_window_->NotifySwapAfterResize(); + GetXWindow()->NotifySwapAfterResize(); } base::flat_map<std::string, std::string> @@ -1249,8 +1163,8 @@ } void DesktopWindowTreeHostX11::SetVisualId(VisualID visual_id) { - DCHECK_EQ(x11_window_->window(), x11::None); - x11_window_->set_visual_id(visual_id); + DCHECK_EQ(GetXWindow()->window(), x11::None); + GetXWindow()->set_visual_id(visual_id); } void DesktopWindowTreeHostX11::OnBoundsChanged(const gfx::Rect& new_bounds) { @@ -1275,7 +1189,7 @@ void DesktopWindowTreeHostX11::OnWindowStateChanged( ui::PlatformWindowState new_state) { - bool was_minimized = x11_window_->was_minimized(); + bool was_minimized = GetXWindow()->was_minimized(); bool is_minimized = IsMinimized(); // Propagate the window minimization information to the content window, so @@ -1307,7 +1221,7 @@ // a best effort attempt to get restored bounds by setting it to our // previously set bounds (and if we get this wrong, we aren't any worse // off since we'd otherwise be returning our maximized bounds). - restored_bounds_in_pixels_ = x11_window_->previous_bounds(); + restored_bounds_in_pixels_ = GetXWindow()->previous_bounds(); } } else if (!IsMaximized() && !IsFullscreen()) { // If we have restored bounds, but WM_STATE no longer claims to be @@ -1324,8 +1238,8 @@ void DesktopWindowTreeHostX11::OnAcceleratedWidgetAvailable( gfx::AcceleratedWidget widget) { - open_windows().push_front(x11_window_->window()); - WindowTreeHost::OnAcceleratedWidgetAvailable(); + open_windows().push_front(widget); + WindowTreeHostPlatform::OnAcceleratedWidgetAvailable(widget); } void DesktopWindowTreeHostX11::OnAcceleratedWidgetDestroyed() {} @@ -1334,9 +1248,9 @@ if (active) { // TODO(thomasanderson): Remove this window shuffling and use XWindowCache // instead. - ::Window xwindow = x11_window_->window(); - open_windows().remove(xwindow); - open_windows().insert(open_windows().begin(), xwindow); + auto widget = GetAcceleratedWidget(); + open_windows().remove(widget); + open_windows().insert(open_windows().begin(), widget); } desktop_native_widget_aura()->HandleActivationChanged(active); native_widget_delegate()->AsWidget()->GetRootView()->SchedulePaint(); @@ -1344,12 +1258,12 @@ void DesktopWindowTreeHostX11::OnXWindowMapped() { for (DesktopWindowTreeHostObserverX11& observer : observer_list_) - observer.OnWindowMapped(x11_window_->window()); + observer.OnWindowMapped(GetXWindow()->window()); } void DesktopWindowTreeHostX11::OnXWindowUnmapped() { for (DesktopWindowTreeHostObserverX11& observer : observer_list_) - observer.OnWindowUnmapped(x11_window_->window()); + observer.OnWindowUnmapped(GetXWindow()->window()); } void DesktopWindowTreeHostX11::OnLostMouseGrab() { @@ -1412,6 +1326,20 @@ } } +ui::XWindow* DesktopWindowTreeHostX11::GetXWindow() { + DCHECK(platform_window()); + // ui::X11Window inherits both PlatformWindow and ui::XWindow. + return static_cast<ui::XWindow*>( + static_cast<ui::X11Window*>(platform_window())); +} + +const ui::XWindow* DesktopWindowTreeHostX11::GetXWindow() const { + DCHECK(platform_window()); + // ui::X11Window inherits both PlatformWindow and ui::XWindow. + return static_cast<const ui::XWindow*>( + static_cast<const ui::X11Window*>(platform_window())); +} + //////////////////////////////////////////////////////////////////////////////// // DesktopWindowTreeHost, public:
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h index 4a9949a..431ac85 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
@@ -19,7 +19,6 @@ #include "base/memory/weak_ptr.h" #include "base/observer_list.h" #include "ui/aura/scoped_window_targeter.h" -#include "ui/aura/window_tree_host.h" #include "ui/gfx/geometry/rect.h" #include "ui/gfx/geometry/size.h" #include "ui/gfx/x/x11_types.h" @@ -27,7 +26,7 @@ #include "ui/platform_window/platform_window_handler/wm_move_resize_handler.h" #include "ui/platform_window/x11/x11_window.h" #include "ui/views/views_export.h" -#include "ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h" +#include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h" namespace gfx { class ImageSkia; @@ -49,10 +48,9 @@ class X11DesktopWindowMoveClient; class WindowEventFilter; -class VIEWS_EXPORT DesktopWindowTreeHostX11 - : public DesktopWindowTreeHostPlatform, - public ui::WmMoveResizeHandler, - public ui::XEventDelegate { +class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux, + public ui::WmMoveResizeHandler, + public ui::XEventDelegate { public: DesktopWindowTreeHostX11( internal::NativeWidgetDelegate* native_widget_delegate, @@ -170,9 +168,7 @@ bool ShouldCreateVisibilityController() const override; // Overridden from aura::WindowTreeHost: - gfx::Transform GetRootTransform() const override; ui::EventSource* GetEventSource() override; - gfx::AcceleratedWidget GetAcceleratedWidget() override; void ShowImpl() override; void HideImpl() override; gfx::Rect GetBoundsInPixels() const override; @@ -209,11 +205,6 @@ // along with all aura client objects that direct behavior. aura::WindowEventDispatcher* InitDispatcher(const Widget::InitParams& params); - // Adjusts |requested_size| to avoid the WM "feature" where setting the - // window size to the monitor size causes the WM to set the EWMH for - // fullscreen. - gfx::Size AdjustSize(const gfx::Size& requested_size); - // Sets whether the window's borders are provided by the window manager. void SetUseNativeFrame(bool use_native_frame); @@ -246,9 +237,6 @@ void DelayedChangeFrameType(Widget::FrameType new_type); - gfx::Rect ToDIPRect(const gfx::Rect& rect_in_pixels) const; - gfx::Rect ToPixelRect(const gfx::Rect& rect_in_dip) const; - // Enables event listening after closing |dialog|. void EnableEventListening(); @@ -280,6 +268,13 @@ void OnXWindowDragDropEvent(XEvent* xev) override; void OnXWindowRawKeyEvent(XEvent* xev) override; + // Casts PlatformWindow into XWindow and returns the result. This is a temp + // solution to access XWindow, which is subclassed by the X11Window, which is + // PlatformWindow. This will be removed once we no longer to access XWindow + // directly. See https://crbug.com/990756. + ui::XWindow* GetXWindow(); + const ui::XWindow* GetXWindow() const; + // The bounds of our window before we were maximized. gfx::Rect restored_bounds_in_pixels_; @@ -309,7 +304,7 @@ // A list of all (top-level) windows that have been created but not yet // destroyed. - static std::list<XID>* open_windows_; + static std::list<gfx::AcceleratedWidget>* open_windows_; // Cached value for SetVisible. Not the same as the IsVisible public API. bool is_compositor_set_visible_ = false; @@ -323,8 +318,6 @@ std::unique_ptr<CompositorObserver> compositor_observer_; - std::unique_ptr<ui::X11Window> x11_window_; - // The display and the native X window hosting the root window. base::WeakPtrFactory<DesktopWindowTreeHostX11> close_widget_factory_{this}; base::WeakPtrFactory<DesktopWindowTreeHostX11> weak_factory_{this};
diff --git a/ui/webui/resources/cr_elements/BUILD.gn b/ui/webui/resources/cr_elements/BUILD.gn index 5f4ede61..09192e95 100644 --- a/ui/webui/resources/cr_elements/BUILD.gn +++ b/ui/webui/resources/cr_elements/BUILD.gn
@@ -4,6 +4,7 @@ import("//third_party/closure_compiler/compile_js.gni") import("//tools/polymer/polymer.gni") +import("//ui/webui/resources/tools/js_modulizer.gni") group("closure_compile") { deps = [ @@ -29,13 +30,16 @@ "policy:closure_compile", # Targets for auto-generated Polymer 3 JS Modules + ":cr_elements_module_resources", "cr_button:closure_compile_module", "cr_checkbox:closure_compile_module", + "cr_dialog:closure_compile_module", "cr_drawer:closure_compile_module", "cr_icon_button:closure_compile_module", "cr_input:closure_compile_module", "cr_radio_button:closure_compile_module", "cr_radio_group:closure_compile_module", + "cr_tabs:closure_compile_module", "cr_toast:closure_compile_module", "cr_toggle:closure_compile_module", "cr_view_manager:closure_compile_module", @@ -109,16 +113,23 @@ html_type = "iron-iconset" } +js_modulizer("modulize") { + input_files = [ "cr_container_shadow_behavior.js" ] + deps = [] +} + group("polymer3_elements") { deps = [ ":cr_icons_css_module", ":hidden_style_css_module", ":icons_module", ":md_select_css_module", + ":modulize", ":shared_style_css_module", ":shared_vars_css_module", "cr_button:cr_button_module", "cr_checkbox:cr_checkbox_module", + "cr_dialog:cr_dialog_module", "cr_drawer:cr_drawer_module", "cr_icon_button:cr_icon_button_module", "cr_input:cr_input_module", @@ -127,8 +138,25 @@ "cr_radio_button:cr_radio_button_style_css_module", "cr_radio_button:modulize", "cr_radio_group:cr_radio_group_module", + "cr_tabs:cr_tabs_module", "cr_toast:cr_toast_module", "cr_toggle:cr_toggle_module", "cr_view_manager:cr_view_manager_module", ] } + +js_type_check("cr_elements_module_resources") { + deps = [ + ":cr_container_shadow_behavior.m", + ] +} + +js_library("cr_container_shadow_behavior.m") { + sources = [ + "$root_gen_dir/ui/webui/resources/cr_elements/cr_container_shadow_behavior.m.js", + ] + deps = [ + "//ui/webui/resources/js:assert.m", + ] + extra_deps = [ ":modulize" ] +}
diff --git a/ui/webui/resources/cr_elements/cr_container_shadow_behavior.js b/ui/webui/resources/cr_elements/cr_container_shadow_behavior.js index 7bfd3a6..c37b2baa 100644 --- a/ui/webui/resources/cr_elements/cr_container_shadow_behavior.js +++ b/ui/webui/resources/cr_elements/cr_container_shadow_behavior.js
@@ -31,14 +31,18 @@ * '#cr-container-shadow-[top/bottom].has-shadow', or define their own styles. */ +// clang-format off +// #import {assert} from 'chrome://resources/js/assert.m.js' +// clang-format on + /** @enum {string} */ -const CrContainerShadowSide = { +/* #export */ const CrContainerShadowSide = { TOP: 'top', BOTTOM: 'bottom', }; /** @polymerBehavior */ -const CrContainerShadowBehavior = { +/* #export */ const CrContainerShadowBehavior = { /** @private {?IntersectionObserver} */ intersectionObserver_: null,
diff --git a/ui/webui/resources/cr_elements/cr_dialog/BUILD.gn b/ui/webui/resources/cr_elements/cr_dialog/BUILD.gn index bd196d5e..a99afac 100644 --- a/ui/webui/resources/cr_elements/cr_dialog/BUILD.gn +++ b/ui/webui/resources/cr_elements/cr_dialog/BUILD.gn
@@ -3,6 +3,7 @@ # found in the LICENSE file. import("//third_party/closure_compiler/compile_js.gni") +import("//tools/polymer/polymer.gni") js_type_check("closure_compile") { deps = [ @@ -17,3 +18,33 @@ ] externs_list = [ "$externs_path/web_animations.js" ] } + +polymer_modulizer("cr_dialog") { + js_file = "cr_dialog.js" + html_file = "cr_dialog.html" + html_type = "dom-module" + auto_imports = [ + "ui/webui/resources/cr_elements/cr_container_shadow_behavior.html|CrContainerShadowBehavior", + "ui/webui/resources/html/assert.html|assert", + ] +} + +js_type_check("closure_compile_module") { + is_polymer3 = true + deps = [ + ":cr_dialog.m", + ] +} + +js_library("cr_dialog.m") { + sources = [ + "$root_gen_dir/ui/webui/resources/cr_elements/cr_dialog/cr_dialog.m.js", + ] + deps = [ + "..:cr_container_shadow_behavior.m", + "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled", + "//ui/webui/resources/js:assert.m", + ] + extra_deps = [ ":cr_dialog_module" ] + externs_list = [ "$externs_path/web_animations.js" ] +}
diff --git a/ui/webui/resources/cr_elements/cr_dialog/cr_dialog.js b/ui/webui/resources/cr_elements/cr_dialog/cr_dialog.js index 71b2649..ddc9f58 100644 --- a/ui/webui/resources/cr_elements/cr_dialog/cr_dialog.js +++ b/ui/webui/resources/cr_elements/cr_dialog/cr_dialog.js
@@ -253,7 +253,7 @@ * @return {!HTMLDialogElement} */ getNative: function() { - return this.$.dialog; + return /** @type {!HTMLDialogElement} */ (this.$.dialog); }, /** @@ -318,7 +318,7 @@ {transform: 'scale(1.02)', offset: 0.6}, {transform: 'scale(1)', offset: 1}, ], - /** @type {!KeyframeEffectOptions} */ ({ + /** @type {!KeyframeAnimationOptions} */ ({ duration: 180, easing: 'ease-in-out', iterations: 1,
diff --git a/ui/webui/resources/cr_elements/cr_tabs/BUILD.gn b/ui/webui/resources/cr_elements/cr_tabs/BUILD.gn index d94b8cae..2174f73 100644 --- a/ui/webui/resources/cr_elements/cr_tabs/BUILD.gn +++ b/ui/webui/resources/cr_elements/cr_tabs/BUILD.gn
@@ -3,6 +3,7 @@ # found in the LICENSE file. import("//third_party/closure_compiler/compile_js.gni") +import("//tools/polymer/polymer.gni") js_type_check("closure_compile") { deps = [ @@ -12,3 +13,26 @@ js_library("cr_tabs") { } + +polymer_modulizer("cr_tabs") { + js_file = "cr_tabs.js" + html_file = "cr_tabs.html" + html_type = "dom-module" +} + +js_type_check("closure_compile_module") { + is_polymer3 = true + deps = [ + ":cr_tabs.m", + ] +} + +js_library("cr_tabs.m") { + sources = [ + "$root_gen_dir/ui/webui/resources/cr_elements/cr_tabs/cr_tabs.m.js", + ] + deps = [ + "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled", + ] + extra_deps = [ ":cr_tabs_module" ] +}
diff --git a/ui/webui/resources/cr_elements_resources_v3.grdp b/ui/webui/resources/cr_elements_resources_v3.grdp index ab75a23..f889770 100644 --- a/ui/webui/resources/cr_elements_resources_v3.grdp +++ b/ui/webui/resources/cr_elements_resources_v3.grdp
@@ -11,6 +11,16 @@ use_base_dir="false" type="BINDATA" compress="gzip" /> + <include name="IDR_CR_ELEMENTS_CR_CONTAINER_SHADOW_BEHAVIOR_M_JS" + file="${root_gen_dir}/ui/webui/resources/cr_elements/cr_container_shadow_behavior.m.js" + use_base_dir="false" + type="BINDATA" + compress="gzip" /> + <include name="IDR_CR_ELEMENTS_CR_DIALOG_M_JS" + file="${root_gen_dir}/ui/webui/resources/cr_elements/cr_dialog/cr_dialog.m.js" + use_base_dir="false" + type="BINDATA" + compress="gzip" /> <include name="IDR_CR_ELEMENTS_CR_DRAWER_M_JS" file="${root_gen_dir}/ui/webui/resources/cr_elements/cr_drawer/cr_drawer.m.js" use_base_dir="false" @@ -66,6 +76,11 @@ use_base_dir="false" type="BINDATA" compress="gzip" /> + <include name="IDR_CR_ELEMENTS_CR_TABS_M_JS" + file="${root_gen_dir}/ui/webui/resources/cr_elements/cr_tabs/cr_tabs.m.js" + use_base_dir="false" + type="BINDATA" + compress="gzip" /> <include name="IDR_CR_ELEMENTS_CR_TOAST_M_JS" file="${root_gen_dir}/ui/webui/resources/cr_elements/cr_toast/cr_toast.m.js" use_base_dir="false"