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

Side by Side Diff: chrome/browser/browsing_data/browsing_data_remover_test_util.cc

Issue 2802013002: Move BrowsingDataRemoverImpl:: CompletionInhibitor to the public interface (Closed)
Patch Set: Finishing after shutdown is still OK. Created 3 years, 8 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 2014 The Chromium Authors. All rights reserved. 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 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 "chrome/browser/browsing_data/browsing_data_remover_test_util.h" 5 #include "chrome/browser/browsing_data/browsing_data_remover_test_util.h"
6 6
7 BrowsingDataRemoverCompletionObserver::BrowsingDataRemoverCompletionObserver( 7 BrowsingDataRemoverCompletionObserver::BrowsingDataRemoverCompletionObserver(
8 BrowsingDataRemover* remover) 8 BrowsingDataRemover* remover)
9 : message_loop_runner_(new content::MessageLoopRunner), observer_(this) { 9 : message_loop_runner_(new content::MessageLoopRunner), observer_(this) {
10 observer_.Add(remover); 10 observer_.Add(remover);
11 } 11 }
12 12
13 BrowsingDataRemoverCompletionObserver:: 13 BrowsingDataRemoverCompletionObserver::
14 ~BrowsingDataRemoverCompletionObserver() {} 14 ~BrowsingDataRemoverCompletionObserver() {}
15 15
16 void BrowsingDataRemoverCompletionObserver::BlockUntilCompletion() { 16 void BrowsingDataRemoverCompletionObserver::BlockUntilCompletion() {
17 message_loop_runner_->Run(); 17 message_loop_runner_->Run();
18 } 18 }
19 19
20 void BrowsingDataRemoverCompletionObserver::OnBrowsingDataRemoverDone() { 20 void BrowsingDataRemoverCompletionObserver::OnBrowsingDataRemoverDone() {
21 observer_.RemoveAll(); 21 observer_.RemoveAll();
22 message_loop_runner_->Quit(); 22 message_loop_runner_->Quit();
23 } 23 }
24 24
25 BrowsingDataRemoverCompletionInhibitor::BrowsingDataRemoverCompletionInhibitor() 25 BrowsingDataRemoverCompletionInhibitor::BrowsingDataRemoverCompletionInhibitor(
26 : message_loop_runner_(new content::MessageLoopRunner) { 26 BrowsingDataRemover* remover)
27 BrowsingDataRemoverImpl::set_completion_inhibitor_for_testing(this); 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)));
28 } 33 }
29 34
30 BrowsingDataRemoverCompletionInhibitor:: 35 BrowsingDataRemoverCompletionInhibitor::
31 ~BrowsingDataRemoverCompletionInhibitor() { 36 ~BrowsingDataRemoverCompletionInhibitor() {
32 BrowsingDataRemoverImpl::set_completion_inhibitor_for_testing(nullptr); 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;
33 } 46 }
34 47
35 void BrowsingDataRemoverCompletionInhibitor::BlockUntilNearCompletion() { 48 void BrowsingDataRemoverCompletionInhibitor::BlockUntilNearCompletion() {
36 message_loop_runner_->Run(); 49 message_loop_runner_->Run();
37 message_loop_runner_ = new content::MessageLoopRunner; 50 message_loop_runner_ = new content::MessageLoopRunner;
38 } 51 }
39 52
40 void BrowsingDataRemoverCompletionInhibitor::ContinueToCompletion() { 53 void BrowsingDataRemoverCompletionInhibitor::ContinueToCompletion() {
41 DCHECK(!continue_to_completion_callback_.is_null()); 54 DCHECK(!continue_to_completion_callback_.is_null());
42 continue_to_completion_callback_.Run(); 55 continue_to_completion_callback_.Run();
43 continue_to_completion_callback_.Reset(); 56 continue_to_completion_callback_.Reset();
44 } 57 }
45 58
46 void BrowsingDataRemoverCompletionInhibitor::OnBrowsingDataRemoverWouldComplete( 59 void BrowsingDataRemoverCompletionInhibitor::OnBrowsingDataRemoverWouldComplete(
47 BrowsingDataRemoverImpl* remover,
48 const base::Closure& continue_to_completion) { 60 const base::Closure& continue_to_completion) {
49 DCHECK(continue_to_completion_callback_.is_null()); 61 DCHECK(continue_to_completion_callback_.is_null());
50 continue_to_completion_callback_ = continue_to_completion; 62 continue_to_completion_callback_ = continue_to_completion;
51 message_loop_runner_->Quit(); 63 message_loop_runner_->Quit();
52 } 64 }
OLDNEW
« no previous file with comments | « chrome/browser/browsing_data/browsing_data_remover_test_util.h ('k') | chrome/browser/profiles/profile_manager_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698