Commit 70f09b81 authored by Devlin Cronin's avatar Devlin Cronin Committed by Commit Bot

[Extensions UI] Introduce LegacyExtensionMessageBubbleViewBrowserTest

Introduce a LegacyExtensionMessageBubbleViewBrowserTest class that
disables the Extensions Menu UI. This allows us to migrate these tests
to the new UI in a piecemeal fashion.

This CL only introduces the class and makes all existing tests use it;
follow-ups will migrate specific tests to run with the new UI.

Bug: 1100412
Change-Id: I180ac73740a3576b467521d4b40d9ab4ec0cb9d3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2392748
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: default avatarPeter Boström <pbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#804504}
parent bf0eebe9
...@@ -47,8 +47,6 @@ void ExtensionMessageBubbleBrowserTest::SetUpCommandLine( ...@@ -47,8 +47,6 @@ void ExtensionMessageBubbleBrowserTest::SetUpCommandLine(
true)); true));
ExtensionMessageBubbleFactory::set_override_for_tests( ExtensionMessageBubbleFactory::set_override_for_tests(
ExtensionMessageBubbleFactory::OVERRIDE_ENABLED); ExtensionMessageBubbleFactory::OVERRIDE_ENABLED);
ToolbarActionsBar::set_extension_bubble_appearance_wait_time_for_testing(0);
ToolbarActionsBar::disable_animations_for_testing_ = true;
} }
void ExtensionMessageBubbleBrowserTest::SetUpOnMainThread() { void ExtensionMessageBubbleBrowserTest::SetUpOnMainThread() {
...@@ -60,7 +58,6 @@ void ExtensionMessageBubbleBrowserTest::SetUpOnMainThread() { ...@@ -60,7 +58,6 @@ void ExtensionMessageBubbleBrowserTest::SetUpOnMainThread() {
void ExtensionMessageBubbleBrowserTest::TearDownOnMainThread() { void ExtensionMessageBubbleBrowserTest::TearDownOnMainThread() {
ExtensionMessageBubbleFactory::set_override_for_tests( ExtensionMessageBubbleFactory::set_override_for_tests(
ExtensionMessageBubbleFactory::NO_OVERRIDE); ExtensionMessageBubbleFactory::NO_OVERRIDE);
ToolbarActionsBar::disable_animations_for_testing_ = false;
ExtensionBrowserTest::TearDownOnMainThread(); ExtensionBrowserTest::TearDownOnMainThread();
} }
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include "chrome/browser/ui/extensions/extension_message_bubble_browsertest.h" #include "chrome/browser/ui/extensions/extension_message_bubble_browsertest.h"
#include "chrome/browser/ui/extensions/settings_api_bubble_helpers.h" #include "chrome/browser/ui/extensions/settings_api_bubble_helpers.h"
#include "chrome/browser/ui/test/test_browser_dialog.h" #include "chrome/browser/ui/test/test_browser_dialog.h"
#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h"
#include "chrome/browser/ui/ui_features.h" #include "chrome/browser/ui/ui_features.h"
#include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/toolbar/browser_actions_container.h" #include "chrome/browser/ui/views/toolbar/browser_actions_container.h"
...@@ -146,9 +147,7 @@ void ExtensionMessageBubbleViewBrowserTest::SetUpCommandLine( ...@@ -146,9 +147,7 @@ void ExtensionMessageBubbleViewBrowserTest::SetUpCommandLine(
std::vector<base::Feature> std::vector<base::Feature>
ExtensionMessageBubbleViewBrowserTest::GetFeaturesToDisable() { ExtensionMessageBubbleViewBrowserTest::GetFeaturesToDisable() {
// This suite currently relies on behavior specific to ToolbarActionsBar. return {};
// TODO(devlin): Change that. https://crbug.com/1100412.
return {features::kExtensionsToolbarMenu};
} }
void ExtensionMessageBubbleViewBrowserTest::CheckBubbleNative( void ExtensionMessageBubbleViewBrowserTest::CheckBubbleNative(
...@@ -208,37 +207,64 @@ void ExtensionMessageBubbleViewBrowserTest::ClickDismissButton( ...@@ -208,37 +207,64 @@ void ExtensionMessageBubbleViewBrowserTest::ClickDismissButton(
bubble->CancelDialog(); bubble->CancelDialog();
} }
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, // A test suite that runs with the old toolbar UI, instead of with the
// new Extensions Menu.
// TODO(devlin): Isolate out the tests that fundamentally rely on the old UI
// from the ones that can run with the extensions menu.
// https://crbug.com/1100412.
class LegacyExtensionMessageBubbleViewBrowserTest
: public ExtensionMessageBubbleViewBrowserTest {
public:
LegacyExtensionMessageBubbleViewBrowserTest() = default;
~LegacyExtensionMessageBubbleViewBrowserTest() override = default;
std::vector<base::Feature> GetFeaturesToDisable() override {
return {features::kExtensionsToolbarMenu};
}
void SetUpCommandLine(base::CommandLine* command_line) override {
ExtensionMessageBubbleViewBrowserTest::SetUpCommandLine(command_line);
ToolbarActionsBar::set_extension_bubble_appearance_wait_time_for_testing(0);
ToolbarActionsBar::disable_animations_for_testing_ = true;
}
void TearDownOnMainThread() override {
ToolbarActionsBar::disable_animations_for_testing_ = false;
ExtensionMessageBubbleViewBrowserTest::TearDownOnMainThread();
}
};
IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
ExtensionBubbleAnchoredToExtensionAction) { ExtensionBubbleAnchoredToExtensionAction) {
TestBubbleAnchoredToExtensionAction(); TestBubbleAnchoredToExtensionAction();
} }
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
ExtensionBubbleAnchoredToAppMenu) { ExtensionBubbleAnchoredToAppMenu) {
TestBubbleAnchoredToAppMenu(); TestBubbleAnchoredToAppMenu();
} }
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
ExtensionBubbleAnchoredToAppMenuWithOtherAction) { ExtensionBubbleAnchoredToAppMenuWithOtherAction) {
TestBubbleAnchoredToAppMenuWithOtherAction(); TestBubbleAnchoredToAppMenuWithOtherAction();
} }
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
PRE_ExtensionBubbleShowsOnStartup) { PRE_ExtensionBubbleShowsOnStartup) {
PreBubbleShowsOnStartup(); PreBubbleShowsOnStartup();
} }
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
ExtensionBubbleShowsOnStartup) { ExtensionBubbleShowsOnStartup) {
TestBubbleShowsOnStartup(); TestBubbleShowsOnStartup();
} }
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
TestUninstallDangerousExtension) { TestUninstallDangerousExtension) {
TestUninstallDangerousExtension(); TestUninstallDangerousExtension();
} }
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
TestDevModeBubbleIsntShownTwice) { TestDevModeBubbleIsntShownTwice) {
TestDevModeBubbleIsntShownTwice(); TestDevModeBubbleIsntShownTwice();
} }
...@@ -247,20 +273,20 @@ IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, ...@@ -247,20 +273,20 @@ IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest,
// currently only shown on Windows. // currently only shown on Windows.
// TODO(devlin): No they're not. We should enable all of these on Mac. // TODO(devlin): No they're not. We should enable all of these on Mac.
#if defined(OS_WIN) #if defined(OS_WIN)
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
TestControlledHomeMessageBubble) { TestControlledHomeMessageBubble) {
TestControlledHomeBubbleShown(); TestControlledHomeBubbleShown();
} }
class ControlledSearchMessageBubbleViewBrowserTest class ControlledSearchMessageBubbleViewBrowserTest
: public ExtensionMessageBubbleViewBrowserTest { : public LegacyExtensionMessageBubbleViewBrowserTest {
public: public:
ControlledSearchMessageBubbleViewBrowserTest() = default; ControlledSearchMessageBubbleViewBrowserTest() = default;
~ControlledSearchMessageBubbleViewBrowserTest() override = default; ~ControlledSearchMessageBubbleViewBrowserTest() override = default;
std::vector<base::Feature> GetFeaturesToDisable() override { std::vector<base::Feature> GetFeaturesToDisable() override {
std::vector<base::Feature> features_to_disable = std::vector<base::Feature> features_to_disable =
ExtensionMessageBubbleViewBrowserTest::GetFeaturesToDisable(); LegacyExtensionMessageBubbleViewBrowserTest::GetFeaturesToDisable();
// The kExtensionSettingsOverriddenDialogs introduces a new UI for the // The kExtensionSettingsOverriddenDialogs introduces a new UI for the
// controlled search confirmation. Disable it to test the old UI. // controlled search confirmation. Disable it to test the old UI.
features_to_disable.push_back( features_to_disable.push_back(
...@@ -274,68 +300,68 @@ IN_PROC_BROWSER_TEST_F(ControlledSearchMessageBubbleViewBrowserTest, ...@@ -274,68 +300,68 @@ IN_PROC_BROWSER_TEST_F(ControlledSearchMessageBubbleViewBrowserTest,
TestControlledSearchBubbleShown(); TestControlledSearchBubbleShown();
} }
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
PRE_TestControlledStartupMessageBubble) { PRE_TestControlledStartupMessageBubble) {
PreTestControlledStartupBubbleShown(); PreTestControlledStartupBubbleShown();
} }
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
TestControlledStartupMessageBubble) { TestControlledStartupMessageBubble) {
TestControlledStartupBubbleShown(); TestControlledStartupBubbleShown();
} }
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
PRE_TestControlledStartupNotShownOnRestart) { PRE_TestControlledStartupNotShownOnRestart) {
PreTestControlledStartupNotShownOnRestart(); PreTestControlledStartupNotShownOnRestart();
} }
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
TestControlledStartupNotShownOnRestart) { TestControlledStartupNotShownOnRestart) {
TestControlledStartupNotShownOnRestart(); TestControlledStartupNotShownOnRestart();
} }
#endif // defined(OS_WIN) #endif // defined(OS_WIN)
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
TestBubbleWithMultipleWindows) { TestBubbleWithMultipleWindows) {
TestBubbleWithMultipleWindows(); TestBubbleWithMultipleWindows();
} }
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
TestClickingLearnMoreButton) { TestClickingLearnMoreButton) {
TestClickingLearnMoreButton(); TestClickingLearnMoreButton();
} }
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
TestClickingActionButton) { TestClickingActionButton) {
TestClickingActionButton(); TestClickingActionButton();
} }
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
TestClickingDismissButton) { TestClickingDismissButton) {
TestClickingDismissButton(); TestClickingDismissButton();
} }
// BrowserUiTest for the warning bubble that appears at startup when there are // BrowserUiTest for the warning bubble that appears at startup when there are
// extensions installed in developer mode. // extensions installed in developer mode.
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, IN_PROC_BROWSER_TEST_F(LegacyExtensionMessageBubbleViewBrowserTest,
InvokeUi_devmode_warning) { InvokeUi_devmode_warning) {
ShowAndVerifyUi(); ShowAndVerifyUi();
} }
class NtpExtensionBubbleViewBrowserTest class NtpExtensionBubbleViewBrowserTest
: public ExtensionMessageBubbleViewBrowserTest { : public LegacyExtensionMessageBubbleViewBrowserTest {
public: public:
std::vector<base::Feature> GetFeaturesToDisable() override { std::vector<base::Feature> GetFeaturesToDisable() override {
std::vector<base::Feature> features_to_disable = std::vector<base::Feature> features_to_disable =
ExtensionMessageBubbleViewBrowserTest::GetFeaturesToDisable(); LegacyExtensionMessageBubbleViewBrowserTest::GetFeaturesToDisable();
features_to_disable.push_back( features_to_disable.push_back(
features::kExtensionSettingsOverriddenDialogs); features::kExtensionSettingsOverriddenDialogs);
return features_to_disable; return features_to_disable;
} }
void SetUpCommandLine(base::CommandLine* command_line) override { void SetUpCommandLine(base::CommandLine* command_line) override {
ExtensionMessageBubbleViewBrowserTest::SetUpCommandLine(command_line); LegacyExtensionMessageBubbleViewBrowserTest::SetUpCommandLine(command_line);
// The NTP bubble is only enabled by default on Mac, Windows, and CrOS. // The NTP bubble is only enabled by default on Mac, Windows, and CrOS.
#if !defined(OS_WIN) && !defined(OS_MAC) && !defined(OS_CHROMEOS) #if !defined(OS_WIN) && !defined(OS_MAC) && !defined(OS_CHROMEOS)
extensions::SetNtpPostInstallUiEnabledForTesting(true); extensions::SetNtpPostInstallUiEnabledForTesting(true);
...@@ -346,7 +372,7 @@ class NtpExtensionBubbleViewBrowserTest ...@@ -346,7 +372,7 @@ class NtpExtensionBubbleViewBrowserTest
#if !defined(OS_WIN) && !defined(OS_MAC) && !defined(OS_CHROMEOS) #if !defined(OS_WIN) && !defined(OS_MAC) && !defined(OS_CHROMEOS)
extensions::SetNtpPostInstallUiEnabledForTesting(false); extensions::SetNtpPostInstallUiEnabledForTesting(false);
#endif #endif
ExtensionMessageBubbleViewBrowserTest::TearDownOnMainThread(); LegacyExtensionMessageBubbleViewBrowserTest::TearDownOnMainThread();
} }
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment