Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(116)

Side by Side Diff: content/browser/download/download_browsertest.cc

Issue 1398153002: Don't use base::MessageLoop::{Quit,QuitClosure} in content/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 // This file contains download browser tests that are known to be runnable 5 // This file contains download browser tests that are known to be runnable
6 // in a pure content context. Over time tests should be migrated here. 6 // in a pure content context. Over time tests should be migrated here.
7 7
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 return new DownloadFileWithDelay( 248 return new DownloadFileWithDelay(
249 save_info.Pass(), default_download_directory, url, referrer_url, 249 save_info.Pass(), default_download_directory, url, referrer_url,
250 calculate_hash, stream.Pass(), bound_net_log, 250 calculate_hash, stream.Pass(), bound_net_log,
251 psb.Pass(), observer, weak_ptr_factory_.GetWeakPtr()); 251 psb.Pass(), observer, weak_ptr_factory_.GetWeakPtr());
252 } 252 }
253 253
254 void DownloadFileWithDelayFactory::AddRenameCallback(base::Closure callback) { 254 void DownloadFileWithDelayFactory::AddRenameCallback(base::Closure callback) {
255 DCHECK_CURRENTLY_ON(BrowserThread::UI); 255 DCHECK_CURRENTLY_ON(BrowserThread::UI);
256 rename_callbacks_.push_back(callback); 256 rename_callbacks_.push_back(callback);
257 if (waiting_) 257 if (waiting_)
258 base::MessageLoopForUI::current()->Quit(); 258 base::MessageLoopForUI::current()->QuitWhenIdle();
259 } 259 }
260 260
261 void DownloadFileWithDelayFactory::GetAllRenameCallbacks( 261 void DownloadFileWithDelayFactory::GetAllRenameCallbacks(
262 std::vector<base::Closure>* results) { 262 std::vector<base::Closure>* results) {
263 DCHECK_CURRENTLY_ON(BrowserThread::UI); 263 DCHECK_CURRENTLY_ON(BrowserThread::UI);
264 results->swap(rename_callbacks_); 264 results->swap(rename_callbacks_);
265 } 265 }
266 266
267 void DownloadFileWithDelayFactory::WaitForSomeCallback() { 267 void DownloadFileWithDelayFactory::WaitForSomeCallback() {
268 DCHECK_CURRENTLY_ON(BrowserThread::UI); 268 DCHECK_CURRENTLY_ON(BrowserThread::UI);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 static void GetNumberActiveFiles(int* result) { 304 static void GetNumberActiveFiles(int* result) {
305 DCHECK_CURRENTLY_ON(BrowserThread::FILE); 305 DCHECK_CURRENTLY_ON(BrowserThread::FILE);
306 *result = active_files_; 306 *result = active_files_;
307 } 307 }
308 308
309 // Can be called on any thread, and will block (running message loop) 309 // Can be called on any thread, and will block (running message loop)
310 // until data is returned. 310 // until data is returned.
311 static int GetNumberActiveFilesFromFileThread() { 311 static int GetNumberActiveFilesFromFileThread() {
312 int result = -1; 312 int result = -1;
313 BrowserThread::PostTaskAndReply( 313 BrowserThread::PostTaskAndReply(
314 BrowserThread::FILE, 314 BrowserThread::FILE, FROM_HERE,
315 FROM_HERE,
316 base::Bind(&CountingDownloadFile::GetNumberActiveFiles, &result), 315 base::Bind(&CountingDownloadFile::GetNumberActiveFiles, &result),
317 base::MessageLoop::current()->QuitClosure()); 316 base::MessageLoop::current()->QuitWhenIdleClosure());
318 base::MessageLoop::current()->Run(); 317 base::MessageLoop::current()->Run();
319 DCHECK_NE(-1, result); 318 DCHECK_NE(-1, result);
320 return result; 319 return result;
321 } 320 }
322 321
323 private: 322 private:
324 static int active_files_; 323 static int active_files_;
325 }; 324 };
326 325
327 int CountingDownloadFile::active_files_ = 0; 326 int CountingDownloadFile::active_files_ = 0;
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 manager_->RemoveObserver(this); 458 manager_->RemoveObserver(this);
460 manager_ = NULL; 459 manager_ = NULL;
461 } 460 }
462 461
463 void OnDownloadCreated(DownloadManager* manager, 462 void OnDownloadCreated(DownloadManager* manager,
464 DownloadItem* download) override { 463 DownloadItem* download) override {
465 if (!item_) 464 if (!item_)
466 item_ = download; 465 item_ = download;
467 466
468 if (waiting_) 467 if (waiting_)
469 base::MessageLoopForUI::current()->Quit(); 468 base::MessageLoopForUI::current()->QuitWhenIdle();
470 } 469 }
471 470
472 DownloadItem* WaitForFinished() { 471 DownloadItem* WaitForFinished() {
473 DCHECK_CURRENTLY_ON(BrowserThread::UI); 472 DCHECK_CURRENTLY_ON(BrowserThread::UI);
474 if (!item_) { 473 if (!item_) {
475 waiting_ = true; 474 waiting_ = true;
476 RunMessageLoop(); 475 RunMessageLoop();
477 waiting_ = false; 476 waiting_ = false;
478 } 477 }
479 return item_; 478 return item_;
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 if (static_cast<char>((i * 2 + 15) % 256) != file_contents[i]) 737 if (static_cast<char>((i * 2 + 15) % 256) != file_contents[i])
739 return; 738 return;
740 } 739 }
741 } 740 }
742 } 741 }
743 742
744 private: 743 private:
745 static void EnsureNoPendingDownloadJobsOnIO(bool* result) { 744 static void EnsureNoPendingDownloadJobsOnIO(bool* result) {
746 if (net::URLRequestSlowDownloadJob::NumberOutstandingRequests()) 745 if (net::URLRequestSlowDownloadJob::NumberOutstandingRequests())
747 *result = false; 746 *result = false;
748 BrowserThread::PostTask( 747 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
749 BrowserThread::UI, FROM_HERE, base::MessageLoop::QuitClosure()); 748 base::MessageLoop::QuitWhenIdleClosure());
750 } 749 }
751 750
752 // Location of the downloads directory for these tests 751 // Location of the downloads directory for these tests
753 base::ScopedTempDir downloads_directory_; 752 base::ScopedTempDir downloads_directory_;
754 scoped_ptr<TestShellDownloadManagerDelegate> test_delegate_; 753 scoped_ptr<TestShellDownloadManagerDelegate> test_delegate_;
755 }; 754 };
756 755
757 IN_PROC_BROWSER_TEST_F(DownloadContentTest, DownloadCancelled) { 756 IN_PROC_BROWSER_TEST_F(DownloadContentTest, DownloadCancelled) {
758 SetupEnsureNoPendingDownloads(); 757 SetupEnsureNoPendingDownloads();
759 758
(...skipping 1066 matching lines...) Expand 10 before | Expand all | Expand 10 after
1826 1825
1827 std::vector<DownloadItem*> downloads; 1826 std::vector<DownloadItem*> downloads;
1828 DownloadManagerForShell(shell())->GetAllDownloads(&downloads); 1827 DownloadManagerForShell(shell())->GetAllDownloads(&downloads);
1829 ASSERT_EQ(1u, downloads.size()); 1828 ASSERT_EQ(1u, downloads.size());
1830 1829
1831 EXPECT_EQ(FILE_PATH_LITERAL("Jumboshrimp.txt"), 1830 EXPECT_EQ(FILE_PATH_LITERAL("Jumboshrimp.txt"),
1832 downloads[0]->GetTargetFilePath().BaseName().value()); 1831 downloads[0]->GetTargetFilePath().BaseName().value());
1833 } 1832 }
1834 1833
1835 } // namespace content 1834 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/devtools/devtools_manager_unittest.cc ('k') | content/browser/download/download_file_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698