| 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/file_util.h" | 10 #include "base/file_util.h" |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 #include "chrome/common/extensions/feature_switch.h" | 58 #include "chrome/common/extensions/feature_switch.h" |
| 59 #include "chrome/common/pref_names.h" | 59 #include "chrome/common/pref_names.h" |
| 60 #include "chrome/common/url_constants.h" | 60 #include "chrome/common/url_constants.h" |
| 61 #include "chrome/test/base/in_process_browser_test.h" | 61 #include "chrome/test/base/in_process_browser_test.h" |
| 62 #include "chrome/test/base/ui_test_utils.h" | 62 #include "chrome/test/base/ui_test_utils.h" |
| 63 #include "content/public/browser/download_item.h" | 63 #include "content/public/browser/download_item.h" |
| 64 #include "content/public/browser/download_manager.h" | 64 #include "content/public/browser/download_manager.h" |
| 65 #include "content/public/browser/download_save_info.h" | 65 #include "content/public/browser/download_save_info.h" |
| 66 #include "content/public/browser/download_url_parameters.h" | 66 #include "content/public/browser/download_url_parameters.h" |
| 67 #include "content/public/browser/notification_source.h" | 67 #include "content/public/browser/notification_source.h" |
| 68 #include "content/public/browser/plugin_service.h" | |
| 69 #include "content/public/browser/render_view_host.h" | 68 #include "content/public/browser/render_view_host.h" |
| 70 #include "content/public/browser/resource_context.h" | 69 #include "content/public/browser/resource_context.h" |
| 71 #include "content/public/browser/web_contents.h" | 70 #include "content/public/browser/web_contents.h" |
| 72 #include "content/public/common/content_switches.h" | 71 #include "content/public/common/content_switches.h" |
| 73 #include "content/public/common/context_menu_params.h" | 72 #include "content/public/common/context_menu_params.h" |
| 74 #include "content/public/common/page_transition_types.h" | 73 #include "content/public/common/page_transition_types.h" |
| 75 #include "content/public/test/browser_test_utils.h" | 74 #include "content/public/test/browser_test_utils.h" |
| 76 #include "content/public/test/download_test_observer.h" | 75 #include "content/public/test/download_test_observer.h" |
| 77 #include "content/public/test/test_file_error_injector.h" | 76 #include "content/public/test/test_file_error_injector.h" |
| 78 #include "content/public/test/test_navigation_observer.h" | 77 #include "content/public/test/test_navigation_observer.h" |
| 79 #include "content/test/net/url_request_mock_http_job.h" | 78 #include "content/test/net/url_request_mock_http_job.h" |
| 80 #include "content/test/net/url_request_slow_download_job.h" | 79 #include "content/test/net/url_request_slow_download_job.h" |
| 81 #include "grit/generated_resources.h" | 80 #include "grit/generated_resources.h" |
| 82 #include "net/base/net_util.h" | 81 #include "net/base/net_util.h" |
| 83 #include "net/test/spawned_test_server/spawned_test_server.h" | 82 #include "net/test/spawned_test_server/spawned_test_server.h" |
| 84 #include "testing/gtest/include/gtest/gtest.h" | 83 #include "testing/gtest/include/gtest/gtest.h" |
| 85 #include "ui/base/l10n/l10n_util.h" | 84 #include "ui/base/l10n/l10n_util.h" |
| 86 #include "webkit/plugins/npapi/mock_plugin_list.h" | |
| 87 | 85 |
| 88 using content::BrowserContext; | 86 using content::BrowserContext; |
| 89 using content::BrowserThread; | 87 using content::BrowserThread; |
| 90 using content::DownloadItem; | 88 using content::DownloadItem; |
| 91 using content::DownloadManager; | 89 using content::DownloadManager; |
| 92 using content::DownloadUrlParameters; | 90 using content::DownloadUrlParameters; |
| 93 using content::URLRequestMockHTTPJob; | 91 using content::URLRequestMockHTTPJob; |
| 94 using content::URLRequestSlowDownloadJob; | 92 using content::URLRequestSlowDownloadJob; |
| 95 using content::WebContents; | 93 using content::WebContents; |
| 96 using extensions::Extension; | 94 using extensions::Extension; |
| (...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 466 ASSERT_TRUE(InitialSetup()); | 464 ASSERT_TRUE(InitialSetup()); |
| 467 } | 465 } |
| 468 | 466 |
| 469 virtual void CleanUpOnMainThread() OVERRIDE { | 467 virtual void CleanUpOnMainThread() OVERRIDE { |
| 470 // Needs to be torn down on the main thread. file_activity_observer_ holds a | 468 // Needs to be torn down on the main thread. file_activity_observer_ holds a |
| 471 // reference to the ChromeDownloadManagerDelegate which should be destroyed | 469 // reference to the ChromeDownloadManagerDelegate which should be destroyed |
| 472 // on the UI thread. | 470 // on the UI thread. |
| 473 file_activity_observer_.reset(); | 471 file_activity_observer_.reset(); |
| 474 } | 472 } |
| 475 | 473 |
| 474 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { |
| 475 command_line->AppendSwitch(switches::kDisablePluginsDiscovery); |
| 476 } |
| 477 |
| 476 // Returning false indicates a failure of the setup, and should be asserted | 478 // Returning false indicates a failure of the setup, and should be asserted |
| 477 // in the caller. | 479 // in the caller. |
| 478 virtual bool InitialSetup() { | 480 virtual bool InitialSetup() { |
| 479 bool have_test_dir = PathService::Get(chrome::DIR_TEST_DATA, &test_dir_); | 481 bool have_test_dir = PathService::Get(chrome::DIR_TEST_DATA, &test_dir_); |
| 480 EXPECT_TRUE(have_test_dir); | 482 EXPECT_TRUE(have_test_dir); |
| 481 if (!have_test_dir) | 483 if (!have_test_dir) |
| 482 return false; | 484 return false; |
| 483 | 485 |
| 484 // Sanity check default values for window / tab count and shelf visibility. | 486 // Sanity check default values for window / tab count and shelf visibility. |
| 485 int window_count = chrome::GetTotalBrowserCount(); | 487 int window_count = chrome::GetTotalBrowserCount(); |
| (...skipping 1357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1843 row1.interrupt_reason); | 1845 row1.interrupt_reason); |
| 1844 EXPECT_FALSE(row1.opened); | 1846 EXPECT_FALSE(row1.opened); |
| 1845 } | 1847 } |
| 1846 | 1848 |
| 1847 // Make sure a dangerous file shows up properly in the history. | 1849 // Make sure a dangerous file shows up properly in the history. |
| 1848 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadHistoryDangerCheck) { | 1850 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadHistoryDangerCheck) { |
| 1849 // .swf file so that it's dangerous on all platforms (including CrOS). | 1851 // .swf file so that it's dangerous on all platforms (including CrOS). |
| 1850 base::FilePath file(FILE_PATH_LITERAL("downloads/dangerous/dangerous.swf")); | 1852 base::FilePath file(FILE_PATH_LITERAL("downloads/dangerous/dangerous.swf")); |
| 1851 GURL download_url(URLRequestMockHTTPJob::GetMockUrl(file)); | 1853 GURL download_url(URLRequestMockHTTPJob::GetMockUrl(file)); |
| 1852 | 1854 |
| 1853 // Null out plugins so that flash plugin won't interfere with testing. | |
| 1854 #if defined(ENABLE_PLUGINS) | |
| 1855 webkit::npapi::MockPluginList plugin_list; | |
| 1856 content::PluginService::GetInstance()->SetPluginListForTesting(&plugin_list); | |
| 1857 #endif | |
| 1858 | |
| 1859 // Download the url and wait until the object has been stored. | 1855 // Download the url and wait until the object has been stored. |
| 1860 scoped_ptr<content::DownloadTestObserver> download_observer( | 1856 scoped_ptr<content::DownloadTestObserver> download_observer( |
| 1861 new content::DownloadTestObserverTerminal( | 1857 new content::DownloadTestObserverTerminal( |
| 1862 DownloadManagerForBrowser(browser()), 1, | 1858 DownloadManagerForBrowser(browser()), 1, |
| 1863 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_IGNORE)); | 1859 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_IGNORE)); |
| 1864 base::Time start(base::Time::Now()); | 1860 base::Time start(base::Time::Now()); |
| 1865 HistoryObserver observer(browser()->profile()); | 1861 HistoryObserver observer(browser()->profile()); |
| 1866 observer.SetFilterCallback(base::Bind(&HasDataAndName)); | 1862 observer.SetFilterCallback(base::Bind(&HasDataAndName)); |
| 1867 ui_test_utils::NavigateToURL(browser(), download_url); | 1863 ui_test_utils::NavigateToURL(browser(), download_url); |
| 1868 observer.WaitForStored(); | 1864 observer.WaitForStored(); |
| (...skipping 1358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3227 | 3223 |
| 3228 // No errors this time. The download should complete successfully. | 3224 // No errors this time. The download should complete successfully. |
| 3229 EXPECT_FALSE(completion_observer->IsFinished()); | 3225 EXPECT_FALSE(completion_observer->IsFinished()); |
| 3230 completion_observer->StartObserving(); | 3226 completion_observer->StartObserving(); |
| 3231 download->Resume(); | 3227 download->Resume(); |
| 3232 completion_observer->WaitForFinished(); | 3228 completion_observer->WaitForFinished(); |
| 3233 EXPECT_EQ(DownloadItem::COMPLETE, download->GetState()); | 3229 EXPECT_EQ(DownloadItem::COMPLETE, download->GetState()); |
| 3234 | 3230 |
| 3235 EXPECT_FALSE(DidShowFileChooser()); | 3231 EXPECT_FALSE(DidShowFileChooser()); |
| 3236 } | 3232 } |
| OLD | NEW |