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 "chrome/browser/download/download_browsertest.h" | 5 #include "chrome/browser/download/download_browsertest.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 #include <sstream> | 8 #include <sstream> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 2190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2201 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib")); | 2201 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib")); |
2202 base::ScopedTempDir other_directory; | 2202 base::ScopedTempDir other_directory; |
2203 ASSERT_TRUE(other_directory.CreateUniqueTempDir()); | 2203 ASSERT_TRUE(other_directory.CreateUniqueTempDir()); |
2204 base::FilePath target_file_full_path = | 2204 base::FilePath target_file_full_path = |
2205 other_directory.GetPath().Append(file.BaseName()); | 2205 other_directory.GetPath().Append(file.BaseName()); |
2206 content::DownloadTestObserver* observer(CreateWaiter(browser(), 1)); | 2206 content::DownloadTestObserver* observer(CreateWaiter(browser(), 1)); |
2207 std::unique_ptr<DownloadUrlParameters> params( | 2207 std::unique_ptr<DownloadUrlParameters> params( |
2208 DownloadUrlParameters::CreateForWebContentsMainFrame( | 2208 DownloadUrlParameters::CreateForWebContentsMainFrame( |
2209 web_contents, url)); | 2209 web_contents, url)); |
2210 params->set_file_path(target_file_full_path); | 2210 params->set_file_path(target_file_full_path); |
2211 params->set_transient(true); | |
2212 DownloadManagerForBrowser(browser())->DownloadUrl(std::move(params)); | 2211 DownloadManagerForBrowser(browser())->DownloadUrl(std::move(params)); |
2213 observer->WaitForFinished(); | 2212 observer->WaitForFinished(); |
2214 EXPECT_EQ(1u, observer->NumDownloadsSeenInState(DownloadItem::COMPLETE)); | 2213 EXPECT_EQ(1u, observer->NumDownloadsSeenInState(DownloadItem::COMPLETE)); |
2215 | 2214 |
2216 // Check state. | 2215 // Check state. |
2217 EXPECT_EQ(1, browser()->tab_strip_model()->count()); | 2216 EXPECT_EQ(1, browser()->tab_strip_model()->count()); |
2218 ASSERT_TRUE(CheckDownloadFullPaths(browser(), | 2217 ASSERT_TRUE(CheckDownloadFullPaths(browser(), |
2219 target_file_full_path, | 2218 target_file_full_path, |
2220 OriginFile(file))); | 2219 OriginFile(file))); |
2221 | 2220 |
2222 // Temporary are treated as auto-opened, and after that open won't be | 2221 // Temporary are treated as auto-opened, and after that open won't be |
2223 // visible; wait for auto-open and confirm not visible. | 2222 // visible; wait for auto-open and confirm not visible. |
2224 std::vector<DownloadItem*> downloads; | 2223 std::vector<DownloadItem*> downloads; |
2225 DownloadManagerForBrowser(browser())->GetAllDownloads(&downloads); | 2224 DownloadManagerForBrowser(browser())->GetAllDownloads(&downloads); |
2226 ASSERT_EQ(1u, downloads.size()); | 2225 ASSERT_EQ(1u, downloads.size()); |
2227 content::DownloadUpdatedObserver( | 2226 content::DownloadUpdatedObserver( |
2228 downloads[0], base::Bind(&WasAutoOpened)).WaitForEvent(); | 2227 downloads[0], base::Bind(&WasAutoOpened)).WaitForEvent(); |
| 2228 } |
| 2229 |
| 2230 IN_PROC_BROWSER_TEST_F(DownloadTest, TransientDownload) { |
| 2231 GURL url(URLRequestMockHTTPJob::GetMockUrl(kDownloadTest1Path)); |
| 2232 |
| 2233 WebContents* web_contents = |
| 2234 browser()->tab_strip_model()->GetActiveWebContents(); |
| 2235 ASSERT_TRUE(web_contents); |
| 2236 |
| 2237 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib")); |
| 2238 base::ScopedTempDir other_directory; |
| 2239 ASSERT_TRUE(other_directory.CreateUniqueTempDir()); |
| 2240 base::FilePath target_file_full_path = |
| 2241 other_directory.GetPath().Append(file.BaseName()); |
| 2242 content::DownloadTestObserver* observer(CreateWaiter(browser(), 1)); |
| 2243 std::unique_ptr<DownloadUrlParameters> params( |
| 2244 DownloadUrlParameters::CreateForWebContentsMainFrame(web_contents, url)); |
| 2245 params->set_file_path(target_file_full_path); |
| 2246 params->set_transient(true); |
| 2247 DownloadManagerForBrowser(browser())->DownloadUrl(std::move(params)); |
| 2248 observer->WaitForFinished(); |
| 2249 EXPECT_EQ(1u, observer->NumDownloadsSeenInState(DownloadItem::COMPLETE)); |
| 2250 |
| 2251 // Check state. |
| 2252 EXPECT_EQ(1, browser()->tab_strip_model()->count()); |
| 2253 ASSERT_TRUE(CheckDownloadFullPaths(browser(), target_file_full_path, |
| 2254 OriginFile(file))); |
| 2255 |
| 2256 std::vector<DownloadItem*> downloads; |
| 2257 DownloadManagerForBrowser(browser())->GetAllDownloads(&downloads); |
| 2258 ASSERT_EQ(1u, downloads.size()); |
2229 ASSERT_TRUE(downloads[0]->IsTransient()); | 2259 ASSERT_TRUE(downloads[0]->IsTransient()); |
| 2260 ASSERT_FALSE(downloads[0]->IsTemporary()); |
2230 } | 2261 } |
2231 | 2262 |
2232 IN_PROC_BROWSER_TEST_F(DownloadTest, SavePageNonHTMLViaGet) { | 2263 IN_PROC_BROWSER_TEST_F(DownloadTest, SavePageNonHTMLViaGet) { |
2233 embedded_test_server()->ServeFilesFromDirectory(GetTestDataDirectory()); | 2264 embedded_test_server()->ServeFilesFromDirectory(GetTestDataDirectory()); |
2234 ASSERT_TRUE(embedded_test_server()->Start()); | 2265 ASSERT_TRUE(embedded_test_server()->Start()); |
2235 EnableFileChooser(true); | 2266 EnableFileChooser(true); |
2236 std::vector<DownloadItem*> download_items; | 2267 std::vector<DownloadItem*> download_items; |
2237 GetDownloads(browser(), &download_items); | 2268 GetDownloads(browser(), &download_items); |
2238 ASSERT_TRUE(download_items.empty()); | 2269 ASSERT_TRUE(download_items.empty()); |
2239 | 2270 |
(...skipping 1562 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3802 browser(), 1, | 3833 browser(), 1, |
3803 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY)); | 3834 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY)); |
3804 ui_test_utils::NavigateToURL(browser(), extension_url); | 3835 ui_test_utils::NavigateToURL(browser(), extension_url); |
3805 | 3836 |
3806 observer->WaitForFinished(); | 3837 observer->WaitForFinished(); |
3807 | 3838 |
3808 // Download shelf should close. | 3839 // Download shelf should close. |
3809 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible()); | 3840 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible()); |
3810 } | 3841 } |
3811 #endif // defined(OS_CHROMEOS) | 3842 #endif // defined(OS_CHROMEOS) |
OLD | NEW |