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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_EXTENSIONS_SETTINGS_API_HELPERS_H_
6 #define CHROME_BROWSER_EXTENSIONS_SETTINGS_API_HELPERS_H_
8 #include "chrome/common/extensions/manifest_handlers/settings_overrides_handler.h"
14 namespace extensions
{
16 struct SettingsOverrides
;
18 // Find which |extension| is overriding a particular |type| of setting. Returns
19 // the SettingsOverride object, or NULL if no |extension| is overriding that
20 // particular setting.
21 const extensions::SettingsOverrides
* FindOverridingExtension(
22 content::BrowserContext
* browser_context
,
23 SettingsApiOverrideType type
,
24 const Extension
** extension
);
26 // Returns which extension is overriding the homepage in a given
27 // |browser_context|. |home_page_url|, if non-NULL, will contain the home_page
28 // value the extension has set.
29 const Extension
* OverridesHomepage(content::BrowserContext
* browser_context
,
32 // Returns which extension is overriding the homepage in a given
33 // |browser_context|. |startup_pages|, if non-NULL, will contain the vector of
34 // startup page URLs the extension has set.
35 const Extension
* OverridesStartupPages(content::BrowserContext
* browser_context
,
36 std::vector
<GURL
>* startup_pages
);
38 // Returns which extension is overriding the search engine in a given
39 // |browser_context|. |search_provider|, if non-NULL, will contain the search
40 // provider the extension has set.
41 const Extension
* OverridesSearchEngine(
42 content::BrowserContext
* browser_context
,
43 api::manifest_types::ChromeSettingsOverrides::Search_provider
*
46 } // namespace extensions
48 #endif // CHROME_BROWSER_EXTENSIONS_SETTINGS_API_HELPERS_H_