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. |