Index: chrome/browser/extensions/settings_api_helpers.cc |
diff --git a/chrome/browser/extensions/settings_api_helpers.cc b/chrome/browser/extensions/settings_api_helpers.cc |
index 2c087cddd11872d0da16031cf12814257483a35f..8fb38f5a93a19215cef0f179937242e62c5fb6ef 100644 |
--- a/chrome/browser/extensions/settings_api_helpers.cc |
+++ b/chrome/browser/extensions/settings_api_helpers.cc |
@@ -13,10 +13,13 @@ |
namespace extensions { |
-const SettingsOverrides* FindOverridingExtension( |
+namespace { |
+ |
+// Returns which |extension| (if any) is overriding a particular |type| of |
+// setting. |
+const Extension* FindOverridingExtension( |
content::BrowserContext* browser_context, |
- SettingsApiOverrideType type, |
- const Extension** extension) { |
+ SettingsApiOverrideType type) { |
const ExtensionSet& extensions = |
ExtensionRegistry::Get(browser_context)->enabled_extensions(); |
@@ -51,55 +54,29 @@ const SettingsOverrides* FindOverridingExtension( |
!preference_api->DoesExtensionControlPref((*it)->id(), key, NULL)) |
continue; // Not primary. |
- // Found the primary extension, return its setting. |
- *extension = *it; |
- return settings; |
+ // Found the primary extension. |
+ return *it; |
} |
} |
return NULL; |
} |
+} // namespace |
+ |
const Extension* GetExtensionOverridingHomepage( |
- content::BrowserContext* browser_context, GURL* home_page_url) { |
- const Extension* extension = NULL; |
- const SettingsOverrides* settings = |
- FindOverridingExtension( |
- browser_context, BUBBLE_TYPE_HOME_PAGE, &extension); |
- |
- if (settings && home_page_url) |
- *home_page_url = *settings->homepage; |
- return extension; |
+ content::BrowserContext* browser_context) { |
+ return FindOverridingExtension(browser_context, BUBBLE_TYPE_HOME_PAGE); |
} |
const Extension* GetExtensionOverridingStartupPages( |
- content::BrowserContext* browser_context, |
- std::vector<GURL>* startup_pages) { |
- const Extension* extension = NULL; |
- const SettingsOverrides* settings = |
- FindOverridingExtension( |
- browser_context, BUBBLE_TYPE_STARTUP_PAGES, &extension); |
- if (settings && startup_pages) { |
- startup_pages->clear(); |
- for (std::vector<GURL>::const_iterator it = settings->startup_pages.begin(); |
- it != settings->startup_pages.end(); |
- ++it) |
- startup_pages->push_back(GURL(*it)); |
- } |
- return extension; |
+ content::BrowserContext* browser_context) { |
+ return FindOverridingExtension(browser_context, BUBBLE_TYPE_STARTUP_PAGES); |
} |
const Extension* GetExtensionOverridingSearchEngine( |
- content::BrowserContext* browser_context, |
- api::manifest_types::ChromeSettingsOverrides::Search_provider* |
- search_provider) { |
- const Extension* extension = NULL; |
- const SettingsOverrides* settings = |
- FindOverridingExtension( |
- browser_context, BUBBLE_TYPE_SEARCH_ENGINE, &extension); |
- if (settings && search_provider) |
- search_provider = settings->search_engine.get(); |
- return extension; |
+ content::BrowserContext* browser_context) { |
+ return FindOverridingExtension(browser_context, BUBBLE_TYPE_SEARCH_ENGINE); |
} |
const Extension* GetExtensionOverridingProxy( |