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_TEST_EXTENSIONS_BROWSER_CLIENT_H_ | 5 #ifndef EXTENSIONS_BROWSER_TEST_EXTENSIONS_BROWSER_CLIENT_H_ |
6 #define EXTENSIONS_BROWSER_TEST_EXTENSIONS_BROWSER_CLIENT_H_ | 6 #define EXTENSIONS_BROWSER_TEST_EXTENSIONS_BROWSER_CLIENT_H_ |
7 | 7 |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "extensions/browser/extensions_browser_client.h" | 9 #include "extensions/browser/extensions_browser_client.h" |
10 #include "extensions/browser/updater/extension_cache.h" | 10 #include "extensions/browser/updater/extension_cache.h" |
11 | 11 |
12 namespace extensions { | 12 namespace extensions { |
13 | 13 |
14 // A simplified ExtensionsBrowserClient for a single normal browser context and | 14 // A simplified ExtensionsBrowserClient for a single normal browser context and |
15 // an optional incognito browser context associated with it. A test that uses | 15 // an optional incognito browser context associated with it. A test that uses |
16 // this class should call ExtensionsBrowserClient::Set() with its instance. | 16 // this class should call ExtensionsBrowserClient::Set() with its instance. |
17 class TestExtensionsBrowserClient : public ExtensionsBrowserClient { | 17 class TestExtensionsBrowserClient : public ExtensionsBrowserClient { |
18 public: | 18 public: |
19 // |main_context| is required and must not be an incognito context. | 19 // |main_context| is required and must not be an incognito context. |
20 explicit TestExtensionsBrowserClient(content::BrowserContext* main_context); | 20 explicit TestExtensionsBrowserClient(content::BrowserContext* main_context); |
21 virtual ~TestExtensionsBrowserClient(); | 21 ~TestExtensionsBrowserClient() override; |
22 | 22 |
23 void set_process_manager_delegate(ProcessManagerDelegate* delegate) { | 23 void set_process_manager_delegate(ProcessManagerDelegate* delegate) { |
24 process_manager_delegate_ = delegate; | 24 process_manager_delegate_ = delegate; |
25 } | 25 } |
26 void set_extension_system_factory(ExtensionSystemProvider* factory) { | 26 void set_extension_system_factory(ExtensionSystemProvider* factory) { |
27 extension_system_factory_ = factory; | 27 extension_system_factory_ = factory; |
28 } | 28 } |
29 void set_extension_cache(scoped_ptr<ExtensionCache> extension_cache) { | 29 void set_extension_cache(scoped_ptr<ExtensionCache> extension_cache) { |
30 extension_cache_ = extension_cache.Pass(); | 30 extension_cache_ = extension_cache.Pass(); |
31 } | 31 } |
32 | 32 |
33 // Associates an incognito context with |main_context_|. | 33 // Associates an incognito context with |main_context_|. |
34 void SetIncognitoContext(content::BrowserContext* incognito_context); | 34 void SetIncognitoContext(content::BrowserContext* incognito_context); |
35 | 35 |
36 // ExtensionsBrowserClient overrides: | 36 // ExtensionsBrowserClient overrides: |
37 virtual bool IsShuttingDown() override; | 37 bool IsShuttingDown() override; |
38 virtual bool AreExtensionsDisabled(const base::CommandLine& command_line, | 38 bool AreExtensionsDisabled(const base::CommandLine& command_line, |
39 content::BrowserContext* context) override; | 39 content::BrowserContext* context) override; |
40 virtual bool IsValidContext(content::BrowserContext* context) override; | 40 bool IsValidContext(content::BrowserContext* context) override; |
41 virtual bool IsSameContext(content::BrowserContext* first, | 41 bool IsSameContext(content::BrowserContext* first, |
42 content::BrowserContext* second) override; | 42 content::BrowserContext* second) override; |
43 virtual bool HasOffTheRecordContext(content::BrowserContext* context) | 43 bool HasOffTheRecordContext(content::BrowserContext* context) override; |
44 override; | 44 content::BrowserContext* GetOffTheRecordContext( |
45 virtual content::BrowserContext* GetOffTheRecordContext( | |
46 content::BrowserContext* context) override; | 45 content::BrowserContext* context) override; |
47 virtual content::BrowserContext* GetOriginalContext( | 46 content::BrowserContext* GetOriginalContext( |
48 content::BrowserContext* context) override; | 47 content::BrowserContext* context) override; |
49 virtual bool IsGuestSession(content::BrowserContext* context) const override; | 48 bool IsGuestSession(content::BrowserContext* context) const override; |
50 virtual bool IsExtensionIncognitoEnabled( | 49 bool IsExtensionIncognitoEnabled( |
51 const std::string& extension_id, | 50 const std::string& extension_id, |
52 content::BrowserContext* context) const override; | 51 content::BrowserContext* context) const override; |
53 virtual bool CanExtensionCrossIncognito( | 52 bool CanExtensionCrossIncognito( |
54 const extensions::Extension* extension, | 53 const extensions::Extension* extension, |
55 content::BrowserContext* context) const override; | 54 content::BrowserContext* context) const override; |
56 virtual net::URLRequestJob* MaybeCreateResourceBundleRequestJob( | 55 net::URLRequestJob* MaybeCreateResourceBundleRequestJob( |
57 net::URLRequest* request, | 56 net::URLRequest* request, |
58 net::NetworkDelegate* network_delegate, | 57 net::NetworkDelegate* network_delegate, |
59 const base::FilePath& directory_path, | 58 const base::FilePath& directory_path, |
60 const std::string& content_security_policy, | 59 const std::string& content_security_policy, |
61 bool send_cors_header) override; | 60 bool send_cors_header) override; |
62 virtual bool AllowCrossRendererResourceLoad(net::URLRequest* request, | 61 bool AllowCrossRendererResourceLoad(net::URLRequest* request, |
63 bool is_incognito, | 62 bool is_incognito, |
64 const Extension* extension, | 63 const Extension* extension, |
65 InfoMap* extension_info_map) | 64 InfoMap* extension_info_map) override; |
66 override; | 65 PrefService* GetPrefServiceForContext( |
67 virtual PrefService* GetPrefServiceForContext( | |
68 content::BrowserContext* context) override; | 66 content::BrowserContext* context) override; |
69 virtual void GetEarlyExtensionPrefsObservers( | 67 void GetEarlyExtensionPrefsObservers( |
70 content::BrowserContext* context, | 68 content::BrowserContext* context, |
71 std::vector<ExtensionPrefsObserver*>* observers) const override; | 69 std::vector<ExtensionPrefsObserver*>* observers) const override; |
72 virtual ProcessManagerDelegate* GetProcessManagerDelegate() const override; | 70 ProcessManagerDelegate* GetProcessManagerDelegate() const override; |
73 virtual scoped_ptr<ExtensionHostDelegate> CreateExtensionHostDelegate() | 71 scoped_ptr<ExtensionHostDelegate> CreateExtensionHostDelegate() override; |
| 72 bool DidVersionUpdate(content::BrowserContext* context) override; |
| 73 void PermitExternalProtocolHandler() override; |
| 74 scoped_ptr<AppSorting> CreateAppSorting() override; |
| 75 bool IsRunningInForcedAppMode() override; |
| 76 ApiActivityMonitor* GetApiActivityMonitor( |
| 77 content::BrowserContext* context) override; |
| 78 ExtensionSystemProvider* GetExtensionSystemFactory() override; |
| 79 void RegisterExtensionFunctions( |
| 80 ExtensionFunctionRegistry* registry) const override; |
| 81 scoped_ptr<RuntimeAPIDelegate> CreateRuntimeAPIDelegate( |
| 82 content::BrowserContext* context) const override; |
| 83 ComponentExtensionResourceManager* GetComponentExtensionResourceManager() |
74 override; | 84 override; |
75 virtual bool DidVersionUpdate(content::BrowserContext* context) override; | 85 void BroadcastEventToRenderers(const std::string& event_name, |
76 virtual void PermitExternalProtocolHandler() override; | 86 scoped_ptr<base::ListValue> args) override; |
77 virtual scoped_ptr<AppSorting> CreateAppSorting() override; | 87 net::NetLog* GetNetLog() override; |
78 virtual bool IsRunningInForcedAppMode() override; | 88 ExtensionCache* GetExtensionCache() override; |
79 virtual ApiActivityMonitor* GetApiActivityMonitor( | 89 bool IsBackgroundUpdateAllowed() override; |
80 content::BrowserContext* context) override; | 90 bool IsMinBrowserVersionSupported(const std::string& min_version) override; |
81 virtual ExtensionSystemProvider* GetExtensionSystemFactory() override; | |
82 virtual void RegisterExtensionFunctions( | |
83 ExtensionFunctionRegistry* registry) const override; | |
84 virtual scoped_ptr<RuntimeAPIDelegate> CreateRuntimeAPIDelegate( | |
85 content::BrowserContext* context) const override; | |
86 virtual ComponentExtensionResourceManager* | |
87 GetComponentExtensionResourceManager() override; | |
88 virtual void BroadcastEventToRenderers( | |
89 const std::string& event_name, | |
90 scoped_ptr<base::ListValue> args) override; | |
91 virtual net::NetLog* GetNetLog() override; | |
92 virtual ExtensionCache* GetExtensionCache() override; | |
93 virtual bool IsBackgroundUpdateAllowed() override; | |
94 virtual bool IsMinBrowserVersionSupported( | |
95 const std::string& min_version) override; | |
96 | 91 |
97 private: | 92 private: |
98 content::BrowserContext* main_context_; // Not owned. | 93 content::BrowserContext* main_context_; // Not owned. |
99 content::BrowserContext* incognito_context_; // Not owned, defaults to NULL. | 94 content::BrowserContext* incognito_context_; // Not owned, defaults to NULL. |
100 | 95 |
101 // Not owned, defaults to NULL. | 96 // Not owned, defaults to NULL. |
102 ProcessManagerDelegate* process_manager_delegate_; | 97 ProcessManagerDelegate* process_manager_delegate_; |
103 | 98 |
104 // Not owned, defaults to NULL. | 99 // Not owned, defaults to NULL. |
105 ExtensionSystemProvider* extension_system_factory_; | 100 ExtensionSystemProvider* extension_system_factory_; |
106 | 101 |
107 scoped_ptr<ExtensionCache> extension_cache_; | 102 scoped_ptr<ExtensionCache> extension_cache_; |
108 | 103 |
109 DISALLOW_COPY_AND_ASSIGN(TestExtensionsBrowserClient); | 104 DISALLOW_COPY_AND_ASSIGN(TestExtensionsBrowserClient); |
110 }; | 105 }; |
111 | 106 |
112 } // namespace extensions | 107 } // namespace extensions |
113 | 108 |
114 #endif // EXTENSIONS_BROWSER_TEST_EXTENSIONS_BROWSER_CLIENT_H_ | 109 #endif // EXTENSIONS_BROWSER_TEST_EXTENSIONS_BROWSER_CLIENT_H_ |
OLD | NEW |