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/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/files/file.h" | 10 #include "base/files/file.h" |
(...skipping 2735 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2746 GetDownloads(browser(), &download_items); | 2746 GetDownloads(browser(), &download_items); |
2747 EXPECT_TRUE(DidShowFileChooser()); | 2747 EXPECT_TRUE(DidShowFileChooser()); |
2748 ASSERT_EQ(1u, download_items.size()); | 2748 ASSERT_EQ(1u, download_items.size()); |
2749 ASSERT_EQ(img_url, download_items[0]->GetOriginalUrl()); | 2749 ASSERT_EQ(img_url, download_items[0]->GetOriginalUrl()); |
2750 base::FilePath file = download_items[0]->GetTargetFilePath(); | 2750 base::FilePath file = download_items[0]->GetTargetFilePath(); |
2751 // The contents of the file is the value of the Referer header if there was | 2751 // The contents of the file is the value of the Referer header if there was |
2752 // one. | 2752 // one. |
2753 EXPECT_TRUE(VerifyFile(file, "", 0)); | 2753 EXPECT_TRUE(VerifyFile(file, "", 0)); |
2754 } | 2754 } |
2755 | 2755 |
2756 // Verify the multiple downloads infobar. | 2756 // On mobile, the multiple downloads UI is an infobar. On desktop, it's a |
| 2757 // bubble. Test each as appropriate. |
| 2758 #if defined(OS_ANDROID) || defined(OS_IOS) |
2757 IN_PROC_BROWSER_TEST_F(DownloadTest, TestMultipleDownloadsInfobar) { | 2759 IN_PROC_BROWSER_TEST_F(DownloadTest, TestMultipleDownloadsInfobar) { |
2758 #if defined(OS_WIN) && defined(USE_ASH) | |
2759 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | |
2760 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | |
2761 switches::kAshBrowserTests)) | |
2762 return; | |
2763 #endif | |
2764 | |
2765 // Ensure that infobars are being used instead of bubbles. | 2760 // Ensure that infobars are being used instead of bubbles. |
2766 base::CommandLine::ForCurrentProcess()->AppendSwitch( | 2761 base::CommandLine::ForCurrentProcess()->AppendSwitch( |
2767 switches::kDisablePermissionsBubbles); | 2762 switches::kDisablePermissionsBubbles); |
2768 | 2763 |
2769 // Create a downloads observer. | 2764 // Create a downloads observer. |
2770 scoped_ptr<content::DownloadTestObserver> downloads_observer( | 2765 scoped_ptr<content::DownloadTestObserver> downloads_observer( |
2771 CreateWaiter(browser(), 2)); | 2766 CreateWaiter(browser(), 2)); |
2772 | 2767 |
2773 // Create an infobar observer. | 2768 // Create an infobar observer. |
2774 content::WindowedNotificationObserver infobar_added_1( | 2769 content::WindowedNotificationObserver infobar_added_1( |
(...skipping 23 matching lines...) Expand all Loading... |
2798 if (confirm_infobar->Accept()) | 2793 if (confirm_infobar->Accept()) |
2799 infobar_service->RemoveInfoBar(infobar); | 2794 infobar_service->RemoveInfoBar(infobar); |
2800 // Verify that there are no more infobars. | 2795 // Verify that there are no more infobars. |
2801 EXPECT_EQ(0u, infobar_service->infobar_count()); | 2796 EXPECT_EQ(0u, infobar_service->infobar_count()); |
2802 | 2797 |
2803 // Waits for the download to complete. | 2798 // Waits for the download to complete. |
2804 downloads_observer->WaitForFinished(); | 2799 downloads_observer->WaitForFinished(); |
2805 EXPECT_EQ(2u, downloads_observer->NumDownloadsSeenInState( | 2800 EXPECT_EQ(2u, downloads_observer->NumDownloadsSeenInState( |
2806 DownloadItem::COMPLETE)); | 2801 DownloadItem::COMPLETE)); |
2807 } | 2802 } |
2808 | 2803 #else |
2809 IN_PROC_BROWSER_TEST_F(DownloadTest, TestMultipleDownloadsBubble) { | 2804 IN_PROC_BROWSER_TEST_F(DownloadTest, TestMultipleDownloadsBubble) { |
2810 #if defined(OS_WIN) && defined(USE_ASH) | 2805 #if defined(OS_WIN) && defined(USE_ASH) |
2811 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 2806 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
2812 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 2807 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
2813 switches::kAshBrowserTests)) | 2808 switches::kAshBrowserTests)) |
2814 return; | 2809 return; |
2815 #endif | 2810 #endif |
2816 | 2811 |
2817 #if defined(OS_ANDROID) || defined(OS_IOS) | |
2818 // Permission bubbles are not supported on mobile. | |
2819 return; | |
2820 #endif | |
2821 | |
2822 // Enable permision bubbles. | 2812 // Enable permision bubbles. |
2823 base::CommandLine::ForCurrentProcess()->AppendSwitch( | 2813 base::CommandLine::ForCurrentProcess()->AppendSwitch( |
2824 switches::kEnablePermissionsBubbles); | 2814 switches::kEnablePermissionsBubbles); |
2825 | 2815 |
2826 // Create a downloads observer. | 2816 // Create a downloads observer. |
2827 scoped_ptr<content::DownloadTestObserver> downloads_observer( | 2817 scoped_ptr<content::DownloadTestObserver> downloads_observer( |
2828 CreateWaiter(browser(), 2)); | 2818 CreateWaiter(browser(), 2)); |
2829 | 2819 |
2830 PermissionBubbleManager* permission_bubble_manager = | 2820 PermissionBubbleManager* permission_bubble_manager = |
2831 PermissionBubbleManager::FromWebContents( | 2821 PermissionBubbleManager::FromWebContents( |
2832 browser()->tab_strip_model()->GetActiveWebContents()); | 2822 browser()->tab_strip_model()->GetActiveWebContents()); |
2833 permission_bubble_manager->DisplayPendingRequests(browser()); | 2823 permission_bubble_manager->DisplayPendingRequests(browser()); |
2834 permission_bubble_manager->set_auto_response_for_test( | 2824 permission_bubble_manager->set_auto_response_for_test( |
2835 PermissionBubbleManager::ACCEPT_ALL); | 2825 PermissionBubbleManager::ACCEPT_ALL); |
2836 | 2826 |
2837 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete( | 2827 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete( |
2838 browser(), net::URLRequestMockHTTPJob::GetMockUrl( | 2828 browser(), net::URLRequestMockHTTPJob::GetMockUrl( |
2839 "downloads/download-a_zip_file.html"), | 2829 "downloads/download-a_zip_file.html"), |
2840 1); | 2830 1); |
2841 | 2831 |
2842 // Waits for the download to complete. | 2832 // Waits for the download to complete. |
2843 downloads_observer->WaitForFinished(); | 2833 downloads_observer->WaitForFinished(); |
2844 EXPECT_EQ(2u, downloads_observer->NumDownloadsSeenInState( | 2834 EXPECT_EQ(2u, downloads_observer->NumDownloadsSeenInState( |
2845 DownloadItem::COMPLETE)); | 2835 DownloadItem::COMPLETE)); |
2846 | 2836 |
2847 browser()->tab_strip_model()->GetActiveWebContents()->Close(); | 2837 browser()->tab_strip_model()->GetActiveWebContents()->Close(); |
2848 } | 2838 } |
| 2839 #endif |
2849 | 2840 |
2850 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadTest_Renaming) { | 2841 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadTest_Renaming) { |
2851 GURL url = net::URLRequestMockHTTPJob::GetMockUrl("downloads/a_zip_file.zip"); | 2842 GURL url = net::URLRequestMockHTTPJob::GetMockUrl("downloads/a_zip_file.zip"); |
2852 content::DownloadManager* manager = DownloadManagerForBrowser(browser()); | 2843 content::DownloadManager* manager = DownloadManagerForBrowser(browser()); |
2853 base::FilePath origin_file(OriginFile(base::FilePath(FILE_PATH_LITERAL( | 2844 base::FilePath origin_file(OriginFile(base::FilePath(FILE_PATH_LITERAL( |
2854 "downloads/a_zip_file.zip")))); | 2845 "downloads/a_zip_file.zip")))); |
2855 ASSERT_TRUE(base::PathExists(origin_file)); | 2846 ASSERT_TRUE(base::PathExists(origin_file)); |
2856 std::string origin_contents; | 2847 std::string origin_contents; |
2857 ASSERT_TRUE(base::ReadFileToString(origin_file, &origin_contents)); | 2848 ASSERT_TRUE(base::ReadFileToString(origin_file, &origin_contents)); |
2858 | 2849 |
(...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3655 | 3646 |
3656 scoped_ptr<content::DownloadTestObserver> observer(DangerousDownloadWaiter( | 3647 scoped_ptr<content::DownloadTestObserver> observer(DangerousDownloadWaiter( |
3657 browser(), 1, content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY)); | 3648 browser(), 1, content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY)); |
3658 ui_test_utils::NavigateToURL(browser(), extension_url); | 3649 ui_test_utils::NavigateToURL(browser(), extension_url); |
3659 | 3650 |
3660 observer->WaitForFinished(); | 3651 observer->WaitForFinished(); |
3661 | 3652 |
3662 // Download shelf should close. | 3653 // Download shelf should close. |
3663 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible()); | 3654 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible()); |
3664 } | 3655 } |
OLD | NEW |