| 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 |