| 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());
|
|
|