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

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

Issue 2613833004: Split BrowsingDataRemover into an abstract interface and implementation. (Closed)
Patch Set: Created 3 years, 11 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 "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h" 5 #include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h"
6 6
7 #include "base/callback.h"
7 #include "chrome/browser/autofill/personal_data_manager_factory.h" 8 #include "chrome/browser/autofill/personal_data_manager_factory.h"
8 #include "chrome/browser/bookmarks/bookmark_model_factory.h" 9 #include "chrome/browser/bookmarks/bookmark_model_factory.h"
9 #include "chrome/browser/browser_process.h" 10 #include "chrome/browser/browser_process.h"
10 #include "chrome/browser/browsing_data/browsing_data_filter_builder.h" 11 #include "chrome/browser/browsing_data/browsing_data_filter_builder.h"
11 #include "chrome/browser/browsing_data/browsing_data_helper.h" 12 #include "chrome/browser/browsing_data/browsing_data_helper.h"
12 #include "chrome/browser/browsing_data/registrable_domain_filter_builder.h" 13 #include "chrome/browser/browsing_data/registrable_domain_filter_builder.h"
13 #include "chrome/browser/chrome_notification_types.h" 14 #include "chrome/browser/chrome_notification_types.h"
14 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" 15 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
15 #include "chrome/browser/domain_reliability/service_factory.h" 16 #include "chrome/browser/domain_reliability/service_factory.h"
16 #include "chrome/browser/download/download_prefs.h" 17 #include "chrome/browser/download/download_prefs.h"
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 void ClearHostnameResolutionCacheOnIOThread( 188 void ClearHostnameResolutionCacheOnIOThread(
188 IOThread* io_thread, 189 IOThread* io_thread,
189 base::Callback<bool(const std::string&)> host_filter) { 190 base::Callback<bool(const std::string&)> host_filter) {
190 DCHECK_CURRENTLY_ON(BrowserThread::IO); 191 DCHECK_CURRENTLY_ON(BrowserThread::IO);
191 192
192 io_thread->ClearHostCache(host_filter); 193 io_thread->ClearHostCache(host_filter);
193 } 194 }
194 195
195 } // namespace 196 } // namespace
196 197
198 ChromeBrowsingDataRemoverDelegate::SubTask::SubTask(
199 const base::Closure& forward_callback)
200 : is_pending_(false),
201 forward_callback_(forward_callback),
202 weak_ptr_factory_(this) {
203 DCHECK(!forward_callback_.is_null());
204 }
205
206 ChromeBrowsingDataRemoverDelegate::SubTask::~SubTask() {}
207
208 void ChromeBrowsingDataRemoverDelegate::SubTask::Start() {
209 DCHECK_CURRENTLY_ON(BrowserThread::UI);
210 DCHECK(!is_pending_);
211 is_pending_ = true;
212 }
213
214 base::Closure
215 ChromeBrowsingDataRemoverDelegate::SubTask::GetCompletionCallback() {
216 return base::Bind(&SubTask::CompletionCallback,
217 weak_ptr_factory_.GetWeakPtr());
218 }
219
220 void ChromeBrowsingDataRemoverDelegate::SubTask::CompletionCallback() {
221 DCHECK_CURRENTLY_ON(BrowserThread::UI);
222 DCHECK(is_pending_);
223 is_pending_ = false;
224 forward_callback_.Run();
225 }
226
197 ChromeBrowsingDataRemoverDelegate::ChromeBrowsingDataRemoverDelegate( 227 ChromeBrowsingDataRemoverDelegate::ChromeBrowsingDataRemoverDelegate(
198 BrowserContext* browser_context) 228 BrowserContext* browser_context)
199 : profile_(Profile::FromBrowserContext(browser_context)), 229 : profile_(Profile::FromBrowserContext(browser_context)),
200 sub_task_forward_callback_( 230 sub_task_forward_callback_(
201 base::Bind(&ChromeBrowsingDataRemoverDelegate::NotifyIfDone, 231 base::Bind(&ChromeBrowsingDataRemoverDelegate::NotifyIfDone,
202 base::Unretained(this))), 232 base::Unretained(this))),
203 synchronous_clear_operations_(sub_task_forward_callback_), 233 synchronous_clear_operations_(sub_task_forward_callback_),
204 clear_autofill_origin_urls_(sub_task_forward_callback_), 234 clear_autofill_origin_urls_(sub_task_forward_callback_),
205 clear_flash_content_licenses_(sub_task_forward_callback_), 235 clear_flash_content_licenses_(sub_task_forward_callback_),
206 clear_domain_reliability_monitor_(sub_task_forward_callback_), 236 clear_domain_reliability_monitor_(sub_task_forward_callback_),
(...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after
857 887
858 #if defined(OS_CHROMEOS) 888 #if defined(OS_CHROMEOS)
859 void ChromeBrowsingDataRemoverDelegate::OnClearPlatformKeys( 889 void ChromeBrowsingDataRemoverDelegate::OnClearPlatformKeys(
860 chromeos::DBusMethodCallStatus call_status, 890 chromeos::DBusMethodCallStatus call_status,
861 bool result) { 891 bool result) {
862 LOG_IF(ERROR, call_status != chromeos::DBUS_METHOD_CALL_SUCCESS || !result) 892 LOG_IF(ERROR, call_status != chromeos::DBUS_METHOD_CALL_SUCCESS || !result)
863 << "Failed to clear platform keys."; 893 << "Failed to clear platform keys.";
864 clear_platform_keys_.GetCompletionCallback().Run(); 894 clear_platform_keys_.GetCompletionCallback().Run();
865 } 895 }
866 #endif 896 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698