OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/chrome_extensions_browser_client.h" | 5 #include "chrome/browser/extensions/chrome_extensions_browser_client.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
9 #include "base/version.h" | 9 #include "base/version.h" |
10 #include "chrome/browser/app_mode/app_mode_utils.h" | 10 #include "chrome/browser/app_mode/app_mode_utils.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 #include "chrome/common/chrome_version_info.h" | 33 #include "chrome/common/chrome_version_info.h" |
34 #include "chrome/common/extensions/features/feature_channel.h" | 34 #include "chrome/common/extensions/features/feature_channel.h" |
35 #include "chrome/common/pref_names.h" | 35 #include "chrome/common/pref_names.h" |
36 #include "extensions/browser/api/generated_api_registration.h" | 36 #include "extensions/browser/api/generated_api_registration.h" |
37 #include "extensions/browser/extension_function_registry.h" | 37 #include "extensions/browser/extension_function_registry.h" |
38 #include "extensions/browser/extension_prefs.h" | 38 #include "extensions/browser/extension_prefs.h" |
39 #include "extensions/browser/pref_names.h" | 39 #include "extensions/browser/pref_names.h" |
40 #include "extensions/browser/url_request_util.h" | 40 #include "extensions/browser/url_request_util.h" |
41 | 41 |
42 #if defined(OS_CHROMEOS) | 42 #if defined(OS_CHROMEOS) |
| 43 #include "chrome/browser/extensions/updater/extension_cache_impl.h" |
43 #include "chromeos/chromeos_switches.h" | 44 #include "chromeos/chromeos_switches.h" |
| 45 #else |
| 46 #include "extensions/browser/updater/null_extension_cache.h" |
44 #endif | 47 #endif |
45 | 48 |
46 namespace extensions { | 49 namespace extensions { |
47 | 50 |
48 ChromeExtensionsBrowserClient::ChromeExtensionsBrowserClient() { | 51 ChromeExtensionsBrowserClient::ChromeExtensionsBrowserClient() { |
49 process_manager_delegate_.reset(new ChromeProcessManagerDelegate); | 52 process_manager_delegate_.reset(new ChromeProcessManagerDelegate); |
50 api_client_.reset(new ChromeExtensionsAPIClient); | 53 api_client_.reset(new ChromeExtensionsAPIClient); |
51 // Only set if it hasn't already been set (e.g. by a test). | 54 // Only set if it hasn't already been set (e.g. by a test). |
52 if (GetCurrentChannel() == GetDefaultChannel()) | 55 if (GetCurrentChannel() == GetDefaultChannel()) |
53 SetCurrentChannel(chrome::VersionInfo::GetChannel()); | 56 SetCurrentChannel(chrome::VersionInfo::GetChannel()); |
| 57 |
| 58 #if defined(OS_CHROMEOS) |
| 59 extension_cache_.reset(new ExtensionCacheImpl()); |
| 60 #else |
| 61 extension_cache_.reset(new NullExtensionCache()); |
| 62 #endif |
54 } | 63 } |
55 | 64 |
56 ChromeExtensionsBrowserClient::~ChromeExtensionsBrowserClient() {} | 65 ChromeExtensionsBrowserClient::~ChromeExtensionsBrowserClient() {} |
57 | 66 |
58 bool ChromeExtensionsBrowserClient::IsShuttingDown() { | 67 bool ChromeExtensionsBrowserClient::IsShuttingDown() { |
59 return g_browser_process->IsShuttingDown(); | 68 return g_browser_process->IsShuttingDown(); |
60 } | 69 } |
61 | 70 |
62 bool ChromeExtensionsBrowserClient::AreExtensionsDisabled( | 71 bool ChromeExtensionsBrowserClient::AreExtensionsDisabled( |
63 const CommandLine& command_line, | 72 const CommandLine& command_line, |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 registry->RegisterFunction< | 244 registry->RegisterFunction< |
236 extensions::chromedirectsetting::ClearDirectSettingFunction>(); | 245 extensions::chromedirectsetting::ClearDirectSettingFunction>(); |
237 | 246 |
238 // Generated APIs from lower-level modules. | 247 // Generated APIs from lower-level modules. |
239 extensions::core_api::GeneratedFunctionRegistry::RegisterAll(registry); | 248 extensions::core_api::GeneratedFunctionRegistry::RegisterAll(registry); |
240 | 249 |
241 // Generated APIs from Chrome. | 250 // Generated APIs from Chrome. |
242 extensions::api::GeneratedFunctionRegistry::RegisterAll(registry); | 251 extensions::api::GeneratedFunctionRegistry::RegisterAll(registry); |
243 } | 252 } |
244 | 253 |
| 254 scoped_ptr<extensions::RuntimeAPIDelegate> |
| 255 ChromeExtensionsBrowserClient::CreateRuntimeAPIDelegate( |
| 256 content::BrowserContext* context) const { |
| 257 return scoped_ptr<extensions::RuntimeAPIDelegate>( |
| 258 new ChromeRuntimeAPIDelegate(context)); |
| 259 } |
| 260 |
245 ComponentExtensionResourceManager* | 261 ComponentExtensionResourceManager* |
246 ChromeExtensionsBrowserClient::GetComponentExtensionResourceManager() { | 262 ChromeExtensionsBrowserClient::GetComponentExtensionResourceManager() { |
247 if (!resource_manager_) | 263 if (!resource_manager_) |
248 resource_manager_.reset(new ChromeComponentExtensionResourceManager()); | 264 resource_manager_.reset(new ChromeComponentExtensionResourceManager()); |
249 return resource_manager_.get(); | 265 return resource_manager_.get(); |
250 } | 266 } |
251 | 267 |
252 void ChromeExtensionsBrowserClient::BroadcastEventToRenderers( | 268 void ChromeExtensionsBrowserClient::BroadcastEventToRenderers( |
253 const std::string& event_name, | 269 const std::string& event_name, |
254 scoped_ptr<base::ListValue> args) { | 270 scoped_ptr<base::ListValue> args) { |
255 g_browser_process->extension_event_router_forwarder() | 271 g_browser_process->extension_event_router_forwarder() |
256 ->BroadcastEventToRenderers(event_name, args.Pass(), GURL()); | 272 ->BroadcastEventToRenderers(event_name, args.Pass(), GURL()); |
257 } | 273 } |
258 | 274 |
259 net::NetLog* ChromeExtensionsBrowserClient::GetNetLog() { | 275 net::NetLog* ChromeExtensionsBrowserClient::GetNetLog() { |
260 return g_browser_process->net_log(); | 276 return g_browser_process->net_log(); |
261 } | 277 } |
262 | 278 |
263 scoped_ptr<extensions::RuntimeAPIDelegate> | 279 ExtensionCache* ChromeExtensionsBrowserClient::GetExtensionCache() { |
264 ChromeExtensionsBrowserClient::CreateRuntimeAPIDelegate( | 280 return extension_cache_.get(); |
265 content::BrowserContext* context) const { | |
266 return scoped_ptr<extensions::RuntimeAPIDelegate>( | |
267 new ChromeRuntimeAPIDelegate(context)); | |
268 } | 281 } |
269 | 282 |
270 } // namespace extensions | 283 } // namespace extensions |
OLD | NEW |