| 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 <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/base_switches.h" | 9 #include "base/base_switches.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 233 mode = std::max(mode, ContentVerifierDelegate::BOOTSTRAP); | 233 mode = std::max(mode, ContentVerifierDelegate::BOOTSTRAP); |
| 234 #endif // defined(OS_CHROMEOS) | 234 #endif // defined(OS_CHROMEOS) |
| 235 if (mode >= ContentVerifierDelegate::BOOTSTRAP) | 235 if (mode >= ContentVerifierDelegate::BOOTSTRAP) |
| 236 content_verifier_->Start(); | 236 content_verifier_->Start(); |
| 237 info_map()->SetContentVerifier(content_verifier_.get()); | 237 info_map()->SetContentVerifier(content_verifier_.get()); |
| 238 | 238 |
| 239 management_policy_.reset(new ManagementPolicy); | 239 management_policy_.reset(new ManagementPolicy); |
| 240 RegisterManagementPolicyProviders(); | 240 RegisterManagementPolicyProviders(); |
| 241 } | 241 } |
| 242 | 242 |
| 243 // Extension API calls require QuotaService, so create it before loading any |
| 244 // extensions. |
| 245 quota_service_.reset(new QuotaService); |
| 246 |
| 243 bool skip_session_extensions = false; | 247 bool skip_session_extensions = false; |
| 244 #if defined(OS_CHROMEOS) | 248 #if defined(OS_CHROMEOS) |
| 245 // Skip loading session extensions if we are not in a user session. | 249 // Skip loading session extensions if we are not in a user session. |
| 246 skip_session_extensions = !chromeos::LoginState::Get()->IsUserLoggedIn(); | 250 skip_session_extensions = !chromeos::LoginState::Get()->IsUserLoggedIn(); |
| 247 if (chrome::IsRunningInForcedAppMode()) { | 251 if (chrome::IsRunningInForcedAppMode()) { |
| 248 extension_service_->component_loader()-> | 252 extension_service_->component_loader()-> |
| 249 AddDefaultComponentExtensionsForKioskMode(skip_session_extensions); | 253 AddDefaultComponentExtensionsForKioskMode(skip_session_extensions); |
| 250 } else { | 254 } else { |
| 251 extension_service_->component_loader()->AddDefaultComponentExtensions( | 255 extension_service_->component_loader()->AddDefaultComponentExtensions( |
| 252 skip_session_extensions); | 256 skip_session_extensions); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 275 | 279 |
| 276 InitInstallGates(); | 280 InitInstallGates(); |
| 277 | 281 |
| 278 extension_service_->Init(); | 282 extension_service_->Init(); |
| 279 | 283 |
| 280 // Make sure ExtensionSyncService is created. | 284 // Make sure ExtensionSyncService is created. |
| 281 ExtensionSyncService::Get(profile_); | 285 ExtensionSyncService::Get(profile_); |
| 282 | 286 |
| 283 // Make the chrome://extension-icon/ resource available. | 287 // Make the chrome://extension-icon/ resource available. |
| 284 content::URLDataSource::Add(profile_, new ExtensionIconSource(profile_)); | 288 content::URLDataSource::Add(profile_, new ExtensionIconSource(profile_)); |
| 285 | |
| 286 quota_service_.reset(new QuotaService); | |
| 287 } | 289 } |
| 288 | 290 |
| 289 void ExtensionSystemImpl::Shared::Shutdown() { | 291 void ExtensionSystemImpl::Shared::Shutdown() { |
| 290 if (content_verifier_.get()) | 292 if (content_verifier_.get()) |
| 291 content_verifier_->Shutdown(); | 293 content_verifier_->Shutdown(); |
| 292 if (extension_service_) | 294 if (extension_service_) |
| 293 extension_service_->Shutdown(); | 295 extension_service_->Shutdown(); |
| 294 } | 296 } |
| 295 | 297 |
| 296 ServiceWorkerManager* ExtensionSystemImpl::Shared::service_worker_manager() { | 298 ServiceWorkerManager* ExtensionSystemImpl::Shared::service_worker_manager() { |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 470 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( | 472 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( |
| 471 const std::string& extension_id, | 473 const std::string& extension_id, |
| 472 const UnloadedExtensionInfo::Reason reason) { | 474 const UnloadedExtensionInfo::Reason reason) { |
| 473 BrowserThread::PostTask( | 475 BrowserThread::PostTask( |
| 474 BrowserThread::IO, | 476 BrowserThread::IO, |
| 475 FROM_HERE, | 477 FROM_HERE, |
| 476 base::Bind(&InfoMap::RemoveExtension, info_map(), extension_id, reason)); | 478 base::Bind(&InfoMap::RemoveExtension, info_map(), extension_id, reason)); |
| 477 } | 479 } |
| 478 | 480 |
| 479 } // namespace extensions | 481 } // namespace extensions |
| OLD | NEW |