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

Unified Diff: chrome/browser/ui/webui/downloads_dom_handler_browsertest.cc

Issue 795353002: downloads: prevent "Clear all" from removing in progress downloads (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: todo Created 6 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/downloads_dom_handler_browsertest.cc
diff --git a/chrome/browser/ui/webui/downloads_dom_handler_browsertest.cc b/chrome/browser/ui/webui/downloads_dom_handler_browsertest.cc
index ba592274a6beac1eca5066757ba79e5e2254998c..c104ec2e7ca1f9f7f77b3be1b726ec45edb2df8d 100644
--- a/chrome/browser/ui/webui/downloads_dom_handler_browsertest.cc
+++ b/chrome/browser/ui/webui/downloads_dom_handler_browsertest.cc
@@ -132,7 +132,7 @@ class DownloadsDOMHandlerTest : public InProcessBrowserTest {
return content::BrowserContext::GetDownloadManager(browser()->profile());
}
- void DownloadAnItem() {
+ void DownloadAnItem(bool in_progress) {
GURL url = test_server()->GetURL("files/downloads/image.jpg");
std::vector<GURL> url_chain;
url_chain.push_back(url);
@@ -151,13 +151,15 @@ class DownloadsDOMHandlerTest : public InProcessBrowserTest {
std::string(),
128,
128,
- content::DownloadItem::COMPLETE,
+ in_progress ? content::DownloadItem::IN_PROGRESS :
+ content::DownloadItem::COMPLETE,
content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
content::DOWNLOAD_INTERRUPT_REASON_NONE,
false);
mock_handler_->WaitForDownloadsList();
ASSERT_EQ(1, static_cast<int>(mock_handler_->downloads_list()->GetSize()));
+ std::string state = in_progress ? "IN_PROGRESS" : "COMPLETE";
EXPECT_TRUE(ListMatches(
mock_handler_->downloads_list(),
"[{\"file_externally_removed\": false,"
@@ -165,7 +167,7 @@ class DownloadsDOMHandlerTest : public InProcessBrowserTest {
" \"id\": \"1\","
" \"otr\": false,"
" \"since_string\": \"Today\","
- " \"state\": \"COMPLETE\","
+ " \"state\": \"" + state + "\","
" \"total\": 128}]"));
}
@@ -180,7 +182,7 @@ class DownloadsDOMHandlerTest : public InProcessBrowserTest {
// Tests removing all items, both when prohibited and when allowed.
IN_PROC_BROWSER_TEST_F(DownloadsDOMHandlerTest, RemoveAll) {
- DownloadAnItem();
+ DownloadAnItem(false);
mock_handler_->reset_downloads_list();
browser()->profile()->GetPrefs()->SetBoolean(
@@ -199,9 +201,23 @@ IN_PROC_BROWSER_TEST_F(DownloadsDOMHandlerTest, RemoveAll) {
EXPECT_EQ(0, static_cast<int>(mock_handler_->downloads_list()->GetSize()));
}
+// Tests removing all items, both when prohibited and when allowed.
+IN_PROC_BROWSER_TEST_F(DownloadsDOMHandlerTest, RemoveAllIgnoresInProgress) {
+ DownloadAnItem(true);
+
+ mock_handler_->reset_downloads_list();
+ mock_handler_->HandleClearAll(NULL);
+ mock_handler_->ForceSendCurrentDownloads();
+ mock_handler_->WaitForDownloadsList();
+ EXPECT_EQ(1, static_cast<int>(mock_handler_->downloads_list()->GetSize()));
+
+ // Cancel the download so Chrome can shut down.
+ download_manager()->GetDownload(1)->Cancel(false);
+}
+
// Tests removing one item, both when prohibited and when allowed.
IN_PROC_BROWSER_TEST_F(DownloadsDOMHandlerTest, RemoveOneItem) {
- DownloadAnItem();
+ DownloadAnItem(false);
base::ListValue item;
item.AppendString("1");
@@ -227,7 +243,7 @@ IN_PROC_BROWSER_TEST_F(DownloadsDOMHandlerTest, RemoveOneItem) {
// renderer.
// crbug.com/159390: This test fails when daylight savings time ends.
IN_PROC_BROWSER_TEST_F(DownloadsDOMHandlerTest, DownloadsRelayed) {
- DownloadAnItem();
+ DownloadAnItem(false);
mock_handler_->WaitForDownloadUpdated();
ASSERT_EQ(1, static_cast<int>(mock_handler_->download_updated()->GetSize()));

Powered by Google App Engine
This is Rietveld 408576698