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

Side by Side Diff: ios/chrome/browser/browsing_data/browsing_data_remover_helper.cc

Issue 1861593005: Convert //ios from scoped_ptr to std::unique_ptr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase? Created 4 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "ios/chrome/browser/browsing_data/browsing_data_remover_helper.h" 5 #include "ios/chrome/browser/browsing_data/browsing_data_remover_helper.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "ios/chrome/browser/browser_state/chrome_browser_state.h" 9 #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
10 10
(...skipping 24 matching lines...) Expand all
35 // IOSChromeBrowsingDataRemover::is_removing() is set to false. In this 35 // IOSChromeBrowsingDataRemover::is_removing() is set to false. In this
36 // window, |current_remover_| needs to be checked as well. 36 // window, |current_remover_| needs to be checked as well.
37 if (current_remover_ || IOSChromeBrowsingDataRemover::is_removing()) { 37 if (current_remover_ || IOSChromeBrowsingDataRemover::is_removing()) {
38 // IOSChromeBrowsingDataRemover is not re-entrant. If it is already running, 38 // IOSChromeBrowsingDataRemover is not re-entrant. If it is already running,
39 // add the browser_state to |pending_removals_| for later deletion. If the 39 // add the browser_state to |pending_removals_| for later deletion. If the
40 // browser_state is already scheduled for removal of browsing data, update 40 // browser_state is already scheduled for removal of browsing data, update
41 // the remove mask and callbacks. 41 // the remove mask and callbacks.
42 DCHECK(current_remover_); 42 DCHECK(current_remover_);
43 auto pending_removals_iter = pending_removals_.find(browser_state); 43 auto pending_removals_iter = pending_removals_.find(browser_state);
44 if (pending_removals_iter == pending_removals_.end()) { 44 if (pending_removals_iter == pending_removals_.end()) {
45 scoped_ptr<BrowsingDataRemovalInfo> removal_info( 45 std::unique_ptr<BrowsingDataRemovalInfo> removal_info(
46 new BrowsingDataRemovalInfo(remove_mask, callback)); 46 new BrowsingDataRemovalInfo(remove_mask, callback));
47 pending_removals_[browser_state] = std::move(removal_info); 47 pending_removals_[browser_state] = std::move(removal_info);
48 } else { 48 } else {
49 pending_removals_iter->second->remove_mask |= remove_mask; 49 pending_removals_iter->second->remove_mask |= remove_mask;
50 pending_removals_iter->second->callbacks.push_back(callback); 50 pending_removals_iter->second->callbacks.push_back(callback);
51 } 51 }
52 } else { 52 } else {
53 scoped_ptr<BrowsingDataRemovalInfo> removal_info( 53 std::unique_ptr<BrowsingDataRemovalInfo> removal_info(
54 new BrowsingDataRemovalInfo(remove_mask, callback)); 54 new BrowsingDataRemovalInfo(remove_mask, callback));
55 DoRemove(browser_state, std::move(removal_info)); 55 DoRemove(browser_state, std::move(removal_info));
56 } 56 }
57 } 57 }
58 58
59 void BrowsingDataRemoverHelper::OnIOSChromeBrowsingDataRemoverDone() { 59 void BrowsingDataRemoverHelper::OnIOSChromeBrowsingDataRemoverDone() {
60 current_remover_ = nullptr; 60 current_remover_ = nullptr;
61 61
62 DCHECK(current_removal_info_); 62 DCHECK(current_removal_info_);
63 // Inform clients of the currently finished removal operation that browsing 63 // Inform clients of the currently finished removal operation that browsing
64 // data was removed. 64 // data was removed.
65 for (const auto& callback : current_removal_info_->callbacks) { 65 for (const auto& callback : current_removal_info_->callbacks) {
66 if (!callback.is_null()) { 66 if (!callback.is_null()) {
67 callback.Run(); 67 callback.Run();
68 } 68 }
69 } 69 }
70 current_removal_info_.reset(); 70 current_removal_info_.reset();
71 71
72 if (pending_removals_.empty()) 72 if (pending_removals_.empty())
73 return; 73 return;
74 74
75 ios::ChromeBrowserState* next_browser_state = 75 ios::ChromeBrowserState* next_browser_state =
76 pending_removals_.begin()->first; 76 pending_removals_.begin()->first;
77 scoped_ptr<BrowsingDataRemovalInfo> removal_info = 77 std::unique_ptr<BrowsingDataRemovalInfo> removal_info =
78 std::move(pending_removals_[next_browser_state]); 78 std::move(pending_removals_[next_browser_state]);
79 pending_removals_.erase(next_browser_state); 79 pending_removals_.erase(next_browser_state);
80 DoRemove(next_browser_state, std::move(removal_info)); 80 DoRemove(next_browser_state, std::move(removal_info));
81 } 81 }
82 82
83 void BrowsingDataRemoverHelper::DoRemove( 83 void BrowsingDataRemoverHelper::DoRemove(
84 ios::ChromeBrowserState* browser_state, 84 ios::ChromeBrowserState* browser_state,
85 scoped_ptr<BrowsingDataRemovalInfo> removal_info) { 85 std::unique_ptr<BrowsingDataRemovalInfo> removal_info) {
86 DCHECK(!current_remover_ && !IOSChromeBrowsingDataRemover::is_removing()); 86 DCHECK(!current_remover_ && !IOSChromeBrowsingDataRemover::is_removing());
87 87
88 current_removal_info_ = std::move(removal_info); 88 current_removal_info_ = std::move(removal_info);
89 89
90 // IOSChromeBrowsingDataRemover deletes itself. 90 // IOSChromeBrowsingDataRemover deletes itself.
91 IOSChromeBrowsingDataRemover* remover = 91 IOSChromeBrowsingDataRemover* remover =
92 IOSChromeBrowsingDataRemover::CreateForPeriod( 92 IOSChromeBrowsingDataRemover::CreateForPeriod(
93 browser_state, IOSChromeBrowsingDataRemover::EVERYTHING); 93 browser_state, IOSChromeBrowsingDataRemover::EVERYTHING);
94 remover->AddObserver(this); 94 remover->AddObserver(this);
95 current_remover_ = remover; 95 current_remover_ = remover;
96 int remove_mask = current_removal_info_->remove_mask; 96 int remove_mask = current_removal_info_->remove_mask;
97 remover->Remove(remove_mask); 97 remover->Remove(remove_mask);
98 } 98 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698