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

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

Issue 16109003: Revert 202751 "Change RulesRegistryService to use ProfileKeyedAPI." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 6 months 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/api/declarative/rules_registry_service.h"
14 #include "chrome/browser/extensions/blacklist.h" 15 #include "chrome/browser/extensions/blacklist.h"
15 #include "chrome/browser/extensions/component_loader.h" 16 #include "chrome/browser/extensions/component_loader.h"
16 #include "chrome/browser/extensions/event_router.h" 17 #include "chrome/browser/extensions/event_router.h"
17 #include "chrome/browser/extensions/extension_error_reporter.h" 18 #include "chrome/browser/extensions/extension_error_reporter.h"
18 #include "chrome/browser/extensions/extension_info_map.h" 19 #include "chrome/browser/extensions/extension_info_map.h"
19 #include "chrome/browser/extensions/extension_pref_store.h" 20 #include "chrome/browser/extensions/extension_pref_store.h"
20 #include "chrome/browser/extensions/extension_pref_value_map.h" 21 #include "chrome/browser/extensions/extension_pref_value_map.h"
21 #include "chrome/browser/extensions/extension_pref_value_map_factory.h" 22 #include "chrome/browser/extensions/extension_pref_value_map_factory.h"
22 #include "chrome/browser/extensions/extension_prefs.h" 23 #include "chrome/browser/extensions/extension_prefs.h"
23 #include "chrome/browser/extensions/extension_process_manager.h" 24 #include "chrome/browser/extensions/extension_process_manager.h"
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 shared_ = ExtensionSystemSharedFactory::GetForProfile(profile); 281 shared_ = ExtensionSystemSharedFactory::GetForProfile(profile);
281 282
282 if (profile->IsOffTheRecord()) { 283 if (profile->IsOffTheRecord()) {
283 extension_process_manager_.reset(ExtensionProcessManager::Create(profile)); 284 extension_process_manager_.reset(ExtensionProcessManager::Create(profile));
284 } else { 285 } else {
285 shared_->InitPrefs(); 286 shared_->InitPrefs();
286 } 287 }
287 } 288 }
288 289
289 ExtensionSystemImpl::~ExtensionSystemImpl() { 290 ExtensionSystemImpl::~ExtensionSystemImpl() {
291 if (rules_registry_service_)
292 rules_registry_service_->Shutdown();
290 } 293 }
291 294
292 void ExtensionSystemImpl::Shutdown() { 295 void ExtensionSystemImpl::Shutdown() {
293 extension_process_manager_.reset(); 296 extension_process_manager_.reset();
294 } 297 }
295 298
296 void ExtensionSystemImpl::InitForRegularProfile(bool extensions_enabled) { 299 void ExtensionSystemImpl::InitForRegularProfile(bool extensions_enabled) {
297 DCHECK(!profile_->IsOffTheRecord()); 300 DCHECK(!profile_->IsOffTheRecord());
298 if (user_script_master() || extension_service()) 301 if (user_script_master() || extension_service())
299 return; // Already initialized. 302 return; // Already initialized.
300 303
301 // The ExtensionInfoMap needs to be created before the 304 // The ExtensionInfoMap needs to be created before the
302 // ExtensionProcessManager. 305 // ExtensionProcessManager.
303 shared_->info_map(); 306 shared_->info_map();
304 307
305 extension_process_manager_.reset(ExtensionProcessManager::Create(profile_)); 308 extension_process_manager_.reset(ExtensionProcessManager::Create(profile_));
306 309
307 serial_connection_manager_.reset(new ApiResourceManager<SerialConnection>( 310 serial_connection_manager_.reset(new ApiResourceManager<SerialConnection>(
308 BrowserThread::FILE)); 311 BrowserThread::FILE));
309 socket_manager_.reset(new ApiResourceManager<Socket>(BrowserThread::IO)); 312 socket_manager_.reset(new ApiResourceManager<Socket>(BrowserThread::IO));
310 usb_device_resource_manager_.reset( 313 usb_device_resource_manager_.reset(
311 new ApiResourceManager<UsbDeviceResource>(BrowserThread::IO)); 314 new ApiResourceManager<UsbDeviceResource>(BrowserThread::IO));
312 315
316 rules_registry_service_.reset(new RulesRegistryService(profile_));
317 rules_registry_service_->RegisterDefaultRulesRegistries();
318
313 shared_->Init(extensions_enabled); 319 shared_->Init(extensions_enabled);
314 } 320 }
315 321
322 void ExtensionSystemImpl::InitForOTRProfile() {
323 // Only initialize the RulesRegistryService of the OTR ExtensionSystem if the
324 // regular ExtensionSystem has been initialized properly, as we depend on it.
325 // Some ChromeOS browser tests don't initialize the regular ExtensionSystem
326 // in login-tests.
327 if (extension_service()) {
328 rules_registry_service_.reset(new RulesRegistryService(profile_));
329 rules_registry_service_->RegisterDefaultRulesRegistries();
330 }
331 }
332
316 ExtensionService* ExtensionSystemImpl::extension_service() { 333 ExtensionService* ExtensionSystemImpl::extension_service() {
317 return shared_->extension_service(); 334 return shared_->extension_service();
318 } 335 }
319 336
320 ManagementPolicy* ExtensionSystemImpl::management_policy() { 337 ManagementPolicy* ExtensionSystemImpl::management_policy() {
321 return shared_->management_policy(); 338 return shared_->management_policy();
322 } 339 }
323 340
324 UserScriptMaster* ExtensionSystemImpl::user_script_master() { 341 UserScriptMaster* ExtensionSystemImpl::user_script_master() {
325 return shared_->user_script_master(); 342 return shared_->user_script_master();
(...skipping 16 matching lines...) Expand all
342 } 359 }
343 360
344 LazyBackgroundTaskQueue* ExtensionSystemImpl::lazy_background_task_queue() { 361 LazyBackgroundTaskQueue* ExtensionSystemImpl::lazy_background_task_queue() {
345 return shared_->lazy_background_task_queue(); 362 return shared_->lazy_background_task_queue();
346 } 363 }
347 364
348 EventRouter* ExtensionSystemImpl::event_router() { 365 EventRouter* ExtensionSystemImpl::event_router() {
349 return shared_->event_router(); 366 return shared_->event_router();
350 } 367 }
351 368
369 RulesRegistryService* ExtensionSystemImpl::rules_registry_service() {
370 return rules_registry_service_.get();
371 }
372
352 ApiResourceManager<SerialConnection>* 373 ApiResourceManager<SerialConnection>*
353 ExtensionSystemImpl::serial_connection_manager() { 374 ExtensionSystemImpl::serial_connection_manager() {
354 return serial_connection_manager_.get(); 375 return serial_connection_manager_.get();
355 } 376 }
356 377
357 ApiResourceManager<Socket>* ExtensionSystemImpl::socket_manager() { 378 ApiResourceManager<Socket>* ExtensionSystemImpl::socket_manager() {
358 return socket_manager_.get(); 379 return socket_manager_.get();
359 } 380 }
360 381
361 ApiResourceManager<UsbDeviceResource>* 382 ApiResourceManager<UsbDeviceResource>*
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( 415 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts(
395 const std::string& extension_id, 416 const std::string& extension_id,
396 const extension_misc::UnloadedExtensionReason reason) { 417 const extension_misc::UnloadedExtensionReason reason) {
397 BrowserThread::PostTask( 418 BrowserThread::PostTask(
398 BrowserThread::IO, FROM_HERE, 419 BrowserThread::IO, FROM_HERE,
399 base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(), 420 base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(),
400 extension_id, reason)); 421 extension_id, reason));
401 } 422 }
402 423
403 } // namespace extensions 424 } // namespace extensions
OLDNEW
« no previous file with comments | « trunk/src/chrome/browser/extensions/extension_system.h ('k') | trunk/src/chrome/browser/extensions/tab_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698