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

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

Issue 1420003004: Wipe out offline page data on clearing cookie and site data (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address more feedback Created 5 years, 1 month 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 #include <string> 9 #include <string>
10 10
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 #include "net/cookies/cookie_store.h" 70 #include "net/cookies/cookie_store.h"
71 #include "net/http/transport_security_state.h" 71 #include "net/http/transport_security_state.h"
72 #include "net/ssl/channel_id_service.h" 72 #include "net/ssl/channel_id_service.h"
73 #include "net/ssl/channel_id_store.h" 73 #include "net/ssl/channel_id_store.h"
74 #include "net/url_request/url_request_context.h" 74 #include "net/url_request/url_request_context.h"
75 #include "net/url_request/url_request_context_getter.h" 75 #include "net/url_request/url_request_context_getter.h"
76 #include "storage/browser/quota/special_storage_policy.h" 76 #include "storage/browser/quota/special_storage_policy.h"
77 #include "url/origin.h" 77 #include "url/origin.h"
78 78
79 #if defined(OS_ANDROID) 79 #if defined(OS_ANDROID)
80 #include "chrome/browser/android/offline_pages/offline_page_model_factory.h"
80 #include "chrome/browser/android/webapps/webapp_registry.h" 81 #include "chrome/browser/android/webapps/webapp_registry.h"
81 #include "chrome/browser/precache/precache_manager_factory.h" 82 #include "chrome/browser/precache/precache_manager_factory.h"
83 #include "components/offline_pages/offline_page_feature.h"
84 #include "components/offline_pages/offline_page_model.h"
82 #include "components/precache/content/precache_manager.h" 85 #include "components/precache/content/precache_manager.h"
83 #endif 86 #endif
84 87
85 #if defined(OS_CHROMEOS) 88 #if defined(OS_CHROMEOS)
86 #include "chrome/browser/chromeos/profiles/profile_helper.h" 89 #include "chrome/browser/chromeos/profiles/profile_helper.h"
87 #include "chromeos/attestation/attestation_constants.h" 90 #include "chromeos/attestation/attestation_constants.h"
88 #include "chromeos/dbus/cryptohome_client.h" 91 #include "chromeos/dbus/cryptohome_client.h"
89 #include "chromeos/dbus/dbus_thread_manager.h" 92 #include "chromeos/dbus/dbus_thread_manager.h"
90 #include "components/user_manager/user.h" 93 #include "components/user_manager/user.h"
91 #endif 94 #endif
(...skipping 689 matching lines...) Expand 10 before | Expand all | Expand 10 after
781 } 784 }
782 } 785 }
783 786
784 #if defined(OS_ANDROID) 787 #if defined(OS_ANDROID)
785 if (remove_mask & REMOVE_WEBAPP_DATA) { 788 if (remove_mask & REMOVE_WEBAPP_DATA) {
786 waiting_for_clear_webapp_data_ = true; 789 waiting_for_clear_webapp_data_ = true;
787 WebappRegistry::UnregisterWebapps( 790 WebappRegistry::UnregisterWebapps(
788 base::Bind(&BrowsingDataRemover::OnClearedWebappData, 791 base::Bind(&BrowsingDataRemover::OnClearedWebappData,
789 base::Unretained(this))); 792 base::Unretained(this)));
790 } 793 }
794
795 if ((remove_mask & REMOVE_OFFLINE_PAGE_DATA) &&
796 offline_pages::IsOfflinePagesEnabled()) {
797 waiting_for_clear_offline_page_data_ = true;
798 offline_pages::OfflinePageModelFactory::GetForBrowserContext(profile_)->
799 ClearAll(base::Bind(&BrowsingDataRemover::OnClearedOfflinePageData,
800 base::Unretained(this)));
801 }
791 #endif 802 #endif
792 803
793 // Record the combined deletion of cookies and cache. 804 // Record the combined deletion of cookies and cache.
794 CookieOrCacheDeletionChoice choice = NEITHER_COOKIES_NOR_CACHE; 805 CookieOrCacheDeletionChoice choice = NEITHER_COOKIES_NOR_CACHE;
795 if (remove_mask & REMOVE_COOKIES && 806 if (remove_mask & REMOVE_COOKIES &&
796 origin_type_mask_ & BrowsingDataHelper::UNPROTECTED_WEB) { 807 origin_type_mask_ & BrowsingDataHelper::UNPROTECTED_WEB) {
797 choice = remove_mask & REMOVE_CACHE ? BOTH_COOKIES_AND_CACHE 808 choice = remove_mask & REMOVE_CACHE ? BOTH_COOKIES_AND_CACHE
798 : ONLY_COOKIES; 809 : ONLY_COOKIES;
799 } else if (remove_mask & REMOVE_CACHE) { 810 } else if (remove_mask & REMOVE_CACHE) {
800 choice = ONLY_CACHE; 811 choice = ONLY_CACHE;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
864 !waiting_for_clear_nacl_cache_ && 875 !waiting_for_clear_nacl_cache_ &&
865 !waiting_for_clear_network_predictor_ && 876 !waiting_for_clear_network_predictor_ &&
866 !waiting_for_clear_networking_history_ && 877 !waiting_for_clear_networking_history_ &&
867 !waiting_for_clear_passwords_ && 878 !waiting_for_clear_passwords_ &&
868 !waiting_for_clear_platform_keys_ && 879 !waiting_for_clear_platform_keys_ &&
869 !waiting_for_clear_plugin_data_ && 880 !waiting_for_clear_plugin_data_ &&
870 !waiting_for_clear_pnacl_cache_ && 881 !waiting_for_clear_pnacl_cache_ &&
871 #if defined(OS_ANDROID) 882 #if defined(OS_ANDROID)
872 !waiting_for_clear_precache_history_ && 883 !waiting_for_clear_precache_history_ &&
873 !waiting_for_clear_webapp_data_ && 884 !waiting_for_clear_webapp_data_ &&
885 !waiting_for_clear_offline_page_data_ &&
874 #endif 886 #endif
875 #if defined(ENABLE_WEBRTC) 887 #if defined(ENABLE_WEBRTC)
876 !waiting_for_clear_webrtc_logs_ && 888 !waiting_for_clear_webrtc_logs_ &&
877 #endif 889 #endif
878 !waiting_for_clear_storage_partition_data_; 890 !waiting_for_clear_storage_partition_data_;
879 } 891 }
880 892
881 void BrowsingDataRemover::OnKeywordsLoaded() { 893 void BrowsingDataRemover::OnKeywordsLoaded() {
882 // Deletes the entries from the model, and if we're not waiting on anything 894 // Deletes the entries from the model, and if we're not waiting on anything
883 // else notifies observers and deletes this BrowsingDataRemover. 895 // else notifies observers and deletes this BrowsingDataRemover.
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
1162 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1174 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1163 waiting_for_clear_precache_history_ = false; 1175 waiting_for_clear_precache_history_ = false;
1164 NotifyAndDeleteIfDone(); 1176 NotifyAndDeleteIfDone();
1165 } 1177 }
1166 1178
1167 void BrowsingDataRemover::OnClearedWebappData() { 1179 void BrowsingDataRemover::OnClearedWebappData() {
1168 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1180 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1169 waiting_for_clear_webapp_data_ = false; 1181 waiting_for_clear_webapp_data_ = false;
1170 NotifyAndDeleteIfDone(); 1182 NotifyAndDeleteIfDone();
1171 } 1183 }
1184
1185 void BrowsingDataRemover::OnClearedOfflinePageData() {
1186 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1187 waiting_for_clear_offline_page_data_ = false;
1188 NotifyAndDeleteIfDone();
1189 }
1172 #endif 1190 #endif
1173 1191
1174 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { 1192 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() {
1175 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1193 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1176 waiting_for_clear_domain_reliability_monitor_ = false; 1194 waiting_for_clear_domain_reliability_monitor_ = false;
1177 NotifyAndDeleteIfDone(); 1195 NotifyAndDeleteIfDone();
1178 } 1196 }
1179 1197
1180 // static 1198 // static
1181 BrowsingDataRemover::CallbackSubscription 1199 BrowsingDataRemover::CallbackSubscription
1182 BrowsingDataRemover::RegisterOnBrowsingDataRemovedCallback( 1200 BrowsingDataRemover::RegisterOnBrowsingDataRemovedCallback(
1183 const BrowsingDataRemover::Callback& callback) { 1201 const BrowsingDataRemover::Callback& callback) {
1184 return GetOnBrowsingDataRemovedCallbacks()->Add(callback); 1202 return GetOnBrowsingDataRemovedCallbacks()->Add(callback);
1185 } 1203 }
OLDNEW
« no previous file with comments | « chrome/browser/browsing_data/browsing_data_remover.h ('k') | components/leveldb_proto/leveldb_database.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698