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

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

Issue 62713003: Move ExtensionProcessManager to src/extensions, part 4 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase again Created 7 years, 1 month 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 | Annotate | Revision Log
OLDNEW
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"
11 #include "base/strings/string_tokenizer.h" 11 #include "base/strings/string_tokenizer.h"
12 #include "chrome/browser/browser_process.h" 12 #include "chrome/browser/browser_process.h"
13 #include "chrome/browser/content_settings/cookie_settings.h" 13 #include "chrome/browser/content_settings/cookie_settings.h"
14 #include "chrome/browser/extensions/blacklist.h" 14 #include "chrome/browser/extensions/blacklist.h"
15 #include "chrome/browser/extensions/component_loader.h" 15 #include "chrome/browser/extensions/component_loader.h"
16 #include "chrome/browser/extensions/error_console/error_console.h" 16 #include "chrome/browser/extensions/error_console/error_console.h"
17 #include "chrome/browser/extensions/event_router.h" 17 #include "chrome/browser/extensions/event_router.h"
18 #include "chrome/browser/extensions/extension_error_reporter.h" 18 #include "chrome/browser/extensions/extension_error_reporter.h"
19 #include "chrome/browser/extensions/extension_info_map.h" 19 #include "chrome/browser/extensions/extension_info_map.h"
20 #include "chrome/browser/extensions/extension_pref_store.h" 20 #include "chrome/browser/extensions/extension_pref_store.h"
21 #include "chrome/browser/extensions/extension_pref_value_map.h" 21 #include "chrome/browser/extensions/extension_pref_value_map.h"
22 #include "chrome/browser/extensions/extension_pref_value_map_factory.h" 22 #include "chrome/browser/extensions/extension_pref_value_map_factory.h"
23 #include "chrome/browser/extensions/extension_prefs.h" 23 #include "chrome/browser/extensions/extension_prefs.h"
24 #include "chrome/browser/extensions/extension_process_manager.h"
25 #include "chrome/browser/extensions/extension_service.h" 24 #include "chrome/browser/extensions/extension_service.h"
26 #include "chrome/browser/extensions/extension_system_factory.h" 25 #include "chrome/browser/extensions/extension_system_factory.h"
27 #include "chrome/browser/extensions/extension_util.h" 26 #include "chrome/browser/extensions/extension_util.h"
28 #include "chrome/browser/extensions/extension_warning_badge_service.h" 27 #include "chrome/browser/extensions/extension_warning_badge_service.h"
29 #include "chrome/browser/extensions/extension_warning_set.h" 28 #include "chrome/browser/extensions/extension_warning_set.h"
30 #include "chrome/browser/extensions/management_policy.h" 29 #include "chrome/browser/extensions/management_policy.h"
31 #include "chrome/browser/extensions/navigation_observer.h" 30 #include "chrome/browser/extensions/navigation_observer.h"
32 #include "chrome/browser/extensions/standard_management_policy_provider.h" 31 #include "chrome/browser/extensions/standard_management_policy_provider.h"
33 #include "chrome/browser/extensions/state_store.h" 32 #include "chrome/browser/extensions/state_store.h"
34 #include "chrome/browser/extensions/unpacked_installer.h" 33 #include "chrome/browser/extensions/unpacked_installer.h"
35 #include "chrome/browser/extensions/user_script_master.h" 34 #include "chrome/browser/extensions/user_script_master.h"
36 #include "chrome/browser/profiles/profile.h" 35 #include "chrome/browser/profiles/profile.h"
37 #include "chrome/browser/profiles/profile_manager.h" 36 #include "chrome/browser/profiles/profile_manager.h"
38 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" 37 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h"
39 #include "chrome/common/chrome_switches.h" 38 #include "chrome/common/chrome_switches.h"
40 #include "chrome/common/chrome_version_info.h" 39 #include "chrome/common/chrome_version_info.h"
41 #include "chrome/common/extensions/extension.h" 40 #include "chrome/common/extensions/extension.h"
42 #include "chrome/common/extensions/features/feature_channel.h" 41 #include "chrome/common/extensions/features/feature_channel.h"
43 #include "content/public/browser/browser_thread.h" 42 #include "content/public/browser/browser_thread.h"
44 #include "content/public/browser/url_data_source.h" 43 #include "content/public/browser/url_data_source.h"
45 #include "extensions/browser/lazy_background_task_queue.h" 44 #include "extensions/browser/lazy_background_task_queue.h"
45 #include "extensions/browser/process_manager.h"
46 #include "extensions/common/constants.h" 46 #include "extensions/common/constants.h"
47 #include "extensions/common/manifest.h" 47 #include "extensions/common/manifest.h"
48 48
49 #if defined(OS_CHROMEOS) 49 #if defined(OS_CHROMEOS)
50 #include "chrome/browser/app_mode/app_mode_utils.h" 50 #include "chrome/browser/app_mode/app_mode_utils.h"
51 #include "chrome/browser/chromeos/extensions/device_local_account_management_pol icy_provider.h" 51 #include "chrome/browser/chromeos/extensions/device_local_account_management_pol icy_provider.h"
52 #include "chrome/browser/chromeos/login/user.h" 52 #include "chrome/browser/chromeos/login/user.h"
53 #include "chrome/browser/chromeos/login/user_manager.h" 53 #include "chrome/browser/chromeos/login/user_manager.h"
54 #include "chrome/browser/chromeos/policy/device_local_account.h" 54 #include "chrome/browser/chromeos/policy/device_local_account.h"
55 #include "chromeos/chromeos_switches.h" 55 #include "chromeos/chromeos_switches.h"
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 300
301 // 301 //
302 // ExtensionSystemImpl 302 // ExtensionSystemImpl
303 // 303 //
304 304
305 ExtensionSystemImpl::ExtensionSystemImpl(Profile* profile) 305 ExtensionSystemImpl::ExtensionSystemImpl(Profile* profile)
306 : profile_(profile) { 306 : profile_(profile) {
307 shared_ = ExtensionSystemSharedFactory::GetForProfile(profile); 307 shared_ = ExtensionSystemSharedFactory::GetForProfile(profile);
308 308
309 if (profile->IsOffTheRecord()) { 309 if (profile->IsOffTheRecord()) {
310 extension_process_manager_.reset(ExtensionProcessManager::Create(profile)); 310 process_manager_.reset(ProcessManager::Create(profile));
311 } else { 311 } else {
312 shared_->InitPrefs(); 312 shared_->InitPrefs();
313 } 313 }
314 } 314 }
315 315
316 ExtensionSystemImpl::~ExtensionSystemImpl() { 316 ExtensionSystemImpl::~ExtensionSystemImpl() {
317 } 317 }
318 318
319 void ExtensionSystemImpl::Shutdown() { 319 void ExtensionSystemImpl::Shutdown() {
320 extension_process_manager_.reset(); 320 process_manager_.reset();
321 } 321 }
322 322
323 void ExtensionSystemImpl::InitForRegularProfile( 323 void ExtensionSystemImpl::InitForRegularProfile(
324 bool extensions_enabled, 324 bool extensions_enabled,
325 bool defer_background_creation) { 325 bool defer_background_creation) {
326 DCHECK(!profile_->IsOffTheRecord()); 326 DCHECK(!profile_->IsOffTheRecord());
327 if (user_script_master() || extension_service()) 327 if (user_script_master() || extension_service())
328 return; // Already initialized. 328 return; // Already initialized.
329 329
330 // The ExtensionInfoMap needs to be created before the 330 // The ExtensionInfoMap needs to be created before the ProcessManager.
331 // ExtensionProcessManager.
332 shared_->info_map(); 331 shared_->info_map();
333 332
334 extension_process_manager_.reset(ExtensionProcessManager::Create(profile_)); 333 process_manager_.reset(ProcessManager::Create(profile_));
335 334
336 extension_process_manager_->DeferBackgroundHostCreation( 335 process_manager_->DeferBackgroundHostCreation(
337 defer_background_creation); 336 defer_background_creation);
338 337
339 shared_->Init(extensions_enabled); 338 shared_->Init(extensions_enabled);
340 } 339 }
341 340
342 ExtensionService* ExtensionSystemImpl::extension_service() { 341 ExtensionService* ExtensionSystemImpl::extension_service() {
343 return shared_->extension_service(); 342 return shared_->extension_service();
344 } 343 }
345 344
346 ManagementPolicy* ExtensionSystemImpl::management_policy() { 345 ManagementPolicy* ExtensionSystemImpl::management_policy() {
347 return shared_->management_policy(); 346 return shared_->management_policy();
348 } 347 }
349 348
350 UserScriptMaster* ExtensionSystemImpl::user_script_master() { 349 UserScriptMaster* ExtensionSystemImpl::user_script_master() {
351 return shared_->user_script_master(); 350 return shared_->user_script_master();
352 } 351 }
353 352
354 ExtensionProcessManager* ExtensionSystemImpl::process_manager() { 353 ProcessManager* ExtensionSystemImpl::process_manager() {
355 return extension_process_manager_.get(); 354 return process_manager_.get();
356 } 355 }
357 356
358 StateStore* ExtensionSystemImpl::state_store() { 357 StateStore* ExtensionSystemImpl::state_store() {
359 return shared_->state_store(); 358 return shared_->state_store();
360 } 359 }
361 360
362 StateStore* ExtensionSystemImpl::rules_store() { 361 StateStore* ExtensionSystemImpl::rules_store() {
363 return shared_->rules_store(); 362 return shared_->rules_store();
364 } 363 }
365 364
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( 409 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts(
411 const std::string& extension_id, 410 const std::string& extension_id,
412 const UnloadedExtensionInfo::Reason reason) { 411 const UnloadedExtensionInfo::Reason reason) {
413 BrowserThread::PostTask( 412 BrowserThread::PostTask(
414 BrowserThread::IO, FROM_HERE, 413 BrowserThread::IO, FROM_HERE,
415 base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(), 414 base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(),
416 extension_id, reason)); 415 extension_id, reason));
417 } 416 }
418 417
419 } // namespace extensions 418 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_system.h ('k') | chrome/browser/extensions/extension_test_notification_observer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698