Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(208)

Unified Diff: chrome/browser/extensions/settings_api_bubble_controller.cc

Issue 219593002: Add unit test for the Settings API Bubble. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Synced Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/settings_api_bubble_controller.cc
diff --git a/chrome/browser/extensions/settings_api_bubble_controller.cc b/chrome/browser/extensions/settings_api_bubble_controller.cc
index a5819bc0f8126027be909031b3f384ded6ea3012..f10ccc92ad9e136584e919fd7dd6a65397746b68 100644
--- a/chrome/browser/extensions/settings_api_bubble_controller.cc
+++ b/chrome/browser/extensions/settings_api_bubble_controller.cc
@@ -6,6 +6,7 @@
#include "base/metrics/histogram.h"
#include "chrome/browser/extensions/extension_service.h"
+#include "chrome/browser/extensions/settings_api_helpers.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/startup/startup_browser_creator.h"
#include "chrome/common/extensions/manifest_handlers/settings_overrides_handler.h"
@@ -93,35 +94,34 @@ bool SettingsApiBubbleDelegate::ShouldIncludeExtension(
if (prefs->HasSettingsApiBubbleBeenAcknowledged(extension_id))
return false;
- const SettingsOverrides* settings = SettingsOverrides::Get(extension);
- if (!settings)
- return false;
-
- bool should_include = false;
+ const extensions::Extension* override = NULL;
switch (type_) {
case extensions::BUBBLE_TYPE_HOME_PAGE:
- should_include = settings->homepage != NULL;
+ override = extensions::OverridesHomepage(profile_, NULL);
break;
case extensions::BUBBLE_TYPE_STARTUP_PAGES:
- should_include = !settings->startup_pages.empty();
+ override = extensions::OverridesStartupPages(profile_, NULL);
break;
case extensions::BUBBLE_TYPE_SEARCH_ENGINE:
- should_include = settings->search_engine != NULL;
+ override = extensions::OverridesSearchEngine(profile_, NULL);
break;
}
- if (should_include && extension_id_ != extension_id) {
- DCHECK(extension_id_.empty());
- extension_id_ = extension_id;
- }
- return should_include;
+ if (!override || override->id() != extension->id())
+ return false;
+
+ extension_id_ = extension_id;
+ return true;
}
void SettingsApiBubbleDelegate::AcknowledgeExtension(
const std::string& extension_id,
ExtensionMessageBubbleController::BubbleAction user_action) {
- extensions::ExtensionPrefs* prefs = extensions::ExtensionPrefs::Get(profile_);
- prefs->SetSettingsApiBubbleBeenAcknowledged(extension_id, true);
+ if (user_action != ExtensionMessageBubbleController::ACTION_EXECUTE) {
+ extensions::ExtensionPrefs* prefs =
+ extensions::ExtensionPrefs::Get(profile_);
+ prefs->SetSettingsApiBubbleBeenAcknowledged(extension_id, true);
+ }
}
void SettingsApiBubbleDelegate::PerformAction(

Powered by Google App Engine
This is Rietveld 408576698