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

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

Issue 10545128: Unrevert r141537: Add extensions::StateStore and use that instead of (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix.crash Created 8 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/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/extensions/component_loader.h" 12 #include "chrome/browser/extensions/component_loader.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/alarms/alarm_manager.h" 14 #include "chrome/browser/extensions/api/alarms/alarm_manager.h"
15 #include "chrome/browser/extensions/api/declarative/rules_registry_service.h" 15 #include "chrome/browser/extensions/api/declarative/rules_registry_service.h"
16 #include "chrome/browser/extensions/extension_devtools_manager.h" 16 #include "chrome/browser/extensions/extension_devtools_manager.h"
17 #include "chrome/browser/extensions/extension_error_reporter.h" 17 #include "chrome/browser/extensions/extension_error_reporter.h"
18 #include "chrome/browser/extensions/extension_event_router.h" 18 #include "chrome/browser/extensions/extension_event_router.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_message_service.h" 20 #include "chrome/browser/extensions/extension_message_service.h"
21 #include "chrome/browser/extensions/extension_navigation_observer.h" 21 #include "chrome/browser/extensions/extension_navigation_observer.h"
22 #include "chrome/browser/extensions/extension_pref_store.h" 22 #include "chrome/browser/extensions/extension_pref_store.h"
23 #include "chrome/browser/extensions/extension_pref_value_map.h" 23 #include "chrome/browser/extensions/extension_pref_value_map.h"
24 #include "chrome/browser/extensions/extension_pref_value_map_factory.h" 24 #include "chrome/browser/extensions/extension_pref_value_map_factory.h"
25 #include "chrome/browser/extensions/extension_process_manager.h" 25 #include "chrome/browser/extensions/extension_process_manager.h"
26 #include "chrome/browser/extensions/extension_service.h" 26 #include "chrome/browser/extensions/extension_service.h"
27 #include "chrome/browser/extensions/extension_system_factory.h" 27 #include "chrome/browser/extensions/extension_system_factory.h"
28 #include "chrome/browser/extensions/lazy_background_task_queue.h" 28 #include "chrome/browser/extensions/lazy_background_task_queue.h"
29 #include "chrome/browser/extensions/management_policy.h" 29 #include "chrome/browser/extensions/management_policy.h"
30 #include "chrome/browser/extensions/state_store.h"
30 #include "chrome/browser/extensions/unpacked_installer.h" 31 #include "chrome/browser/extensions/unpacked_installer.h"
31 #include "chrome/browser/extensions/user_script_master.h" 32 #include "chrome/browser/extensions/user_script_master.h"
32 #include "chrome/browser/prefs/pref_service.h" 33 #include "chrome/browser/prefs/pref_service.h"
33 #include "chrome/browser/profiles/profile.h" 34 #include "chrome/browser/profiles/profile.h"
34 #include "chrome/browser/profiles/profile_manager.h" 35 #include "chrome/browser/profiles/profile_manager.h"
35 #include "chrome/browser/ui/webui/chrome_url_data_manager.h" 36 #include "chrome/browser/ui/webui/chrome_url_data_manager.h"
36 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" 37 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h"
37 #include "chrome/common/chrome_switches.h" 38 #include "chrome/common/chrome_switches.h"
38 #include "chrome/common/extensions/extension.h" 39 #include "chrome/common/extensions/extension.h"
39 #include "chrome/common/extensions/features/feature.h" 40 #include "chrome/common/extensions/features/feature.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 77
77 void ExtensionSystemImpl::Shared::InitPrefs() { 78 void ExtensionSystemImpl::Shared::InitPrefs() {
78 bool extensions_disabled = 79 bool extensions_disabled =
79 profile_->GetPrefs()->GetBoolean(prefs::kDisableExtensions) || 80 profile_->GetPrefs()->GetBoolean(prefs::kDisableExtensions) ||
80 CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableExtensions); 81 CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableExtensions);
81 extension_prefs_.reset(new ExtensionPrefs( 82 extension_prefs_.reset(new ExtensionPrefs(
82 profile_->GetPrefs(), 83 profile_->GetPrefs(),
83 profile_->GetPath().AppendASCII(ExtensionService::kInstallDirectoryName), 84 profile_->GetPath().AppendASCII(ExtensionService::kInstallDirectoryName),
84 ExtensionPrefValueMapFactory::GetForProfile(profile_))); 85 ExtensionPrefValueMapFactory::GetForProfile(profile_)));
85 extension_prefs_->Init(extensions_disabled); 86 extension_prefs_->Init(extensions_disabled);
87
88 state_store_.reset(new extensions::StateStore(
89 profile_,
90 profile_->GetPath().AppendASCII(ExtensionService::kStateStoreName)));
86 } 91 }
87 92
88 void ExtensionSystemImpl::Shared::RegisterManagementPolicyProviders() { 93 void ExtensionSystemImpl::Shared::RegisterManagementPolicyProviders() {
89 DCHECK(extension_prefs_.get()); 94 DCHECK(extension_prefs_.get());
90 management_policy_->RegisterProvider(extension_prefs_.get()); 95 management_policy_->RegisterProvider(extension_prefs_.get());
91 } 96 }
92 97
93 void ExtensionSystemImpl::Shared::InitInfoMap() { 98 void ExtensionSystemImpl::Shared::InitInfoMap() {
94 // The ExtensionInfoMap needs to be created before the 99 // The ExtensionInfoMap needs to be created before the
95 // ExtensionProcessManager. 100 // ExtensionProcessManager.
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 extension_service_->InitEventRoutersAfterImport(); 194 extension_service_->InitEventRoutersAfterImport();
190 } else { 195 } else {
191 extension_service_->InitEventRouters(); 196 extension_service_->InitEventRouters();
192 } 197 }
193 } 198 }
194 199
195 rules_registry_service_.reset(new extensions::RulesRegistryService(profile_)); 200 rules_registry_service_.reset(new extensions::RulesRegistryService(profile_));
196 rules_registry_service_->RegisterDefaultRulesRegistries(); 201 rules_registry_service_->RegisterDefaultRulesRegistries();
197 } 202 }
198 203
204 extensions::StateStore* ExtensionSystemImpl::Shared::state_store() {
205 return state_store_.get();
206 }
207
199 ExtensionService* ExtensionSystemImpl::Shared::extension_service() { 208 ExtensionService* ExtensionSystemImpl::Shared::extension_service() {
200 return extension_service_.get(); 209 return extension_service_.get();
201 } 210 }
202 211
203 extensions::ManagementPolicy* ExtensionSystemImpl::Shared::management_policy() { 212 extensions::ManagementPolicy* ExtensionSystemImpl::Shared::management_policy() {
204 return management_policy_.get(); 213 return management_policy_.get();
205 } 214 }
206 215
207 UserScriptMaster* ExtensionSystemImpl::Shared::user_script_master() { 216 UserScriptMaster* ExtensionSystemImpl::Shared::user_script_master() {
208 return user_script_master_.get(); 217 return user_script_master_.get();
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 } 300 }
292 301
293 ExtensionProcessManager* ExtensionSystemImpl::process_manager() { 302 ExtensionProcessManager* ExtensionSystemImpl::process_manager() {
294 return extension_process_manager_.get(); 303 return extension_process_manager_.get();
295 } 304 }
296 305
297 extensions::AlarmManager* ExtensionSystemImpl::alarm_manager() { 306 extensions::AlarmManager* ExtensionSystemImpl::alarm_manager() {
298 return alarm_manager_.get(); 307 return alarm_manager_.get();
299 } 308 }
300 309
310 extensions::StateStore* ExtensionSystemImpl::state_store() {
311 return shared_->state_store();
312 }
313
301 ExtensionInfoMap* ExtensionSystemImpl::info_map() { 314 ExtensionInfoMap* ExtensionSystemImpl::info_map() {
302 return shared_->info_map(); 315 return shared_->info_map();
303 } 316 }
304 317
305 extensions::LazyBackgroundTaskQueue* 318 extensions::LazyBackgroundTaskQueue*
306 ExtensionSystemImpl::lazy_background_task_queue() { 319 ExtensionSystemImpl::lazy_background_task_queue() {
307 return shared_->lazy_background_task_queue(); 320 return shared_->lazy_background_task_queue();
308 } 321 }
309 322
310 ExtensionMessageService* ExtensionSystemImpl::message_service() { 323 ExtensionMessageService* ExtensionSystemImpl::message_service() {
(...skipping 26 matching lines...) Expand all
337 } 350 }
338 351
339 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( 352 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts(
340 const std::string& extension_id, 353 const std::string& extension_id,
341 const extension_misc::UnloadedExtensionReason reason) { 354 const extension_misc::UnloadedExtensionReason reason) {
342 BrowserThread::PostTask( 355 BrowserThread::PostTask(
343 BrowserThread::IO, FROM_HERE, 356 BrowserThread::IO, FROM_HERE,
344 base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(), 357 base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(),
345 extension_id, reason)); 358 extension_id, reason));
346 } 359 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_system.h ('k') | chrome/browser/extensions/settings/settings_backend.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698