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 6d4c50c34020ad9220dd8badb74bafd1dc011c60..0ff4be8172626b303cdd8209ebcd4e6bd4da73d1 100644 |
| --- a/chrome/browser/download/download_browsertest.cc |
| +++ b/chrome/browser/download/download_browsertest.cc |
| @@ -687,6 +687,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); |
| @@ -700,7 +702,7 @@ class DownloadTest : public InProcessBrowserTest { |
| download_info.reason == DOWNLOAD_INTERRUPT_REASON_NONE ? |
| DownloadItem::COMPLETE : // Really done |
| DownloadItem::INTERRUPTED, |
| - true, // Bail on select file |
| + false, // Don't bail on select file. |
| DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); |
| if (download_info.download_method == DOWNLOAD_DIRECT) { |
| @@ -710,8 +712,18 @@ 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(); |
| + |
| + EXPECT_EQ(download_info.show_download_item, creation_observer->started()); |
|
Randy Smith (Not in Mondays)
2012/03/06 21:29:14
As I understand the DownloadTestItemCreationObserv
ahendrickson
2012/03/07 02:58:12
Done.
|
| } else { |
| // Navigate to URL normally, wait until done. |
| ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), |
| @@ -1835,7 +1847,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()); |
| @@ -1862,7 +1875,8 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadUrlToPath) { |
| DownloadTestObserver* 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. |