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

Unified Diff: chrome/browser/profiles/off_the_record_profile_impl.cc

Issue 9369013: Take extensions out of Profile into a profile-keyed service, ExtensionSystem. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/profiles/off_the_record_profile_impl.cc
diff --git a/chrome/browser/profiles/off_the_record_profile_impl.cc b/chrome/browser/profiles/off_the_record_profile_impl.cc
index 09c63f15783a658ecb85cdcf4d2cf43f8a21f09f..9b9a2091289c817221f10d9ebc57e7e6f29c7cb7 100644
--- a/chrome/browser/profiles/off_the_record_profile_impl.cc
+++ b/chrome/browser/profiles/off_the_record_profile_impl.cc
@@ -21,11 +21,12 @@
#include "chrome/browser/download/download_service_factory.h"
#include "chrome/browser/extensions/api/webrequest/webrequest_api.h"
#include "chrome/browser/extensions/extension_info_map.h"
-#include "chrome/browser/extensions/extension_message_service.h"
#include "chrome/browser/extensions/extension_pref_store.h"
#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_special_storage_policy.h"
+#include "chrome/browser/extensions/extension_system.h"
+#include "chrome/browser/extensions/extension_system_factory.h"
#include "chrome/browser/io_thread.h"
#include "chrome/browser/net/proxy_service_factory.h"
#include "chrome/browser/plugin_prefs.h"
@@ -91,12 +92,13 @@ OffTheRecordProfileImpl::OffTheRecordProfileImpl(Profile* real_profile)
}
void OffTheRecordProfileImpl::Init() {
- extension_process_manager_.reset(ExtensionProcessManager::Create(this));
-
BrowserList::AddObserver(this);
ProfileDependencyManager::GetInstance()->CreateProfileServices(this, false);
+ // Make sure extension_process_manager is initialized.
+ ExtensionSystemFactory::GetForProfile(this);
+
DCHECK_NE(IncognitoModePrefs::DISABLED,
IncognitoModePrefs::GetAvailability(profile_->GetPrefs()));
@@ -128,6 +130,13 @@ OffTheRecordProfileImpl::~OffTheRecordProfileImpl() {
ChromePluginServiceFilter::GetInstance()->UnregisterResourceContext(
&io_data_.GetResourceContextNoInit());
+ ExtensionService* extension_service =
+ ExtensionSystemFactory::GetForProfile(this)->extension_service();
+ if (extension_service) {
+ extension_service->extension_prefs()->
+ ClearIncognitoSessionOnlyContentSettings();
+ }
+
ProfileDependencyManager::GetInstance()->DestroyProfileServices(this);
BrowserThread::PostTask(
@@ -150,12 +159,6 @@ OffTheRecordProfileImpl::~OffTheRecordProfileImpl() {
if (pref_proxy_config_tracker_.get())
pref_proxy_config_tracker_->DetachFromPrefService();
- ExtensionService* extension_service = GetExtensionService();
- if (extension_service) {
- ExtensionPrefs* extension_prefs = extension_service->extension_prefs();
- extension_prefs->ClearIncognitoSessionOnlyContentSettings();
- }
-
// Clears any data the network stack contains that may be related to the
// OTR session.
g_browser_process->io_thread()->ChangedToOnTheRecord();
@@ -209,32 +212,20 @@ VisitedLinkMaster* OffTheRecordProfileImpl::GetVisitedLinkMaster() {
}
ExtensionService* OffTheRecordProfileImpl::GetExtensionService() {
- return GetOriginalProfile()->GetExtensionService();
+ return ExtensionSystemFactory::GetForProfile(this)->extension_service();
Miranda Callahan 2012/02/09 22:10:04 see my comments in the regular profile_impl code;
}
UserScriptMaster* OffTheRecordProfileImpl::GetUserScriptMaster() {
- return GetOriginalProfile()->GetUserScriptMaster();
-}
-
-ExtensionDevToolsManager*
- OffTheRecordProfileImpl::GetExtensionDevToolsManager() {
- // TODO(mpcomplete): figure out whether we should return the original
- // profile's version.
- return NULL;
+ return ExtensionSystemFactory::GetForProfile(this)->user_script_master();
}
ExtensionProcessManager*
OffTheRecordProfileImpl::GetExtensionProcessManager() {
- return extension_process_manager_.get();
-}
-
-ExtensionMessageService*
- OffTheRecordProfileImpl::GetExtensionMessageService() {
- return GetOriginalProfile()->GetExtensionMessageService();
+ return ExtensionSystemFactory::GetForProfile(this)->process_manager();
}
ExtensionEventRouter* OffTheRecordProfileImpl::GetExtensionEventRouter() {
- return GetOriginalProfile()->GetExtensionEventRouter();
+ return ExtensionSystemFactory::GetForProfile(this)->event_router();
}
ExtensionSpecialStoragePolicy*
@@ -454,10 +445,6 @@ history::TopSites* OffTheRecordProfileImpl::GetTopSites() {
void OffTheRecordProfileImpl::MarkAsCleanShutdown() {
}
-void OffTheRecordProfileImpl::InitExtensions(bool extensions_enabled) {
- NOTREACHED();
-}
-
void OffTheRecordProfileImpl::InitPromoResources() {
NOTREACHED();
}
@@ -507,10 +494,6 @@ ChromeBlobStorageContext* OffTheRecordProfileImpl::GetBlobStorageContext() {
return blob_storage_context_;
}
-ExtensionInfoMap* OffTheRecordProfileImpl::GetExtensionInfoMap() {
- return profile_->GetExtensionInfoMap();
-}
-
ChromeURLDataManager* OffTheRecordProfileImpl::GetChromeURLDataManager() {
if (!chrome_url_data_manager_.get())
chrome_url_data_manager_.reset(new ChromeURLDataManager(

Powered by Google App Engine
This is Rietveld 408576698