| 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 "content/public/test/download_test_observer.h" | 5 #include "content/public/test/download_test_observer.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 RunMessageLoop(); | 42 RunMessageLoop(); |
| 43 waiting_ = false; | 43 waiting_ = false; |
| 44 return event_seen_; | 44 return event_seen_; |
| 45 } | 45 } |
| 46 | 46 |
| 47 void DownloadUpdatedObserver::OnDownloadUpdated(DownloadItem* item) { | 47 void DownloadUpdatedObserver::OnDownloadUpdated(DownloadItem* item) { |
| 48 DCHECK_EQ(item_, item); | 48 DCHECK_EQ(item_, item); |
| 49 if (filter_.Run(item_)) | 49 if (filter_.Run(item_)) |
| 50 event_seen_ = true; | 50 event_seen_ = true; |
| 51 if (waiting_ && event_seen_) | 51 if (waiting_ && event_seen_) |
| 52 base::MessageLoopForUI::current()->Quit(); | 52 base::MessageLoopForUI::current()->QuitWhenIdle(); |
| 53 } | 53 } |
| 54 | 54 |
| 55 void DownloadUpdatedObserver::OnDownloadDestroyed(DownloadItem* item) { | 55 void DownloadUpdatedObserver::OnDownloadDestroyed(DownloadItem* item) { |
| 56 DCHECK_EQ(item_, item); | 56 DCHECK_EQ(item_, item); |
| 57 item_->RemoveObserver(this); | 57 item_->RemoveObserver(this); |
| 58 item_ = NULL; | 58 item_ = NULL; |
| 59 if (waiting_) | 59 if (waiting_) |
| 60 base::MessageLoopForUI::current()->Quit(); | 60 base::MessageLoopForUI::current()->QuitWhenIdle(); |
| 61 } | 61 } |
| 62 | 62 |
| 63 DownloadTestObserver::DownloadTestObserver( | 63 DownloadTestObserver::DownloadTestObserver( |
| 64 DownloadManager* download_manager, | 64 DownloadManager* download_manager, |
| 65 size_t wait_count, | 65 size_t wait_count, |
| 66 DangerousDownloadAction dangerous_download_action) | 66 DangerousDownloadAction dangerous_download_action) |
| 67 : download_manager_(download_manager), | 67 : download_manager_(download_manager), |
| 68 wait_count_(wait_count), | 68 wait_count_(wait_count), |
| 69 finished_downloads_at_construction_(0), | 69 finished_downloads_at_construction_(0), |
| 70 waiting_(false), | 70 waiting_(false), |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 finished_downloads_.insert(download); | 209 finished_downloads_.insert(download); |
| 210 | 210 |
| 211 // Record the state. | 211 // Record the state. |
| 212 states_observed_[download->GetState()]++; // Initializes to 0 the first time. | 212 states_observed_[download->GetState()]++; // Initializes to 0 the first time. |
| 213 | 213 |
| 214 SignalIfFinished(); | 214 SignalIfFinished(); |
| 215 } | 215 } |
| 216 | 216 |
| 217 void DownloadTestObserver::SignalIfFinished() { | 217 void DownloadTestObserver::SignalIfFinished() { |
| 218 if (waiting_ && IsFinished()) | 218 if (waiting_ && IsFinished()) |
| 219 base::MessageLoopForUI::current()->Quit(); | 219 base::MessageLoopForUI::current()->QuitWhenIdle(); |
| 220 } | 220 } |
| 221 | 221 |
| 222 void DownloadTestObserver::AcceptDangerousDownload(uint32 download_id) { | 222 void DownloadTestObserver::AcceptDangerousDownload(uint32 download_id) { |
| 223 // Download manager was shutdown before the UI thread could accept the | 223 // Download manager was shutdown before the UI thread could accept the |
| 224 // download. | 224 // download. |
| 225 if (!download_manager_) | 225 if (!download_manager_) |
| 226 return; | 226 return; |
| 227 DownloadItem* download = download_manager_->GetDownload(download_id); | 227 DownloadItem* download = download_manager_->GetDownload(download_id); |
| 228 if (download && !download->IsDone()) | 228 if (download && !download->IsDone()) |
| 229 download->ValidateDangerousDownload(); | 229 download->ValidateDangerousDownload(); |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 BrowserThread::IO, FROM_HERE, | 399 BrowserThread::IO, FROM_HERE, |
| 400 base::Bind(&DownloadTestFlushObserver::PingIOThread, this, cycle)); | 400 base::Bind(&DownloadTestFlushObserver::PingIOThread, this, cycle)); |
| 401 } | 401 } |
| 402 | 402 |
| 403 void DownloadTestFlushObserver::PingIOThread(int cycle) { | 403 void DownloadTestFlushObserver::PingIOThread(int cycle) { |
| 404 if (--cycle) { | 404 if (--cycle) { |
| 405 BrowserThread::PostTask( | 405 BrowserThread::PostTask( |
| 406 BrowserThread::UI, FROM_HERE, | 406 BrowserThread::UI, FROM_HERE, |
| 407 base::Bind(&DownloadTestFlushObserver::PingFileThread, this, cycle)); | 407 base::Bind(&DownloadTestFlushObserver::PingFileThread, this, cycle)); |
| 408 } else { | 408 } else { |
| 409 BrowserThread::PostTask( | 409 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
| 410 BrowserThread::UI, FROM_HERE, base::MessageLoop::QuitClosure()); | 410 base::MessageLoop::QuitWhenIdleClosure()); |
| 411 } | 411 } |
| 412 } | 412 } |
| 413 | 413 |
| 414 DownloadTestItemCreationObserver::DownloadTestItemCreationObserver() | 414 DownloadTestItemCreationObserver::DownloadTestItemCreationObserver() |
| 415 : download_id_(DownloadItem::kInvalidId), | 415 : download_id_(DownloadItem::kInvalidId), |
| 416 interrupt_reason_(DOWNLOAD_INTERRUPT_REASON_NONE), | 416 interrupt_reason_(DOWNLOAD_INTERRUPT_REASON_NONE), |
| 417 called_back_count_(0), | 417 called_back_count_(0), |
| 418 waiting_(false) { | 418 waiting_(false) { |
| 419 } | 419 } |
| 420 | 420 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 436 DownloadInterruptReason interrupt_reason) { | 436 DownloadInterruptReason interrupt_reason) { |
| 437 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 437 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 438 | 438 |
| 439 if (item) | 439 if (item) |
| 440 download_id_ = item->GetId(); | 440 download_id_ = item->GetId(); |
| 441 interrupt_reason_ = interrupt_reason; | 441 interrupt_reason_ = interrupt_reason; |
| 442 ++called_back_count_; | 442 ++called_back_count_; |
| 443 DCHECK_EQ(1u, called_back_count_); | 443 DCHECK_EQ(1u, called_back_count_); |
| 444 | 444 |
| 445 if (waiting_) | 445 if (waiting_) |
| 446 base::MessageLoopForUI::current()->Quit(); | 446 base::MessageLoopForUI::current()->QuitWhenIdle(); |
| 447 } | 447 } |
| 448 | 448 |
| 449 const DownloadUrlParameters::OnStartedCallback | 449 const DownloadUrlParameters::OnStartedCallback |
| 450 DownloadTestItemCreationObserver::callback() { | 450 DownloadTestItemCreationObserver::callback() { |
| 451 return base::Bind( | 451 return base::Bind( |
| 452 &DownloadTestItemCreationObserver::DownloadItemCreationCallback, this); | 452 &DownloadTestItemCreationObserver::DownloadItemCreationCallback, this); |
| 453 } | 453 } |
| 454 | 454 |
| 455 } // namespace content | 455 } // namespace content |
| OLD | NEW |