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 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 } | 330 } |
331 } | 331 } |
332 | 332 |
333 ExtensionSystemImpl::~ExtensionSystemImpl() { | 333 ExtensionSystemImpl::~ExtensionSystemImpl() { |
334 } | 334 } |
335 | 335 |
336 void ExtensionSystemImpl::Shutdown() { | 336 void ExtensionSystemImpl::Shutdown() { |
337 process_manager_.reset(); | 337 process_manager_.reset(); |
338 } | 338 } |
339 | 339 |
340 void ExtensionSystemImpl::InitForRegularProfile( | 340 void ExtensionSystemImpl::InitForRegularProfile(bool extensions_enabled) { |
341 bool extensions_enabled, | |
342 bool defer_background_creation) { | |
343 DCHECK(!profile_->IsOffTheRecord()); | 341 DCHECK(!profile_->IsOffTheRecord()); |
344 if (user_script_master() || extension_service()) | 342 if (user_script_master() || extension_service()) |
345 return; // Already initialized. | 343 return; // Already initialized. |
346 | 344 |
347 // The InfoMap needs to be created before the ProcessManager. | 345 // The InfoMap needs to be created before the ProcessManager. |
348 shared_->info_map(); | 346 shared_->info_map(); |
349 | 347 |
350 process_manager_.reset(ProcessManager::Create(profile_)); | 348 process_manager_.reset(ProcessManager::Create(profile_)); |
351 | 349 |
352 process_manager_->DeferBackgroundHostCreation( | |
353 defer_background_creation); | |
354 | |
355 shared_->Init(extensions_enabled); | 350 shared_->Init(extensions_enabled); |
356 } | 351 } |
357 | 352 |
358 ExtensionService* ExtensionSystemImpl::extension_service() { | 353 ExtensionService* ExtensionSystemImpl::extension_service() { |
359 return shared_->extension_service(); | 354 return shared_->extension_service(); |
360 } | 355 } |
361 | 356 |
362 ManagementPolicy* ExtensionSystemImpl::management_policy() { | 357 ManagementPolicy* ExtensionSystemImpl::management_policy() { |
363 return shared_->management_policy(); | 358 return shared_->management_policy(); |
364 } | 359 } |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
441 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( | 436 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( |
442 const std::string& extension_id, | 437 const std::string& extension_id, |
443 const UnloadedExtensionInfo::Reason reason) { | 438 const UnloadedExtensionInfo::Reason reason) { |
444 BrowserThread::PostTask( | 439 BrowserThread::PostTask( |
445 BrowserThread::IO, | 440 BrowserThread::IO, |
446 FROM_HERE, | 441 FROM_HERE, |
447 base::Bind(&InfoMap::RemoveExtension, info_map(), extension_id, reason)); | 442 base::Bind(&InfoMap::RemoveExtension, info_map(), extension_id, reason)); |
448 } | 443 } |
449 | 444 |
450 } // namespace extensions | 445 } // namespace extensions |
OLD | NEW |