diff options
Diffstat (limited to 'chrome/browser/cookie_modal_dialog.cc')
-rw-r--r-- | chrome/browser/cookie_modal_dialog.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/chrome/browser/cookie_modal_dialog.cc b/chrome/browser/cookie_modal_dialog.cc index 0135fad..ed86178 100644 --- a/chrome/browser/cookie_modal_dialog.cc +++ b/chrome/browser/cookie_modal_dialog.cc @@ -101,6 +101,11 @@ void CookiePromptModalDialog::AllowSiteData(bool remember, bool session_expire) { DCHECK(!remember || DecisionPersistable()); if (remember && DecisionPersistable()) { + // Make sure there is no entry that would override the pattern we are about + // to insert for exactly this URL. + host_content_settings_map_->SetContentSetting( + HostContentSettingsMap::Pattern::FromURLNoWildcard(origin_), + CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_DEFAULT); host_content_settings_map_->SetContentSetting( HostContentSettingsMap::Pattern::FromURL(origin_), CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_ALLOW); @@ -115,6 +120,11 @@ void CookiePromptModalDialog::AllowSiteData(bool remember, void CookiePromptModalDialog::BlockSiteData(bool remember) { DCHECK(!remember || DecisionPersistable()); if (remember && DecisionPersistable()) { + // Make sure there is no entry that would override the pattern we are about + // to insert for exactly this URL. + host_content_settings_map_->SetContentSetting( + HostContentSettingsMap::Pattern::FromURLNoWildcard(origin_), + CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_DEFAULT); host_content_settings_map_->SetContentSetting( HostContentSettingsMap::Pattern::FromURL(origin_), CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK); |