Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(85)

Side by Side Diff: net/cookies/canonical_cookie.cc

Issue 1411813003: Teach URLRequest about initiator checks for First-Party-Only cookies. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: test Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 // Portions of this code based on Mozilla: 5 // Portions of this code based on Mozilla:
6 // (netwerk/cookie/src/nsCookieService.cpp) 6 // (netwerk/cookie/src/nsCookieService.cpp)
7 /* ***** BEGIN LICENSE BLOCK ***** 7 /* ***** BEGIN LICENSE BLOCK *****
8 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 8 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
9 * 9 *
10 * The contents of this file are subject to the Mozilla Public License Version 10 * The contents of this file are subject to the Mozilla Public License Version
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 // insecure scheme. 383 // insecure scheme.
384 if (IsSecure() && !url.SchemeIsCryptographic()) 384 if (IsSecure() && !url.SchemeIsCryptographic())
385 return false; 385 return false;
386 // Don't include cookies for requests that don't apply to the cookie domain. 386 // Don't include cookies for requests that don't apply to the cookie domain.
387 if (!IsDomainMatch(url.host())) 387 if (!IsDomainMatch(url.host()))
388 return false; 388 return false;
389 // Don't include cookies for requests with a url path that does not path 389 // Don't include cookies for requests with a url path that does not path
390 // match the cookie-path. 390 // match the cookie-path.
391 if (!IsOnPath(url.path())) 391 if (!IsOnPath(url.path()))
392 return false; 392 return false;
393 393 // Don't include first-party-only cookies for non-first-party requests.
394 // Include first-party-only cookies if: 394 if (IsFirstPartyOnly() && !options.include_first_party_only())
395 //
396 // * |options| tells us to include all of them
397 // * a first-party origin is set, and they matches the origin of |url|
398 if (IsFirstPartyOnly() && !options.include_first_party_only() &&
399 !options.first_party().IsSameOriginWith(url::Origin(url))) {
400 return false; 395 return false;
401 }
402 396
403 return true; 397 return true;
404 } 398 }
405 399
406 std::string CanonicalCookie::DebugString() const { 400 std::string CanonicalCookie::DebugString() const {
407 return base::StringPrintf( 401 return base::StringPrintf(
408 "name: %s value: %s domain: %s path: %s creation: %" 402 "name: %s value: %s domain: %s path: %s creation: %"
409 PRId64, 403 PRId64,
410 name_.c_str(), value_.c_str(), 404 name_.c_str(), value_.c_str(),
411 domain_.c_str(), path_.c_str(), 405 domain_.c_str(), path_.c_str(),
(...skipping 29 matching lines...) Expand all
441 if (IsSecure() != other.IsSecure()) 435 if (IsSecure() != other.IsSecure())
442 return IsSecure(); 436 return IsSecure();
443 437
444 if (IsHttpOnly() != other.IsHttpOnly()) 438 if (IsHttpOnly() != other.IsHttpOnly())
445 return IsHttpOnly(); 439 return IsHttpOnly();
446 440
447 return Priority() < other.Priority(); 441 return Priority() < other.Priority();
448 } 442 }
449 443
450 } // namespace net 444 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698