Chromium Code Reviews| 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 839098cbd4b0814000c3a36dc0a7a9ef4bb98871..2bd054ae2651e30e19dfc634767472aca6b93fb0 100644 |
| --- a/chrome/browser/extensions/settings_api_helpers.cc |
| +++ b/chrome/browser/extensions/settings_api_helpers.cc |
| @@ -6,23 +6,24 @@ |
| #include "chrome/browser/extensions/api/preference/preference_api.h" |
| #include "chrome/common/pref_names.h" |
| +#include "extensions/browser/extension_pref_value_map.h" |
| +#include "extensions/browser/extension_pref_value_map_factory.h" |
| #include "extensions/browser/extension_registry.h" |
| #include "extensions/common/extension_set.h" |
| namespace extensions { |
| -const extensions::SettingsOverrides* FindOverridingExtension( |
| +const SettingsOverrides* FindOverridingExtension( |
| content::BrowserContext* browser_context, |
| SettingsApiOverrideType type, |
| const Extension** extension) { |
| - const extensions::ExtensionSet& extensions = |
| - extensions::ExtensionRegistry::Get(browser_context)->enabled_extensions(); |
| + const ExtensionSet& extensions = |
| + ExtensionRegistry::Get(browser_context)->enabled_extensions(); |
| - for (extensions::ExtensionSet::const_iterator it = extensions.begin(); |
| + for (ExtensionSet::const_iterator it = extensions.begin(); |
| it != extensions.end(); |
| ++it) { |
| - const extensions::SettingsOverrides* settings = |
| - extensions::SettingsOverrides::Get(*it); |
| + const SettingsOverrides* settings = SettingsOverrides::Get(*it); |
| if (settings) { |
| if (type == BUBBLE_TYPE_HOME_PAGE && !settings->homepage) |
| continue; |
| @@ -59,10 +60,10 @@ const extensions::SettingsOverrides* FindOverridingExtension( |
| return NULL; |
| } |
| -const Extension* OverridesHomepage(content::BrowserContext* browser_context, |
| - GURL* home_page_url) { |
| - const extensions::Extension* extension = NULL; |
| - const extensions::SettingsOverrides* settings = |
| +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); |
| @@ -71,10 +72,11 @@ const Extension* OverridesHomepage(content::BrowserContext* browser_context, |
| return extension; |
| } |
| -const Extension* OverridesStartupPages(content::BrowserContext* browser_context, |
| - std::vector<GURL>* startup_pages) { |
| - const extensions::Extension* extension = NULL; |
| - const extensions::SettingsOverrides* settings = |
| +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) { |
| @@ -87,12 +89,12 @@ const Extension* OverridesStartupPages(content::BrowserContext* browser_context, |
| return extension; |
| } |
| -const Extension* OverridesSearchEngine( |
| +const Extension* GetExtensionOverridingSearchEngine( |
| content::BrowserContext* browser_context, |
| api::manifest_types::ChromeSettingsOverrides::Search_provider* |
| search_provider) { |
| - const extensions::Extension* extension = NULL; |
| - const extensions::SettingsOverrides* settings = |
| + const Extension* extension = NULL; |
| + const SettingsOverrides* settings = |
| FindOverridingExtension( |
| browser_context, BUBBLE_TYPE_SEARCH_ENGINE, &extension); |
| if (settings && search_provider) |
| @@ -100,4 +102,14 @@ const Extension* OverridesSearchEngine( |
| return extension; |
| } |
| +const Extension* GetExtensionOverridingProxy( |
| + content::BrowserContext* browser_context) { |
| + ExtensionPrefValueMap* extension_prefs_value_map = |
| + ExtensionPrefValueMapFactory::GetForBrowserContext(browser_context); |
| + std::string extension_id = |
| + extension_prefs_value_map->GetExtensionControllingPref(prefs::kProxy); |
| + return ExtensionRegistry::Get(browser_context)->GetExtensionById( |
|
Devlin
2014/05/21 17:00:39
nit: Maybe
if (!extension_id.empty())
return Ext
|
| + extension_id, ExtensionRegistry::ENABLED); |
| +} |
| + |
| } // namespace extensions |