OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/content_settings/cookie_settings.h" | 5 #include "chrome/browser/content_settings/cookie_settings.h" |
6 | 6 |
7 #include "base/prefs/pref_service.h" | 7 #include "base/prefs/pref_service.h" |
8 #include "chrome/browser/chrome_notification_types.h" | 8 #include "chrome/browser/chrome_notification_types.h" |
9 #include "chrome/browser/content_settings/content_settings_utils.h" | 9 #include "chrome/browser/content_settings/content_settings_utils.h" |
10 #include "chrome/browser/content_settings/host_content_settings_map.h" | 10 #include "chrome/browser/content_settings/host_content_settings_map.h" |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 const GURL& url, | 176 const GURL& url, |
177 const GURL& first_party_url, | 177 const GURL& first_party_url, |
178 bool setting_cookie, | 178 bool setting_cookie, |
179 content_settings::SettingSource* source) const { | 179 content_settings::SettingSource* source) const { |
180 if (HostContentSettingsMap::ShouldAllowAllContent( | 180 if (HostContentSettingsMap::ShouldAllowAllContent( |
181 url, first_party_url, CONTENT_SETTINGS_TYPE_COOKIES)) | 181 url, first_party_url, CONTENT_SETTINGS_TYPE_COOKIES)) |
182 return CONTENT_SETTING_ALLOW; | 182 return CONTENT_SETTING_ALLOW; |
183 | 183 |
184 // First get any host-specific settings. | 184 // First get any host-specific settings. |
185 content_settings::SettingInfo info; | 185 content_settings::SettingInfo info; |
186 scoped_ptr<base::Value> value(host_content_settings_map_->GetWebsiteSetting( | 186 scoped_ptr<base::Value> value = host_content_settings_map_->GetWebsiteSetting( |
187 url, | 187 url, |
188 first_party_url, | 188 first_party_url, |
189 CONTENT_SETTINGS_TYPE_COOKIES, | 189 CONTENT_SETTINGS_TYPE_COOKIES, |
190 std::string(), | 190 std::string(), |
191 &info)); | 191 &info); |
192 if (source) | 192 if (source) |
193 *source = info.source; | 193 *source = info.source; |
194 | 194 |
195 // If no explicit exception has been made and third-party cookies are blocked | 195 // If no explicit exception has been made and third-party cookies are blocked |
196 // by default, apply that rule. | 196 // by default, apply that rule. |
197 if (info.primary_pattern.MatchesAllHosts() && | 197 if (info.primary_pattern.MatchesAllHosts() && |
198 info.secondary_pattern.MatchesAllHosts() && | 198 info.secondary_pattern.MatchesAllHosts() && |
199 ShouldBlockThirdPartyCookies() && | 199 ShouldBlockThirdPartyCookies() && |
200 !first_party_url.SchemeIs(extensions::kExtensionScheme)) { | 200 !first_party_url.SchemeIs(extensions::kExtensionScheme)) { |
201 net::StaticCookiePolicy policy( | 201 net::StaticCookiePolicy policy( |
(...skipping 20 matching lines...) Expand all Loading... |
222 | 222 |
223 base::AutoLock auto_lock(lock_); | 223 base::AutoLock auto_lock(lock_); |
224 block_third_party_cookies_ = pref_change_registrar_.prefs()->GetBoolean( | 224 block_third_party_cookies_ = pref_change_registrar_.prefs()->GetBoolean( |
225 prefs::kBlockThirdPartyCookies); | 225 prefs::kBlockThirdPartyCookies); |
226 } | 226 } |
227 | 227 |
228 bool CookieSettings::ShouldBlockThirdPartyCookies() const { | 228 bool CookieSettings::ShouldBlockThirdPartyCookies() const { |
229 base::AutoLock auto_lock(lock_); | 229 base::AutoLock auto_lock(lock_); |
230 return block_third_party_cookies_; | 230 return block_third_party_cookies_; |
231 } | 231 } |
OLD | NEW |