| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/extension_system.h" | 5 #include "chrome/browser/extensions/extension_system.h" |
| 6 | 6 |
| 7 #include "base/base_switches.h" | 7 #include "base/base_switches.h" |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 autoupdate_enabled = | 134 autoupdate_enabled = |
| 135 !command_line->HasSwitch(chromeos::switches::kGuestSession); | 135 !command_line->HasSwitch(chromeos::switches::kGuestSession); |
| 136 #endif | 136 #endif |
| 137 extension_service_.reset(new ExtensionService( | 137 extension_service_.reset(new ExtensionService( |
| 138 profile_, | 138 profile_, |
| 139 CommandLine::ForCurrentProcess(), | 139 CommandLine::ForCurrentProcess(), |
| 140 profile_->GetPath().AppendASCII(extensions::kInstallDirectoryName), | 140 profile_->GetPath().AppendASCII(extensions::kInstallDirectoryName), |
| 141 ExtensionPrefs::Get(profile_), | 141 ExtensionPrefs::Get(profile_), |
| 142 blacklist_.get(), | 142 blacklist_.get(), |
| 143 autoupdate_enabled, | 143 autoupdate_enabled, |
| 144 extensions_enabled)); | 144 extensions_enabled, |
| 145 &ready_)); |
| 145 | 146 |
| 146 // These services must be registered before the ExtensionService tries to | 147 // These services must be registered before the ExtensionService tries to |
| 147 // load any extensions. | 148 // load any extensions. |
| 148 { | 149 { |
| 149 management_policy_.reset(new ManagementPolicy); | 150 management_policy_.reset(new ManagementPolicy); |
| 150 RegisterManagementPolicyProviders(); | 151 RegisterManagementPolicyProviders(); |
| 151 } | 152 } |
| 152 | 153 |
| 153 bool skip_session_extensions = false; | 154 bool skip_session_extensions = false; |
| 154 #if defined(OS_CHROMEOS) | 155 #if defined(OS_CHROMEOS) |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 402 } | 403 } |
| 403 | 404 |
| 404 ExtensionWarningService* ExtensionSystemImpl::warning_service() { | 405 ExtensionWarningService* ExtensionSystemImpl::warning_service() { |
| 405 return shared_->warning_service(); | 406 return shared_->warning_service(); |
| 406 } | 407 } |
| 407 | 408 |
| 408 Blacklist* ExtensionSystemImpl::blacklist() { | 409 Blacklist* ExtensionSystemImpl::blacklist() { |
| 409 return shared_->blacklist(); | 410 return shared_->blacklist(); |
| 410 } | 411 } |
| 411 | 412 |
| 413 const OneShotEvent& ExtensionSystemImpl::ready() const { |
| 414 return shared_->ready(); |
| 415 } |
| 416 |
| 412 void ExtensionSystemImpl::RegisterExtensionWithRequestContexts( | 417 void ExtensionSystemImpl::RegisterExtensionWithRequestContexts( |
| 413 const Extension* extension) { | 418 const Extension* extension) { |
| 414 base::Time install_time; | 419 base::Time install_time; |
| 415 if (extension->location() != Manifest::COMPONENT) { | 420 if (extension->location() != Manifest::COMPONENT) { |
| 416 install_time = ExtensionPrefs::Get(profile_)-> | 421 install_time = ExtensionPrefs::Get(profile_)-> |
| 417 GetInstallTime(extension->id()); | 422 GetInstallTime(extension->id()); |
| 418 } | 423 } |
| 419 bool incognito_enabled = | 424 bool incognito_enabled = |
| 420 extension_service()->IsIncognitoEnabled(extension->id()); | 425 extension_service()->IsIncognitoEnabled(extension->id()); |
| 421 BrowserThread::PostTask( | 426 BrowserThread::PostTask( |
| 422 BrowserThread::IO, FROM_HERE, | 427 BrowserThread::IO, FROM_HERE, |
| 423 base::Bind(&ExtensionInfoMap::AddExtension, info_map(), | 428 base::Bind(&ExtensionInfoMap::AddExtension, info_map(), |
| 424 make_scoped_refptr(extension), install_time, | 429 make_scoped_refptr(extension), install_time, |
| 425 incognito_enabled)); | 430 incognito_enabled)); |
| 426 } | 431 } |
| 427 | 432 |
| 428 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( | 433 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( |
| 429 const std::string& extension_id, | 434 const std::string& extension_id, |
| 430 const extension_misc::UnloadedExtensionReason reason) { | 435 const extension_misc::UnloadedExtensionReason reason) { |
| 431 BrowserThread::PostTask( | 436 BrowserThread::PostTask( |
| 432 BrowserThread::IO, FROM_HERE, | 437 BrowserThread::IO, FROM_HERE, |
| 433 base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(), | 438 base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(), |
| 434 extension_id, reason)); | 439 extension_id, reason)); |
| 435 } | 440 } |
| 436 | 441 |
| 437 } // namespace extensions | 442 } // namespace extensions |
| OLD | NEW |