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

Side by Side Diff: net/cookies/cookie_store_unittest.h

Issue 1414603010: Treat exact domain match cookies on public suffixes as host cookies. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Test. Created 5 years, 1 month 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
« no previous file with comments | « net/cookies/canonical_cookie.cc ('k') | net/cookies/cookie_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef NET_COOKIES_COOKIE_STORE_UNITTEST_H_ 5 #ifndef NET_COOKIES_COOKIE_STORE_UNITTEST_H_
6 #define NET_COOKIES_COOKIE_STORE_UNITTEST_H_ 6 #define NET_COOKIES_COOKIE_STORE_UNITTEST_H_
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after
508 } 508 }
509 509
510 // Test host cookies, and setting of cookies on TLD. 510 // Test host cookies, and setting of cookies on TLD.
511 TYPED_TEST_P(CookieStoreTest, TestNonDottedAndTLD) { 511 TYPED_TEST_P(CookieStoreTest, TestNonDottedAndTLD) {
512 { 512 {
513 scoped_refptr<CookieStore> cs(this->GetCookieStore()); 513 scoped_refptr<CookieStore> cs(this->GetCookieStore());
514 GURL url("http://com/"); 514 GURL url("http://com/");
515 // Allow setting on "com", (but only as a host cookie). 515 // Allow setting on "com", (but only as a host cookie).
516 EXPECT_TRUE(this->SetCookie(cs.get(), url, "a=1")); 516 EXPECT_TRUE(this->SetCookie(cs.get(), url, "a=1"));
517 EXPECT_FALSE(this->SetCookie(cs.get(), url, "b=2; domain=.com")); 517 EXPECT_FALSE(this->SetCookie(cs.get(), url, "b=2; domain=.com"));
518 EXPECT_FALSE(this->SetCookie(cs.get(), url, "c=3; domain=com")); 518
519 this->MatchCookieLines("a=1", this->GetCookies(cs.get(), url)); 519 this->MatchCookieLines("a=1", this->GetCookies(cs.get(), url));
520 // Make sure it doesn't show up for a normal .com, it should be a host 520 // Make sure it doesn't show up for a normal .com, it should be a host
521 // not a domain cookie. 521 // not a domain cookie.
522 this->MatchCookieLines(
523 std::string(),
524 this->GetCookies(cs.get(), GURL("http://hopefully-no-cookies.com/")));
525 if (TypeParam::supports_non_dotted_domains) {
526 this->MatchCookieLines(std::string(),
527 this->GetCookies(cs.get(), GURL("http://.com/")));
528 }
529 }
530
531 {
532 // Exact matches between the domain attribute and the host are treated as
533 // host cookies, not domain cookies.
534 scoped_refptr<CookieStore> cs(this->GetCookieStore());
535 GURL url("http://com/");
536 EXPECT_TRUE(this->SetCookie(cs.get(), url, "a=1; domain=com"));
537
538 this->MatchCookieLines("a=1", this->GetCookies(cs.get(), url));
539 // Make sure it doesn't show up for a normal .com, it should be a host
540 // not a domain cookie.
522 this->MatchCookieLines( 541 this->MatchCookieLines(
523 std::string(), 542 std::string(),
524 this->GetCookies(cs.get(), GURL("http://hopefully-no-cookies.com/"))); 543 this->GetCookies(cs.get(), GURL("http://hopefully-no-cookies.com/")));
525 if (TypeParam::supports_non_dotted_domains) { 544 if (TypeParam::supports_non_dotted_domains) {
526 this->MatchCookieLines(std::string(), 545 this->MatchCookieLines(std::string(),
527 this->GetCookies(cs.get(), GURL("http://.com/"))); 546 this->GetCookies(cs.get(), GURL("http://.com/")));
528 } 547 }
529 } 548 }
530 549
531 { 550 {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 this->MatchCookieLines( 587 this->MatchCookieLines(
569 std::string(), 588 std::string(),
570 this->GetCookies(cs.get(), GURL("http://something-else.uk"))); 589 this->GetCookies(cs.get(), GURL("http://something-else.uk")));
571 } 590 }
572 591
573 { // Intranet URLs should only be able to set host cookies. 592 { // Intranet URLs should only be able to set host cookies.
574 scoped_refptr<CookieStore> cs(this->GetCookieStore()); 593 scoped_refptr<CookieStore> cs(this->GetCookieStore());
575 GURL url("http://b"); 594 GURL url("http://b");
576 EXPECT_TRUE(this->SetCookie(cs.get(), url, "a=1")); 595 EXPECT_TRUE(this->SetCookie(cs.get(), url, "a=1"));
577 EXPECT_FALSE(this->SetCookie(cs.get(), url, "b=2; domain=.b")); 596 EXPECT_FALSE(this->SetCookie(cs.get(), url, "b=2; domain=.b"));
578 EXPECT_FALSE(this->SetCookie(cs.get(), url, "c=3; domain=b"));
579 this->MatchCookieLines("a=1", this->GetCookies(cs.get(), url)); 597 this->MatchCookieLines("a=1", this->GetCookies(cs.get(), url));
580 } 598 }
599
600 {
601 // Exact matches between the domain attribute and an intranet host are
602 // treated as host cookies, not domain cookies.
603 scoped_refptr<CookieStore> cs(this->GetCookieStore());
604 GURL url("http://b/");
605 EXPECT_TRUE(this->SetCookie(cs.get(), url, "a=1; domain=b"));
606
607 this->MatchCookieLines("a=1", this->GetCookies(cs.get(), url));
608 // Make sure it doesn't show up for an intranet subdomain, it should be a
609 // host not a domain cookie.
610 this->MatchCookieLines(
611 std::string(),
612 this->GetCookies(cs.get(), GURL("http://hopefully-no-cookies.b/")));
613 if (TypeParam::supports_non_dotted_domains) {
614 this->MatchCookieLines(std::string(),
615 this->GetCookies(cs.get(), GURL("http://.b/")));
616 }
617 }
581 } 618 }
582 619
583 // Test reading/writing cookies when the domain ends with a period, 620 // Test reading/writing cookies when the domain ends with a period,
584 // as in "www.google.com." 621 // as in "www.google.com."
585 TYPED_TEST_P(CookieStoreTest, TestHostEndsWithDot) { 622 TYPED_TEST_P(CookieStoreTest, TestHostEndsWithDot) {
586 scoped_refptr<CookieStore> cs(this->GetCookieStore()); 623 scoped_refptr<CookieStore> cs(this->GetCookieStore());
587 GURL url("http://www.google.com"); 624 GURL url("http://www.google.com");
588 GURL url_with_dot("http://www.google.com."); 625 GURL url_with_dot("http://www.google.com.");
589 EXPECT_TRUE(this->SetCookie(cs.get(), url, "a=1")); 626 EXPECT_TRUE(this->SetCookie(cs.get(), url, "a=1"));
590 this->MatchCookieLines("a=1", this->GetCookies(cs.get(), url)); 627 this->MatchCookieLines("a=1", this->GetCookies(cs.get(), url));
(...skipping 651 matching lines...) Expand 10 before | Expand all | Expand 10 after
1242 REGISTER_TYPED_TEST_CASE_P(MultiThreadedCookieStoreTest, 1279 REGISTER_TYPED_TEST_CASE_P(MultiThreadedCookieStoreTest,
1243 ThreadCheckGetCookies, 1280 ThreadCheckGetCookies,
1244 ThreadCheckGetCookiesWithOptions, 1281 ThreadCheckGetCookiesWithOptions,
1245 ThreadCheckSetCookieWithOptions, 1282 ThreadCheckSetCookieWithOptions,
1246 ThreadCheckDeleteCookie, 1283 ThreadCheckDeleteCookie,
1247 ThreadCheckDeleteSessionCookies); 1284 ThreadCheckDeleteSessionCookies);
1248 1285
1249 } // namespace net 1286 } // namespace net
1250 1287
1251 #endif // NET_COOKIES_COOKIE_STORE_UNITTEST_H_ 1288 #endif // NET_COOKIES_COOKIE_STORE_UNITTEST_H_
OLDNEW
« no previous file with comments | « net/cookies/canonical_cookie.cc ('k') | net/cookies/cookie_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698