| Index: chrome/browser/ui/extensions/extension_message_bubble_factory.cc
|
| diff --git a/chrome/browser/ui/extensions/extension_message_bubble_factory.cc b/chrome/browser/ui/extensions/extension_message_bubble_factory.cc
|
| index 92bf0287e88bc0af06829a2afee3143fd233f9ab..a483caf1bb71283c054109a012643483a5e62656 100644
|
| --- a/chrome/browser/ui/extensions/extension_message_bubble_factory.cc
|
| +++ b/chrome/browser/ui/extensions/extension_message_bubble_factory.cc
|
| @@ -29,8 +29,10 @@ namespace {
|
| base::LazyInstance<std::set<Profile*> > g_profiles_evaluated =
|
| LAZY_INSTANCE_INITIALIZER;
|
|
|
| -// This is used to turn on all bubbles for testing.
|
| -bool g_enabled_for_tests = false;
|
| +// This is used to turn on override whether bubbles are enabled or disabled for
|
| +// testing.
|
| +ExtensionMessageBubbleFactory::OverrideForTesting g_override_for_testing =
|
| + ExtensionMessageBubbleFactory::NO_OVERRIDE;
|
|
|
| const char kEnableDevModeWarningExperimentName[] =
|
| "ExtensionDeveloperModeWarning";
|
| @@ -52,14 +54,17 @@ bool IsExperimentEnabled(const char* experiment_name) {
|
| }
|
|
|
| bool EnableSuspiciousExtensionsBubble() {
|
| - return g_enabled_for_tests || extensions::InstallVerifier::ShouldEnforce();
|
| + return g_override_for_testing ==
|
| + ExtensionMessageBubbleFactory::OVERRIDE_ENABLED ||
|
| + extensions::InstallVerifier::ShouldEnforce();
|
| }
|
|
|
| bool EnableSettingsApiBubble() {
|
| #if defined(OS_WIN)
|
| return true;
|
| #else
|
| - return g_enabled_for_tests;
|
| + return g_override_for_testing ==
|
| + ExtensionMessageBubbleFactory::OVERRIDE_ENABLED;
|
| #endif
|
| }
|
|
|
| @@ -67,7 +72,8 @@ bool EnableProxyOverrideBubble() {
|
| #if defined(OS_WIN)
|
| return true;
|
| #else
|
| - return g_enabled_for_tests ||
|
| + return g_override_for_testing ==
|
| + ExtensionMessageBubbleFactory::OVERRIDE_ENABLED ||
|
| IsExperimentEnabled(kEnableProxyWarningExperimentName);
|
| #endif
|
| }
|
| @@ -81,7 +87,8 @@ bool EnableDevModeBubble() {
|
| return true;
|
| #endif
|
|
|
| - return g_enabled_for_tests ||
|
| + return g_override_for_testing ==
|
| + ExtensionMessageBubbleFactory::OVERRIDE_ENABLED ||
|
| IsExperimentEnabled(kEnableDevModeWarningExperimentName);
|
| }
|
|
|
| @@ -101,6 +108,9 @@ ExtensionMessageBubbleFactory::GetController() {
|
| bool is_initial_check = profiles_evaluated.count(original_profile) == 0;
|
| profiles_evaluated.insert(original_profile);
|
|
|
| + if (g_override_for_testing == OVERRIDE_DISABLED)
|
| + return scoped_ptr<extensions::ExtensionMessageBubbleController>();
|
| +
|
| // The list of suspicious extensions takes priority over the dev mode bubble
|
| // and the settings API bubble, since that needs to be shown as soon as we
|
| // disable something. The settings API bubble is shown on first startup after
|
| @@ -151,6 +161,7 @@ ExtensionMessageBubbleFactory::GetController() {
|
| }
|
|
|
| // static
|
| -void ExtensionMessageBubbleFactory::set_enabled_for_tests(bool enabled) {
|
| - g_enabled_for_tests = enabled;
|
| +void ExtensionMessageBubbleFactory::set_override_for_tests(
|
| + OverrideForTesting override) {
|
| + g_override_for_testing = override;
|
| }
|
|
|