Index: chrome/browser/download/download_browsertest.cc |
diff --git a/chrome/browser/download/download_browsertest.cc b/chrome/browser/download/download_browsertest.cc |
index 5874cce0183e983a3661edf6a6d6a4e237c14c6d..1e1a3687bdb1d49d16ce449122e0cec08262cb62 100644 |
--- a/chrome/browser/download/download_browsertest.cc |
+++ b/chrome/browser/download/download_browsertest.cc |
@@ -389,41 +389,37 @@ class DownloadTest : public InProcessBrowserTest { |
return GetDownloadPrefs(browser)->download_path(); |
} |
- // Create a DownloadTestObserver that will wait for the |
+ // Create a DownloadTestObserverTerminal that will wait for the |
// specified number of downloads to finish. |
- DownloadTestObserver* CreateWaiter(Browser* browser, int num_downloads) { |
+ DownloadTestObserverTerminal* CreateWaiter(Browser* browser, |
+ int num_downloads) { |
DownloadManager* download_manager = DownloadManagerForBrowser(browser); |
- return new DownloadTestObserver( |
+ return new DownloadTestObserverTerminal( |
download_manager, num_downloads, |
- DownloadItem::COMPLETE, // Really done |
true, // Bail on select file |
- DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL); |
+ DownloadTestObserverTerminal::ON_DANGEROUS_DOWNLOAD_FAIL); |
} |
- // Create a DownloadTestObserver that will wait for the |
+ // Create a DownloadTestObserverInProgress that will wait for the |
// specified number of downloads to start. |
- DownloadTestObserver* CreateInProgressWaiter(Browser* browser, |
+ DownloadTestObserverInProgress* CreateInProgressWaiter(Browser* browser, |
int num_downloads) { |
DownloadManager* download_manager = DownloadManagerForBrowser(browser); |
- return new DownloadTestObserver( |
- download_manager, num_downloads, |
- DownloadItem::IN_PROGRESS, // Has started |
- true, // Bail on select file |
- DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL); |
+ return new DownloadTestObserverInProgress( |
+ download_manager, num_downloads); |
} |
- // Create a DownloadTestObserver that will wait for the |
+ // Create a DownloadTestObserverTerminal that will wait for the |
// specified number of downloads to finish, or for |
// a dangerous download warning to be shown. |
- DownloadTestObserver* DangerousInstallWaiter( |
+ DownloadTestObserverTerminal* DangerousInstallWaiter( |
Browser* browser, |
int num_downloads, |
- DownloadItem::DownloadState final_state, |
- DownloadTestObserver::DangerousDownloadAction dangerous_download_action) { |
+ DownloadTestObserverTerminal::DangerousDownloadAction |
+ dangerous_download_action) { |
DownloadManager* download_manager = DownloadManagerForBrowser(browser); |
- return new DownloadTestObserver( |
+ return new DownloadTestObserverTerminal( |
download_manager, num_downloads, |
- final_state, |
true, // Bail on select file |
dangerous_download_action); |
} |
@@ -443,7 +439,7 @@ class DownloadTest : public InProcessBrowserTest { |
SelectExpectation expectation, |
int browser_test_flags) { |
// Setup notification, navigate, and block. |
- scoped_ptr<DownloadTestObserver> observer(CreateWaiter(browser, 1)); |
+ scoped_ptr<DownloadTestObserverTerminal> observer(CreateWaiter(browser, 1)); |
// This call will block until the condition specified by |
// |browser_test_flags|, but will not wait for the download to finish. |
ui_test_utils::NavigateToURLWithDisposition(browser, |
@@ -542,7 +538,7 @@ class DownloadTest : public InProcessBrowserTest { |
// Download a partial web page in a background tab and wait. |
// The mock system will not complete until it gets a special URL. |
- scoped_ptr<DownloadTestObserver> observer(CreateWaiter(browser, 1)); |
+ scoped_ptr<DownloadTestObserverTerminal> observer(CreateWaiter(browser, 1)); |
ui_test_utils::NavigateToURL(browser, url); |
// TODO(ahendrickson): check download status text before downloading. |
@@ -693,15 +689,12 @@ class DownloadTest : public InProcessBrowserTest { |
ASSERT_TRUE(url.is_valid()); |
DownloadManager* download_manager = DownloadManagerForBrowser(browser()); |
- scoped_ptr<DownloadTestObserver> observer( |
- new DownloadTestObserver( |
+ scoped_ptr<DownloadTestObserverTerminal> observer( |
+ new DownloadTestObserverTerminal( |
download_manager, |
1, |
Randy Smith (Not in Mondays)
2012/03/07 21:39:16
Shouldn't all the observers where the state has be
ahendrickson
2012/03/08 17:36:07
Done for all the non-IN_PROGRESS observers.
|
- download_info.reason == DOWNLOAD_INTERRUPT_REASON_NONE ? |
- DownloadItem::COMPLETE : // Really done |
- DownloadItem::INTERRUPTED, |
true, // Bail on select file |
- DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); |
+ DownloadTestObserverTerminal::ON_DANGEROUS_DOWNLOAD_FAIL)); |
if (download_info.download_method == DOWNLOAD_DIRECT) { |
// Go directly to download. |
@@ -798,13 +791,12 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadMimeTypeSelect) { |
// Download the file and wait. We expect the Select File dialog to appear |
// due to the MIME type, but we still wait until the download completes. |
- scoped_ptr<DownloadTestObserver> observer( |
- new DownloadTestObserver( |
+ scoped_ptr<DownloadTestObserverTerminal> observer( |
+ new DownloadTestObserverTerminal( |
DownloadManagerForBrowser(browser()), |
1, |
- DownloadItem::COMPLETE, // Really done |
false, // Continue on select file. |
- DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); |
+ DownloadTestObserverTerminal::ON_DANGEROUS_DOWNLOAD_FAIL)); |
ui_test_utils::NavigateToURLWithDisposition( |
browser(), url, CURRENT_TAB, |
ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); |
@@ -1286,7 +1278,7 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, MultiDownload) { |
// Create a download, wait until it's started, and confirm |
// we're in the expected state. |
- scoped_ptr<DownloadTestObserver> observer1( |
+ scoped_ptr<DownloadTestObserverInProgress> observer1( |
CreateInProgressWaiter(browser(), 1)); |
ui_test_utils::NavigateToURL( |
browser(), GURL(URLRequestSlowDownloadJob::kUnknownSizeUrl)); |
@@ -1321,7 +1313,8 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, MultiDownload) { |
// Allow the first request to finish. We do this by loading a third URL |
// in a separate tab. |
- scoped_ptr<DownloadTestObserver> observer2(CreateWaiter(browser(), 1)); |
+ scoped_ptr<DownloadTestObserverTerminal> |
+ observer2(CreateWaiter(browser(), 1)); |
GURL finish_url(URLRequestSlowDownloadJob::kFinishDownloadUrl); |
ui_test_utils::NavigateToURLWithDisposition( |
browser(), |
@@ -1356,12 +1349,12 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadCancelled) { |
EXPECT_EQ(1, browser()->tab_count()); |
// TODO(rdsmith): Fragile code warning! The code below relies on the |
- // DownloadTestObserver only finishing when the new download has reached |
- // the state of being entered into the history and being user-visible |
- // (that's what's required for the Remove to be valid and for the |
- // download shelf to be visible). By the pure semantics of |
- // DownloadTestObserver, that's not guaranteed; DownloadItems are created |
- // in the IN_PROGRESS state and made known to the DownloadManager |
+ // DownloadTestObserverInProgress only finishing when the new download |
+ // has reached the state of being entered into the history and being |
+ // user-visible (that's what's required for the Remove to be valid and |
+ // for the download shelf to be visible). By the pure semantics of |
+ // DownloadTestObserverInProgress, that's not guaranteed; DownloadItems |
+ // are created in the IN_PROGRESS state and made known to the DownloadManager |
// immediately, so any ModelChanged event on the DownloadManager after |
// navigation would allow the observer to return. However, the only |
// ModelChanged() event the code will currently fire is in |
@@ -1373,7 +1366,7 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadCancelled) { |
// Create a download, wait until it's started, and confirm |
// we're in the expected state. |
- scoped_ptr<DownloadTestObserver> observer( |
+ scoped_ptr<DownloadTestObserverInProgress> observer( |
CreateInProgressWaiter(browser(), 1)); |
ui_test_utils::NavigateToURL( |
browser(), GURL(URLRequestSlowDownloadJob::kUnknownSizeUrl)); |
@@ -1504,7 +1497,7 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, AnchorDownloadTag) { |
// Create a download, wait until it's complete, and confirm |
// we're in the expected state. |
- scoped_ptr<DownloadTestObserver> observer(CreateWaiter(browser(), 1)); |
+ scoped_ptr<DownloadTestObserverTerminal> observer(CreateWaiter(browser(), 1)); |
ui_test_utils::NavigateToURL(browser(), url); |
observer->WaitForFinished(); |
@@ -1550,10 +1543,10 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, CrxDenyInstall) { |
ASSERT_TRUE(InitialSetup(false)); |
GURL extension_url(URLRequestMockHTTPJob::GetMockUrl(kGoodCrxPath)); |
- scoped_ptr<DownloadTestObserver> observer( |
+ scoped_ptr<DownloadTestObserverTerminal> observer( |
DangerousInstallWaiter( |
- browser(), 1, DownloadItem::CANCELLED, |
- DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY)); |
+ browser(), 1, |
+ DownloadTestObserverTerminal::ON_DANGEROUS_DOWNLOAD_DENY)); |
ui_test_utils::NavigateToURL(browser(), extension_url); |
observer->WaitForFinished(); |
@@ -1579,10 +1572,10 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, CrxInstallDenysPermissions) { |
download_crx_util::SetMockInstallUIForTesting( |
new MockAbortExtensionInstallUI()); |
- scoped_ptr<DownloadTestObserver> observer( |
+ scoped_ptr<DownloadTestObserverTerminal> observer( |
DangerousInstallWaiter( |
- browser(), 1, DownloadItem::COMPLETE, |
- DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_ACCEPT)); |
+ browser(), 1, |
+ DownloadTestObserverTerminal::ON_DANGEROUS_DOWNLOAD_ACCEPT)); |
ui_test_utils::NavigateToURL(browser(), extension_url); |
observer->WaitForFinished(); |
@@ -1608,10 +1601,10 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, CrxInstallAcceptPermissions) { |
download_crx_util::SetMockInstallUIForTesting( |
new MockAutoConfirmExtensionInstallUI(browser()->profile())); |
- scoped_ptr<DownloadTestObserver> observer( |
+ scoped_ptr<DownloadTestObserverTerminal> observer( |
DangerousInstallWaiter( |
- browser(), 1, DownloadItem::COMPLETE, |
- DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_ACCEPT)); |
+ browser(), 1, |
+ DownloadTestObserverTerminal::ON_DANGEROUS_DOWNLOAD_ACCEPT)); |
ui_test_utils::NavigateToURL(browser(), extension_url); |
observer->WaitForFinished(); |
@@ -1638,10 +1631,10 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, CrxInvalid) { |
download_crx_util::SetMockInstallUIForTesting( |
new MockAutoConfirmExtensionInstallUI(browser()->profile())); |
- scoped_ptr<DownloadTestObserver> observer( |
+ scoped_ptr<DownloadTestObserverTerminal> observer( |
DangerousInstallWaiter( |
- browser(), 1, DownloadItem::COMPLETE, |
- DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_ACCEPT)); |
+ browser(), 1, |
+ DownloadTestObserverTerminal::ON_DANGEROUS_DOWNLOAD_ACCEPT)); |
ui_test_utils::NavigateToURL(browser(), extension_url); |
observer->WaitForFinished(); |
@@ -1662,10 +1655,10 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, CrxLargeTheme) { |
download_crx_util::SetMockInstallUIForTesting( |
new MockAutoConfirmExtensionInstallUI(browser()->profile())); |
- scoped_ptr<DownloadTestObserver> observer( |
+ scoped_ptr<DownloadTestObserverTerminal> observer( |
DangerousInstallWaiter( |
- browser(), 1, DownloadItem::COMPLETE, |
- DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_ACCEPT)); |
+ browser(), 1, |
+ DownloadTestObserverTerminal::ON_DANGEROUS_DOWNLOAD_ACCEPT)); |
ui_test_utils::NavigateToURL(browser(), extension_url); |
observer->WaitForFinished(); |
@@ -1824,12 +1817,11 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadUrl) { |
WebContents* web_contents = browser()->GetSelectedWebContents(); |
ASSERT_TRUE(web_contents); |
- DownloadTestObserver* observer( |
- new DownloadTestObserver( |
- DownloadManagerForBrowser(browser()), 1, |
- DownloadItem::COMPLETE, // Really done |
- false, // Ignore select file. |
- DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); |
+ DownloadTestObserverTerminal* observer( |
+ new DownloadTestObserverTerminal( |
+ DownloadManagerForBrowser(browser()), 1, |
+ false, // Ignore select file. |
+ DownloadTestObserverTerminal::ON_DANGEROUS_DOWNLOAD_FAIL)); |
DownloadSaveInfo save_info; |
save_info.prompt_for_save_location = true; |
DownloadManagerForBrowser(browser())->DownloadUrl( |
@@ -1858,7 +1850,7 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadUrlToPath) { |
DownloadSaveInfo save_info; |
save_info.file_path = target_file_full_path; |
- DownloadTestObserver* observer(CreateWaiter(browser(), 1)); |
+ DownloadTestObserverTerminal* observer(CreateWaiter(browser(), 1)); |
DownloadManagerForBrowser(browser())->DownloadUrl( |
url, GURL(""), "", false, -1, save_info, web_contents); |
observer->WaitForFinished(); |
@@ -1893,10 +1885,10 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, SavePageNonHTMLViaGet) { |
// is not bypassed then this will fail since the server is no longer |
// reachable. |
ASSERT_TRUE(test_server()->Stop()); |
- scoped_ptr<DownloadTestObserver> waiter( |
- new DownloadTestObserver( |
- DownloadManagerForBrowser(browser()), 1, DownloadItem::COMPLETE, |
- false, DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); |
+ scoped_ptr<DownloadTestObserverTerminal> waiter( |
+ new DownloadTestObserverTerminal( |
+ DownloadManagerForBrowser(browser()), 1, |
+ false, DownloadTestObserverTerminal::ON_DANGEROUS_DOWNLOAD_FAIL)); |
browser()->SavePage(); |
waiter->WaitForFinished(); |
@@ -1905,12 +1897,13 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, SavePageNonHTMLViaGet) { |
EXPECT_TRUE(waiter->select_file_dialog_seen()); |
ASSERT_EQ(1u, download_items.size()); |
ASSERT_EQ(url, download_items[0]->GetOriginalUrl()); |
+ EXPECT_EQ(DownloadItem::COMPLETE, download_items[0]->GetState()); |
// Try to download it via a context menu. |
- scoped_ptr<DownloadTestObserver> waiter_context_menu( |
- new DownloadTestObserver( |
- DownloadManagerForBrowser(browser()), 1, DownloadItem::COMPLETE, |
- false, DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); |
+ scoped_ptr<DownloadTestObserverTerminal> waiter_context_menu( |
+ new DownloadTestObserverTerminal( |
+ DownloadManagerForBrowser(browser()), 1, |
+ false, DownloadTestObserverTerminal::ON_DANGEROUS_DOWNLOAD_FAIL)); |
content::ContextMenuParams context_menu_params; |
context_menu_params.media_type = WebKit::WebContextMenuData::MediaTypeImage; |
context_menu_params.src_url = url; |
@@ -1925,9 +1918,11 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, SavePageNonHTMLViaGet) { |
download_items.clear(); |
GetDownloads(browser(), &download_items); |
EXPECT_TRUE(waiter_context_menu->select_file_dialog_seen()); |
+ EXPECT_EQ(DownloadItem::COMPLETE, download_items[0]->GetState()); |
ASSERT_EQ(2u, download_items.size()); |
ASSERT_EQ(url, download_items[0]->GetOriginalUrl()); |
ASSERT_EQ(url, download_items[1]->GetOriginalUrl()); |
+ EXPECT_EQ(DownloadItem::COMPLETE, download_items[1]->GetState()); |
} |
IN_PROC_BROWSER_TEST_F(DownloadTest, SavePageNonHTMLViaPost) { |
@@ -1968,10 +1963,10 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, SavePageNonHTMLViaPost) { |
// reachable. This will also fail if it tries to be retrieved via "GET" |
// rather than "POST". |
ASSERT_TRUE(test_server()->Stop()); |
- scoped_ptr<DownloadTestObserver> waiter( |
- new DownloadTestObserver( |
- DownloadManagerForBrowser(browser()), 1, DownloadItem::COMPLETE, |
- false, DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); |
+ scoped_ptr<DownloadTestObserverTerminal> waiter( |
+ new DownloadTestObserverTerminal( |
+ DownloadManagerForBrowser(browser()), 1, |
+ false, DownloadTestObserverTerminal::ON_DANGEROUS_DOWNLOAD_FAIL)); |
browser()->SavePage(); |
waiter->WaitForFinished(); |
@@ -1982,10 +1977,10 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, SavePageNonHTMLViaPost) { |
ASSERT_EQ(jpeg_url, download_items[0]->GetOriginalUrl()); |
// Try to download it via a context menu. |
- scoped_ptr<DownloadTestObserver> waiter_context_menu( |
- new DownloadTestObserver( |
- DownloadManagerForBrowser(browser()), 1, DownloadItem::COMPLETE, |
- false, DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); |
+ scoped_ptr<DownloadTestObserverTerminal> waiter_context_menu( |
+ new DownloadTestObserverTerminal( |
+ DownloadManagerForBrowser(browser()), 1, |
+ false, DownloadTestObserverTerminal::ON_DANGEROUS_DOWNLOAD_FAIL)); |
content::ContextMenuParams context_menu_params; |
context_menu_params.media_type = WebKit::WebContextMenuData::MediaTypeImage; |
context_menu_params.src_url = jpeg_url; |