Chromium Code Reviews| Index: chrome/browser/download/download_browsertest.cc |
| diff --git a/chrome/browser/download/download_browsertest.cc b/chrome/browser/download/download_browsertest.cc |
| index 1e1a3687bdb1d49d16ce449122e0cec08262cb62..e1b06d782c25235fc69fee9b1ad636728c27f050 100644 |
| --- a/chrome/browser/download/download_browsertest.cc |
| +++ b/chrome/browser/download/download_browsertest.cc |
| @@ -683,6 +683,8 @@ class DownloadTest : public InProcessBrowserTest { |
| GetDownloads(browser(), &download_items); |
| ASSERT_TRUE(download_items.empty()); |
| + NullSelectFile(browser()); |
| + |
| std::string server_path = "files/downloads/"; |
| server_path += download_info.url_name; |
| GURL url = test_server()->GetURL(server_path); |
| @@ -693,7 +695,7 @@ class DownloadTest : public InProcessBrowserTest { |
| new DownloadTestObserverTerminal( |
| download_manager, |
| 1, |
| - true, // Bail on select file |
| + false, // Don't bail on select file. |
| DownloadTestObserverTerminal::ON_DANGEROUS_DOWNLOAD_FAIL)); |
| if (download_info.download_method == DOWNLOAD_DIRECT) { |
| @@ -703,8 +705,26 @@ class DownloadTest : public InProcessBrowserTest { |
| DownloadSaveInfo save_info; |
| save_info.prompt_for_save_location = false; |
| + scoped_refptr<DownloadTestItemCreationObserver> creation_observer( |
| + new DownloadTestItemCreationObserver); |
| + |
| DownloadManagerForBrowser(browser())->DownloadUrl( |
| - url, GURL(""), "", false, -1, save_info, web_contents); |
| + url, GURL(""), "", false, -1, save_info, web_contents, |
| + creation_observer->callback()); |
| + |
| + // Wait until the item is created, or we have determined that it |
| + // won't be. |
| + creation_observer->WaitForDownloadItemCreation(); |
| + |
| + int32 invalid_id = content::DownloadId::Invalid().local(); |
| + EXPECT_EQ(download_info.show_download_item, creation_observer->started()); |
|
Randy Smith (Not in Mondays)
2012/03/07 21:16:57
Don't use mean ->succeeded() here? started() will
ahendrickson
2012/03/08 21:33:07
Done.
|
| + if (download_info.show_download_item) { |
| + EXPECT_EQ(net::OK, creation_observer->error()); |
| + EXPECT_NE(invalid_id, creation_observer->download_id().local()); |
| + } else { |
| + EXPECT_NE(net::OK, creation_observer->error()); |
| + EXPECT_EQ(invalid_id, creation_observer->download_id().local()); |
| + } |
| } else { |
| // Navigate to URL normally, wait until done. |
| ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), |
| @@ -1825,7 +1845,8 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadUrl) { |
| DownloadSaveInfo save_info; |
| save_info.prompt_for_save_location = true; |
| DownloadManagerForBrowser(browser())->DownloadUrl( |
| - url, GURL(""), "", false, -1, save_info, web_contents); |
| + url, GURL(""), "", false, -1, save_info, web_contents, |
| + DownloadManager::OnStartedCallback()); |
| observer->WaitForFinished(); |
| EXPECT_TRUE(observer->select_file_dialog_seen()); |
| @@ -1852,7 +1873,8 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadUrlToPath) { |
| DownloadTestObserverTerminal* observer(CreateWaiter(browser(), 1)); |
| DownloadManagerForBrowser(browser())->DownloadUrl( |
| - url, GURL(""), "", false, -1, save_info, web_contents); |
| + url, GURL(""), "", false, -1, save_info, web_contents, |
| + DownloadManager::OnStartedCallback()); |
| observer->WaitForFinished(); |
| // Check state. |