| Index: net/extras/sqlite/sqlite_persistent_cookie_store_unittest.cc
|
| diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store_unittest.cc b/net/extras/sqlite/sqlite_persistent_cookie_store_unittest.cc
|
| index 2166be022a1fe061dc7a242dd4938a94e5606bde..8315d74e10e5b8c50fadb41267b5f3d97400455a 100644
|
| --- a/net/extras/sqlite/sqlite_persistent_cookie_store_unittest.cc
|
| +++ b/net/extras/sqlite/sqlite_persistent_cookie_store_unittest.cc
|
| @@ -168,9 +168,9 @@ class SQLitePersistentCookieStoreTest : public testing::Test {
|
| const std::string& domain,
|
| const std::string& path,
|
| const base::Time& creation) {
|
| - store_->AddCookie(CanonicalCookie(GURL(), name, value, domain, path,
|
| - creation, creation, creation, false,
|
| - false, false, COOKIE_PRIORITY_DEFAULT));
|
| + store_->AddCookie(CanonicalCookie(
|
| + GURL(), name, value, domain, path, creation, creation, creation, false,
|
| + false, CookieSameSite::DEFAULT_MODE, COOKIE_PRIORITY_DEFAULT));
|
| }
|
|
|
| void AddCookieWithExpiration(const std::string& name,
|
| @@ -179,9 +179,9 @@ class SQLitePersistentCookieStoreTest : public testing::Test {
|
| const std::string& path,
|
| const base::Time& creation,
|
| const base::Time& expiration) {
|
| - store_->AddCookie(CanonicalCookie(GURL(), name, value, domain, path,
|
| - creation, expiration, creation, false,
|
| - false, false, COOKIE_PRIORITY_DEFAULT));
|
| + store_->AddCookie(CanonicalCookie(
|
| + GURL(), name, value, domain, path, creation, expiration, creation,
|
| + false, false, CookieSameSite::DEFAULT_MODE, COOKIE_PRIORITY_DEFAULT));
|
| }
|
|
|
| std::string ReadRawDBContents() {
|
| @@ -442,10 +442,10 @@ TEST_F(SQLitePersistentCookieStoreTest, TestLoadOldSessionCookies) {
|
| InitializeStore(false, true);
|
|
|
| // Add a session cookie.
|
| - store_->AddCookie(CanonicalCookie(GURL(), "C", "D", "sessioncookie.com", "/",
|
| - base::Time::Now(), base::Time(),
|
| - base::Time::Now(), false, false, false,
|
| - COOKIE_PRIORITY_DEFAULT));
|
| + store_->AddCookie(CanonicalCookie(
|
| + GURL(), "C", "D", "sessioncookie.com", "/", base::Time::Now(),
|
| + base::Time(), base::Time::Now(), false, false,
|
| + CookieSameSite::DEFAULT_MODE, COOKIE_PRIORITY_DEFAULT));
|
|
|
| // Force the store to write its data to the disk.
|
| DestroyStore();
|
| @@ -469,10 +469,10 @@ TEST_F(SQLitePersistentCookieStoreTest, TestDontLoadOldSessionCookies) {
|
| InitializeStore(false, true);
|
|
|
| // Add a session cookie.
|
| - store_->AddCookie(CanonicalCookie(GURL(), "C", "D", "sessioncookie.com", "/",
|
| - base::Time::Now(), base::Time(),
|
| - base::Time::Now(), false, false, false,
|
| - COOKIE_PRIORITY_DEFAULT));
|
| + store_->AddCookie(CanonicalCookie(
|
| + GURL(), "C", "D", "sessioncookie.com", "/", base::Time::Now(),
|
| + base::Time(), base::Time::Now(), false, false,
|
| + CookieSameSite::DEFAULT_MODE, COOKIE_PRIORITY_DEFAULT));
|
|
|
| // Force the store to write its data to the disk.
|
| DestroyStore();
|
| @@ -499,16 +499,16 @@ TEST_F(SQLitePersistentCookieStoreTest, PersistIsPersistent) {
|
| static const char kPersistentName[] = "persistent";
|
|
|
| // Add a session cookie.
|
| - store_->AddCookie(CanonicalCookie(GURL(), kSessionName, "val",
|
| - "sessioncookie.com", "/", base::Time::Now(),
|
| - base::Time(), base::Time::Now(), false,
|
| - false, false, COOKIE_PRIORITY_DEFAULT));
|
| + store_->AddCookie(CanonicalCookie(
|
| + GURL(), kSessionName, "val", "sessioncookie.com", "/", base::Time::Now(),
|
| + base::Time(), base::Time::Now(), false, false,
|
| + CookieSameSite::DEFAULT_MODE, COOKIE_PRIORITY_DEFAULT));
|
| // Add a persistent cookie.
|
| store_->AddCookie(CanonicalCookie(
|
| GURL(), kPersistentName, "val", "sessioncookie.com", "/",
|
| base::Time::Now() - base::TimeDelta::FromDays(1),
|
| base::Time::Now() + base::TimeDelta::FromDays(1), base::Time::Now(),
|
| - false, false, false, COOKIE_PRIORITY_DEFAULT));
|
| + false, false, CookieSameSite::DEFAULT_MODE, COOKIE_PRIORITY_DEFAULT));
|
|
|
| // Force the store to write its data to the disk.
|
| DestroyStore();
|
| @@ -552,21 +552,21 @@ TEST_F(SQLitePersistentCookieStoreTest, PriorityIsPersistent) {
|
| GURL(), kLowName, kCookieValue, kCookieDomain, kCookiePath,
|
| base::Time::Now() - base::TimeDelta::FromMinutes(1),
|
| base::Time::Now() + base::TimeDelta::FromDays(1), base::Time::Now(),
|
| - false, false, false, COOKIE_PRIORITY_LOW));
|
| + false, false, CookieSameSite::DEFAULT_MODE, COOKIE_PRIORITY_LOW));
|
|
|
| // Add a medium-priority persistent cookie.
|
| store_->AddCookie(CanonicalCookie(
|
| GURL(), kMediumName, kCookieValue, kCookieDomain, kCookiePath,
|
| base::Time::Now() - base::TimeDelta::FromMinutes(2),
|
| base::Time::Now() + base::TimeDelta::FromDays(1), base::Time::Now(),
|
| - false, false, false, COOKIE_PRIORITY_MEDIUM));
|
| + false, false, CookieSameSite::DEFAULT_MODE, COOKIE_PRIORITY_MEDIUM));
|
|
|
| // Add a high-priority peristent cookie.
|
| store_->AddCookie(CanonicalCookie(
|
| GURL(), kHighName, kCookieValue, kCookieDomain, kCookiePath,
|
| base::Time::Now() - base::TimeDelta::FromMinutes(3),
|
| base::Time::Now() + base::TimeDelta::FromDays(1), base::Time::Now(),
|
| - false, false, false, COOKIE_PRIORITY_HIGH));
|
| + false, false, CookieSameSite::DEFAULT_MODE, COOKIE_PRIORITY_HIGH));
|
|
|
| // Force the store to write its data to the disk.
|
| DestroyStore();
|
| @@ -601,6 +601,64 @@ TEST_F(SQLitePersistentCookieStoreTest, PriorityIsPersistent) {
|
| STLDeleteElements(&cookies);
|
| }
|
|
|
| +TEST_F(SQLitePersistentCookieStoreTest, SameSiteIsPersistent) {
|
| + const char kNoneName[] = "none";
|
| + const char kLaxName[] = "lax";
|
| + const char kStrictName[] = "strict";
|
| + const char kCookieDomain[] = "sessioncookie.com";
|
| + const char kCookieValue[] = "value";
|
| + const char kCookiePath[] = "/";
|
| +
|
| + InitializeStore(false, true);
|
| +
|
| + // Add a non-samesite cookie.
|
| + store_->AddCookie(CanonicalCookie(
|
| + GURL(), kNoneName, kCookieValue, kCookieDomain, kCookiePath,
|
| + base::Time::Now() - base::TimeDelta::FromMinutes(1),
|
| + base::Time::Now() + base::TimeDelta::FromDays(1), base::Time::Now(),
|
| + false, false, CookieSameSite::NO_RESTRICTION, COOKIE_PRIORITY_DEFAULT));
|
| +
|
| + // Add a lax-samesite persistent cookie.
|
| + store_->AddCookie(CanonicalCookie(
|
| + GURL(), kLaxName, kCookieValue, kCookieDomain, kCookiePath,
|
| + base::Time::Now() - base::TimeDelta::FromMinutes(2),
|
| + base::Time::Now() + base::TimeDelta::FromDays(1), base::Time::Now(),
|
| + false, false, CookieSameSite::LAX_MODE, COOKIE_PRIORITY_DEFAULT));
|
| +
|
| + // Add a strict-samesite peristent cookie.
|
| + store_->AddCookie(CanonicalCookie(
|
| + GURL(), kStrictName, kCookieValue, kCookieDomain, kCookiePath,
|
| + base::Time::Now() - base::TimeDelta::FromMinutes(3),
|
| + base::Time::Now() + base::TimeDelta::FromDays(1), base::Time::Now(),
|
| + false, false, CookieSameSite::STRICT_MODE, COOKIE_PRIORITY_DEFAULT));
|
| +
|
| + // Force the store to write its data to the disk.
|
| + DestroyStore();
|
| +
|
| + // Create a store that loads session cookie and test that the priority
|
| + // attribute values are restored.
|
| + CanonicalCookieVector cookies;
|
| + CreateAndLoad(false, true, &cookies);
|
| + ASSERT_EQ(3U, cookies.size());
|
| +
|
| + // Put the cookies into a map, by name, for comparison below.
|
| + std::map<std::string, CanonicalCookie*> cookie_map;
|
| + for (const auto& cookie : cookies)
|
| + cookie_map[cookie->Name()] = cookie;
|
| +
|
| + // Validate that each cookie has the correct SameSite.
|
| + ASSERT_EQ(1u, cookie_map.count(kNoneName));
|
| + EXPECT_EQ(CookieSameSite::NO_RESTRICTION, cookie_map[kNoneName]->SameSite());
|
| +
|
| + ASSERT_EQ(1u, cookie_map.count(kLaxName));
|
| + EXPECT_EQ(CookieSameSite::LAX_MODE, cookie_map[kLaxName]->SameSite());
|
| +
|
| + ASSERT_EQ(1u, cookie_map.count(kStrictName));
|
| + EXPECT_EQ(CookieSameSite::STRICT_MODE, cookie_map[kStrictName]->SameSite());
|
| +
|
| + STLDeleteElements(&cookies);
|
| +}
|
| +
|
| TEST_F(SQLitePersistentCookieStoreTest, UpdateToEncryption) {
|
| CanonicalCookieVector cookies;
|
|
|
|
|