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

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

Issue 238863005: Domain Reliability: Remove browsing data when requested. (Closed) Base URL: http://git.chromium.org/chromium/src.git@domrel_bakedin
Patch Set: ...and fix BrowsingDataRemoverTet Created 6 years, 7 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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.h" 5 #include "chrome/browser/browsing_data/browsing_data_remover.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 #include "chrome/browser/safe_browsing/safe_browsing_service.h" 48 #include "chrome/browser/safe_browsing/safe_browsing_service.h"
49 #include "chrome/browser/search_engines/template_url_service.h" 49 #include "chrome/browser/search_engines/template_url_service.h"
50 #include "chrome/browser/search_engines/template_url_service_factory.h" 50 #include "chrome/browser/search_engines/template_url_service_factory.h"
51 #include "chrome/browser/sessions/session_service.h" 51 #include "chrome/browser/sessions/session_service.h"
52 #include "chrome/browser/sessions/session_service_factory.h" 52 #include "chrome/browser/sessions/session_service_factory.h"
53 #include "chrome/browser/sessions/tab_restore_service.h" 53 #include "chrome/browser/sessions/tab_restore_service.h"
54 #include "chrome/browser/sessions/tab_restore_service_factory.h" 54 #include "chrome/browser/sessions/tab_restore_service_factory.h"
55 #include "chrome/browser/webdata/web_data_service_factory.h" 55 #include "chrome/browser/webdata/web_data_service_factory.h"
56 #include "chrome/common/pref_names.h" 56 #include "chrome/common/pref_names.h"
57 #include "chrome/common/url_constants.h" 57 #include "chrome/common/url_constants.h"
58 #include "components/domain_reliability/monitor.h"
58 #include "components/password_manager/core/browser/password_store.h" 59 #include "components/password_manager/core/browser/password_store.h"
59 #if defined(OS_CHROMEOS) 60 #if defined(OS_CHROMEOS)
60 #include "chromeos/attestation/attestation_constants.h" 61 #include "chromeos/attestation/attestation_constants.h"
61 #include "chromeos/dbus/cryptohome_client.h" 62 #include "chromeos/dbus/cryptohome_client.h"
62 #include "chromeos/dbus/dbus_thread_manager.h" 63 #include "chromeos/dbus/dbus_thread_manager.h"
63 #endif 64 #endif
64 #include "components/autofill/core/browser/personal_data_manager.h" 65 #include "components/autofill/core/browser/personal_data_manager.h"
65 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h" 66 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
66 #include "components/nacl/browser/nacl_browser.h" 67 #include "components/nacl/browser/nacl_browser.h"
67 #include "components/nacl/browser/pnacl_host.h" 68 #include "components/nacl/browser/pnacl_host.h"
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 delete_end_(delete_end), 183 delete_end_(delete_end),
183 next_cache_state_(STATE_NONE), 184 next_cache_state_(STATE_NONE),
184 cache_(NULL), 185 cache_(NULL),
185 main_context_getter_(profile->GetRequestContext()), 186 main_context_getter_(profile->GetRequestContext()),
186 media_context_getter_(profile->GetMediaRequestContext()), 187 media_context_getter_(profile->GetMediaRequestContext()),
187 deauthorize_content_licenses_request_id_(0), 188 deauthorize_content_licenses_request_id_(0),
188 waiting_for_clear_autofill_origin_urls_(false), 189 waiting_for_clear_autofill_origin_urls_(false),
189 waiting_for_clear_cache_(false), 190 waiting_for_clear_cache_(false),
190 waiting_for_clear_content_licenses_(false), 191 waiting_for_clear_content_licenses_(false),
191 waiting_for_clear_cookies_count_(0), 192 waiting_for_clear_cookies_count_(0),
193 waiting_for_clear_domain_reliability_monitor_(false),
192 waiting_for_clear_form_(false), 194 waiting_for_clear_form_(false),
193 waiting_for_clear_history_(false), 195 waiting_for_clear_history_(false),
194 waiting_for_clear_hostname_resolution_cache_(false), 196 waiting_for_clear_hostname_resolution_cache_(false),
195 waiting_for_clear_keyword_data_(false), 197 waiting_for_clear_keyword_data_(false),
196 waiting_for_clear_logged_in_predictor_(false), 198 waiting_for_clear_logged_in_predictor_(false),
197 waiting_for_clear_nacl_cache_(false), 199 waiting_for_clear_nacl_cache_(false),
198 waiting_for_clear_network_predictor_(false), 200 waiting_for_clear_network_predictor_(false),
199 waiting_for_clear_networking_history_(false), 201 waiting_for_clear_networking_history_(false),
200 waiting_for_clear_platform_keys_(false), 202 waiting_for_clear_platform_keys_(false),
201 waiting_for_clear_plugin_data_(false), 203 waiting_for_clear_plugin_data_(false),
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
666 if ((remove_mask & (REMOVE_CACHE | REMOVE_COOKIES))) 668 if ((remove_mask & (REMOVE_CACHE | REMOVE_COOKIES)))
667 prefs->SetString(prefs::kZeroSuggestCachedResults, std::string()); 669 prefs->SetString(prefs::kZeroSuggestCachedResults, std::string());
668 670
669 // Always wipe accumulated network related data (TransportSecurityState and 671 // Always wipe accumulated network related data (TransportSecurityState and
670 // HttpServerPropertiesManager data). 672 // HttpServerPropertiesManager data).
671 waiting_for_clear_networking_history_ = true; 673 waiting_for_clear_networking_history_ = true;
672 profile_->ClearNetworkingHistorySince( 674 profile_->ClearNetworkingHistorySince(
673 delete_begin_, 675 delete_begin_,
674 base::Bind(&BrowsingDataRemover::OnClearedNetworkingHistory, 676 base::Bind(&BrowsingDataRemover::OnClearedNetworkingHistory,
675 base::Unretained(this))); 677 base::Unretained(this)));
678
679 if (remove_mask & (REMOVE_COOKIES | REMOVE_HISTORY)) {
680 domain_reliability::DomainReliabilityClearMode mode;
681 if (remove_mask & REMOVE_COOKIES)
682 mode = domain_reliability::CLEAR_CONTEXTS;
683 else
684 mode = domain_reliability::CLEAR_BEACONS;
685
686 waiting_for_clear_domain_reliability_monitor_ = true;
687 profile_->ClearDomainReliabilityMonitor(
688 mode,
689 base::Bind(&BrowsingDataRemover::OnClearedDomainReliabilityMonitor,
690 base::Unretained(this)));
691 }
676 } 692 }
677 693
678 void BrowsingDataRemover::AddObserver(Observer* observer) { 694 void BrowsingDataRemover::AddObserver(Observer* observer) {
679 observer_list_.AddObserver(observer); 695 observer_list_.AddObserver(observer);
680 } 696 }
681 697
682 void BrowsingDataRemover::RemoveObserver(Observer* observer) { 698 void BrowsingDataRemover::RemoveObserver(Observer* observer) {
683 observer_list_.RemoveObserver(observer); 699 observer_list_.RemoveObserver(observer);
684 } 700 }
685 701
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
718 break; 734 break;
719 } 735 }
720 return delete_begin_time - diff; 736 return delete_begin_time - diff;
721 } 737 }
722 738
723 bool BrowsingDataRemover::AllDone() { 739 bool BrowsingDataRemover::AllDone() {
724 return !waiting_for_clear_keyword_data_ && 740 return !waiting_for_clear_keyword_data_ &&
725 !waiting_for_clear_autofill_origin_urls_ && 741 !waiting_for_clear_autofill_origin_urls_ &&
726 !waiting_for_clear_cache_ && !waiting_for_clear_nacl_cache_ && 742 !waiting_for_clear_cache_ && !waiting_for_clear_nacl_cache_ &&
727 !waiting_for_clear_cookies_count_ && !waiting_for_clear_history_ && 743 !waiting_for_clear_cookies_count_ && !waiting_for_clear_history_ &&
744 !waiting_for_clear_domain_reliability_monitor_ &&
728 !waiting_for_clear_logged_in_predictor_ && 745 !waiting_for_clear_logged_in_predictor_ &&
729 !waiting_for_clear_networking_history_ && 746 !waiting_for_clear_networking_history_ &&
730 !waiting_for_clear_server_bound_certs_ && 747 !waiting_for_clear_server_bound_certs_ &&
731 !waiting_for_clear_plugin_data_ && 748 !waiting_for_clear_plugin_data_ &&
732 !waiting_for_clear_pnacl_cache_ && 749 !waiting_for_clear_pnacl_cache_ &&
733 !waiting_for_clear_content_licenses_ && !waiting_for_clear_form_ && 750 !waiting_for_clear_content_licenses_ && !waiting_for_clear_form_ &&
734 !waiting_for_clear_hostname_resolution_cache_ && 751 !waiting_for_clear_hostname_resolution_cache_ &&
735 !waiting_for_clear_network_predictor_ && 752 !waiting_for_clear_network_predictor_ &&
736 !waiting_for_clear_platform_keys_ && 753 !waiting_for_clear_platform_keys_ &&
737 #if defined(ENABLE_WEBRTC) 754 #if defined(ENABLE_WEBRTC)
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after
1124 NotifyAndDeleteIfDone(); 1141 NotifyAndDeleteIfDone();
1125 } 1142 }
1126 1143
1127 #if defined(ENABLE_WEBRTC) 1144 #if defined(ENABLE_WEBRTC)
1128 void BrowsingDataRemover::OnClearedWebRtcLogs() { 1145 void BrowsingDataRemover::OnClearedWebRtcLogs() {
1129 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1146 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1130 waiting_for_clear_webrtc_logs_ = false; 1147 waiting_for_clear_webrtc_logs_ = false;
1131 NotifyAndDeleteIfDone(); 1148 NotifyAndDeleteIfDone();
1132 } 1149 }
1133 #endif 1150 #endif
1151
1152 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() {
1153 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1154 waiting_for_clear_domain_reliability_monitor_ = false;
1155 NotifyAndDeleteIfDone();
1156 }
OLDNEW
« no previous file with comments | « chrome/browser/browsing_data/browsing_data_remover.h ('k') | chrome/browser/browsing_data/browsing_data_remover_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698