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

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

Issue 2520833003: Create ExtensionSystemImpl::quota_service_ before loading any extension (Closed)
Patch Set: move QuotaService init before loading any extension Created 4 years 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698