Chromium Code Reviews| Index: content/public/test/download_test_observer.h |
| diff --git a/content/public/test/download_test_observer.h b/content/public/test/download_test_observer.h |
| index 6626ffe5ece6d5bac9e3c2e3342ef159e8f00a17..75ecef3181dfa7056e1573c669711227993f053c 100644 |
| --- a/content/public/test/download_test_observer.h |
| +++ b/content/public/test/download_test_observer.h |
| @@ -55,11 +55,7 @@ class DownloadUpdatedObserver : public DownloadItem::Observer { |
| // - Specific events, such as a select file dialog. |
| // Callers may either probe for the finished state, or wait on it. |
| // |
| -// TODO(rdsmith): Detect manager going down, remove pointer to |
| -// DownloadManager, transition to finished. (For right now we |
| -// just use a scoped_refptr<> to keep it around, but that may cause |
| -// timeouts on waiting if a DownloadManager::Shutdown() occurs which |
| -// cancels our in-progress downloads.) |
| +// TODO: Transition to finish when manager goes down. |
|
benjhayden
2013/05/17 14:50:03
Does this require more than `if (waiting_) base::M
cmarcelo
2013/05/20 15:22:06
It would work in current code base, but would brea
|
| class DownloadTestObserver : public DownloadManager::Observer, |
| public DownloadItem::Observer { |
| public: |
| @@ -92,6 +88,7 @@ class DownloadTestObserver : public DownloadManager::Observer, |
| // DownloadManager::Observer |
| virtual void OnDownloadCreated( |
| DownloadManager* manager, DownloadItem* item) OVERRIDE; |
| + virtual void ManagerGoingDown(DownloadManager* manager) OVERRIDE; |
| size_t NumDangerousDownloadsSeen() const; |
| @@ -118,8 +115,14 @@ class DownloadTestObserver : public DownloadManager::Observer, |
| void SignalIfFinished(); |
| + // Fake user click on "Accept". |
| + void AcceptDangerousDownload(int32 download_id); |
| + |
| + // Fake user click on "Deny". |
| + void DenyDangerousDownload(int32 download_id); |
| + |
| // The observed download manager. |
| - scoped_refptr<DownloadManager> download_manager_; |
| + DownloadManager* download_manager_; |
| // The set of DownloadItem's that have transitioned to their finished state |
| // since construction of this object. When the size of this array |
| @@ -159,6 +162,8 @@ class DownloadTestObserver : public DownloadManager::Observer, |
| // Holds the download ids which were dangerous. |
| std::set<int32> dangerous_downloads_seen_; |
| + base::WeakPtrFactory<DownloadTestObserver> weak_factory_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(DownloadTestObserver); |
| }; |