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

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

Issue 11359081: Lazy initialization for ProcessesEventRouter. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/string_tokenizer.h" 10 #include "base/string_tokenizer.h"
11 #include "chrome/browser/browser_process.h" 11 #include "chrome/browser/browser_process.h"
12 #include "chrome/browser/content_settings/cookie_settings.h" 12 #include "chrome/browser/content_settings/cookie_settings.h"
13 #include "chrome/browser/extensions/api/alarms/alarm_manager.h" 13 #include "chrome/browser/extensions/api/alarms/alarm_manager.h"
14 #include "chrome/browser/extensions/api/declarative/rules_registry_service.h" 14 #include "chrome/browser/extensions/api/declarative/rules_registry_service.h"
15 #include "chrome/browser/extensions/api/messaging/message_service.h" 15 #include "chrome/browser/extensions/api/messaging/message_service.h"
16 #include "chrome/browser/extensions/api/processes/processes_api_service.h"
16 #include "chrome/browser/extensions/component_loader.h" 17 #include "chrome/browser/extensions/component_loader.h"
17 #include "chrome/browser/extensions/event_router.h" 18 #include "chrome/browser/extensions/event_router.h"
18 #include "chrome/browser/extensions/extension_devtools_manager.h" 19 #include "chrome/browser/extensions/extension_devtools_manager.h"
19 #include "chrome/browser/extensions/extension_error_reporter.h" 20 #include "chrome/browser/extensions/extension_error_reporter.h"
20 #include "chrome/browser/extensions/extension_info_map.h" 21 #include "chrome/browser/extensions/extension_info_map.h"
21 #include "chrome/browser/extensions/extension_pref_store.h" 22 #include "chrome/browser/extensions/extension_pref_store.h"
22 #include "chrome/browser/extensions/extension_pref_value_map.h" 23 #include "chrome/browser/extensions/extension_pref_value_map.h"
23 #include "chrome/browser/extensions/extension_pref_value_map_factory.h" 24 #include "chrome/browser/extensions/extension_pref_value_map_factory.h"
24 #include "chrome/browser/extensions/extension_process_manager.h" 25 #include "chrome/browser/extensions/extension_process_manager.h"
25 #include "chrome/browser/extensions/extension_service.h" 26 #include "chrome/browser/extensions/extension_service.h"
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 lazy_background_task_queue_.reset(new LazyBackgroundTaskQueue(profile_)); 106 lazy_background_task_queue_.reset(new LazyBackgroundTaskQueue(profile_));
106 message_service_.reset(new MessageService(lazy_background_task_queue_.get())); 107 message_service_.reset(new MessageService(lazy_background_task_queue_.get()));
107 extension_event_router_.reset(new EventRouter(profile_, 108 extension_event_router_.reset(new EventRouter(profile_,
108 extension_prefs_.get())); 109 extension_prefs_.get()));
109 navigation_observer_.reset(new NavigationObserver(profile_)); 110 navigation_observer_.reset(new NavigationObserver(profile_));
110 111
111 ExtensionErrorReporter::Init(true); // allow noisy errors. 112 ExtensionErrorReporter::Init(true); // allow noisy errors.
112 113
113 user_script_master_ = new UserScriptMaster(profile_); 114 user_script_master_ = new UserScriptMaster(profile_);
114 115
116 // Initialize services that register with the event router.
117 // TODO(yoz): crbug.com/159265: This shouldn't be here, because of dependency
118 // issues, but unfortunately extension startup ordering is complicated.
119 ProcessesAPIService::Get(profile_);
120
115 bool autoupdate_enabled = true; 121 bool autoupdate_enabled = true;
116 #if defined(OS_CHROMEOS) 122 #if defined(OS_CHROMEOS)
117 if (!extensions_enabled) 123 if (!extensions_enabled)
118 autoupdate_enabled = false; 124 autoupdate_enabled = false;
119 else 125 else
120 autoupdate_enabled = !command_line->HasSwitch(switches::kGuestSession); 126 autoupdate_enabled = !command_line->HasSwitch(switches::kGuestSession);
121 #endif 127 #endif
122 extension_service_.reset(new ExtensionService( 128 extension_service_.reset(new ExtensionService(
123 profile_, 129 profile_,
124 CommandLine::ForCurrentProcess(), 130 CommandLine::ForCurrentProcess(),
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( 399 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts(
394 const std::string& extension_id, 400 const std::string& extension_id,
395 const extension_misc::UnloadedExtensionReason reason) { 401 const extension_misc::UnloadedExtensionReason reason) {
396 BrowserThread::PostTask( 402 BrowserThread::PostTask(
397 BrowserThread::IO, FROM_HERE, 403 BrowserThread::IO, FROM_HERE,
398 base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(), 404 base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(),
399 extension_id, reason)); 405 extension_id, reason));
400 } 406 }
401 407
402 } // namespace extensions 408 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698