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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/logging.h" | 6 #include "base/logging.h" |
7 #include "base/path_service.h" | 7 #include "base/path_service.h" |
8 #include "base/stringprintf.h" | 8 #include "base/stringprintf.h" |
9 #include "chrome/browser/browser_process.h" | 9 #include "chrome/browser/browser_process.h" |
10 #include "chrome/browser/download/download_service.h" | 10 #include "chrome/browser/download/download_service.h" |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 | 112 |
113 if (num_downloads == 0) | 113 if (num_downloads == 0) |
114 return; | 114 return; |
115 | 115 |
116 // Setup an observer waiting for the given number of downloads | 116 // Setup an observer waiting for the given number of downloads |
117 // to get to IN_PROGRESS. | 117 // to get to IN_PROGRESS. |
118 DownloadManager* download_manager = | 118 DownloadManager* download_manager = |
119 BrowserContext::GetDownloadManager(browser->profile()); | 119 BrowserContext::GetDownloadManager(browser->profile()); |
120 scoped_ptr<DownloadTestObserver> observer( | 120 scoped_ptr<DownloadTestObserver> observer( |
121 new DownloadTestObserverInProgress(download_manager, | 121 new DownloadTestObserverInProgress(download_manager, |
122 num_downloads, | 122 num_downloads)); |
123 true)); // Bail on select file. | |
124 | 123 |
125 // Set of that number of downloads. | 124 // Set of that number of downloads. |
126 size_t count_downloads = num_downloads; | 125 size_t count_downloads = num_downloads; |
127 while (num_downloads--) | 126 while (num_downloads--) |
128 ui_test_utils::NavigateToURLWithDisposition( | 127 ui_test_utils::NavigateToURLWithDisposition( |
129 browser, url, NEW_BACKGROUND_TAB, | 128 browser, url, NEW_BACKGROUND_TAB, |
130 ui_test_utils::BROWSER_TEST_NONE); | 129 ui_test_utils::BROWSER_TEST_NONE); |
131 | 130 |
132 // Wait for them. | 131 // Wait for them. |
133 observer->WaitForFinished(); | 132 observer->WaitForFinished(); |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 EXPECT_TRUE(result); | 231 EXPECT_TRUE(result); |
233 if (!result) return false; | 232 if (!result) return false; |
234 first_profile_->GetPrefs()->SetFilePath( | 233 first_profile_->GetPrefs()->SetFilePath( |
235 prefs::kDownloadDefaultDirectory, | 234 prefs::kDownloadDefaultDirectory, |
236 first_profile_downloads_dir_.path()); | 235 first_profile_downloads_dir_.path()); |
237 | 236 |
238 second_profile_ = CreateSecondProfile(); | 237 second_profile_ = CreateSecondProfile(); |
239 EXPECT_TRUE(second_profile_); | 238 EXPECT_TRUE(second_profile_); |
240 if (!second_profile_) return false; | 239 if (!second_profile_) return false; |
241 | 240 |
| 241 DownloadTestFileChooserObserver(first_profile_) .EnableFileChooser(false); |
| 242 DownloadTestFileChooserObserver(second_profile_).EnableFileChooser(false); |
242 return true; | 243 return true; |
243 } | 244 } |
244 | 245 |
245 // Test a specific DownloadsCloseCheckCase. Returns false if | 246 // Test a specific DownloadsCloseCheckCase. Returns false if |
246 // an assertion has failed and the test should be aborted. | 247 // an assertion has failed and the test should be aborted. |
247 bool ExecuteDownloadCloseCheckCase(size_t i) { | 248 bool ExecuteDownloadCloseCheckCase(size_t i) { |
248 const DownloadsCloseCheckCase& check_case(download_close_check_cases[i]); | 249 const DownloadsCloseCheckCase& check_case(download_close_check_cases[i]); |
249 | 250 |
250 // Test invariant: so that we don't actually try and close the browser, | 251 // Test invariant: so that we don't actually try and close the browser, |
251 // we always enter the function with a single browser window open on the | 252 // we always enter the function with a single browser window open on the |
(...skipping 17 matching lines...) Expand all Loading... |
269 int total_download_count = DownloadService::DownloadCountAllProfiles(); | 270 int total_download_count = DownloadService::DownloadCountAllProfiles(); |
270 EXPECT_EQ(0, total_download_count) | 271 EXPECT_EQ(0, total_download_count) |
271 << "Case " << i | 272 << "Case " << i |
272 << ": " << check_case.DebugString(); | 273 << ": " << check_case.DebugString(); |
273 if (0 != total_download_count) | 274 if (0 != total_download_count) |
274 return false; | 275 return false; |
275 | 276 |
276 Profile* first_profile_incognito = first_profile_->GetOffTheRecordProfile(); | 277 Profile* first_profile_incognito = first_profile_->GetOffTheRecordProfile(); |
277 Profile* second_profile_incognito = | 278 Profile* second_profile_incognito = |
278 second_profile_->GetOffTheRecordProfile(); | 279 second_profile_->GetOffTheRecordProfile(); |
| 280 DownloadTestFileChooserObserver(first_profile_incognito) |
| 281 .EnableFileChooser(false); |
| 282 DownloadTestFileChooserObserver(second_profile_incognito) |
| 283 .EnableFileChooser(false); |
279 | 284 |
280 // For simplicty of coding, we create a window on each profile so that | 285 // For simplicty of coding, we create a window on each profile so that |
281 // we can easily create downloads, then we destroy or create windows | 286 // we can easily create downloads, then we destroy or create windows |
282 // as necessary. | 287 // as necessary. |
283 Browser* browser_a_regular(CreateBrowserOnProfile(first_profile_)); | 288 Browser* browser_a_regular(CreateBrowserOnProfile(first_profile_)); |
284 Browser* browser_a_incognito( | 289 Browser* browser_a_incognito( |
285 CreateBrowserOnProfile(first_profile_incognito)); | 290 CreateBrowserOnProfile(first_profile_incognito)); |
286 Browser* browser_b_regular(CreateBrowserOnProfile(second_profile_)); | 291 Browser* browser_b_regular(CreateBrowserOnProfile(second_profile_)); |
287 Browser* browser_b_incognito( | 292 Browser* browser_b_incognito( |
288 CreateBrowserOnProfile(second_profile_incognito)); | 293 CreateBrowserOnProfile(second_profile_incognito)); |
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
569 } | 574 } |
570 } | 575 } |
571 | 576 |
572 IN_PROC_BROWSER_TEST_F(BrowserCloseTest, MAYBE_DownloadsCloseCheck_5) { | 577 IN_PROC_BROWSER_TEST_F(BrowserCloseTest, MAYBE_DownloadsCloseCheck_5) { |
573 ASSERT_TRUE(SetupForDownloadCloseCheck()); | 578 ASSERT_TRUE(SetupForDownloadCloseCheck()); |
574 for (size_t i = 5 * arraysize(download_close_check_cases) / 6; | 579 for (size_t i = 5 * arraysize(download_close_check_cases) / 6; |
575 i < 6 * arraysize(download_close_check_cases) / 6; ++i) { | 580 i < 6 * arraysize(download_close_check_cases) / 6; ++i) { |
576 ExecuteDownloadCloseCheckCase(i); | 581 ExecuteDownloadCloseCheckCase(i); |
577 } | 582 } |
578 } | 583 } |
OLD | NEW |