Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: chrome/browser/extensions/chrome_extensions_browser_client.cc

Issue 830833002: Makes GetComponentExtensionResourceManager() thread-safe. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/version.h" 8 #include "base/version.h"
9 #include "chrome/browser/app_mode/app_mode_utils.h" 9 #include "chrome/browser/app_mode/app_mode_utils.h"
10 #include "chrome/browser/browser_process.h" 10 #include "chrome/browser/browser_process.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 #endif 46 #endif
47 47
48 namespace extensions { 48 namespace extensions {
49 49
50 ChromeExtensionsBrowserClient::ChromeExtensionsBrowserClient() { 50 ChromeExtensionsBrowserClient::ChromeExtensionsBrowserClient() {
51 process_manager_delegate_.reset(new ChromeProcessManagerDelegate); 51 process_manager_delegate_.reset(new ChromeProcessManagerDelegate);
52 api_client_.reset(new ChromeExtensionsAPIClient); 52 api_client_.reset(new ChromeExtensionsAPIClient);
53 // Only set if it hasn't already been set (e.g. by a test). 53 // Only set if it hasn't already been set (e.g. by a test).
54 if (GetCurrentChannel() == GetDefaultChannel()) 54 if (GetCurrentChannel() == GetDefaultChannel())
55 SetCurrentChannel(chrome::VersionInfo::GetChannel()); 55 SetCurrentChannel(chrome::VersionInfo::GetChannel());
56 resource_manager_.reset(new ChromeComponentExtensionResourceManager());
56 } 57 }
57 58
58 ChromeExtensionsBrowserClient::~ChromeExtensionsBrowserClient() {} 59 ChromeExtensionsBrowserClient::~ChromeExtensionsBrowserClient() {}
59 60
60 bool ChromeExtensionsBrowserClient::IsShuttingDown() { 61 bool ChromeExtensionsBrowserClient::IsShuttingDown() {
61 return g_browser_process->IsShuttingDown(); 62 return g_browser_process->IsShuttingDown();
62 } 63 }
63 64
64 bool ChromeExtensionsBrowserClient::AreExtensionsDisabled( 65 bool ChromeExtensionsBrowserClient::AreExtensionsDisabled(
65 const base::CommandLine& command_line, 66 const base::CommandLine& command_line,
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 extensions::api::GeneratedFunctionRegistry::RegisterAll(registry); 245 extensions::api::GeneratedFunctionRegistry::RegisterAll(registry);
245 } 246 }
246 247
247 scoped_ptr<extensions::RuntimeAPIDelegate> 248 scoped_ptr<extensions::RuntimeAPIDelegate>
248 ChromeExtensionsBrowserClient::CreateRuntimeAPIDelegate( 249 ChromeExtensionsBrowserClient::CreateRuntimeAPIDelegate(
249 content::BrowserContext* context) const { 250 content::BrowserContext* context) const {
250 return scoped_ptr<extensions::RuntimeAPIDelegate>( 251 return scoped_ptr<extensions::RuntimeAPIDelegate>(
251 new ChromeRuntimeAPIDelegate(context)); 252 new ChromeRuntimeAPIDelegate(context));
252 } 253 }
253 254
254 ComponentExtensionResourceManager* 255 const ComponentExtensionResourceManager*
255 ChromeExtensionsBrowserClient::GetComponentExtensionResourceManager() { 256 ChromeExtensionsBrowserClient::GetComponentExtensionResourceManager() {
256 if (!resource_manager_)
257 resource_manager_.reset(new ChromeComponentExtensionResourceManager());
258 return resource_manager_.get(); 257 return resource_manager_.get();
259 } 258 }
260 259
261 void ChromeExtensionsBrowserClient::BroadcastEventToRenderers( 260 void ChromeExtensionsBrowserClient::BroadcastEventToRenderers(
262 const std::string& event_name, 261 const std::string& event_name,
263 scoped_ptr<base::ListValue> args) { 262 scoped_ptr<base::ListValue> args) {
264 g_browser_process->extension_event_router_forwarder() 263 g_browser_process->extension_event_router_forwarder()
265 ->BroadcastEventToRenderers(event_name, args.Pass(), GURL()); 264 ->BroadcastEventToRenderers(event_name, args.Pass(), GURL());
266 } 265 }
267 266
(...skipping 23 matching lines...) Expand all
291 base::Version browser_version = base::Version(version_info.Version()); 290 base::Version browser_version = base::Version(version_info.Version());
292 Version browser_min_version(min_version); 291 Version browser_min_version(min_version);
293 if (browser_version.IsValid() && browser_min_version.IsValid() && 292 if (browser_version.IsValid() && browser_min_version.IsValid() &&
294 browser_min_version.CompareTo(browser_version) > 0) { 293 browser_min_version.CompareTo(browser_version) > 0) {
295 return false; 294 return false;
296 } 295 }
297 return true; 296 return true;
298 } 297 }
299 298
300 } // namespace extensions 299 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698