Chromium Code Reviews| Index: chrome/browser/ui/content_settings/content_setting_bubble_model.cc |
| diff --git a/chrome/browser/ui/content_settings/content_setting_bubble_model.cc b/chrome/browser/ui/content_settings/content_setting_bubble_model.cc |
| index fa182726f2de3da0102fb1330db14ba591f6e745..9ed587263976789dc7c84a2240c837f695e6273b 100644 |
| --- a/chrome/browser/ui/content_settings/content_setting_bubble_model.cc |
| +++ b/chrome/browser/ui/content_settings/content_setting_bubble_model.cc |
| @@ -6,6 +6,7 @@ |
| #include "base/command_line.h" |
| #include "base/utf_string_conversions.h" |
| +#include "chrome/browser/content_settings/cookie_settings.h" |
| #include "chrome/browser/content_settings/host_content_settings_map.h" |
| #include "chrome/browser/content_settings/tab_specific_content_settings.h" |
| #include "chrome/browser/favicon/favicon_tab_helper.h" |
| @@ -253,14 +254,25 @@ class ContentSettingSingleRadioGroup |
| radio_group.radio_items.push_back(radio_allow_label); |
| radio_group.radio_items.push_back(radio_block_label); |
| HostContentSettingsMap* map = profile()->GetHostContentSettingsMap(); |
| - ContentSetting mostRestrictiveSetting; |
| + CookieSettings* cookie_settings = |
| + CookieSettings::GetForProfile(profile()); |
| + ContentSetting most_restrictive_setting; |
| if (resources.empty()) { |
| - mostRestrictiveSetting = |
| - content_type() == CONTENT_SETTINGS_TYPE_COOKIES ? |
| - map->GetCookieContentSetting(url, url, true) : |
| - map->GetContentSetting(url, url, content_type(), std::string()); |
| + if (content_type() == CONTENT_SETTINGS_TYPE_COOKIES) { |
| + if (cookie_settings->IsSettingCookieAllowed(url, url)) { |
|
Bernhard Bauer
2011/09/05 11:05:38
You could add a method GetCookieSetting to CookieS
marja
2011/09/06 08:30:15
Hmm, it's like exposing the private CookieSettings
|
| + if (cookie_settings->IsCookieSessionOnly(url)) |
| + most_restrictive_setting = CONTENT_SETTING_SESSION_ONLY; |
| + else |
| + most_restrictive_setting = CONTENT_SETTING_ALLOW; |
| + } else { |
| + most_restrictive_setting = CONTENT_SETTING_BLOCK; |
| + } |
| + } else { |
| + most_restrictive_setting = |
| + map->GetContentSetting(url, url, content_type(), std::string()); |
| + } |
| } else { |
| - mostRestrictiveSetting = CONTENT_SETTING_ALLOW; |
| + most_restrictive_setting = CONTENT_SETTING_ALLOW; |
| for (std::set<std::string>::const_iterator it = resources.begin(); |
| it != resources.end(); ++it) { |
| ContentSetting setting = map->GetContentSetting(url, |
| @@ -268,19 +280,19 @@ class ContentSettingSingleRadioGroup |
| content_type(), |
| *it); |
| if (setting == CONTENT_SETTING_BLOCK) { |
| - mostRestrictiveSetting = CONTENT_SETTING_BLOCK; |
| + most_restrictive_setting = CONTENT_SETTING_BLOCK; |
| break; |
| } |
| if (setting == CONTENT_SETTING_ASK) |
| - mostRestrictiveSetting = CONTENT_SETTING_ASK; |
| + most_restrictive_setting = CONTENT_SETTING_ASK; |
| } |
| } |
| - if (mostRestrictiveSetting == CONTENT_SETTING_ALLOW) { |
| + if (most_restrictive_setting == CONTENT_SETTING_ALLOW) { |
| radio_group.default_item = 0; |
| // |block_setting_| is already set to |CONTENT_SETTING_BLOCK|. |
| } else { |
| radio_group.default_item = 1; |
| - block_setting_ = mostRestrictiveSetting; |
| + block_setting_ = most_restrictive_setting; |
| } |
| selected_item_ = radio_group.default_item; |
| set_radio_group(radio_group); |