Upstream version 7.35.139.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / settings_api_helpers.h
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.
4
5 #ifndef CHROME_BROWSER_EXTENSIONS_SETTINGS_API_HELPERS_H_
6 #define CHROME_BROWSER_EXTENSIONS_SETTINGS_API_HELPERS_H_
7
8 #include "chrome/common/extensions/manifest_handlers/settings_overrides_handler.h"
9
10 namespace content {
11 class BrowserContext;
12 }
13
14 namespace extensions {
15
16 struct SettingsOverrides;
17
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);
25
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,
30                                    GURL* home_page_url);
31
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);
37
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*
44         search_provider);
45
46 }  // namespace extensions
47
48 #endif  // CHROME_BROWSER_EXTENSIONS_SETTINGS_API_HELPERS_H_