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