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

Unified Diff: chrome/browser/download/download_browsertest.cc

Issue 9570005: Added callback to DownloadUrl() so we can find download failures. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added thread checks. Created 8 years, 10 months 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/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.

Powered by Google App Engine
This is Rietveld 408576698