Commit ac8abe0d authored by Lily Chen's avatar Lily Chen Committed by Commit Bot

Update some browsing_data tests to work with SameSite-by-default cookies

This change updates some tests in //content/browser/browsing_data and
//chrome/browser/browsing_data to work with SameSiteByDefaultCookies
and CookiesWithoutSameSiteMustBeSecure. In particular, since by default
cookies will be treated as SameSite=Lax, setting cookies requires a
CookieOptions object with an appropriate SameSite context. Also,
cookies with SameSite=None (NO_RESTRICTION) must also be Secure.

Bug: 1006816
Change-Id: I9fbc55bebe2455478392a21eb63994ba53467273
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1830286Reviewed-by: default avatarChristian Dullweber <dullweber@chromium.org>
Commit-Queue: Lily Chen <chlily@chromium.org>
Cr-Commit-Position: refs/heads/master@{#701525}
parent 6cd81cc7
...@@ -121,9 +121,11 @@ class BrowsingDataCookieHelperTest : public testing::Test { ...@@ -121,9 +121,11 @@ class BrowsingDataCookieHelperTest : public testing::Test {
network::mojom::CookieManager* cookie_manager = network::mojom::CookieManager* cookie_manager =
storage_partition()->GetCookieManagerForBrowserProcess(); storage_partition()->GetCookieManagerForBrowserProcess();
cookie_manager->SetCanonicalCookie(*cookie1, "https", net::CookieOptions(), cookie_manager->SetCanonicalCookie(*cookie1, "https",
net::CookieOptions::MakeAllInclusive(),
base::DoNothing()); base::DoNothing());
cookie_manager->SetCanonicalCookie(*cookie2, "https", net::CookieOptions(), cookie_manager->SetCanonicalCookie(*cookie2, "https",
net::CookieOptions::MakeAllInclusive(),
base::DoNothing()); base::DoNothing());
} }
...@@ -137,9 +139,11 @@ class BrowsingDataCookieHelperTest : public testing::Test { ...@@ -137,9 +139,11 @@ class BrowsingDataCookieHelperTest : public testing::Test {
network::mojom::CookieManager* cookie_manager = network::mojom::CookieManager* cookie_manager =
storage_partition()->GetCookieManagerForBrowserProcess(); storage_partition()->GetCookieManagerForBrowserProcess();
cookie_manager->SetCanonicalCookie(*cookie1, "https", net::CookieOptions(), cookie_manager->SetCanonicalCookie(*cookie1, "https",
net::CookieOptions::MakeAllInclusive(),
base::DoNothing()); base::DoNothing());
cookie_manager->SetCanonicalCookie(*cookie2, "https", net::CookieOptions(), cookie_manager->SetCanonicalCookie(*cookie2, "https",
net::CookieOptions::MakeAllInclusive(),
base::DoNothing()); base::DoNothing());
} }
......
...@@ -31,6 +31,7 @@ void CreateCookieForTest( ...@@ -31,6 +31,7 @@ void CreateCookieForTest(
const std::string& cookie_domain, const std::string& cookie_domain,
net::CookieSameSite same_site, net::CookieSameSite same_site,
net::CookieOptions::SameSiteCookieContext cookie_context, net::CookieOptions::SameSiteCookieContext cookie_context,
bool is_cookie_secure,
BrowserContext* browser_context) { BrowserContext* browser_context) {
base::RunLoop run_loop; base::RunLoop run_loop;
net::CookieOptions options; net::CookieOptions options;
...@@ -39,8 +40,9 @@ void CreateCookieForTest( ...@@ -39,8 +40,9 @@ void CreateCookieForTest(
GetCookieManager(browser_context) GetCookieManager(browser_context)
->SetCanonicalCookie( ->SetCanonicalCookie(
net::CanonicalCookie(cookie_name, "1", cookie_domain, "/", net::CanonicalCookie(cookie_name, "1", cookie_domain, "/",
base::Time(), base::Time(), base::Time(), false, base::Time(), base::Time(), base::Time(),
false, same_site, net::COOKIE_PRIORITY_LOW), is_cookie_secure, false, same_site,
net::COOKIE_PRIORITY_LOW),
"https", options, "https", options,
base::BindLambdaForTesting([&](CookieInclusionStatus result) { base::BindLambdaForTesting([&](CookieInclusionStatus result) {
result_out = result.IsInclude(); result_out = result.IsInclude();
......
...@@ -21,6 +21,7 @@ void CreateCookieForTest( ...@@ -21,6 +21,7 @@ void CreateCookieForTest(
const std::string& cookie_domain, const std::string& cookie_domain,
net::CookieSameSite same_site, net::CookieSameSite same_site,
net::CookieOptions::SameSiteCookieContext cookie_context, net::CookieOptions::SameSiteCookieContext cookie_context,
bool is_cookie_secure,
BrowserContext* browser_context); BrowserContext* browser_context);
std::vector<net::CanonicalCookie> GetAllCookies( std::vector<net::CanonicalCookie> GetAllCookies(
......
...@@ -176,7 +176,7 @@ class ClearSiteDataHandlerBrowserTest : public ContentBrowserTest { ...@@ -176,7 +176,7 @@ class ClearSiteDataHandlerBrowserTest : public ContentBrowserTest {
base::RunLoop run_loop; base::RunLoop run_loop;
cookie_manager->SetCanonicalCookie( cookie_manager->SetCanonicalCookie(
*cookie, url.scheme(), net::CookieOptions(), *cookie, url.scheme(), net::CookieOptions::MakeAllInclusive(),
base::BindOnce(&ClearSiteDataHandlerBrowserTest::AddCookieCallback, base::BindOnce(&ClearSiteDataHandlerBrowserTest::AddCookieCallback,
run_loop.QuitClosure())); run_loop.QuitClosure()));
run_loop.Run(); run_loop.Run();
......
...@@ -99,7 +99,7 @@ IN_PROC_BROWSER_TEST_F(SameSiteDataRemoverBrowserTest, ...@@ -99,7 +99,7 @@ IN_PROC_BROWSER_TEST_F(SameSiteDataRemoverBrowserTest,
CreateCookieForTest("TestCookie", "www.google.com", CreateCookieForTest("TestCookie", "www.google.com",
net::CookieSameSite::NO_RESTRICTION, net::CookieSameSite::NO_RESTRICTION,
net::CookieOptions::SameSiteCookieContext::CROSS_SITE, net::CookieOptions::SameSiteCookieContext::CROSS_SITE,
GetBrowserContext()); true /* is_cookie_secure */, GetBrowserContext());
browsing_data_browsertest_utils::AddServiceWorker( browsing_data_browsertest_utils::AddServiceWorker(
"www.google.com", storage_partition, GetHttpsServer()); "www.google.com", storage_partition, GetHttpsServer());
...@@ -122,7 +122,7 @@ IN_PROC_BROWSER_TEST_F(SameSiteDataRemoverBrowserTest, ...@@ -122,7 +122,7 @@ IN_PROC_BROWSER_TEST_F(SameSiteDataRemoverBrowserTest,
CreateCookieForTest("TestCookie", "www.google.com", CreateCookieForTest("TestCookie", "www.google.com",
net::CookieSameSite::NO_RESTRICTION, net::CookieSameSite::NO_RESTRICTION,
net::CookieOptions::SameSiteCookieContext::CROSS_SITE, net::CookieOptions::SameSiteCookieContext::CROSS_SITE,
GetBrowserContext()); true /* is_cookie_secure */, GetBrowserContext());
browsing_data_browsertest_utils::AddServiceWorker( browsing_data_browsertest_utils::AddServiceWorker(
"www.google.com", storage_partition, GetHttpsServer()); "www.google.com", storage_partition, GetHttpsServer());
......
...@@ -107,13 +107,14 @@ class SameSiteDataRemoverImplTest : public testing::Test { ...@@ -107,13 +107,14 @@ class SameSiteDataRemoverImplTest : public testing::Test {
TEST_F(SameSiteDataRemoverImplTest, TestRemoveSameSiteNoneCookies) { TEST_F(SameSiteDataRemoverImplTest, TestRemoveSameSiteNoneCookies) {
BrowserContext* browser_context = GetBrowserContext(); BrowserContext* browser_context = GetBrowserContext();
CreateCookieForTest( CreateCookieForTest("TestCookie1", "www.google.com",
"TestCookie1", "www.google.com", net::CookieSameSite::NO_RESTRICTION, net::CookieSameSite::NO_RESTRICTION,
net::CookieOptions::SameSiteCookieContext::CROSS_SITE, browser_context); net::CookieOptions::SameSiteCookieContext::CROSS_SITE,
true /* is_cookie_secure */, browser_context);
CreateCookieForTest("TestCookie2", "www.gmail.google.com", CreateCookieForTest("TestCookie2", "www.gmail.google.com",
net::CookieSameSite::NO_RESTRICTION, net::CookieSameSite::NO_RESTRICTION,
net::CookieOptions::SameSiteCookieContext::CROSS_SITE, net::CookieOptions::SameSiteCookieContext::CROSS_SITE,
browser_context); true /* is_cookie_secure */, browser_context);
DeleteSameSiteNoneCookies(); DeleteSameSiteNoneCookies();
...@@ -127,14 +128,15 @@ TEST_F(SameSiteDataRemoverImplTest, TestRemoveSameSiteNoneCookies) { ...@@ -127,14 +128,15 @@ TEST_F(SameSiteDataRemoverImplTest, TestRemoveSameSiteNoneCookies) {
TEST_F(SameSiteDataRemoverImplTest, TestRemoveOnlySameSiteNoneCookies) { TEST_F(SameSiteDataRemoverImplTest, TestRemoveOnlySameSiteNoneCookies) {
BrowserContext* browser_context = GetBrowserContext(); BrowserContext* browser_context = GetBrowserContext();
CreateCookieForTest( CreateCookieForTest("TestCookie1", "www.google.com",
"TestCookie1", "www.google.com", net::CookieSameSite::NO_RESTRICTION, net::CookieSameSite::NO_RESTRICTION,
net::CookieOptions::SameSiteCookieContext::CROSS_SITE, browser_context); net::CookieOptions::SameSiteCookieContext::CROSS_SITE,
true /* is_cookie_secure */, browser_context);
// The second cookie has SameSite value STRICT_MODE instead of NO_RESTRICTION. // The second cookie has SameSite value STRICT_MODE instead of NO_RESTRICTION.
CreateCookieForTest( CreateCookieForTest(
"TestCookie2", "www.gmail.google.com", net::CookieSameSite::STRICT_MODE, "TestCookie2", "www.gmail.google.com", net::CookieSameSite::STRICT_MODE,
net::CookieOptions::SameSiteCookieContext::SAME_SITE_STRICT, net::CookieOptions::SameSiteCookieContext::SAME_SITE_STRICT,
browser_context); true /* is_cookie_secure */, browser_context);
DeleteSameSiteNoneCookies(); DeleteSameSiteNoneCookies();
...@@ -149,15 +151,16 @@ TEST_F(SameSiteDataRemoverImplTest, TestRemoveOnlySameSiteNoneCookies) { ...@@ -149,15 +151,16 @@ TEST_F(SameSiteDataRemoverImplTest, TestRemoveOnlySameSiteNoneCookies) {
TEST_F(SameSiteDataRemoverImplTest, TestRemoveSameDomainCookies) { TEST_F(SameSiteDataRemoverImplTest, TestRemoveSameDomainCookies) {
BrowserContext* browser_context = GetBrowserContext(); BrowserContext* browser_context = GetBrowserContext();
CreateCookieForTest( CreateCookieForTest("TestCookie1", "www.google.com",
"TestCookie1", "www.google.com", net::CookieSameSite::NO_RESTRICTION, net::CookieSameSite::NO_RESTRICTION,
net::CookieOptions::SameSiteCookieContext::CROSS_SITE, browser_context); net::CookieOptions::SameSiteCookieContext::CROSS_SITE,
true /* is_cookie_secure */, browser_context);
// The second cookie has the same domain as the first cookie, but also has // The second cookie has the same domain as the first cookie, but also has
// SameSite value STRICT_MODE instead of NO_RESTRICTION. // SameSite value STRICT_MODE instead of NO_RESTRICTION.
CreateCookieForTest( CreateCookieForTest(
"TestCookie2", "www.google.com", net::CookieSameSite::STRICT_MODE, "TestCookie2", "www.google.com", net::CookieSameSite::STRICT_MODE,
net::CookieOptions::SameSiteCookieContext::SAME_SITE_STRICT, net::CookieOptions::SameSiteCookieContext::SAME_SITE_STRICT,
browser_context); false /* is_cookie_secure */, browser_context);
DeleteSameSiteNoneCookies(); DeleteSameSiteNoneCookies();
...@@ -175,11 +178,11 @@ TEST_F(SameSiteDataRemoverImplTest, TestKeepSameSiteCookies) { ...@@ -175,11 +178,11 @@ TEST_F(SameSiteDataRemoverImplTest, TestKeepSameSiteCookies) {
CreateCookieForTest("TestCookie1", "www.google.com", CreateCookieForTest("TestCookie1", "www.google.com",
net::CookieSameSite::LAX_MODE, net::CookieSameSite::LAX_MODE,
net::CookieOptions::SameSiteCookieContext::SAME_SITE_LAX, net::CookieOptions::SameSiteCookieContext::SAME_SITE_LAX,
browser_context); false /* is_cookie_secure */, browser_context);
CreateCookieForTest( CreateCookieForTest(
"TestCookie2", "www.gmail.google.com", net::CookieSameSite::STRICT_MODE, "TestCookie2", "www.gmail.google.com", net::CookieSameSite::STRICT_MODE,
net::CookieOptions::SameSiteCookieContext::SAME_SITE_STRICT, net::CookieOptions::SameSiteCookieContext::SAME_SITE_STRICT,
browser_context); false /* is_cookie_secure */, browser_context);
DeleteSameSiteNoneCookies(); DeleteSameSiteNoneCookies();
...@@ -202,7 +205,7 @@ TEST_F(SameSiteDataRemoverImplTest, TestCookieRemovalUnaffectedByParameters) { ...@@ -202,7 +205,7 @@ TEST_F(SameSiteDataRemoverImplTest, TestCookieRemovalUnaffectedByParameters) {
bool result_out = false; bool result_out = false;
cookie_manager->SetCanonicalCookie( cookie_manager->SetCanonicalCookie(
net::CanonicalCookie("TestCookie1", "20", "google.com", "/", net::CanonicalCookie("TestCookie1", "20", "google.com", "/",
base::Time::Now(), base::Time(), base::Time(), false, base::Time::Now(), base::Time(), base::Time(), true,
true, net::CookieSameSite::NO_RESTRICTION, true, net::CookieSameSite::NO_RESTRICTION,
net::COOKIE_PRIORITY_HIGH), net::COOKIE_PRIORITY_HIGH),
"https", options, "https", options,
...@@ -252,9 +255,10 @@ TEST_F(SameSiteDataRemoverImplTest, TestStoragePartitionDataRemoval) { ...@@ -252,9 +255,10 @@ TEST_F(SameSiteDataRemoverImplTest, TestStoragePartitionDataRemoval) {
GetSameSiteDataRemoverImpl()->OverrideStoragePartitionForTesting( GetSameSiteDataRemoverImpl()->OverrideStoragePartitionForTesting(
&storage_partition); &storage_partition);
CreateCookieForTest( CreateCookieForTest("TestCookie1", ".google.com",
"TestCookie1", ".google.com", net::CookieSameSite::NO_RESTRICTION, net::CookieSameSite::NO_RESTRICTION,
net::CookieOptions::SameSiteCookieContext::CROSS_SITE, browser_context); net::CookieOptions::SameSiteCookieContext::CROSS_SITE,
true /* is_cookie_secure */, browser_context);
DeleteSameSiteNoneCookies(); DeleteSameSiteNoneCookies();
ClearStoragePartitionData(); ClearStoragePartitionData();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment