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

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

Issue 1395103003: Don't use base::MessageLoop::{Quit,QuitClosure} in chrome/ (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 #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 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 waiting_ = true; 138 waiting_ = true;
139 content::RunMessageLoop(); 139 content::RunMessageLoop();
140 waiting_ = false; 140 waiting_ = false;
141 } 141 }
142 142
143 private: 143 private:
144 void OnDownloadCreated(content::DownloadManager* manager, 144 void OnDownloadCreated(content::DownloadManager* manager,
145 content::DownloadItem* item) override { 145 content::DownloadItem* item) override {
146 DCHECK_EQ(manager_, manager); 146 DCHECK_EQ(manager_, manager);
147 if (waiting_) 147 if (waiting_)
148 base::MessageLoopForUI::current()->Quit(); 148 base::MessageLoopForUI::current()->QuitWhenIdle();
149 } 149 }
150 150
151 content::DownloadManager* manager_; 151 content::DownloadManager* manager_;
152 bool waiting_; 152 bool waiting_;
153 153
154 DISALLOW_COPY_AND_ASSIGN(CreatedObserver); 154 DISALLOW_COPY_AND_ASSIGN(CreatedObserver);
155 }; 155 };
156 156
157 class PercentWaiter : public content::DownloadItem::Observer { 157 class PercentWaiter : public content::DownloadItem::Observer {
158 public: 158 public:
(...skipping 21 matching lines...) Expand all
180 180
181 private: 181 private:
182 void OnDownloadUpdated(content::DownloadItem* item) override { 182 void OnDownloadUpdated(content::DownloadItem* item) override {
183 DCHECK_EQ(item_, item); 183 DCHECK_EQ(item_, item);
184 if (!error_ && 184 if (!error_ &&
185 ((prev_percent_ > item_->PercentComplete()) || 185 ((prev_percent_ > item_->PercentComplete()) ||
186 (item_->GetState() == DownloadItem::COMPLETE && 186 (item_->GetState() == DownloadItem::COMPLETE &&
187 (item_->PercentComplete() != 100)))) { 187 (item_->PercentComplete() != 100)))) {
188 error_ = true; 188 error_ = true;
189 if (waiting_) 189 if (waiting_)
190 base::MessageLoopForUI::current()->Quit(); 190 base::MessageLoopForUI::current()->QuitWhenIdle();
191 } 191 }
192 if (item_->GetState() == DownloadItem::COMPLETE && waiting_) 192 if (item_->GetState() == DownloadItem::COMPLETE && waiting_)
193 base::MessageLoopForUI::current()->Quit(); 193 base::MessageLoopForUI::current()->QuitWhenIdle();
194 } 194 }
195 195
196 void OnDownloadDestroyed(content::DownloadItem* item) override { 196 void OnDownloadDestroyed(content::DownloadItem* item) override {
197 DCHECK_EQ(item_, item); 197 DCHECK_EQ(item_, item);
198 item_->RemoveObserver(this); 198 item_->RemoveObserver(this);
199 item_ = NULL; 199 item_ = NULL;
200 } 200 }
201 201
202 content::DownloadItem* item_; 202 content::DownloadItem* item_;
203 bool waiting_; 203 bool waiting_;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 *results = results_.Pass(); 267 *results = results_.Pass();
268 } 268 }
269 return result_valid_; 269 return result_valid_;
270 } 270 }
271 271
272 private: 272 private:
273 void OnQueryDownloadsComplete( 273 void OnQueryDownloadsComplete(
274 scoped_ptr<std::vector<history::DownloadRow> > entries) { 274 scoped_ptr<std::vector<history::DownloadRow> > entries) {
275 result_valid_ = true; 275 result_valid_ = true;
276 results_ = entries.Pass(); 276 results_ = entries.Pass();
277 base::MessageLoopForUI::current()->Quit(); 277 base::MessageLoopForUI::current()->QuitWhenIdle();
278 } 278 }
279 279
280 Profile* profile_; 280 Profile* profile_;
281 scoped_ptr<std::vector<history::DownloadRow> > results_; 281 scoped_ptr<std::vector<history::DownloadRow> > results_;
282 bool result_valid_; 282 bool result_valid_;
283 283
284 DISALLOW_COPY_AND_ASSIGN(DownloadsHistoryDataCollector); 284 DISALLOW_COPY_AND_ASSIGN(DownloadsHistoryDataCollector);
285 }; 285 };
286 286
287 // Mock that simulates a permissions dialog where the user denies 287 // Mock that simulates a permissions dialog where the user denies
288 // permission to install. TODO(skerner): This could be shared with 288 // permission to install. TODO(skerner): This could be shared with
289 // extensions tests. Find a common place for this class. 289 // extensions tests. Find a common place for this class.
290 class MockAbortExtensionInstallPrompt : public ExtensionInstallPrompt { 290 class MockAbortExtensionInstallPrompt : public ExtensionInstallPrompt {
291 public: 291 public:
292 MockAbortExtensionInstallPrompt() : 292 MockAbortExtensionInstallPrompt() :
293 ExtensionInstallPrompt(NULL) { 293 ExtensionInstallPrompt(NULL) {
294 } 294 }
295 295
296 // Simulate a user abort on an extension installation. 296 // Simulate a user abort on an extension installation.
297 void ConfirmInstall(Delegate* delegate, 297 void ConfirmInstall(Delegate* delegate,
298 const Extension* extension, 298 const Extension* extension,
299 const ShowDialogCallback& show_dialog_callback) override { 299 const ShowDialogCallback& show_dialog_callback) override {
300 delegate->InstallUIAbort(true); 300 delegate->InstallUIAbort(true);
301 base::MessageLoopForUI::current()->Quit(); 301 base::MessageLoopForUI::current()->QuitWhenIdle();
302 } 302 }
303 303
304 void OnInstallSuccess(const Extension* extension, SkBitmap* icon) override {} 304 void OnInstallSuccess(const Extension* extension, SkBitmap* icon) override {}
305 void OnInstallFailure(const extensions::CrxInstallError& error) override {} 305 void OnInstallFailure(const extensions::CrxInstallError& error) override {}
306 }; 306 };
307 307
308 // Mock that simulates a permissions dialog where the user allows 308 // Mock that simulates a permissions dialog where the user allows
309 // installation. 309 // installation.
310 class MockAutoConfirmExtensionInstallPrompt : public ExtensionInstallPrompt { 310 class MockAutoConfirmExtensionInstallPrompt : public ExtensionInstallPrompt {
311 public: 311 public:
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 callback_ = callback; 388 callback_ = callback;
389 } 389 }
390 390
391 void OnDownloadStored(content::DownloadItem* item, 391 void OnDownloadStored(content::DownloadItem* item,
392 const history::DownloadRow& info) override { 392 const history::DownloadRow& info) override {
393 if (!callback_.is_null() && (!callback_.Run(info))) 393 if (!callback_.is_null() && (!callback_.Run(info)))
394 return; 394 return;
395 395
396 seen_stored_ = true; 396 seen_stored_ = true;
397 if (waiting_) 397 if (waiting_)
398 base::MessageLoopForUI::current()->Quit(); 398 base::MessageLoopForUI::current()->QuitWhenIdle();
399 } 399 }
400 400
401 void OnDownloadHistoryDestroyed() override { 401 void OnDownloadHistoryDestroyed() override {
402 DownloadServiceFactory::GetForBrowserContext(profile_)-> 402 DownloadServiceFactory::GetForBrowserContext(profile_)->
403 GetDownloadHistory()->RemoveObserver(this); 403 GetDownloadHistory()->RemoveObserver(this);
404 } 404 }
405 405
406 void WaitForStored() { 406 void WaitForStored() {
407 if (seen_stored_) 407 if (seen_stored_)
408 return; 408 return;
(...skipping 693 matching lines...) Expand 10 before | Expand all | Expand 10 after
1102 DownloadItem* download = downloads[0]; 1102 DownloadItem* download = downloads[0];
1103 EXPECT_EQ(DownloadItem::INTERRUPTED, download->GetState()); 1103 EXPECT_EQ(DownloadItem::INTERRUPTED, download->GetState());
1104 EXPECT_EQ(error, download->GetLastReason()); 1104 EXPECT_EQ(error, download->GetLastReason());
1105 return download; 1105 return download;
1106 } 1106 }
1107 1107
1108 private: 1108 private:
1109 static void EnsureNoPendingDownloadJobsOnIO(bool* result) { 1109 static void EnsureNoPendingDownloadJobsOnIO(bool* result) {
1110 if (net::URLRequestSlowDownloadJob::NumberOutstandingRequests()) 1110 if (net::URLRequestSlowDownloadJob::NumberOutstandingRequests())
1111 *result = false; 1111 *result = false;
1112 BrowserThread::PostTask( 1112 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
1113 BrowserThread::UI, FROM_HERE, base::MessageLoop::QuitClosure()); 1113 base::MessageLoop::QuitWhenIdleClosure());
1114 } 1114 }
1115 1115
1116 // Location of the test data. 1116 // Location of the test data.
1117 base::FilePath test_dir_; 1117 base::FilePath test_dir_;
1118 1118
1119 // Location of the downloads directory for these tests 1119 // Location of the downloads directory for these tests
1120 base::ScopedTempDir downloads_directory_; 1120 base::ScopedTempDir downloads_directory_;
1121 1121
1122 scoped_ptr<DownloadTestFileActivityObserver> file_activity_observer_; 1122 scoped_ptr<DownloadTestFileActivityObserver> file_activity_observer_;
1123 }; 1123 };
(...skipping 2422 matching lines...) Expand 10 before | Expand all | Expand 10 after
3546 IN_PROC_BROWSER_TEST_F(DownloadTestWithShelf, PRE_DownloadTest_History) { 3546 IN_PROC_BROWSER_TEST_F(DownloadTestWithShelf, PRE_DownloadTest_History) {
3547 // Download a file and wait for it to be stored. 3547 // Download a file and wait for it to be stored.
3548 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib")); 3548 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib"));
3549 GURL download_url(URLRequestMockHTTPJob::GetMockUrl(file)); 3549 GURL download_url(URLRequestMockHTTPJob::GetMockUrl(file));
3550 HistoryObserver observer(browser()->profile()); 3550 HistoryObserver observer(browser()->profile());
3551 DownloadAndWait(browser(), download_url); 3551 DownloadAndWait(browser(), download_url);
3552 observer.WaitForStored(); 3552 observer.WaitForStored();
3553 HistoryServiceFactory::GetForProfile(browser()->profile(), 3553 HistoryServiceFactory::GetForProfile(browser()->profile(),
3554 ServiceAccessType::IMPLICIT_ACCESS) 3554 ServiceAccessType::IMPLICIT_ACCESS)
3555 ->FlushForTest(base::Bind( 3555 ->FlushForTest(base::Bind(
3556 &base::MessageLoop::Quit, 3556 &base::MessageLoop::QuitWhenIdle,
3557 base::Unretained(base::MessageLoop::current()->current()))); 3557 base::Unretained(base::MessageLoop::current()->current())));
3558 content::RunMessageLoop(); 3558 content::RunMessageLoop();
3559 } 3559 }
3560 3560
3561 #if defined(OS_CHROMEOS) 3561 #if defined(OS_CHROMEOS)
3562 // Times out on ChromeOS: http://crbug.com/217810 3562 // Times out on ChromeOS: http://crbug.com/217810
3563 #define MAYBE_DownloadTest_History DISABLED_DownloadTest_History 3563 #define MAYBE_DownloadTest_History DISABLED_DownloadTest_History
3564 #else 3564 #else
3565 #define MAYBE_DownloadTest_History DownloadTest_History 3565 #define MAYBE_DownloadTest_History DownloadTest_History
3566 #endif 3566 #endif
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
3643 3643
3644 scoped_ptr<content::DownloadTestObserver> observer(DangerousDownloadWaiter( 3644 scoped_ptr<content::DownloadTestObserver> observer(DangerousDownloadWaiter(
3645 browser(), 1, content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY)); 3645 browser(), 1, content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY));
3646 ui_test_utils::NavigateToURL(browser(), extension_url); 3646 ui_test_utils::NavigateToURL(browser(), extension_url);
3647 3647
3648 observer->WaitForFinished(); 3648 observer->WaitForFinished();
3649 3649
3650 // Download shelf should close. 3650 // Download shelf should close.
3651 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible()); 3651 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible());
3652 } 3652 }
OLDNEW
« no previous file with comments | « chrome/browser/devtools/devtools_sanity_browsertest.cc ('k') | chrome/browser/download/save_page_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698