Chromium Code Reviews| 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( |