diff options
author | markusheintz@chromium.org <markusheintz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-17 16:13:14 +0000 |
---|---|---|
committer | markusheintz@chromium.org <markusheintz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-17 16:13:14 +0000 |
commit | e0c849dc5cb8883e4fb64e8637449282ee11545e (patch) | |
tree | 070d46bdb83e7d2cfedb953870306dad6b5d0954 /chrome/browser/content_settings/content_settings_default_provider.h | |
parent | 5656f8a3758a37f9bc64e395cad7445b0f38f0d2 (diff) | |
download | chromium_src-e0c849dc5cb8883e4fb64e8637449282ee11545e.zip chromium_src-e0c849dc5cb8883e4fb64e8637449282ee11545e.tar.gz chromium_src-e0c849dc5cb8883e4fb64e8637449282ee11545e.tar.bz2 |
Replace SetContentSetting method of the content_settings::Provider interface with GetWebsiteSetting.
This is part of a series of cleanup CLs to make all content settings Providers and the HostContentSetting map use only |Values| instead of |ContentSettings|. The HostContentSettingsMap should only contain conveniences methods that take |ContentSetting| parameters.
BUG=102637
TEST=HostContentSettingsMapTest*,
PrefProviderTest*,
PolicyProviderTest*,
DefaultProviderTest*,
ExtensionProviderTest*
Review URL: http://codereview.chromium.org/8539004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110500 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/content_settings/content_settings_default_provider.h')
-rw-r--r-- | chrome/browser/content_settings/content_settings_default_provider.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/chrome/browser/content_settings/content_settings_default_provider.h b/chrome/browser/content_settings/content_settings_default_provider.h index f9ddaff..94d9252 100644 --- a/chrome/browser/content_settings/content_settings_default_provider.h +++ b/chrome/browser/content_settings/content_settings_default_provider.h @@ -5,10 +5,12 @@ #ifndef CHROME_BROWSER_CONTENT_SETTINGS_CONTENT_SETTINGS_DEFAULT_PROVIDER_H_ #define CHROME_BROWSER_CONTENT_SETTINGS_CONTENT_SETTINGS_DEFAULT_PROVIDER_H_ +#include <map> #include <string> #include <vector> #include "base/basictypes.h" +#include "base/memory/linked_ptr.h" #include "base/synchronization/lock.h" #include "chrome/browser/content_settings/content_settings_observable_provider.h" #include "chrome/browser/prefs/pref_change_registrar.h" @@ -37,12 +39,12 @@ class DefaultProvider : public ObservableProvider, const ResourceIdentifier& resource_identifier, bool incognito) const OVERRIDE; - virtual void SetContentSetting( + virtual bool SetWebsiteSetting( const ContentSettingsPattern& primary_pattern, const ContentSettingsPattern& secondary_pattern, ContentSettingsType content_type, const ResourceIdentifier& resource_identifier, - ContentSetting content_setting) OVERRIDE; + Value* value) OVERRIDE; virtual void ClearAllContentSettingsRules( ContentSettingsType content_type) OVERRIDE; @@ -56,8 +58,7 @@ class DefaultProvider : public ObservableProvider, private: // Sets the fields of |settings| based on the values in |dictionary|. - void GetSettingsFromDictionary(const base::DictionaryValue* dictionary, - ContentSetting* settings); + void GetSettingsFromDictionary(const base::DictionaryValue* dictionary); // Forces the default settings to be explicitly set instead of themselves // being CONTENT_SETTING_DEFAULT. @@ -70,8 +71,10 @@ class DefaultProvider : public ObservableProvider, void MigrateObsoleteNotificationPref(); void MigrateObsoleteGeolocationPref(); + typedef linked_ptr<base::Value> ValuePtr; + typedef std::map<ContentSettingsType, ValuePtr> ValueMap; // Copies of the pref data, so that we can read it on the IO thread. - ContentSetting default_content_settings_[CONTENT_SETTINGS_NUM_TYPES]; + ValueMap default_settings_; PrefService* prefs_; |