| Index: net/cookies/cookie_monster.cc
|
| diff --git a/net/cookies/cookie_monster.cc b/net/cookies/cookie_monster.cc
|
| index 7c2a14c6d60e96c3c41e6d8f4b1e0cf9e5fd76c5..e5a5ce594b83a8d34db29d1818ea9531b1f96665 100644
|
| --- a/net/cookies/cookie_monster.cc
|
| +++ b/net/cookies/cookie_monster.cc
|
| @@ -414,6 +414,7 @@ class CookieMonster::SetCookieWithDetailsTask : public CookieMonsterTask {
|
| const base::Time& expiration_time,
|
| bool secure,
|
| bool http_only,
|
| + bool first_party_only,
|
| CookiePriority priority,
|
| const SetCookiesCallback& callback)
|
| : CookieMonsterTask(cookie_monster),
|
| @@ -425,6 +426,7 @@ class CookieMonster::SetCookieWithDetailsTask : public CookieMonsterTask {
|
| expiration_time_(expiration_time),
|
| secure_(secure),
|
| http_only_(http_only),
|
| + first_party_only_(first_party_only),
|
| priority_(priority),
|
| callback_(callback) {}
|
|
|
| @@ -443,6 +445,7 @@ class CookieMonster::SetCookieWithDetailsTask : public CookieMonsterTask {
|
| base::Time expiration_time_;
|
| bool secure_;
|
| bool http_only_;
|
| + bool first_party_only_;
|
| CookiePriority priority_;
|
| SetCookiesCallback callback_;
|
|
|
| @@ -452,7 +455,7 @@ class CookieMonster::SetCookieWithDetailsTask : public CookieMonsterTask {
|
| void CookieMonster::SetCookieWithDetailsTask::Run() {
|
| bool success = this->cookie_monster()->SetCookieWithDetails(
|
| url_, name_, value_, domain_, path_, expiration_time_, secure_,
|
| - http_only_, priority_);
|
| + http_only_, first_party_only_, priority_);
|
| if (!callback_.is_null()) {
|
| this->InvokeCallback(base::Bind(&SetCookiesCallback::Run,
|
| base::Unretained(&callback_), success));
|
| @@ -884,11 +887,12 @@ void CookieMonster::SetCookieWithDetailsAsync(
|
| const Time& expiration_time,
|
| bool secure,
|
| bool http_only,
|
| + bool first_party_only,
|
| CookiePriority priority,
|
| const SetCookiesCallback& callback) {
|
| scoped_refptr<SetCookieWithDetailsTask> task = new SetCookieWithDetailsTask(
|
| this, url, name, value, domain, path, expiration_time, secure, http_only,
|
| - priority, callback);
|
| + first_party_only, priority, callback);
|
| DoCookieTaskForURL(task, url);
|
| }
|
|
|
| @@ -913,6 +917,7 @@ void CookieMonster::GetAllCookiesForURLAsync(
|
| const GetCookieListCallback& callback) {
|
| CookieOptions options;
|
| options.set_include_httponly();
|
| + options.set_include_first_party_only();
|
| scoped_refptr<GetAllCookiesForURLWithOptionsTask> task =
|
| new GetAllCookiesForURLWithOptionsTask(this, url, options, callback);
|
|
|
| @@ -1065,6 +1070,7 @@ bool CookieMonster::SetCookieWithDetails(const GURL& url,
|
| const base::Time& expiration_time,
|
| bool secure,
|
| bool http_only,
|
| + bool first_party_only,
|
| CookiePriority priority) {
|
| base::AutoLock autolock(lock_);
|
|
|
| @@ -1077,13 +1083,14 @@ bool CookieMonster::SetCookieWithDetails(const GURL& url,
|
| scoped_ptr<CanonicalCookie> cc;
|
| cc.reset(CanonicalCookie::Create(url, name, value, domain, path,
|
| creation_time, expiration_time, secure,
|
| - http_only, priority));
|
| + http_only, first_party_only, priority));
|
|
|
| if (!cc.get())
|
| return false;
|
|
|
| CookieOptions options;
|
| options.set_include_httponly();
|
| + options.set_include_first_party_only();
|
| return SetCanonicalCookie(&cc, creation_time, options);
|
| }
|
|
|
| @@ -1095,6 +1102,7 @@ bool CookieMonster::ImportCookies(const CookieList& list) {
|
| scoped_ptr<CanonicalCookie> cookie(new CanonicalCookie(*iter));
|
| net::CookieOptions options;
|
| options.set_include_httponly();
|
| + options.set_include_first_party_only();
|
| if (!SetCanonicalCookie(&cookie, cookie->CreationDate(), options))
|
| return false;
|
| }
|
| @@ -1153,6 +1161,7 @@ CookieList CookieMonster::GetAllCookiesForURLWithOptions(
|
| CookieList CookieMonster::GetAllCookiesForURL(const GURL& url) {
|
| CookieOptions options;
|
| options.set_include_httponly();
|
| + options.set_first_party_url(url);
|
|
|
| return GetAllCookiesForURLWithOptions(url, options);
|
| }
|
| @@ -1319,6 +1328,7 @@ void CookieMonster::DeleteCookie(const GURL& url,
|
|
|
| CookieOptions options;
|
| options.set_include_httponly();
|
| + options.set_include_first_party_only();
|
| // Get the cookies for this host and its domain(s).
|
| std::vector<CanonicalCookie*> cookies;
|
| FindCookiesForHostAndDomain(url, options, true, &cookies);
|
| @@ -2295,6 +2305,7 @@ void CookieMonster::RunCallbacks(const CanonicalCookie& cookie, bool removed) {
|
| lock_.AssertAcquired();
|
| CookieOptions opts;
|
| opts.set_include_httponly();
|
| + opts.set_include_first_party_only();
|
| // Note that the callbacks in hook_map_ are wrapped with MakeAsync(), so they
|
| // are guaranteed to not take long - they just post a RunAsync task back to
|
| // the appropriate thread's message loop and return. It is important that this
|
|
|