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

Side by Side Diff: chrome/browser/extensions/settings_api_helpers.cc

Issue 312943002: Remove unused param from search engine extension override helper function. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sync Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/settings_api_helpers.h" 5 #include "chrome/browser/extensions/settings_api_helpers.h"
6 6
7 #include "chrome/browser/extensions/api/preference/preference_api.h" 7 #include "chrome/browser/extensions/api/preference/preference_api.h"
8 #include "chrome/common/pref_names.h" 8 #include "chrome/common/pref_names.h"
9 #include "extensions/browser/extension_pref_value_map.h" 9 #include "extensions/browser/extension_pref_value_map.h"
10 #include "extensions/browser/extension_pref_value_map_factory.h" 10 #include "extensions/browser/extension_pref_value_map_factory.h"
11 #include "extensions/browser/extension_registry.h" 11 #include "extensions/browser/extension_registry.h"
12 #include "extensions/common/extension_set.h" 12 #include "extensions/common/extension_set.h"
13 13
14 namespace extensions { 14 namespace extensions {
15 15
16 const SettingsOverrides* FindOverridingExtension( 16 namespace {
17
18 // Returns which |extension| (if any) is overriding a particular |type| of
19 // setting.
20 const Extension* FindOverridingExtension(
17 content::BrowserContext* browser_context, 21 content::BrowserContext* browser_context,
18 SettingsApiOverrideType type, 22 SettingsApiOverrideType type) {
19 const Extension** extension) {
20 const ExtensionSet& extensions = 23 const ExtensionSet& extensions =
21 ExtensionRegistry::Get(browser_context)->enabled_extensions(); 24 ExtensionRegistry::Get(browser_context)->enabled_extensions();
22 25
23 for (ExtensionSet::const_iterator it = extensions.begin(); 26 for (ExtensionSet::const_iterator it = extensions.begin();
24 it != extensions.end(); 27 it != extensions.end();
25 ++it) { 28 ++it) {
26 const SettingsOverrides* settings = SettingsOverrides::Get(*it); 29 const SettingsOverrides* settings = SettingsOverrides::Get(*it);
27 if (settings) { 30 if (settings) {
28 if (type == BUBBLE_TYPE_HOME_PAGE && !settings->homepage) 31 if (type == BUBBLE_TYPE_HOME_PAGE && !settings->homepage)
29 continue; 32 continue;
(...skipping 14 matching lines...) Expand all
44 key = prefs::kDefaultSearchProviderEnabled; 47 key = prefs::kDefaultSearchProviderEnabled;
45 break; 48 break;
46 } 49 }
47 50
48 // Found an extension overriding the current type, check if primary. 51 // Found an extension overriding the current type, check if primary.
49 PreferenceAPI* preference_api = PreferenceAPI::Get(browser_context); 52 PreferenceAPI* preference_api = PreferenceAPI::Get(browser_context);
50 if (preference_api && // Expected to be NULL in unit tests. 53 if (preference_api && // Expected to be NULL in unit tests.
51 !preference_api->DoesExtensionControlPref((*it)->id(), key, NULL)) 54 !preference_api->DoesExtensionControlPref((*it)->id(), key, NULL))
52 continue; // Not primary. 55 continue; // Not primary.
53 56
54 // Found the primary extension, return its setting. 57 // Found the primary extension.
55 *extension = *it; 58 return *it;
56 return settings;
57 } 59 }
58 } 60 }
59 61
60 return NULL; 62 return NULL;
61 } 63 }
62 64
65 } // namespace
66
63 const Extension* GetExtensionOverridingHomepage( 67 const Extension* GetExtensionOverridingHomepage(
64 content::BrowserContext* browser_context, GURL* home_page_url) { 68 content::BrowserContext* browser_context) {
65 const Extension* extension = NULL; 69 return FindOverridingExtension(browser_context, BUBBLE_TYPE_HOME_PAGE);
66 const SettingsOverrides* settings =
67 FindOverridingExtension(
68 browser_context, BUBBLE_TYPE_HOME_PAGE, &extension);
69
70 if (settings && home_page_url)
71 *home_page_url = *settings->homepage;
72 return extension;
73 } 70 }
74 71
75 const Extension* GetExtensionOverridingStartupPages( 72 const Extension* GetExtensionOverridingStartupPages(
76 content::BrowserContext* browser_context, 73 content::BrowserContext* browser_context) {
77 std::vector<GURL>* startup_pages) { 74 return FindOverridingExtension(browser_context, BUBBLE_TYPE_STARTUP_PAGES);
78 const Extension* extension = NULL;
79 const SettingsOverrides* settings =
80 FindOverridingExtension(
81 browser_context, BUBBLE_TYPE_STARTUP_PAGES, &extension);
82 if (settings && startup_pages) {
83 startup_pages->clear();
84 for (std::vector<GURL>::const_iterator it = settings->startup_pages.begin();
85 it != settings->startup_pages.end();
86 ++it)
87 startup_pages->push_back(GURL(*it));
88 }
89 return extension;
90 } 75 }
91 76
92 const Extension* GetExtensionOverridingSearchEngine( 77 const Extension* GetExtensionOverridingSearchEngine(
93 content::BrowserContext* browser_context, 78 content::BrowserContext* browser_context) {
94 api::manifest_types::ChromeSettingsOverrides::Search_provider* 79 return FindOverridingExtension(browser_context, BUBBLE_TYPE_SEARCH_ENGINE);
95 search_provider) {
96 const Extension* extension = NULL;
97 const SettingsOverrides* settings =
98 FindOverridingExtension(
99 browser_context, BUBBLE_TYPE_SEARCH_ENGINE, &extension);
100 if (settings && search_provider)
101 search_provider = settings->search_engine.get();
102 return extension;
103 } 80 }
104 81
105 const Extension* GetExtensionOverridingProxy( 82 const Extension* GetExtensionOverridingProxy(
106 content::BrowserContext* browser_context) { 83 content::BrowserContext* browser_context) {
107 ExtensionPrefValueMap* extension_prefs_value_map = 84 ExtensionPrefValueMap* extension_prefs_value_map =
108 ExtensionPrefValueMapFactory::GetForBrowserContext(browser_context); 85 ExtensionPrefValueMapFactory::GetForBrowserContext(browser_context);
109 if (!extension_prefs_value_map) 86 if (!extension_prefs_value_map)
110 return NULL; // Can be null during testing. 87 return NULL; // Can be null during testing.
111 std::string extension_id = 88 std::string extension_id =
112 extension_prefs_value_map->GetExtensionControllingPref(prefs::kProxy); 89 extension_prefs_value_map->GetExtensionControllingPref(prefs::kProxy);
113 if (extension_id.empty()) 90 if (extension_id.empty())
114 return NULL; 91 return NULL;
115 return ExtensionRegistry::Get(browser_context)->GetExtensionById( 92 return ExtensionRegistry::Get(browser_context)->GetExtensionById(
116 extension_id, ExtensionRegistry::ENABLED); 93 extension_id, ExtensionRegistry::ENABLED);
117 } 94 }
118 95
119 } // namespace extensions 96 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/settings_api_helpers.h ('k') | chrome/browser/ui/views/extensions/extension_message_bubble_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698