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 |