summaryrefslogtreecommitdiffstats
path: root/chrome/browser/content_settings/content_settings_default_provider.h
diff options
context:
space:
mode:
authormarkusheintz@chromium.org <markusheintz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-17 16:13:14 +0000
committermarkusheintz@chromium.org <markusheintz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-17 16:13:14 +0000
commite0c849dc5cb8883e4fb64e8637449282ee11545e (patch)
tree070d46bdb83e7d2cfedb953870306dad6b5d0954 /chrome/browser/content_settings/content_settings_default_provider.h
parent5656f8a3758a37f9bc64e395cad7445b0f38f0d2 (diff)
downloadchromium_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.h13
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_;