| Index: chrome/browser/extensions/extension_content_settings_api.cc
|
| diff --git a/chrome/browser/extensions/extension_content_settings_api.cc b/chrome/browser/extensions/extension_content_settings_api.cc
|
| index b76024e6c056c08b04ecee1ecb09b3a3e19ef729..7dfac270a333e398c041c4a43c6cbfb0b5fe9182 100644
|
| --- a/chrome/browser/extensions/extension_content_settings_api.cc
|
| +++ b/chrome/browser/extensions/extension_content_settings_api.cc
|
| @@ -9,6 +9,8 @@
|
| #include "base/bind.h"
|
| #include "base/command_line.h"
|
| #include "base/values.h"
|
| +#include "chrome/browser/content_settings/cookie_settings.h"
|
| +#include "chrome/browser/content_settings/cookie_settings_factory.h"
|
| #include "chrome/browser/content_settings/host_content_settings_map.h"
|
| #include "chrome/browser/extensions/extension_content_settings_api_constants.h"
|
| #include "chrome/browser/extensions/extension_content_settings_helpers.h"
|
| @@ -128,6 +130,7 @@ bool GetContentSettingFunction::RunImpl() {
|
| }
|
|
|
| HostContentSettingsMap* map;
|
| + CookieSettings* cookie_settings;
|
| if (incognito) {
|
| if (!profile()->HasOffTheRecordProfile()) {
|
| // TODO(bauerb): Allow reading incognito content settings
|
| @@ -136,16 +139,25 @@ bool GetContentSettingFunction::RunImpl() {
|
| return false;
|
| }
|
| map = profile()->GetOffTheRecordProfile()->GetHostContentSettingsMap();
|
| + cookie_settings = CookieSettingsFactory::GetForProfile(
|
| + profile()->GetOffTheRecordProfile());
|
| } else {
|
| map = profile()->GetHostContentSettingsMap();
|
| + cookie_settings = CookieSettingsFactory::GetForProfile(profile());
|
| }
|
| + DCHECK(cookie_settings != NULL);
|
|
|
| ContentSetting setting;
|
| if (content_type == CONTENT_SETTINGS_TYPE_COOKIES) {
|
| // TODO(jochen): Do we return the value for setting or for reading cookies?
|
| - bool setting_cookie = false;
|
| - setting = map->GetCookieContentSetting(primary_url, secondary_url,
|
| - setting_cookie);
|
| + if (cookie_settings->IsReadingCookieAllowed(primary_url, secondary_url)) {
|
| + if (cookie_settings->IsCookieSessionOnly(primary_url))
|
| + setting = CONTENT_SETTING_SESSION_ONLY;
|
| + else
|
| + setting = CONTENT_SETTING_ALLOW;
|
| + } else {
|
| + setting = CONTENT_SETTING_BLOCK;
|
| + }
|
| } else {
|
| setting = map->GetContentSetting(primary_url, secondary_url, content_type,
|
| resource_identifier);
|
|
|