Commit 9ece768c authored by Joshua Bell's avatar Joshua Bell Committed by Commit Bot

Browsing Data: Add Incognito deletion tests

Add test variants to ensure that various storage types are deleted
via the browsing data remover code in Incognito sessions.

Bug: 876659
Change-Id: Iad59adf8e7b07e2261257f2fbbfb43b3e31c5851
Reviewed-on: https://chromium-review.googlesource.com/c/1285071Reviewed-by: default avatarChristian Dullweber <dullweber@chromium.org>
Commit-Queue: Joshua Bell <jsbell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600395}
parent 1616d16a
...@@ -79,6 +79,15 @@ void BrowsingDataDatabaseHelper::StartFetching(FetchCallback callback) { ...@@ -79,6 +79,15 @@ void BrowsingDataDatabaseHelper::StartFetching(FetchCallback callback) {
identifier, base::UTF16ToUTF8(db), identifier, base::UTF16ToUTF8(db),
base::UTF16ToUTF8(origin.GetDatabaseDescription(db)), base::UTF16ToUTF8(origin.GetDatabaseDescription(db)),
file_info.size, file_info.last_modified)); file_info.size, file_info.last_modified));
} else {
// This is an incognito database, so the file is not
// accessible. This browsing data record will not be
// user-visible, but is enumerated by test code, so produce
// a dummy record for testing.
result.push_back(DatabaseInfo(
identifier, base::UTF16ToUTF8(db),
base::UTF16ToUTF8(origin.GetDatabaseDescription(db)), 0,
base::Time()));
} }
} }
} }
......
...@@ -249,6 +249,16 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest { ...@@ -249,6 +249,16 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest {
{}); {});
} }
// Call to use an Incognito browser rather than the default.
void UseIncognitoBrowser() {
ASSERT_EQ(nullptr, incognito_browser_);
incognito_browser_ = CreateIncognitoBrowser();
}
Browser* GetBrowser() const {
return incognito_browser_ ? incognito_browser_ : browser();
}
void SetUpOnMainThread() override { void SetUpOnMainThread() override {
base::FilePath path; base::FilePath path;
base::PathService::Get(content::DIR_TEST_DATA, &path); base::PathService::Get(content::DIR_TEST_DATA, &path);
...@@ -261,20 +271,22 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest { ...@@ -261,20 +271,22 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest {
const std::string& result) { const std::string& result) {
std::string data; std::string data;
ASSERT_TRUE(content::ExecuteScriptAndExtractString( ASSERT_TRUE(content::ExecuteScriptAndExtractString(
browser()->tab_strip_model()->GetActiveWebContents(), script, &data)); GetBrowser()->tab_strip_model()->GetActiveWebContents(), script,
&data));
ASSERT_EQ(data, result); ASSERT_EQ(data, result);
} }
bool RunScriptAndGetBool(const std::string& script) { bool RunScriptAndGetBool(const std::string& script) {
bool data; bool data;
EXPECT_TRUE(content::ExecuteScriptAndExtractBool( EXPECT_TRUE(content::ExecuteScriptAndExtractBool(
browser()->tab_strip_model()->GetActiveWebContents(), script, &data)); GetBrowser()->tab_strip_model()->GetActiveWebContents(), script,
&data));
return data; return data;
} }
void VerifyDownloadCount(size_t expected) { void VerifyDownloadCount(size_t expected) {
content::DownloadManager* download_manager = content::DownloadManager* download_manager =
content::BrowserContext::GetDownloadManager(browser()->profile()); content::BrowserContext::GetDownloadManager(GetBrowser()->profile());
std::vector<download::DownloadItem*> downloads; std::vector<download::DownloadItem*> downloads;
download_manager->GetAllDownloads(&downloads); download_manager->GetAllDownloads(&downloads);
EXPECT_EQ(expected, downloads.size()); EXPECT_EQ(expected, downloads.size());
...@@ -283,7 +295,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest { ...@@ -283,7 +295,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest {
void DownloadAnItem() { void DownloadAnItem() {
// Start a download. // Start a download.
content::DownloadManager* download_manager = content::DownloadManager* download_manager =
content::BrowserContext::GetDownloadManager(browser()->profile()); content::BrowserContext::GetDownloadManager(GetBrowser()->profile());
std::unique_ptr<content::DownloadTestObserver> observer( std::unique_ptr<content::DownloadTestObserver> observer(
new content::DownloadTestObserverTerminal( new content::DownloadTestObserverTerminal(
download_manager, 1, download_manager, 1,
...@@ -292,7 +304,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest { ...@@ -292,7 +304,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest {
GURL download_url = ui_test_utils::GetTestUrl( GURL download_url = ui_test_utils::GetTestUrl(
base::FilePath().AppendASCII("downloads"), base::FilePath().AppendASCII("downloads"),
base::FilePath().AppendASCII("a_zip_file.zip")); base::FilePath().AppendASCII("a_zip_file.zip"));
ui_test_utils::NavigateToURL(browser(), download_url); ui_test_utils::NavigateToURL(GetBrowser(), download_url);
observer->WaitForFinished(); observer->WaitForFinished();
VerifyDownloadCount(1u); VerifyDownloadCount(1u);
...@@ -304,7 +316,8 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest { ...@@ -304,7 +316,8 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest {
void RemoveAndWait(int remove_mask, base::Time delete_begin) { void RemoveAndWait(int remove_mask, base::Time delete_begin) {
content::BrowsingDataRemover* remover = content::BrowsingDataRemover* remover =
content::BrowserContext::GetBrowsingDataRemover(browser()->profile()); content::BrowserContext::GetBrowsingDataRemover(
GetBrowser()->profile());
content::BrowsingDataRemoverCompletionObserver completion_observer(remover); content::BrowsingDataRemoverCompletionObserver completion_observer(remover);
remover->RemoveAndReply( remover->RemoveAndReply(
delete_begin, base::Time::Max(), remove_mask, delete_begin, base::Time::Max(), remove_mask,
...@@ -317,7 +330,8 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest { ...@@ -317,7 +330,8 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest {
int remove_mask, int remove_mask,
std::unique_ptr<BrowsingDataFilterBuilder> filter_builder) { std::unique_ptr<BrowsingDataFilterBuilder> filter_builder) {
content::BrowsingDataRemover* remover = content::BrowsingDataRemover* remover =
content::BrowserContext::GetBrowsingDataRemover(browser()->profile()); content::BrowserContext::GetBrowsingDataRemover(
GetBrowser()->profile());
content::BrowsingDataRemoverCompletionObserver completion_observer(remover); content::BrowsingDataRemoverCompletionObserver completion_observer(remover);
remover->RemoveWithFilterAndReply( remover->RemoveWithFilterAndReply(
base::Time(), base::Time::Max(), remove_mask, base::Time(), base::Time::Max(), remove_mask,
...@@ -332,7 +346,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest { ...@@ -332,7 +346,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest {
void TestSiteData(const std::string& type, base::Time delete_begin) { void TestSiteData(const std::string& type, base::Time delete_begin) {
EXPECT_EQ(0, GetSiteDataCount()); EXPECT_EQ(0, GetSiteDataCount());
GURL url = embedded_test_server()->GetURL("/browsing_data/site_data.html"); GURL url = embedded_test_server()->GetURL("/browsing_data/site_data.html");
ui_test_utils::NavigateToURL(browser(), url); ui_test_utils::NavigateToURL(GetBrowser(), url);
EXPECT_EQ(0, GetSiteDataCount()); EXPECT_EQ(0, GetSiteDataCount());
ExpectCookieTreeModelCount(0); ExpectCookieTreeModelCount(0);
...@@ -356,7 +370,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest { ...@@ -356,7 +370,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest {
EXPECT_EQ(0, GetSiteDataCount()); EXPECT_EQ(0, GetSiteDataCount());
ExpectCookieTreeModelCount(0); ExpectCookieTreeModelCount(0);
GURL url = embedded_test_server()->GetURL("/browsing_data/site_data.html"); GURL url = embedded_test_server()->GetURL("/browsing_data/site_data.html");
ui_test_utils::NavigateToURL(browser(), url); ui_test_utils::NavigateToURL(GetBrowser(), url);
EXPECT_EQ(0, GetSiteDataCount()); EXPECT_EQ(0, GetSiteDataCount());
ExpectCookieTreeModelCount(0); ExpectCookieTreeModelCount(0);
// Opening a store of this type creates a site data entry. // Opening a store of this type creates a site data entry.
...@@ -382,7 +396,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest { ...@@ -382,7 +396,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest {
int GetSiteDataCount() { int GetSiteDataCount() {
base::RunLoop run_loop; base::RunLoop run_loop;
int count = -1; int count = -1;
(new SiteDataCountingHelper(browser()->profile(), base::Time(), (new SiteDataCountingHelper(GetBrowser()->profile(), base::Time(),
base::BindLambdaForTesting([&](int c) { base::BindLambdaForTesting([&](int c) {
count = c; count = c;
run_loop.Quit(); run_loop.Quit();
...@@ -410,7 +424,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest { ...@@ -410,7 +424,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest {
network::mojom::NetworkContext* network_context() const { network::mojom::NetworkContext* network_context() const {
return content::BrowserContext::GetDefaultStoragePartition( return content::BrowserContext::GetDefaultStoragePartition(
browser()->profile()) GetBrowser()->profile())
->GetNetworkContext(); ->GetNetworkContext();
} }
...@@ -430,7 +444,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest { ...@@ -430,7 +444,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest {
} }
std::unique_ptr<CookiesTreeModel> GetCookiesTreeModel() { std::unique_ptr<CookiesTreeModel> GetCookiesTreeModel() {
Profile* profile = browser()->profile(); Profile* profile = GetBrowser()->profile();
content::StoragePartition* storage_partition = content::StoragePartition* storage_partition =
content::BrowserContext::GetDefaultStoragePartition(profile); content::BrowserContext::GetDefaultStoragePartition(profile);
content::IndexedDBContext* indexed_db_context = content::IndexedDBContext* indexed_db_context =
...@@ -467,6 +481,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest { ...@@ -467,6 +481,7 @@ class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest {
} }
base::test::ScopedFeatureList feature_list_; base::test::ScopedFeatureList feature_list_;
Browser* incognito_browser_ = nullptr;
}; };
// Test BrowsingDataRemover for downloads. // Test BrowsingDataRemover for downloads.
...@@ -478,9 +493,9 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, Download) { ...@@ -478,9 +493,9 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, Download) {
// Test that the salt for media device IDs is reset when cookies are cleared. // Test that the salt for media device IDs is reset when cookies are cleared.
IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, MediaDeviceIdSalt) { IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, MediaDeviceIdSalt) {
std::string original_salt = browser()->profile()->GetMediaDeviceIDSalt(); std::string original_salt = GetBrowser()->profile()->GetMediaDeviceIDSalt();
RemoveAndWait(content::BrowsingDataRemover::DATA_TYPE_COOKIES); RemoveAndWait(content::BrowsingDataRemover::DATA_TYPE_COOKIES);
std::string new_salt = browser()->profile()->GetMediaDeviceIDSalt(); std::string new_salt = GetBrowser()->profile()->GetMediaDeviceIDSalt();
EXPECT_NE(original_salt, new_salt); EXPECT_NE(original_salt, new_salt);
} }
...@@ -490,7 +505,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, MediaDeviceIdSalt) { ...@@ -490,7 +505,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, MediaDeviceIdSalt) {
// Test BrowsingDataRemover for prohibited downloads. Note that this only // Test BrowsingDataRemover for prohibited downloads. Note that this only
// really exercises the code in a Release build. // really exercises the code in a Release build.
IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, DownloadProhibited) { IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, DownloadProhibited) {
PrefService* prefs = browser()->profile()->GetPrefs(); PrefService* prefs = GetBrowser()->profile()->GetPrefs();
prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false); prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false);
DownloadAnItem(); DownloadAnItem();
...@@ -503,7 +518,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, DownloadProhibited) { ...@@ -503,7 +518,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, DownloadProhibited) {
// beginning of time. // beginning of time.
IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, VideoDecodePerfHistory) { IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, VideoDecodePerfHistory) {
media::VideoDecodePerfHistory* video_decode_perf_history = media::VideoDecodePerfHistory* video_decode_perf_history =
browser()->profile()->GetVideoDecodePerfHistory(); GetBrowser()->profile()->GetVideoDecodePerfHistory();
// Save a video decode record. Note: we avoid using a web page to generate the // Save a video decode record. Note: we avoid using a web page to generate the
// stats as this takes at least 5 seconds and even then is not a guarantee // stats as this takes at least 5 seconds and even then is not a guarantee
...@@ -575,7 +590,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, VideoDecodePerfHistory) { ...@@ -575,7 +590,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, VideoDecodePerfHistory) {
// Verify can modify database after deleting it. // Verify can modify database after deleting it.
IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, Database) { IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, Database) {
GURL url = embedded_test_server()->GetURL("/simple_database.html"); GURL url = embedded_test_server()->GetURL("/simple_database.html");
ui_test_utils::NavigateToURL(browser(), url); ui_test_utils::NavigateToURL(GetBrowser(), url);
RunScriptAndCheckResult("createTable()", "done"); RunScriptAndCheckResult("createTable()", "done");
RunScriptAndCheckResult("insertRecord('text')", "done"); RunScriptAndCheckResult("insertRecord('text')", "done");
...@@ -583,7 +598,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, Database) { ...@@ -583,7 +598,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, Database) {
RemoveAndWait(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_DATA); RemoveAndWait(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_DATA);
ui_test_utils::NavigateToURL(browser(), url); ui_test_utils::NavigateToURL(GetBrowser(), url);
RunScriptAndCheckResult("createTable()", "done"); RunScriptAndCheckResult("createTable()", "done");
RunScriptAndCheckResult("insertRecord('text2')", "done"); RunScriptAndCheckResult("insertRecord('text2')", "done");
RunScriptAndCheckResult("getRecords()", "text2"); RunScriptAndCheckResult("getRecords()", "text2");
...@@ -666,7 +681,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, ...@@ -666,7 +681,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest,
IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest,
ExternalProtocolHandlerPrefs) { ExternalProtocolHandlerPrefs) {
Profile* profile = browser()->profile(); Profile* profile = GetBrowser()->profile();
base::DictionaryValue prefs; base::DictionaryValue prefs;
prefs.SetBoolean("tel", false); prefs.SetBoolean("tel", false);
profile->GetPrefs()->Set(prefs::kExcludedSchemes, prefs); profile->GetPrefs()->Set(prefs::kExcludedSchemes, prefs);
...@@ -683,7 +698,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, HistoryDeletion) { ...@@ -683,7 +698,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, HistoryDeletion) {
GURL url = embedded_test_server()->GetURL("/browsing_data/site_data.html"); GURL url = embedded_test_server()->GetURL("/browsing_data/site_data.html");
// Create a new tab to avoid confusion from having a NTP navigation entry. // Create a new tab to avoid confusion from having a NTP navigation entry.
ui_test_utils::NavigateToURLWithDisposition( ui_test_utils::NavigateToURLWithDisposition(
browser(), url, WindowOpenDisposition::NEW_FOREGROUND_TAB, GetBrowser(), url, WindowOpenDisposition::NEW_FOREGROUND_TAB,
ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
EXPECT_FALSE(HasDataForType(kType)); EXPECT_FALSE(HasDataForType(kType));
SetDataForType(kType); SetDataForType(kType);
...@@ -707,6 +722,12 @@ IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, CookieDeletion) { ...@@ -707,6 +722,12 @@ IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, CookieDeletion) {
TestSiteData("Cookie", GetParam()); TestSiteData("Cookie", GetParam());
} }
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP,
CookieIncognitoDeletion) {
UseIncognitoBrowser();
TestSiteData("Cookie", GetParam());
}
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, SessionCookieDeletion) { IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, SessionCookieDeletion) {
TestSiteData("SessionCookie", GetParam()); TestSiteData("SessionCookie", GetParam());
} }
...@@ -714,15 +735,24 @@ IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, SessionCookieDeletion) { ...@@ -714,15 +735,24 @@ IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, SessionCookieDeletion) {
// TODO(crbug.com/849238): This test is flaky on Mac (dbg) builds. // TODO(crbug.com/849238): This test is flaky on Mac (dbg) builds.
#if defined(OS_MACOSX) #if defined(OS_MACOSX)
#define MAYBE_LocalStorageDeletion DISABLED_LocalStorageDeletion #define MAYBE_LocalStorageDeletion DISABLED_LocalStorageDeletion
#define MAYBE_LocalStorageIncognitoDeletion \
DISABLED_LocalStorageIncognitoDeletion
#else #else
#define MAYBE_LocalStorageDeletion LocalStorageDeletion #define MAYBE_LocalStorageDeletion LocalStorageDeletion
#define MAYBE_LocalStorageIncognitoDeletion LocalStorageIncognitoDeletion
#endif #endif
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP,
MAYBE_LocalStorageDeletion) { MAYBE_LocalStorageDeletion) {
TestSiteData("LocalStorage", GetParam()); TestSiteData("LocalStorage", GetParam());
} }
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP,
MAYBE_LocalStorageIncognitoDeletion) {
UseIncognitoBrowser();
TestSiteData("LocalStorage", GetParam());
}
// TODO(crbug.com/772337): DISABLED until session storage is working correctly. // TODO(crbug.com/772337): DISABLED until session storage is working correctly.
// Add Incognito variant when this is re-enabled.
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP,
DISABLED_SessionStorageDeletion) { DISABLED_SessionStorageDeletion) {
TestSiteData("SessionStorage", GetParam()); TestSiteData("SessionStorage", GetParam());
...@@ -733,7 +763,7 @@ IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, ...@@ -733,7 +763,7 @@ IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP,
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP,
SessionStorageDeletionWebOnly) { SessionStorageDeletionWebOnly) {
GURL url = embedded_test_server()->GetURL("/browsing_data/site_data.html"); GURL url = embedded_test_server()->GetURL("/browsing_data/site_data.html");
ui_test_utils::NavigateToURL(browser(), url); ui_test_utils::NavigateToURL(GetBrowser(), url);
const std::string type = "SessionStorage"; const std::string type = "SessionStorage";
EXPECT_FALSE(HasDataForType(type)); EXPECT_FALSE(HasDataForType(type));
SetDataForType(type); SetDataForType(type);
...@@ -748,7 +778,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, SessionStorageCounting) { ...@@ -748,7 +778,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, SessionStorageCounting) {
EXPECT_EQ(0, GetSiteDataCount()); EXPECT_EQ(0, GetSiteDataCount());
ExpectCookieTreeModelCount(0); ExpectCookieTreeModelCount(0);
GURL url = embedded_test_server()->GetURL("/browsing_data/site_data.html"); GURL url = embedded_test_server()->GetURL("/browsing_data/site_data.html");
ui_test_utils::NavigateToURL(browser(), url); ui_test_utils::NavigateToURL(GetBrowser(), url);
EXPECT_EQ(0, GetSiteDataCount()); EXPECT_EQ(0, GetSiteDataCount());
ExpectCookieTreeModelCount(0); ExpectCookieTreeModelCount(0);
SetDataForType("SessionStorage"); SetDataForType("SessionStorage");
...@@ -761,14 +791,28 @@ IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, ServiceWorkerDeletion) { ...@@ -761,14 +791,28 @@ IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, ServiceWorkerDeletion) {
TestSiteData("ServiceWorker", GetParam()); TestSiteData("ServiceWorker", GetParam());
} }
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP,
ServiceWorkerIncognitoDeletion) {
UseIncognitoBrowser();
TestSiteData("ServiceWorker", GetParam());
}
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, CacheStorageDeletion) { IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, CacheStorageDeletion) {
TestSiteData("CacheStorage", GetParam()); TestSiteData("CacheStorage", GetParam());
} }
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP,
CacheStorageIncognitoDeletion) {
UseIncognitoBrowser();
TestSiteData("CacheStorage", GetParam());
}
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, FileSystemDeletion) { IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, FileSystemDeletion) {
TestSiteData("FileSystem", GetParam()); TestSiteData("FileSystem", GetParam());
} }
// TODO(crbug.com/93417): Add FileSystemIncognitoDeletion test.
// Test that empty filesystems are deleted correctly. // Test that empty filesystems are deleted correctly.
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP,
EmptyFileSystemDeletion) { EmptyFileSystemDeletion) {
...@@ -779,6 +823,13 @@ IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, WebSqlDeletion) { ...@@ -779,6 +823,13 @@ IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, WebSqlDeletion) {
TestSiteData("WebSql", GetParam()); TestSiteData("WebSql", GetParam());
} }
// TODO(crbug.com/876659): Enable once this is fixed.
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP,
DISABLED_WebSqlIncognitoDeletion) {
UseIncognitoBrowser();
TestSiteData("WebSql", GetParam());
}
// Test that empty websql dbs are deleted correctly. // Test that empty websql dbs are deleted correctly.
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, EmptyWebSqlDeletion) { IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, EmptyWebSqlDeletion) {
TestEmptySiteData("WebSql", GetParam()); TestEmptySiteData("WebSql", GetParam());
...@@ -788,6 +839,12 @@ IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, IndexedDbDeletion) { ...@@ -788,6 +839,12 @@ IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, IndexedDbDeletion) {
TestSiteData("IndexedDb", GetParam()); TestSiteData("IndexedDb", GetParam());
} }
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP,
IndexedDbIncognitoDeletion) {
UseIncognitoBrowser();
TestSiteData("IndexedDb", GetParam());
}
// Test that empty indexed dbs are deleted correctly. // Test that empty indexed dbs are deleted correctly.
IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, EmptyIndexedDb) { IN_PROC_BROWSER_TEST_P(BrowsingDataRemoverBrowserTestP, EmptyIndexedDb) {
TestEmptySiteData("IndexedDb", GetParam()); TestEmptySiteData("IndexedDb", GetParam());
...@@ -815,7 +872,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, ...@@ -815,7 +872,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest,
ASSERT_TRUE(https_server.Start()); ASSERT_TRUE(https_server.Start());
GURL url = https_server.GetURL(kLocalHost, "/browsing_data/site_data.html"); GURL url = https_server.GetURL(kLocalHost, "/browsing_data/site_data.html");
ui_test_utils::NavigateToURL(browser(), url); ui_test_utils::NavigateToURL(GetBrowser(), url);
for (const std::string& type : kStorageTypes) { for (const std::string& type : kStorageTypes) {
SetDataForType(type); SetDataForType(type);
...@@ -881,7 +938,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, ...@@ -881,7 +938,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest,
PRE_SessionOnlyStorageRemoved) { PRE_SessionOnlyStorageRemoved) {
ExpectCookieTreeModelCount(0); ExpectCookieTreeModelCount(0);
GURL url = embedded_test_server()->GetURL("/browsing_data/site_data.html"); GURL url = embedded_test_server()->GetURL("/browsing_data/site_data.html");
ui_test_utils::NavigateToURL(browser(), url); ui_test_utils::NavigateToURL(GetBrowser(), url);
for (const std::string& type : kSessionOnlyStorageTestTypes) { for (const std::string& type : kSessionOnlyStorageTestTypes) {
SetDataForType(type); SetDataForType(type);
...@@ -890,7 +947,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, ...@@ -890,7 +947,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest,
// Expect the datatypes from above except SessionStorage. SessionStorage is // Expect the datatypes from above except SessionStorage. SessionStorage is
// not supported by the CookieTreeModel yet. // not supported by the CookieTreeModel yet.
ExpectCookieTreeModelCount(kSessionOnlyStorageTestTypes.size() - 1); ExpectCookieTreeModelCount(kSessionOnlyStorageTestTypes.size() - 1);
HostContentSettingsMapFactory::GetForProfile(browser()->profile()) HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile())
->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_COOKIES, ->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_COOKIES,
CONTENT_SETTING_SESSION_ONLY); CONTENT_SETTING_SESSION_ONLY);
} }
...@@ -901,7 +958,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, ...@@ -901,7 +958,7 @@ IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest,
// All cookies should have been deleted. // All cookies should have been deleted.
ExpectCookieTreeModelCount(0); ExpectCookieTreeModelCount(0);
GURL url = embedded_test_server()->GetURL("/browsing_data/site_data.html"); GURL url = embedded_test_server()->GetURL("/browsing_data/site_data.html");
ui_test_utils::NavigateToURL(browser(), url); ui_test_utils::NavigateToURL(GetBrowser(), url);
for (const std::string& type : kSessionOnlyStorageTestTypes) { for (const std::string& type : kSessionOnlyStorageTestTypes) {
EXPECT_FALSE(HasDataForType(type)); EXPECT_FALSE(HasDataForType(type));
} }
......
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