OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 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 #ifndef EXTENSIONS_BROWSER_API_EXTENSIONS_API_CLIENT_H_ | 5 #ifndef EXTENSIONS_BROWSER_API_EXTENSIONS_API_CLIENT_H_ |
6 #define EXTENSIONS_BROWSER_API_EXTENSIONS_API_CLIENT_H_ | 6 #define EXTENSIONS_BROWSER_API_EXTENSIONS_API_CLIENT_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 | 9 |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
12 #include "extensions/browser/api/declarative_content/content_rules_registry.h" | 12 #include "extensions/browser/api/declarative_content/content_rules_registry.h" |
13 #include "extensions/browser/api/storage/settings_namespace.h" | 13 #include "extensions/browser/api/storage/settings_namespace.h" |
14 | 14 |
15 class GURL; | 15 class GURL; |
16 | 16 |
| 17 namespace base { |
17 template <class T> | 18 template <class T> |
18 class ObserverListThreadSafe; | 19 class ObserverListThreadSafe; |
| 20 } |
19 | 21 |
20 namespace content { | 22 namespace content { |
21 class BrowserContext; | 23 class BrowserContext; |
22 class WebContents; | 24 class WebContents; |
23 } | 25 } |
24 | 26 |
25 namespace extensions { | 27 namespace extensions { |
26 | 28 |
27 class AppViewGuestDelegate; | 29 class AppViewGuestDelegate; |
28 class ContentRulesRegistry; | 30 class ContentRulesRegistry; |
(...skipping 30 matching lines...) Expand all Loading... |
59 // Returns the single instance of |this|. | 61 // Returns the single instance of |this|. |
60 static ExtensionsAPIClient* Get(); | 62 static ExtensionsAPIClient* Get(); |
61 | 63 |
62 // Storage API support. | 64 // Storage API support. |
63 | 65 |
64 // Add any additional value store caches (e.g. for chrome.storage.managed) | 66 // Add any additional value store caches (e.g. for chrome.storage.managed) |
65 // to |caches|. By default adds nothing. | 67 // to |caches|. By default adds nothing. |
66 virtual void AddAdditionalValueStoreCaches( | 68 virtual void AddAdditionalValueStoreCaches( |
67 content::BrowserContext* context, | 69 content::BrowserContext* context, |
68 const scoped_refptr<SettingsStorageFactory>& factory, | 70 const scoped_refptr<SettingsStorageFactory>& factory, |
69 const scoped_refptr<ObserverListThreadSafe<SettingsObserver> >& observers, | 71 const scoped_refptr<base::ObserverListThreadSafe<SettingsObserver>>& |
| 72 observers, |
70 std::map<settings_namespace::Namespace, ValueStoreCache*>* caches); | 73 std::map<settings_namespace::Namespace, ValueStoreCache*>* caches); |
71 | 74 |
72 // Creates the AppViewGuestDelegate. | 75 // Creates the AppViewGuestDelegate. |
73 virtual AppViewGuestDelegate* CreateAppViewGuestDelegate() const; | 76 virtual AppViewGuestDelegate* CreateAppViewGuestDelegate() const; |
74 | 77 |
75 // Returns a delegate for ExtensionOptionsGuest. The caller owns the returned | 78 // Returns a delegate for ExtensionOptionsGuest. The caller owns the returned |
76 // ExtensionOptionsGuestDelegate. | 79 // ExtensionOptionsGuestDelegate. |
77 virtual ExtensionOptionsGuestDelegate* CreateExtensionOptionsGuestDelegate( | 80 virtual ExtensionOptionsGuestDelegate* CreateExtensionOptionsGuestDelegate( |
78 ExtensionOptionsGuest* guest) const; | 81 ExtensionOptionsGuest* guest) const; |
79 | 82 |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 // Creates a delegate for handling the management extension api. | 121 // Creates a delegate for handling the management extension api. |
119 virtual ManagementAPIDelegate* CreateManagementAPIDelegate() const; | 122 virtual ManagementAPIDelegate* CreateManagementAPIDelegate() const; |
120 | 123 |
121 // NOTE: If this interface gains too many methods (perhaps more than 20) it | 124 // NOTE: If this interface gains too many methods (perhaps more than 20) it |
122 // should be split into one interface per API. | 125 // should be split into one interface per API. |
123 }; | 126 }; |
124 | 127 |
125 } // namespace extensions | 128 } // namespace extensions |
126 | 129 |
127 #endif // EXTENSIONS_BROWSER_API_EXTENSIONS_API_CLIENT_H_ | 130 #endif // EXTENSIONS_BROWSER_API_EXTENSIONS_API_CLIENT_H_ |
OLD | NEW |