| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_remover.h" | 5 #include "chrome/browser/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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 cache_(NULL), | 75 cache_(NULL), |
| 76 main_context_getter_(profile->GetRequestContext()), | 76 main_context_getter_(profile->GetRequestContext()), |
| 77 media_context_getter_(profile->GetRequestContextForMedia()), | 77 media_context_getter_(profile->GetRequestContextForMedia()), |
| 78 waiting_for_clear_history_(false), | 78 waiting_for_clear_history_(false), |
| 79 waiting_for_clear_quota_managed_data_(false), | 79 waiting_for_clear_quota_managed_data_(false), |
| 80 waiting_for_clear_networking_history_(false), | 80 waiting_for_clear_networking_history_(false), |
| 81 waiting_for_clear_cookies_(false), | 81 waiting_for_clear_cookies_(false), |
| 82 waiting_for_clear_cache_(false), | 82 waiting_for_clear_cache_(false), |
| 83 waiting_for_clear_lso_data_(false) { | 83 waiting_for_clear_lso_data_(false) { |
| 84 DCHECK(profile); | 84 DCHECK(profile); |
| 85 clear_plugin_lso_data_enabled_.Init(prefs::kClearPluginLSODataEnabled, | |
| 86 profile_->GetPrefs(), | |
| 87 NULL); | |
| 88 } | 85 } |
| 89 | 86 |
| 90 BrowsingDataRemover::BrowsingDataRemover(Profile* profile, | 87 BrowsingDataRemover::BrowsingDataRemover(Profile* profile, |
| 91 TimePeriod time_period, | 88 TimePeriod time_period, |
| 92 base::Time delete_end) | 89 base::Time delete_end) |
| 93 : profile_(profile), | 90 : profile_(profile), |
| 94 quota_manager_(NULL), | 91 quota_manager_(NULL), |
| 95 special_storage_policy_(profile->GetExtensionSpecialStoragePolicy()), | 92 special_storage_policy_(profile->GetExtensionSpecialStoragePolicy()), |
| 96 delete_begin_(CalculateBeginDeleteTime(time_period)), | 93 delete_begin_(CalculateBeginDeleteTime(time_period)), |
| 97 delete_end_(delete_end), | 94 delete_end_(delete_end), |
| 98 ALLOW_THIS_IN_INITIALIZER_LIST(cache_callback_( | 95 ALLOW_THIS_IN_INITIALIZER_LIST(cache_callback_( |
| 99 this, &BrowsingDataRemover::DoClearCache)), | 96 this, &BrowsingDataRemover::DoClearCache)), |
| 100 next_cache_state_(STATE_NONE), | 97 next_cache_state_(STATE_NONE), |
| 101 cache_(NULL), | 98 cache_(NULL), |
| 102 main_context_getter_(profile->GetRequestContext()), | 99 main_context_getter_(profile->GetRequestContext()), |
| 103 media_context_getter_(profile->GetRequestContextForMedia()), | 100 media_context_getter_(profile->GetRequestContextForMedia()), |
| 104 waiting_for_clear_history_(false), | 101 waiting_for_clear_history_(false), |
| 105 waiting_for_clear_quota_managed_data_(false), | 102 waiting_for_clear_quota_managed_data_(false), |
| 106 waiting_for_clear_networking_history_(false), | 103 waiting_for_clear_networking_history_(false), |
| 107 waiting_for_clear_cookies_(false), | 104 waiting_for_clear_cookies_(false), |
| 108 waiting_for_clear_cache_(false), | 105 waiting_for_clear_cache_(false), |
| 109 waiting_for_clear_lso_data_(false) { | 106 waiting_for_clear_lso_data_(false) { |
| 110 DCHECK(profile); | 107 DCHECK(profile); |
| 111 clear_plugin_lso_data_enabled_.Init(prefs::kClearPluginLSODataEnabled, | |
| 112 profile_->GetPrefs(), | |
| 113 NULL); | |
| 114 } | 108 } |
| 115 | 109 |
| 116 BrowsingDataRemover::~BrowsingDataRemover() { | 110 BrowsingDataRemover::~BrowsingDataRemover() { |
| 117 DCHECK(all_done()); | 111 DCHECK(all_done()); |
| 118 } | 112 } |
| 119 | 113 |
| 120 // Static. | 114 // Static. |
| 121 void BrowsingDataRemover::set_removing(bool removing) { | 115 void BrowsingDataRemover::set_removing(bool removing) { |
| 122 DCHECK(removing_ != removing); | 116 DCHECK(removing_ != removing); |
| 123 removing_ = removing; | 117 removing_ = removing; |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 229 if (quota_manager_) { | 223 if (quota_manager_) { |
| 230 waiting_for_clear_quota_managed_data_ = true; | 224 waiting_for_clear_quota_managed_data_ = true; |
| 231 BrowserThread::PostTask( | 225 BrowserThread::PostTask( |
| 232 BrowserThread::IO, FROM_HERE, | 226 BrowserThread::IO, FROM_HERE, |
| 233 NewRunnableMethod( | 227 NewRunnableMethod( |
| 234 this, | 228 this, |
| 235 &BrowsingDataRemover::ClearQuotaManagedDataOnIOThread)); | 229 &BrowsingDataRemover::ClearQuotaManagedDataOnIOThread)); |
| 236 } | 230 } |
| 237 } | 231 } |
| 238 | 232 |
| 239 if (remove_mask & REMOVE_LSO_DATA && *clear_plugin_lso_data_enabled_) { | 233 if (remove_mask & REMOVE_LSO_DATA) { |
| 240 UserMetrics::RecordAction(UserMetricsAction("ClearBrowsingData_LSOData")); | 234 UserMetrics::RecordAction(UserMetricsAction("ClearBrowsingData_LSOData")); |
| 241 | 235 |
| 242 waiting_for_clear_lso_data_ = true; | 236 waiting_for_clear_lso_data_ = true; |
| 243 if (!plugin_data_remover_.get()) | 237 if (!plugin_data_remover_.get()) |
| 244 plugin_data_remover_ = new PluginDataRemover(profile_); | 238 plugin_data_remover_ = new PluginDataRemover(profile_); |
| 245 base::WaitableEvent* event = | 239 base::WaitableEvent* event = |
| 246 plugin_data_remover_->StartRemoving(delete_begin_); | 240 plugin_data_remover_->StartRemoving(delete_begin_); |
| 247 watcher_.StartWatching(event, this); | 241 watcher_.StartWatching(event, this); |
| 248 } | 242 } |
| 249 | 243 |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 583 GetURLRequestContext()->cookie_store()->GetCookieMonster(); | 577 GetURLRequestContext()->cookie_store()->GetCookieMonster(); |
| 584 if (cookie_monster) { | 578 if (cookie_monster) { |
| 585 cookie_monster->DeleteAllCreatedBetweenAsync( | 579 cookie_monster->DeleteAllCreatedBetweenAsync( |
| 586 delete_begin_, delete_end_, | 580 delete_begin_, delete_end_, |
| 587 base::Bind(&BrowsingDataRemover::OnClearedCookies, | 581 base::Bind(&BrowsingDataRemover::OnClearedCookies, |
| 588 base::Unretained(this))); | 582 base::Unretained(this))); |
| 589 } else { | 583 } else { |
| 590 OnClearedCookies(0); | 584 OnClearedCookies(0); |
| 591 } | 585 } |
| 592 } | 586 } |
| OLD | NEW |