OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <sstream> | 5 #include <sstream> |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/file_path.h" | 9 #include "base/file_path.h" |
10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
(...skipping 595 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
606 std::vector<DownloadItem*> download_items; | 606 std::vector<DownloadItem*> download_items; |
607 GetDownloads(browser(), &download_items); | 607 GetDownloads(browser(), &download_items); |
608 size_t downloads_expected = download_items.size(); | 608 size_t downloads_expected = download_items.size(); |
609 | 609 |
610 std::string server_path = "files/downloads/"; | 610 std::string server_path = "files/downloads/"; |
611 server_path += download_info.url_name; | 611 server_path += download_info.url_name; |
612 GURL url = test_server()->GetURL(server_path); | 612 GURL url = test_server()->GetURL(server_path); |
613 ASSERT_TRUE(url.is_valid()) << s.str(); | 613 ASSERT_TRUE(url.is_valid()) << s.str(); |
614 | 614 |
615 DownloadManager* download_manager = DownloadManagerForBrowser(browser()); | 615 DownloadManager* download_manager = DownloadManagerForBrowser(browser()); |
616 WebContents* web_contents = chrome::GetActiveWebContents(browser()); | 616 WebContents* web_contents = |
| 617 browser()->tab_strip_model()->GetActiveWebContents(); |
617 ASSERT_TRUE(web_contents) << s.str(); | 618 ASSERT_TRUE(web_contents) << s.str(); |
618 | 619 |
619 scoped_ptr<content::DownloadTestObserver> observer( | 620 scoped_ptr<content::DownloadTestObserver> observer( |
620 new content::DownloadTestObserverTerminal( | 621 new content::DownloadTestObserverTerminal( |
621 download_manager, | 622 download_manager, |
622 1, | 623 1, |
623 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); | 624 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); |
624 | 625 |
625 if (download_info.download_method == DOWNLOAD_DIRECT) { | 626 if (download_info.download_method == DOWNLOAD_DIRECT) { |
626 // Go directly to download. Don't wait for navigation. | 627 // Go directly to download. Don't wait for navigation. |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
785 | 786 |
786 for (size_t i = 0; i < count; ++i) { | 787 for (size_t i = 0; i < count; ++i) { |
787 DownloadFilesCheckErrorsLoopBody(download_info[i], i); | 788 DownloadFilesCheckErrorsLoopBody(download_info[i], i); |
788 } | 789 } |
789 } | 790 } |
790 | 791 |
791 // A mock install prompt that simulates the user allowing an install request. | 792 // A mock install prompt that simulates the user allowing an install request. |
792 void SetAllowMockInstallPrompt() { | 793 void SetAllowMockInstallPrompt() { |
793 download_crx_util::SetMockInstallPromptForTesting( | 794 download_crx_util::SetMockInstallPromptForTesting( |
794 new MockAutoConfirmExtensionInstallPrompt( | 795 new MockAutoConfirmExtensionInstallPrompt( |
795 chrome::GetActiveWebContents(browser()))); | 796 browser()->tab_strip_model()->GetActiveWebContents())); |
796 } | 797 } |
797 | 798 |
798 private: | 799 private: |
799 static void EnsureNoPendingDownloadJobsOnIO(bool* result) { | 800 static void EnsureNoPendingDownloadJobsOnIO(bool* result) { |
800 if (URLRequestSlowDownloadJob::NumberOutstandingRequests()) | 801 if (URLRequestSlowDownloadJob::NumberOutstandingRequests()) |
801 *result = false; | 802 *result = false; |
802 BrowserThread::PostTask( | 803 BrowserThread::PostTask( |
803 BrowserThread::UI, FROM_HERE, MessageLoop::QuitClosure()); | 804 BrowserThread::UI, FROM_HERE, MessageLoop::QuitClosure()); |
804 } | 805 } |
805 | 806 |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
949 FilePath same_site_path(FILE_PATH_LITERAL("download_script.html")); | 950 FilePath same_site_path(FILE_PATH_LITERAL("download_script.html")); |
950 GURL same_site_url(URLRequestMockHTTPJob::GetMockUrl(same_site_path)); | 951 GURL same_site_url(URLRequestMockHTTPJob::GetMockUrl(same_site_path)); |
951 ui_test_utils::NavigateToURL(browser(), same_site_url); | 952 ui_test_utils::NavigateToURL(browser(), same_site_url); |
952 | 953 |
953 // Make sure the initial navigation didn't trigger a download. | 954 // Make sure the initial navigation didn't trigger a download. |
954 std::vector<content::DownloadItem*> items; | 955 std::vector<content::DownloadItem*> items; |
955 DownloadManagerForBrowser(browser())->GetAllDownloads(&items); | 956 DownloadManagerForBrowser(browser())->GetAllDownloads(&items); |
956 EXPECT_EQ(0u, items.size()); | 957 EXPECT_EQ(0u, items.size()); |
957 | 958 |
958 // Disable downloads for the tab. | 959 // Disable downloads for the tab. |
959 WebContents* web_contents = chrome::GetActiveWebContents(browser()); | 960 WebContents* web_contents = |
| 961 browser()->tab_strip_model()->GetActiveWebContents(); |
960 DownloadRequestLimiter::TabDownloadState* tab_download_state = | 962 DownloadRequestLimiter::TabDownloadState* tab_download_state = |
961 g_browser_process->download_request_limiter()->GetDownloadState( | 963 g_browser_process->download_request_limiter()->GetDownloadState( |
962 web_contents, web_contents, true); | 964 web_contents, web_contents, true); |
963 ASSERT_TRUE(tab_download_state); | 965 ASSERT_TRUE(tab_download_state); |
964 tab_download_state->set_download_status( | 966 tab_download_state->set_download_status( |
965 DownloadRequestLimiter::DOWNLOADS_NOT_ALLOWED); | 967 DownloadRequestLimiter::DOWNLOADS_NOT_ALLOWED); |
966 | 968 |
967 // Try to start the download via Javascript and wait for the corresponding | 969 // Try to start the download via Javascript and wait for the corresponding |
968 // load stop event. | 970 // load stop event. |
969 content::TestNavigationObserver observer( | 971 content::TestNavigationObserver observer( |
970 content::Source<content::NavigationController>( | 972 content::Source<content::NavigationController>( |
971 &web_contents->GetController()), | 973 &web_contents->GetController()), |
972 NULL, | 974 NULL, |
973 1); | 975 1); |
974 bool download_assempted; | 976 bool download_assempted; |
975 ASSERT_TRUE(content::ExecuteScriptAndExtractBool( | 977 ASSERT_TRUE(content::ExecuteScriptAndExtractBool( |
976 chrome::GetActiveWebContents(browser()), | 978 browser()->tab_strip_model()->GetActiveWebContents(), |
977 "window.domAutomationController.send(startDownload());", | 979 "window.domAutomationController.send(startDownload());", |
978 &download_assempted)); | 980 &download_assempted)); |
979 ASSERT_TRUE(download_assempted); | 981 ASSERT_TRUE(download_assempted); |
980 observer.WaitForObservation( | 982 observer.WaitForObservation( |
981 base::Bind(&content::RunMessageLoop), | 983 base::Bind(&content::RunMessageLoop), |
982 base::Bind(&MessageLoop::Quit, | 984 base::Bind(&MessageLoop::Quit, |
983 base::Unretained(MessageLoopForUI::current()))); | 985 base::Unretained(MessageLoopForUI::current()))); |
984 | 986 |
985 // Check that we did not download the file. | 987 // Check that we did not download the file. |
986 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); | 988 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); |
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1390 // after download of a file while viewing another chrome://. | 1392 // after download of a file while viewing another chrome://. |
1391 IN_PROC_BROWSER_TEST_F(DownloadTest, ChromeURLAfterDownload) { | 1393 IN_PROC_BROWSER_TEST_F(DownloadTest, ChromeURLAfterDownload) { |
1392 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); | 1394 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); |
1393 GURL download_url(URLRequestMockHTTPJob::GetMockUrl(file)); | 1395 GURL download_url(URLRequestMockHTTPJob::GetMockUrl(file)); |
1394 GURL flags_url(chrome::kChromeUIFlagsURL); | 1396 GURL flags_url(chrome::kChromeUIFlagsURL); |
1395 GURL extensions_url(chrome::kChromeUIExtensionsFrameURL); | 1397 GURL extensions_url(chrome::kChromeUIExtensionsFrameURL); |
1396 | 1398 |
1397 ui_test_utils::NavigateToURL(browser(), flags_url); | 1399 ui_test_utils::NavigateToURL(browser(), flags_url); |
1398 DownloadAndWait(browser(), download_url); | 1400 DownloadAndWait(browser(), download_url); |
1399 ui_test_utils::NavigateToURL(browser(), extensions_url); | 1401 ui_test_utils::NavigateToURL(browser(), extensions_url); |
1400 WebContents* contents = chrome::GetActiveWebContents(browser()); | 1402 WebContents* contents = |
| 1403 browser()->tab_strip_model()->GetActiveWebContents(); |
1401 ASSERT_TRUE(contents); | 1404 ASSERT_TRUE(contents); |
1402 bool webui_responded = false; | 1405 bool webui_responded = false; |
1403 EXPECT_TRUE(content::ExecuteScriptAndExtractBool( | 1406 EXPECT_TRUE(content::ExecuteScriptAndExtractBool( |
1404 contents, | 1407 contents, |
1405 "window.domAutomationController.send(window.webui_responded_);", | 1408 "window.domAutomationController.send(window.webui_responded_);", |
1406 &webui_responded)); | 1409 &webui_responded)); |
1407 EXPECT_TRUE(webui_responded); | 1410 EXPECT_TRUE(webui_responded); |
1408 } | 1411 } |
1409 | 1412 |
1410 // Test for crbug.com/12745. This tests that if a download is initiated from | 1413 // Test for crbug.com/12745. This tests that if a download is initiated from |
1411 // a chrome:// page that has registered and onunload handler, the browser | 1414 // a chrome:// page that has registered and onunload handler, the browser |
1412 // will be able to close. | 1415 // will be able to close. |
1413 IN_PROC_BROWSER_TEST_F(DownloadTest, BrowserCloseAfterDownload) { | 1416 IN_PROC_BROWSER_TEST_F(DownloadTest, BrowserCloseAfterDownload) { |
1414 GURL downloads_url(chrome::kChromeUIFlagsURL); | 1417 GURL downloads_url(chrome::kChromeUIFlagsURL); |
1415 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); | 1418 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); |
1416 GURL download_url(URLRequestMockHTTPJob::GetMockUrl(file)); | 1419 GURL download_url(URLRequestMockHTTPJob::GetMockUrl(file)); |
1417 | 1420 |
1418 ui_test_utils::NavigateToURL(browser(), downloads_url); | 1421 ui_test_utils::NavigateToURL(browser(), downloads_url); |
1419 WebContents* contents = chrome::GetActiveWebContents(browser()); | 1422 WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents(); |
1420 ASSERT_TRUE(contents); | 1423 ASSERT_TRUE(contents); |
1421 bool result = false; | 1424 bool result = false; |
1422 EXPECT_TRUE(content::ExecuteScriptAndExtractBool( | 1425 EXPECT_TRUE(content::ExecuteScriptAndExtractBool( |
1423 contents, | 1426 contents, |
1424 "window.onunload = function() { var do_nothing = 0; }; " | 1427 "window.onunload = function() { var do_nothing = 0; }; " |
1425 "window.domAutomationController.send(true);", | 1428 "window.domAutomationController.send(true);", |
1426 &result)); | 1429 &result)); |
1427 EXPECT_TRUE(result); | 1430 EXPECT_TRUE(result); |
1428 | 1431 |
1429 DownloadAndWait(browser(), download_url); | 1432 DownloadAndWait(browser(), download_url); |
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1651 } | 1654 } |
1652 | 1655 |
1653 // Tests for download initiation functions. | 1656 // Tests for download initiation functions. |
1654 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadUrl) { | 1657 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadUrl) { |
1655 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); | 1658 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); |
1656 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); | 1659 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); |
1657 | 1660 |
1658 // DownloadUrl always prompts; return acceptance of whatever it prompts. | 1661 // DownloadUrl always prompts; return acceptance of whatever it prompts. |
1659 EnableFileChooser(true); | 1662 EnableFileChooser(true); |
1660 | 1663 |
1661 WebContents* web_contents = chrome::GetActiveWebContents(browser()); | 1664 WebContents* web_contents = |
| 1665 browser()->tab_strip_model()->GetActiveWebContents(); |
1662 ASSERT_TRUE(web_contents); | 1666 ASSERT_TRUE(web_contents); |
1663 | 1667 |
1664 content::DownloadTestObserver* observer( | 1668 content::DownloadTestObserver* observer( |
1665 new content::DownloadTestObserverTerminal( | 1669 new content::DownloadTestObserverTerminal( |
1666 DownloadManagerForBrowser(browser()), 1, | 1670 DownloadManagerForBrowser(browser()), 1, |
1667 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); | 1671 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); |
1668 scoped_ptr<DownloadUrlParameters> params( | 1672 scoped_ptr<DownloadUrlParameters> params( |
1669 DownloadUrlParameters::FromWebContents(web_contents, url)); | 1673 DownloadUrlParameters::FromWebContents(web_contents, url)); |
1670 params->set_prompt(true); | 1674 params->set_prompt(true); |
1671 DownloadManagerForBrowser(browser())->DownloadUrl(params.Pass()); | 1675 DownloadManagerForBrowser(browser())->DownloadUrl(params.Pass()); |
1672 observer->WaitForFinished(); | 1676 observer->WaitForFinished(); |
1673 EXPECT_EQ(1u, observer->NumDownloadsSeenInState(DownloadItem::COMPLETE)); | 1677 EXPECT_EQ(1u, observer->NumDownloadsSeenInState(DownloadItem::COMPLETE)); |
1674 CheckDownloadStates(1, DownloadItem::COMPLETE); | 1678 CheckDownloadStates(1, DownloadItem::COMPLETE); |
1675 EXPECT_TRUE(DidShowFileChooser()); | 1679 EXPECT_TRUE(DidShowFileChooser()); |
1676 | 1680 |
1677 // Check state. | 1681 // Check state. |
1678 EXPECT_EQ(1, browser()->tab_strip_model()->count()); | 1682 EXPECT_EQ(1, browser()->tab_strip_model()->count()); |
1679 ASSERT_TRUE(CheckDownload(browser(), file, file)); | 1683 ASSERT_TRUE(CheckDownload(browser(), file, file)); |
1680 EXPECT_TRUE(browser()->window()->IsDownloadShelfVisible()); | 1684 EXPECT_TRUE(browser()->window()->IsDownloadShelfVisible()); |
1681 } | 1685 } |
1682 | 1686 |
1683 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadUrlToPath) { | 1687 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadUrlToPath) { |
1684 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); | 1688 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); |
1685 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); | 1689 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); |
1686 | 1690 |
1687 WebContents* web_contents = chrome::GetActiveWebContents(browser()); | 1691 WebContents* web_contents = |
| 1692 browser()->tab_strip_model()->GetActiveWebContents(); |
1688 ASSERT_TRUE(web_contents); | 1693 ASSERT_TRUE(web_contents); |
1689 | 1694 |
1690 base::ScopedTempDir other_directory; | 1695 base::ScopedTempDir other_directory; |
1691 ASSERT_TRUE(other_directory.CreateUniqueTempDir()); | 1696 ASSERT_TRUE(other_directory.CreateUniqueTempDir()); |
1692 FilePath target_file_full_path | 1697 FilePath target_file_full_path |
1693 = other_directory.path().Append(file.BaseName()); | 1698 = other_directory.path().Append(file.BaseName()); |
1694 content::DownloadTestObserver* observer(CreateWaiter(browser(), 1)); | 1699 content::DownloadTestObserver* observer(CreateWaiter(browser(), 1)); |
1695 scoped_ptr<DownloadUrlParameters> params( | 1700 scoped_ptr<DownloadUrlParameters> params( |
1696 DownloadUrlParameters::FromWebContents(web_contents, url)); | 1701 DownloadUrlParameters::FromWebContents(web_contents, url)); |
1697 params->set_file_path(target_file_full_path); | 1702 params->set_file_path(target_file_full_path); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1751 | 1756 |
1752 // Try to download it via a context menu. | 1757 // Try to download it via a context menu. |
1753 scoped_ptr<content::DownloadTestObserver> waiter_context_menu( | 1758 scoped_ptr<content::DownloadTestObserver> waiter_context_menu( |
1754 new content::DownloadTestObserverTerminal( | 1759 new content::DownloadTestObserverTerminal( |
1755 DownloadManagerForBrowser(browser()), 1, | 1760 DownloadManagerForBrowser(browser()), 1, |
1756 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); | 1761 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); |
1757 content::ContextMenuParams context_menu_params; | 1762 content::ContextMenuParams context_menu_params; |
1758 context_menu_params.media_type = WebKit::WebContextMenuData::MediaTypeImage; | 1763 context_menu_params.media_type = WebKit::WebContextMenuData::MediaTypeImage; |
1759 context_menu_params.src_url = url; | 1764 context_menu_params.src_url = url; |
1760 context_menu_params.page_url = url; | 1765 context_menu_params.page_url = url; |
1761 TestRenderViewContextMenu menu(chrome::GetActiveWebContents(browser()), | 1766 TestRenderViewContextMenu menu( |
1762 context_menu_params); | 1767 browser()->tab_strip_model()->GetActiveWebContents(), |
| 1768 context_menu_params); |
1763 menu.Init(); | 1769 menu.Init(); |
1764 menu.ExecuteCommand(IDC_CONTENT_CONTEXT_SAVEIMAGEAS); | 1770 menu.ExecuteCommand(IDC_CONTENT_CONTEXT_SAVEIMAGEAS); |
1765 waiter_context_menu->WaitForFinished(); | 1771 waiter_context_menu->WaitForFinished(); |
1766 EXPECT_EQ( | 1772 EXPECT_EQ( |
1767 1u, waiter_context_menu->NumDownloadsSeenInState(DownloadItem::COMPLETE)); | 1773 1u, waiter_context_menu->NumDownloadsSeenInState(DownloadItem::COMPLETE)); |
1768 CheckDownloadStates(2, DownloadItem::COMPLETE); | 1774 CheckDownloadStates(2, DownloadItem::COMPLETE); |
1769 | 1775 |
1770 // Validate that the correct file was downloaded via the context menu. | 1776 // Validate that the correct file was downloaded via the context menu. |
1771 download_items.clear(); | 1777 download_items.clear(); |
1772 GetDownloads(browser(), &download_items); | 1778 GetDownloads(browser(), &download_items); |
(...skipping 15 matching lines...) Expand all Loading... |
1788 GURL form_url = test_server()->GetURL( | 1794 GURL form_url = test_server()->GetURL( |
1789 "files/downloads/form_page_to_post.html"); | 1795 "files/downloads/form_page_to_post.html"); |
1790 ASSERT_TRUE(form_url.is_valid()); | 1796 ASSERT_TRUE(form_url.is_valid()); |
1791 ui_test_utils::NavigateToURL(browser(), form_url); | 1797 ui_test_utils::NavigateToURL(browser(), form_url); |
1792 | 1798 |
1793 // Submit the form. This will send a POST reqeuest, and the response is a | 1799 // Submit the form. This will send a POST reqeuest, and the response is a |
1794 // JPEG image. The resource also has Cache-Control: no-cache set, | 1800 // JPEG image. The resource also has Cache-Control: no-cache set, |
1795 // which normally requires revalidation each time. | 1801 // which normally requires revalidation each time. |
1796 GURL jpeg_url = test_server()->GetURL("files/post/downloads/image.jpg"); | 1802 GURL jpeg_url = test_server()->GetURL("files/post/downloads/image.jpg"); |
1797 ASSERT_TRUE(jpeg_url.is_valid()); | 1803 ASSERT_TRUE(jpeg_url.is_valid()); |
1798 WebContents* web_contents = chrome::GetActiveWebContents(browser()); | 1804 WebContents* web_contents = |
| 1805 browser()->tab_strip_model()->GetActiveWebContents(); |
1799 ASSERT_TRUE(web_contents != NULL); | 1806 ASSERT_TRUE(web_contents != NULL); |
1800 content::WindowedNotificationObserver observer( | 1807 content::WindowedNotificationObserver observer( |
1801 content::NOTIFICATION_NAV_ENTRY_COMMITTED, | 1808 content::NOTIFICATION_NAV_ENTRY_COMMITTED, |
1802 content::Source<content::NavigationController>( | 1809 content::Source<content::NavigationController>( |
1803 &web_contents->GetController())); | 1810 &web_contents->GetController())); |
1804 content::RenderViewHost* render_view_host = web_contents->GetRenderViewHost(); | 1811 content::RenderViewHost* render_view_host = web_contents->GetRenderViewHost(); |
1805 ASSERT_TRUE(render_view_host != NULL); | 1812 ASSERT_TRUE(render_view_host != NULL); |
1806 render_view_host->ExecuteJavascriptInWebFrame( | 1813 render_view_host->ExecuteJavascriptInWebFrame( |
1807 string16(), ASCIIToUTF16("SubmitForm()")); | 1814 string16(), ASCIIToUTF16("SubmitForm()")); |
1808 observer.Wait(); | 1815 observer.Wait(); |
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2149 ASSERT_TRUE(url.is_valid()); | 2156 ASSERT_TRUE(url.is_valid()); |
2150 ui_test_utils::NavigateToURL(browser(), url); | 2157 ui_test_utils::NavigateToURL(browser(), url); |
2151 | 2158 |
2152 scoped_ptr<content::DownloadTestObserver> waiter( | 2159 scoped_ptr<content::DownloadTestObserver> waiter( |
2153 new content::DownloadTestObserverTerminal( | 2160 new content::DownloadTestObserverTerminal( |
2154 DownloadManagerForBrowser(browser()), 1, | 2161 DownloadManagerForBrowser(browser()), 1, |
2155 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); | 2162 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); |
2156 | 2163 |
2157 // Click on the link with the alt key pressed. This will download the link | 2164 // Click on the link with the alt key pressed. This will download the link |
2158 // target. | 2165 // target. |
2159 WebContents* tab = chrome::GetActiveWebContents(browser()); | 2166 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); |
2160 WebKit::WebMouseEvent mouse_event; | 2167 WebKit::WebMouseEvent mouse_event; |
2161 mouse_event.type = WebKit::WebInputEvent::MouseDown; | 2168 mouse_event.type = WebKit::WebInputEvent::MouseDown; |
2162 mouse_event.button = WebKit::WebMouseEvent::ButtonLeft; | 2169 mouse_event.button = WebKit::WebMouseEvent::ButtonLeft; |
2163 mouse_event.x = 15; | 2170 mouse_event.x = 15; |
2164 mouse_event.y = 15; | 2171 mouse_event.y = 15; |
2165 mouse_event.clickCount = 1; | 2172 mouse_event.clickCount = 1; |
2166 mouse_event.modifiers = WebKit::WebInputEvent::AltKey; | 2173 mouse_event.modifiers = WebKit::WebInputEvent::AltKey; |
2167 tab->GetRenderViewHost()->ForwardMouseEvent(mouse_event); | 2174 tab->GetRenderViewHost()->ForwardMouseEvent(mouse_event); |
2168 mouse_event.type = WebKit::WebInputEvent::MouseUp; | 2175 mouse_event.type = WebKit::WebInputEvent::MouseUp; |
2169 tab->GetRenderViewHost()->ForwardMouseEvent(mouse_event); | 2176 tab->GetRenderViewHost()->ForwardMouseEvent(mouse_event); |
(...skipping 20 matching lines...) Expand all Loading... |
2190 | 2197 |
2191 scoped_refptr<DownloadManager> download_manager = | 2198 scoped_refptr<DownloadManager> download_manager = |
2192 DownloadManagerForBrowser(browser()); | 2199 DownloadManagerForBrowser(browser()); |
2193 scoped_ptr<content::DownloadTestObserver> observer( | 2200 scoped_ptr<content::DownloadTestObserver> observer( |
2194 new content::DownloadTestObserverTerminal( | 2201 new content::DownloadTestObserverTerminal( |
2195 download_manager, | 2202 download_manager, |
2196 1, | 2203 1, |
2197 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); | 2204 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL)); |
2198 | 2205 |
2199 // Download and set IsHiddenDownload to true. | 2206 // Download and set IsHiddenDownload to true. |
2200 WebContents* web_contents = chrome::GetActiveWebContents(browser()); | 2207 WebContents* web_contents = |
| 2208 browser()->tab_strip_model()->GetActiveWebContents(); |
2201 scoped_ptr<DownloadUrlParameters> params( | 2209 scoped_ptr<DownloadUrlParameters> params( |
2202 DownloadUrlParameters::FromWebContents(web_contents, url)); | 2210 DownloadUrlParameters::FromWebContents(web_contents, url)); |
2203 params->set_callback(base::Bind(&SetHiddenDownloadCallback)); | 2211 params->set_callback(base::Bind(&SetHiddenDownloadCallback)); |
2204 download_manager->DownloadUrl(params.Pass()); | 2212 download_manager->DownloadUrl(params.Pass()); |
2205 observer->WaitForFinished(); | 2213 observer->WaitForFinished(); |
2206 | 2214 |
2207 // Verify that download shelf is not shown. | 2215 // Verify that download shelf is not shown. |
2208 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible()); | 2216 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible()); |
2209 } | 2217 } |
OLD | NEW |