| OLD | NEW |
| (Empty) |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "chrome/browser/browsing_data/browsing_data_remover_test_util.h" | |
| 6 | |
| 7 BrowsingDataRemoverCompletionObserver::BrowsingDataRemoverCompletionObserver( | |
| 8 BrowsingDataRemover* remover) | |
| 9 : message_loop_runner_(new content::MessageLoopRunner), observer_(this) { | |
| 10 observer_.Add(remover); | |
| 11 } | |
| 12 | |
| 13 BrowsingDataRemoverCompletionObserver:: | |
| 14 ~BrowsingDataRemoverCompletionObserver() {} | |
| 15 | |
| 16 void BrowsingDataRemoverCompletionObserver::BlockUntilCompletion() { | |
| 17 message_loop_runner_->Run(); | |
| 18 } | |
| 19 | |
| 20 void BrowsingDataRemoverCompletionObserver::OnBrowsingDataRemoverDone() { | |
| 21 observer_.RemoveAll(); | |
| 22 message_loop_runner_->Quit(); | |
| 23 } | |
| 24 | |
| 25 BrowsingDataRemoverCompletionInhibitor::BrowsingDataRemoverCompletionInhibitor( | |
| 26 BrowsingDataRemover* remover) | |
| 27 : remover_(remover), message_loop_runner_(new content::MessageLoopRunner) { | |
| 28 DCHECK(remover); | |
| 29 remover_->SetWouldCompleteCallbackForTesting( | |
| 30 base::Bind(&BrowsingDataRemoverCompletionInhibitor:: | |
| 31 OnBrowsingDataRemoverWouldComplete, | |
| 32 base::Unretained(this))); | |
| 33 } | |
| 34 | |
| 35 BrowsingDataRemoverCompletionInhibitor:: | |
| 36 ~BrowsingDataRemoverCompletionInhibitor() { | |
| 37 Reset(); | |
| 38 } | |
| 39 | |
| 40 void BrowsingDataRemoverCompletionInhibitor::Reset() { | |
| 41 if (!remover_) | |
| 42 return; | |
| 43 remover_->SetWouldCompleteCallbackForTesting( | |
| 44 base::Callback<void(const base::Closure&)>()); | |
| 45 remover_ = nullptr; | |
| 46 } | |
| 47 | |
| 48 void BrowsingDataRemoverCompletionInhibitor::BlockUntilNearCompletion() { | |
| 49 message_loop_runner_->Run(); | |
| 50 message_loop_runner_ = new content::MessageLoopRunner; | |
| 51 } | |
| 52 | |
| 53 void BrowsingDataRemoverCompletionInhibitor::ContinueToCompletion() { | |
| 54 DCHECK(!continue_to_completion_callback_.is_null()); | |
| 55 continue_to_completion_callback_.Run(); | |
| 56 continue_to_completion_callback_.Reset(); | |
| 57 } | |
| 58 | |
| 59 void BrowsingDataRemoverCompletionInhibitor::OnBrowsingDataRemoverWouldComplete( | |
| 60 const base::Closure& continue_to_completion) { | |
| 61 DCHECK(continue_to_completion_callback_.is_null()); | |
| 62 continue_to_completion_callback_ = continue_to_completion; | |
| 63 message_loop_runner_->Quit(); | |
| 64 } | |
| OLD | NEW |