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

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: More functions 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_registry.h" 9 #include "extensions/browser/extension_registry.h"
10 #include "extensions/common/extension_set.h" 10 #include "extensions/common/extension_set.h"
11 11
12 namespace extensions { 12 namespace extensions {
13 13
14 const extensions::SettingsOverrides* FindOverridingExtension( 14 namespace {
15
16 // Find which |extension| is overriding a particular |type| of setting. Returns
17 // the SettingsOverride object, or NULL if no |extension| is overriding that
Devlin 2014/06/03 23:55:10 nit: No longer returns the SettingsOverride object
18 // particular setting.
19 const Extension* FindOverridingExtension(
15 content::BrowserContext* browser_context, 20 content::BrowserContext* browser_context,
16 SettingsApiOverrideType type, 21 SettingsApiOverrideType type) {
17 const Extension** extension) {
18 const extensions::ExtensionSet& extensions = 22 const extensions::ExtensionSet& extensions =
19 extensions::ExtensionRegistry::Get(browser_context)->enabled_extensions(); 23 extensions::ExtensionRegistry::Get(browser_context)->enabled_extensions();
20 24
21 for (extensions::ExtensionSet::const_iterator it = extensions.begin(); 25 for (extensions::ExtensionSet::const_iterator it = extensions.begin();
22 it != extensions.end(); 26 it != extensions.end();
23 ++it) { 27 ++it) {
24 const extensions::SettingsOverrides* settings = 28 const extensions::SettingsOverrides* settings =
25 extensions::SettingsOverrides::Get(*it); 29 extensions::SettingsOverrides::Get(*it);
26 if (settings) { 30 if (settings) {
27 if (type == BUBBLE_TYPE_HOME_PAGE && !settings->homepage) 31 if (type == BUBBLE_TYPE_HOME_PAGE && !settings->homepage)
(...skipping 15 matching lines...) Expand all
43 key = prefs::kDefaultSearchProviderEnabled; 47 key = prefs::kDefaultSearchProviderEnabled;
44 break; 48 break;
45 } 49 }
46 50
47 // Found an extension overriding the current type, check if primary. 51 // Found an extension overriding the current type, check if primary.
48 PreferenceAPI* preference_api = PreferenceAPI::Get(browser_context); 52 PreferenceAPI* preference_api = PreferenceAPI::Get(browser_context);
49 if (preference_api && // Expected to be NULL in unit tests. 53 if (preference_api && // Expected to be NULL in unit tests.
50 !preference_api->DoesExtensionControlPref((*it)->id(), key, NULL)) 54 !preference_api->DoesExtensionControlPref((*it)->id(), key, NULL))
51 continue; // Not primary. 55 continue; // Not primary.
52 56
53 // Found the primary extension, return its setting. 57 // Found the primary extension.
54 *extension = *it; 58 return *it;
55 return settings;
56 } 59 }
57 } 60 }
58 61
59 return NULL; 62 return NULL;
60 } 63 }
61 64
62 const Extension* OverridesHomepage(content::BrowserContext* browser_context, 65 } // namespace
63 GURL* home_page_url) {
64 const extensions::Extension* extension = NULL;
65 const extensions::SettingsOverrides* settings =
66 FindOverridingExtension(
67 browser_context, BUBBLE_TYPE_HOME_PAGE, &extension);
68 66
69 if (settings && home_page_url) 67 const Extension* OverridesHomepage(content::BrowserContext* browser_context) {
70 *home_page_url = *settings->homepage; 68 return FindOverridingExtension(browser_context, BUBBLE_TYPE_HOME_PAGE);
71 return extension;
72 } 69 }
73 70
74 const Extension* OverridesStartupPages(content::BrowserContext* browser_context, 71 const Extension* OverridesStartupPages(
75 std::vector<GURL>* startup_pages) { 72 content::BrowserContext* browser_context) {
76 const extensions::Extension* extension = NULL; 73 return FindOverridingExtension(browser_context, BUBBLE_TYPE_STARTUP_PAGES);
77 const extensions::SettingsOverrides* settings =
78 FindOverridingExtension(
79 browser_context, BUBBLE_TYPE_STARTUP_PAGES, &extension);
80 if (settings && startup_pages) {
81 startup_pages->clear();
82 for (std::vector<GURL>::const_iterator it = settings->startup_pages.begin();
83 it != settings->startup_pages.end();
84 ++it)
85 startup_pages->push_back(GURL(*it));
86 }
87 return extension;
88 } 74 }
89 75
90 const Extension* OverridesSearchEngine( 76 const Extension* OverridesSearchEngine(
91 content::BrowserContext* browser_context, 77 content::BrowserContext* browser_context) {
92 api::manifest_types::ChromeSettingsOverrides::Search_provider* 78 return FindOverridingExtension(browser_context, BUBBLE_TYPE_SEARCH_ENGINE);
93 search_provider) {
94 const extensions::Extension* extension = NULL;
95 const extensions::SettingsOverrides* settings =
96 FindOverridingExtension(
97 browser_context, BUBBLE_TYPE_SEARCH_ENGINE, &extension);
98 if (settings && search_provider)
99 search_provider = settings->search_engine.get();
100 return extension;
101 } 79 }
102 80
103 } // namespace extensions 81 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698