| 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 #include "chrome/browser/extensions/extension_system_impl.h" | 5 #include "chrome/browser/extensions/extension_system_impl.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 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 ExtensionManagementFactory::GetForBrowserContext(profile_) | 135 ExtensionManagementFactory::GetForBrowserContext(profile_) |
| 136 ->GetProviders()); | 136 ->GetProviders()); |
| 137 | 137 |
| 138 #if defined(OS_CHROMEOS) | 138 #if defined(OS_CHROMEOS) |
| 139 if (device_local_account_management_policy_provider_) { | 139 if (device_local_account_management_policy_provider_) { |
| 140 management_policy_->RegisterProvider( | 140 management_policy_->RegisterProvider( |
| 141 device_local_account_management_policy_provider_.get()); | 141 device_local_account_management_policy_provider_.get()); |
| 142 } | 142 } |
| 143 #endif // defined(OS_CHROMEOS) | 143 #endif // defined(OS_CHROMEOS) |
| 144 | 144 |
| 145 management_policy_->RegisterProvider(install_verifier_.get()); | 145 management_policy_->RegisterProvider(InstallVerifier::Get(profile_)); |
| 146 } | 146 } |
| 147 | 147 |
| 148 namespace { | 148 namespace { |
| 149 | 149 |
| 150 class ContentVerifierDelegateImpl : public ContentVerifierDelegate { | 150 class ContentVerifierDelegateImpl : public ContentVerifierDelegate { |
| 151 public: | 151 public: |
| 152 explicit ContentVerifierDelegateImpl(ExtensionService* service) | 152 explicit ContentVerifierDelegateImpl(ExtensionService* service) |
| 153 : service_(service->AsWeakPtr()), default_mode_(GetDefaultMode()) {} | 153 : service_(service->AsWeakPtr()), default_mode_(GetDefaultMode()) {} |
| 154 | 154 |
| 155 ~ContentVerifierDelegateImpl() override {} | 155 ~ContentVerifierDelegateImpl() override {} |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 317 #endif // defined(OS_CHROMEOS) | 317 #endif // defined(OS_CHROMEOS) |
| 318 extension_service_.reset(new ExtensionService( | 318 extension_service_.reset(new ExtensionService( |
| 319 profile_, base::CommandLine::ForCurrentProcess(), | 319 profile_, base::CommandLine::ForCurrentProcess(), |
| 320 profile_->GetPath().AppendASCII(extensions::kInstallDirectoryName), | 320 profile_->GetPath().AppendASCII(extensions::kInstallDirectoryName), |
| 321 ExtensionPrefs::Get(profile_), Blacklist::Get(profile_), | 321 ExtensionPrefs::Get(profile_), Blacklist::Get(profile_), |
| 322 autoupdate_enabled, extensions_enabled, &ready_)); | 322 autoupdate_enabled, extensions_enabled, &ready_)); |
| 323 | 323 |
| 324 // These services must be registered before the ExtensionService tries to | 324 // These services must be registered before the ExtensionService tries to |
| 325 // load any extensions. | 325 // load any extensions. |
| 326 { | 326 { |
| 327 install_verifier_.reset( | 327 InstallVerifier::Get(profile_)->Init(); |
| 328 new InstallVerifier(ExtensionPrefs::Get(profile_), profile_)); | |
| 329 install_verifier_->Init(); | |
| 330 content_verifier_ = new ContentVerifier( | 328 content_verifier_ = new ContentVerifier( |
| 331 profile_, new ContentVerifierDelegateImpl(extension_service_.get())); | 329 profile_, new ContentVerifierDelegateImpl(extension_service_.get())); |
| 332 ContentVerifierDelegate::Mode mode = | 330 ContentVerifierDelegate::Mode mode = |
| 333 ContentVerifierDelegateImpl::GetDefaultMode(); | 331 ContentVerifierDelegateImpl::GetDefaultMode(); |
| 334 #if defined(OS_CHROMEOS) | 332 #if defined(OS_CHROMEOS) |
| 335 mode = std::max(mode, ContentVerifierDelegate::BOOTSTRAP); | 333 mode = std::max(mode, ContentVerifierDelegate::BOOTSTRAP); |
| 336 #endif // defined(OS_CHROMEOS) | 334 #endif // defined(OS_CHROMEOS) |
| 337 if (mode >= ContentVerifierDelegate::BOOTSTRAP) | 335 if (mode >= ContentVerifierDelegate::BOOTSTRAP) |
| 338 content_verifier_->Start(); | 336 content_verifier_->Start(); |
| 339 info_map()->SetContentVerifier(content_verifier_.get()); | 337 info_map()->SetContentVerifier(content_verifier_.get()); |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 443 | 441 |
| 444 LazyBackgroundTaskQueue* | 442 LazyBackgroundTaskQueue* |
| 445 ExtensionSystemImpl::Shared::lazy_background_task_queue() { | 443 ExtensionSystemImpl::Shared::lazy_background_task_queue() { |
| 446 return lazy_background_task_queue_.get(); | 444 return lazy_background_task_queue_.get(); |
| 447 } | 445 } |
| 448 | 446 |
| 449 EventRouter* ExtensionSystemImpl::Shared::event_router() { | 447 EventRouter* ExtensionSystemImpl::Shared::event_router() { |
| 450 return event_router_.get(); | 448 return event_router_.get(); |
| 451 } | 449 } |
| 452 | 450 |
| 453 InstallVerifier* ExtensionSystemImpl::Shared::install_verifier() { | |
| 454 return install_verifier_.get(); | |
| 455 } | |
| 456 | |
| 457 QuotaService* ExtensionSystemImpl::Shared::quota_service() { | 451 QuotaService* ExtensionSystemImpl::Shared::quota_service() { |
| 458 return quota_service_.get(); | 452 return quota_service_.get(); |
| 459 } | 453 } |
| 460 | 454 |
| 461 ContentVerifier* ExtensionSystemImpl::Shared::content_verifier() { | 455 ContentVerifier* ExtensionSystemImpl::Shared::content_verifier() { |
| 462 return content_verifier_.get(); | 456 return content_verifier_.get(); |
| 463 } | 457 } |
| 464 | 458 |
| 465 // | 459 // |
| 466 // ExtensionSystemImpl | 460 // ExtensionSystemImpl |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 528 } | 522 } |
| 529 | 523 |
| 530 EventRouter* ExtensionSystemImpl::event_router() { | 524 EventRouter* ExtensionSystemImpl::event_router() { |
| 531 return shared_->event_router(); | 525 return shared_->event_router(); |
| 532 } | 526 } |
| 533 | 527 |
| 534 const OneShotEvent& ExtensionSystemImpl::ready() const { | 528 const OneShotEvent& ExtensionSystemImpl::ready() const { |
| 535 return shared_->ready(); | 529 return shared_->ready(); |
| 536 } | 530 } |
| 537 | 531 |
| 538 InstallVerifier* ExtensionSystemImpl::install_verifier() { | |
| 539 return shared_->install_verifier(); | |
| 540 } | |
| 541 | |
| 542 QuotaService* ExtensionSystemImpl::quota_service() { | 532 QuotaService* ExtensionSystemImpl::quota_service() { |
| 543 return shared_->quota_service(); | 533 return shared_->quota_service(); |
| 544 } | 534 } |
| 545 | 535 |
| 546 ContentVerifier* ExtensionSystemImpl::content_verifier() { | 536 ContentVerifier* ExtensionSystemImpl::content_verifier() { |
| 547 return shared_->content_verifier(); | 537 return shared_->content_verifier(); |
| 548 } | 538 } |
| 549 | 539 |
| 550 scoped_ptr<ExtensionSet> ExtensionSystemImpl::GetDependentExtensions( | 540 scoped_ptr<ExtensionSet> ExtensionSystemImpl::GetDependentExtensions( |
| 551 const Extension* extension) { | 541 const Extension* extension) { |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 584 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( | 574 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( |
| 585 const std::string& extension_id, | 575 const std::string& extension_id, |
| 586 const UnloadedExtensionInfo::Reason reason) { | 576 const UnloadedExtensionInfo::Reason reason) { |
| 587 BrowserThread::PostTask( | 577 BrowserThread::PostTask( |
| 588 BrowserThread::IO, | 578 BrowserThread::IO, |
| 589 FROM_HERE, | 579 FROM_HERE, |
| 590 base::Bind(&InfoMap::RemoveExtension, info_map(), extension_id, reason)); | 580 base::Bind(&InfoMap::RemoveExtension, info_map(), extension_id, reason)); |
| 591 } | 581 } |
| 592 | 582 |
| 593 } // namespace extensions | 583 } // namespace extensions |
| OLD | NEW |