Index: chrome/browser/extensions/api/preference/preference_api.cc |
diff --git a/chrome/browser/extensions/api/preference/preference_api.cc b/chrome/browser/extensions/api/preference/preference_api.cc |
index dd1ae43e9980693bf0091d357051982f6642ff73..a9645956cd2df0db7ecdef16a773c6a8ae7692a3 100644 |
--- a/chrome/browser/extensions/api/preference/preference_api.cc |
+++ b/chrome/browser/extensions/api/preference/preference_api.cc |
@@ -14,6 +14,7 @@ |
#include "base/strings/stringprintf.h" |
#include "base/values.h" |
#include "chrome/browser/chrome_notification_types.h" |
+#include "chrome/browser/extensions/api/content_settings/content_settings_service.h" |
#include "chrome/browser/extensions/api/preference/preference_api_constants.h" |
#include "chrome/browser/extensions/api/preference/preference_helpers.h" |
#include "chrome/browser/extensions/api/proxy/proxy_api.h" |
@@ -415,7 +416,7 @@ PreferenceAPI::PreferenceAPI(content::BrowserContext* context) |
ExtensionSystem::Get(profile_)->event_router()->RegisterObserver( |
this, event_name); |
} |
- extension_prefs()->content_settings_store()->AddObserver(this); |
+ content_settings_store()->AddObserver(this); |
} |
PreferenceAPI::~PreferenceAPI() { |
@@ -425,7 +426,7 @@ void PreferenceAPI::Shutdown() { |
ExtensionSystem::Get(profile_)->event_router()->UnregisterObserver(this); |
if (!extension_prefs()->extensions_disabled()) |
ClearIncognitoSessionOnlyContentSettings(); |
- extension_prefs()->content_settings_store()->RemoveObserver(this); |
+ content_settings_store()->RemoveObserver(this); |
} |
static base::LazyInstance<BrowserContextKeyedAPIFactory<PreferenceAPI> > |
@@ -453,13 +454,13 @@ void PreferenceAPI::OnContentSettingChanged(const std::string& extension_id, |
extension_prefs()->UpdateExtensionPref( |
extension_id, |
pref_names::kPrefIncognitoContentSettings, |
- extension_prefs()->content_settings_store()->GetSettingsForExtension( |
+ content_settings_store()->GetSettingsForExtension( |
extension_id, kExtensionPrefsScopeIncognitoPersistent)); |
} else { |
extension_prefs()->UpdateExtensionPref( |
extension_id, |
pref_names::kPrefContentSettings, |
- extension_prefs()->content_settings_store()->GetSettingsForExtension( |
+ content_settings_store()->GetSettingsForExtension( |
extension_id, kExtensionPrefsScopeRegular)); |
} |
} |
@@ -469,10 +470,8 @@ void PreferenceAPI::ClearIncognitoSessionOnlyContentSettings() { |
extension_prefs()->GetExtensions(&extension_ids); |
for (ExtensionIdList::iterator extension_id = extension_ids.begin(); |
extension_id != extension_ids.end(); ++extension_id) { |
- extension_prefs()->content_settings_store()-> |
- ClearContentSettingsForExtension( |
- *extension_id, |
- kExtensionPrefsScopeIncognitoSessionOnly); |
+ content_settings_store()->ClearContentSettingsForExtension( |
+ *extension_id, kExtensionPrefsScopeIncognitoSessionOnly); |
} |
} |
@@ -484,9 +483,14 @@ ExtensionPrefValueMap* PreferenceAPI::extension_pref_value_map() { |
return ExtensionPrefValueMapFactory::GetForBrowserContext(profile_); |
} |
+scoped_refptr<ContentSettingsStore> PreferenceAPI::content_settings_store() { |
+ return ContentSettingsService::Get(profile_)->content_settings_store(); |
+} |
+ |
template <> |
void |
BrowserContextKeyedAPIFactory<PreferenceAPI>::DeclareFactoryDependencies() { |
+ DependsOn(ContentSettingsService::GetFactoryInstance()); |
DependsOn(ExtensionPrefsFactory::GetInstance()); |
DependsOn(ExtensionPrefValueMapFactory::GetInstance()); |
DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory()); |