| 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 ade048d89a01e0aeb9cf5c089a27b65519df075e..bcfc9f5d6fc3d2f14dedc92018735b3be81c79a8 100644
 | 
| --- a/chrome/browser/profiles/off_the_record_profile_impl.cc
 | 
| +++ b/chrome/browser/profiles/off_the_record_profile_impl.cc
 | 
| @@ -21,11 +21,13 @@
 | 
|  #include "chrome/browser/download/download_service_factory.h"
 | 
|  #include "chrome/browser/extensions/api/web_request/web_request_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_pref_value_map.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"
 | 
| @@ -85,8 +87,6 @@ OffTheRecordProfileImpl::OffTheRecordProfileImpl(Profile* real_profile)
 | 
|  }
 | 
|  
 | 
|  void OffTheRecordProfileImpl::Init() {
 | 
| -  extension_process_manager_.reset(ExtensionProcessManager::Create(this));
 | 
| -
 | 
|    ProfileDependencyManager::GetInstance()->CreateProfileServices(this, false);
 | 
|  
 | 
|    DCHECK_NE(IncognitoModePrefs::DISABLED,
 | 
| @@ -122,6 +122,13 @@ OffTheRecordProfileImpl::~OffTheRecordProfileImpl() {
 | 
|    ChromePluginServiceFilter::GetInstance()->UnregisterResourceContext(
 | 
|      io_data_.GetResourceContextNoInit());
 | 
|  
 | 
| +  ExtensionService* extension_service =
 | 
| +      ExtensionSystemFactory::GetForProfile(this)->extension_service();
 | 
| +  if (extension_service && extension_service->extensions_enabled()) {
 | 
| +    extension_service->extension_prefs()->
 | 
| +        ClearIncognitoSessionOnlyContentSettings();
 | 
| +  }
 | 
| +
 | 
|    ProfileDependencyManager::GetInstance()->DestroyProfileServices(this);
 | 
|  
 | 
|    BrowserThread::PostTask(
 | 
| @@ -134,12 +141,6 @@ OffTheRecordProfileImpl::~OffTheRecordProfileImpl() {
 | 
|    if (pref_proxy_config_tracker_.get())
 | 
|      pref_proxy_config_tracker_->DetachFromPrefService();
 | 
|  
 | 
| -  ExtensionService* extension_service = GetExtensionService();
 | 
| -  if (extension_service && extension_service->extensions_enabled()) {
 | 
| -    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();
 | 
| @@ -192,33 +193,25 @@ VisitedLinkMaster* OffTheRecordProfileImpl::GetVisitedLinkMaster() {
 | 
|    return NULL;
 | 
|  }
 | 
|  
 | 
| -ExtensionService* OffTheRecordProfileImpl::GetExtensionService() {
 | 
| -  return GetOriginalProfile()->GetExtensionService();
 | 
| +ExtensionPrefValueMap* OffTheRecordProfileImpl::GetExtensionPrefValueMap() {
 | 
| +  return NULL;
 | 
|  }
 | 
|  
 | 
| -UserScriptMaster* OffTheRecordProfileImpl::GetUserScriptMaster() {
 | 
| -  return GetOriginalProfile()->GetUserScriptMaster();
 | 
| +ExtensionService* OffTheRecordProfileImpl::GetExtensionService() {
 | 
| +  return ExtensionSystemFactory::GetForProfile(this)->extension_service();
 | 
|  }
 | 
|  
 | 
| -ExtensionDevToolsManager*
 | 
| -    OffTheRecordProfileImpl::GetExtensionDevToolsManager() {
 | 
| -  // TODO(mpcomplete): figure out whether we should return the original
 | 
| -  // profile's version.
 | 
| -  return NULL;
 | 
| +UserScriptMaster* OffTheRecordProfileImpl::GetUserScriptMaster() {
 | 
| +  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*
 | 
| @@ -226,10 +219,6 @@ ExtensionSpecialStoragePolicy*
 | 
|    return GetOriginalProfile()->GetExtensionSpecialStoragePolicy();
 | 
|  }
 | 
|  
 | 
| -LazyBackgroundTaskQueue* OffTheRecordProfileImpl::GetLazyBackgroundTaskQueue() {
 | 
| -  return GetOriginalProfile()->GetLazyBackgroundTaskQueue();
 | 
| -}
 | 
| -
 | 
|  GAIAInfoUpdateService* OffTheRecordProfileImpl::GetGAIAInfoUpdateService() {
 | 
|    return NULL;
 | 
|  }
 | 
| @@ -398,10 +387,6 @@ history::TopSites* OffTheRecordProfileImpl::GetTopSites() {
 | 
|  void OffTheRecordProfileImpl::MarkAsCleanShutdown() {
 | 
|  }
 | 
|  
 | 
| -void OffTheRecordProfileImpl::InitExtensions(bool extensions_enabled) {
 | 
| -  NOTREACHED();
 | 
| -}
 | 
| -
 | 
|  void OffTheRecordProfileImpl::InitPromoResources() {
 | 
|    NOTREACHED();
 | 
|  }
 | 
| @@ -439,10 +424,6 @@ void OffTheRecordProfileImpl::InitChromeOSPreferences() {
 | 
|  }
 | 
|  #endif  // defined(OS_CHROMEOS)
 | 
|  
 | 
| -ExtensionInfoMap* OffTheRecordProfileImpl::GetExtensionInfoMap() {
 | 
| -  return profile_->GetExtensionInfoMap();
 | 
| -}
 | 
| -
 | 
|  ChromeURLDataManager* OffTheRecordProfileImpl::GetChromeURLDataManager() {
 | 
|    if (!chrome_url_data_manager_.get())
 | 
|      chrome_url_data_manager_.reset(new ChromeURLDataManager(
 | 
| 
 |