OLD | NEW |
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" |
11 #include "base/bind_helpers.h" | 11 #include "base/bind_helpers.h" |
12 #include "base/callback.h" | 12 #include "base/callback.h" |
13 #include "base/logging.h" | 13 #include "base/logging.h" |
14 #include "base/prefs/pref_service.h" | 14 #include "base/prefs/pref_service.h" |
15 #include "chrome/browser/autofill/personal_data_manager_factory.h" | 15 #include "chrome/browser/autofill/personal_data_manager_factory.h" |
16 #include "chrome/browser/browser_process.h" | 16 #include "chrome/browser/browser_process.h" |
17 #include "chrome/browser/browsing_data/browsing_data_helper.h" | 17 #include "chrome/browser/browsing_data/browsing_data_helper.h" |
18 #include "chrome/browser/chrome_notification_types.h" | 18 #include "chrome/browser/chrome_notification_types.h" |
19 #include "chrome/browser/content_settings/host_content_settings_map.h" | 19 #include "chrome/browser/content_settings/host_content_settings_map.h" |
20 #include "chrome/browser/domain_reliability/service_factory.h" | 20 #include "chrome/browser/domain_reliability/service_factory.h" |
21 #include "chrome/browser/download/download_prefs.h" | 21 #include "chrome/browser/download/download_prefs.h" |
22 #include "chrome/browser/download/download_service_factory.h" | 22 #include "chrome/browser/download/download_service_factory.h" |
23 #include "chrome/browser/extensions/extension_service.h" | |
24 #include "chrome/browser/extensions/extension_special_storage_policy.h" | |
25 #include "chrome/browser/history/history_service.h" | 23 #include "chrome/browser/history/history_service.h" |
26 #include "chrome/browser/history/history_service_factory.h" | 24 #include "chrome/browser/history/history_service_factory.h" |
27 #include "chrome/browser/io_thread.h" | 25 #include "chrome/browser/io_thread.h" |
28 #include "chrome/browser/media/media_device_id_salt.h" | 26 #include "chrome/browser/media/media_device_id_salt.h" |
29 #include "chrome/browser/net/chrome_url_request_context.h" | 27 #include "chrome/browser/net/chrome_url_request_context.h" |
30 #include "chrome/browser/net/predictor.h" | 28 #include "chrome/browser/net/predictor.h" |
31 #include "chrome/browser/password_manager/password_store_factory.h" | 29 #include "chrome/browser/password_manager/password_store_factory.h" |
32 #include "chrome/browser/predictors/logged_in_predictor_table.h" | 30 #include "chrome/browser/predictors/logged_in_predictor_table.h" |
33 #include "chrome/browser/predictors/predictor_database.h" | 31 #include "chrome/browser/predictors/predictor_database.h" |
34 #include "chrome/browser/predictors/predictor_database_factory.h" | 32 #include "chrome/browser/predictors/predictor_database_factory.h" |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 78 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
81 #include "chromeos/attestation/attestation_constants.h" | 79 #include "chromeos/attestation/attestation_constants.h" |
82 #include "chromeos/dbus/cryptohome_client.h" | 80 #include "chromeos/dbus/cryptohome_client.h" |
83 #include "chromeos/dbus/dbus_thread_manager.h" | 81 #include "chromeos/dbus/dbus_thread_manager.h" |
84 #include "components/user_manager/user.h" | 82 #include "components/user_manager/user.h" |
85 #endif | 83 #endif |
86 | 84 |
87 #if defined(ENABLE_EXTENSIONS) | 85 #if defined(ENABLE_EXTENSIONS) |
88 #include "chrome/browser/apps/ephemeral_app_service.h" | 86 #include "chrome/browser/apps/ephemeral_app_service.h" |
89 #include "chrome/browser/extensions/activity_log/activity_log.h" | 87 #include "chrome/browser/extensions/activity_log/activity_log.h" |
| 88 #include "chrome/browser/extensions/extension_service.h" |
| 89 #include "chrome/browser/extensions/extension_special_storage_policy.h" |
90 #endif | 90 #endif |
91 | 91 |
92 #if defined(ENABLE_WEBRTC) | 92 #if defined(ENABLE_WEBRTC) |
93 #include "chrome/browser/media/webrtc_log_list.h" | 93 #include "chrome/browser/media/webrtc_log_list.h" |
94 #include "chrome/browser/media/webrtc_log_util.h" | 94 #include "chrome/browser/media/webrtc_log_util.h" |
95 #endif | 95 #endif |
96 | 96 |
97 using base::UserMetricsAction; | 97 using base::UserMetricsAction; |
98 using content::BrowserContext; | 98 using content::BrowserContext; |
99 using content::BrowserThread; | 99 using content::BrowserThread; |
100 using content::DOMStorageContext; | 100 using content::DOMStorageContext; |
101 | 101 |
102 bool BrowsingDataRemover::is_removing_ = false; | 102 bool BrowsingDataRemover::is_removing_ = false; |
103 | 103 |
104 BrowsingDataRemover::CompletionInhibitor* | 104 BrowsingDataRemover::CompletionInhibitor* |
105 BrowsingDataRemover::completion_inhibitor_ = NULL; | 105 BrowsingDataRemover::completion_inhibitor_ = NULL; |
106 | 106 |
107 // Helper to create callback for BrowsingDataRemover::DoesOriginMatchMask. | 107 // Helper to create callback for BrowsingDataRemover::DoesOriginMatchMask. |
108 // Static. | 108 // Static. |
109 bool DoesOriginMatchMask(int origin_set_mask, | 109 bool DoesOriginMatchMask(int origin_set_mask, |
110 const GURL& origin, | 110 const GURL& origin, |
111 quota::SpecialStoragePolicy* special_storage_policy) { | 111 quota::SpecialStoragePolicy* special_storage_policy) { |
112 return BrowsingDataHelper::DoesOriginMatchMask( | 112 return BrowsingDataHelper::DoesOriginMatchMask( |
113 origin, origin_set_mask, | 113 origin, origin_set_mask, special_storage_policy); |
114 static_cast<ExtensionSpecialStoragePolicy*>(special_storage_policy)); | |
115 } | 114 } |
116 | 115 |
117 BrowsingDataRemover::NotificationDetails::NotificationDetails() | 116 BrowsingDataRemover::NotificationDetails::NotificationDetails() |
118 : removal_begin(base::Time()), | 117 : removal_begin(base::Time()), |
119 removal_mask(-1), | 118 removal_mask(-1), |
120 origin_set_mask(-1) { | 119 origin_set_mask(-1) { |
121 } | 120 } |
122 | 121 |
123 BrowsingDataRemover::NotificationDetails::NotificationDetails( | 122 BrowsingDataRemover::NotificationDetails::NotificationDetails( |
124 const BrowsingDataRemover::NotificationDetails& details) | 123 const BrowsingDataRemover::NotificationDetails& details) |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 } | 176 } |
178 return new BrowsingDataRemover(profile, | 177 return new BrowsingDataRemover(profile, |
179 BrowsingDataRemover::CalculateBeginDeleteTime(period), | 178 BrowsingDataRemover::CalculateBeginDeleteTime(period), |
180 base::Time::Max()); | 179 base::Time::Max()); |
181 } | 180 } |
182 | 181 |
183 BrowsingDataRemover::BrowsingDataRemover(Profile* profile, | 182 BrowsingDataRemover::BrowsingDataRemover(Profile* profile, |
184 base::Time delete_begin, | 183 base::Time delete_begin, |
185 base::Time delete_end) | 184 base::Time delete_end) |
186 : profile_(profile), | 185 : profile_(profile), |
187 special_storage_policy_(profile->GetExtensionSpecialStoragePolicy()), | |
188 delete_begin_(delete_begin), | 186 delete_begin_(delete_begin), |
189 delete_end_(delete_end), | 187 delete_end_(delete_end), |
190 next_cache_state_(STATE_NONE), | 188 next_cache_state_(STATE_NONE), |
191 cache_(NULL), | 189 cache_(NULL), |
192 main_context_getter_(profile->GetRequestContext()), | 190 main_context_getter_(profile->GetRequestContext()), |
193 media_context_getter_(profile->GetMediaRequestContext()), | 191 media_context_getter_(profile->GetMediaRequestContext()), |
194 deauthorize_content_licenses_request_id_(0), | 192 deauthorize_content_licenses_request_id_(0), |
195 waiting_for_clear_autofill_origin_urls_(false), | 193 waiting_for_clear_autofill_origin_urls_(false), |
196 waiting_for_clear_cache_(false), | 194 waiting_for_clear_cache_(false), |
197 waiting_for_clear_channel_ids_(false), | 195 waiting_for_clear_channel_ids_(false), |
(...skipping 977 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1175 waiting_for_clear_webrtc_logs_ = false; | 1173 waiting_for_clear_webrtc_logs_ = false; |
1176 NotifyAndDeleteIfDone(); | 1174 NotifyAndDeleteIfDone(); |
1177 } | 1175 } |
1178 #endif | 1176 #endif |
1179 | 1177 |
1180 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { | 1178 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { |
1181 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1179 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1182 waiting_for_clear_domain_reliability_monitor_ = false; | 1180 waiting_for_clear_domain_reliability_monitor_ = false; |
1183 NotifyAndDeleteIfDone(); | 1181 NotifyAndDeleteIfDone(); |
1184 } | 1182 } |
OLD | NEW |