summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-19 09:29:02 +0000
committerbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-19 09:29:02 +0000
commitcbd426185e5893b46084922ea4c6c766cd94bc26 (patch)
tree30b0904baab77b0925f7b2f4c0a38a6aa22601b3 /chrome
parentc2751189951618b8a7b908d30083bb8a5efb7e52 (diff)
downloadchromium_src-cbd426185e5893b46084922ea4c6c766cd94bc26.zip
chromium_src-cbd426185e5893b46084922ea4c6c766cd94bc26.tar.gz
chromium_src-cbd426185e5893b46084922ea4c6c766cd94bc26.tar.bz2
Preparatory work for adding content exceptions from the tab cookie view.
Factor out HostContentSettingsMap::AddExceptionForURL() and add CookieTreeOriginNode::CreateContentException(). Review URL: http://codereview.chromium.org/2868059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52888 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/content_setting_bubble_model.cc12
-rw-r--r--chrome/browser/cookies_tree_model.cc7
-rw-r--r--chrome/browser/host_content_settings_map.cc12
-rw-r--r--chrome/browser/host_content_settings_map.h7
4 files changed, 28 insertions, 10 deletions
diff --git a/chrome/browser/content_setting_bubble_model.cc b/chrome/browser/content_setting_bubble_model.cc
index 6fc78e1..6d8b902 100644
--- a/chrome/browser/content_setting_bubble_model.cc
+++ b/chrome/browser/content_setting_bubble_model.cc
@@ -166,16 +166,8 @@ class ContentSettingSingleRadioGroup : public ContentSettingTitleAndLinkModel {
}
virtual void OnRadioClicked(int radio_index) {
- // Make sure there is no entry that would override the pattern we are about
- // to insert for exactly this URL.
- profile()->GetHostContentSettingsMap()->SetContentSetting(
- HostContentSettingsMap::Pattern::FromURLNoWildcard(
- bubble_content().radio_group.url),
- content_type(),
- CONTENT_SETTING_DEFAULT);
- profile()->GetHostContentSettingsMap()->SetContentSetting(
- HostContentSettingsMap::Pattern::FromURL(
- bubble_content().radio_group.url),
+ profile()->GetHostContentSettingsMap()->AddExceptionForURL(
+ bubble_content().radio_group.url,
content_type(),
radio_index == 0 ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK);
}
diff --git a/chrome/browser/cookies_tree_model.cc b/chrome/browser/cookies_tree_model.cc
index 239a36d..a51d2cb 100644
--- a/chrome/browser/cookies_tree_model.cc
+++ b/chrome/browser/cookies_tree_model.cc
@@ -237,6 +237,13 @@ CookieTreeAppCachesNode* CookieTreeOriginNode::GetOrCreateAppCachesNode() {
return appcaches_child_;
}
+void CookieTreeOriginNode::CreateContentException() {
+// profile_->GetHostContentSettingsMap()->AddExceptionForURL(
+// ,
+// CONTENT_,
+// radio_index == 0 ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK);
+}
+
///////////////////////////////////////////////////////////////////////////////
// CookieTreeCookiesNode, public:
diff --git a/chrome/browser/host_content_settings_map.cc b/chrome/browser/host_content_settings_map.cc
index 611b645..8742238 100644
--- a/chrome/browser/host_content_settings_map.cc
+++ b/chrome/browser/host_content_settings_map.cc
@@ -406,6 +406,18 @@ void HostContentSettingsMap::SetContentSetting(const Pattern& pattern,
NotifyObservers(ContentSettingsDetails(pattern));
}
+void HostContentSettingsMap::AddExceptionForURL(
+ const GURL& url,
+ ContentSettingsType content_type,
+ ContentSetting setting) {
+ // Make sure there is no entry that would override the pattern we are about
+ // to insert for exactly this URL.
+ SetContentSetting(Pattern::FromURLNoWildcard(url),
+ content_type,
+ CONTENT_SETTING_DEFAULT);
+ SetContentSetting(Pattern::FromURL(url), content_type, setting);
+}
+
void HostContentSettingsMap::ClearSettingsForOneType(
ContentSettingsType content_type) {
DCHECK(kTypeNames[content_type] != NULL); // Don't call this for Geolocation.
diff --git a/chrome/browser/host_content_settings_map.h b/chrome/browser/host_content_settings_map.h
index 876fa713..fc38afc 100644
--- a/chrome/browser/host_content_settings_map.h
+++ b/chrome/browser/host_content_settings_map.h
@@ -142,6 +142,13 @@ class HostContentSettingsMap
ContentSettingsType content_type,
ContentSetting setting);
+ // Convenience method to add a content setting for a given URL, making sure
+ // that there is no setting overriding it.
+ // This should only be called on the UI thread.
+ void AddExceptionForURL(const GURL& url,
+ ContentSettingsType content_type,
+ ContentSetting setting);
+
// Clears all host-specific settings for one content type.
//
// This should only be called on the UI thread.