Index: chrome/browser/browsing_data_remover.cc |
=================================================================== |
--- chrome/browser/browsing_data_remover.cc (revision 96041) |
+++ chrome/browser/browsing_data_remover.cc (working copy) |
@@ -7,7 +7,6 @@ |
#include <map> |
#include <set> |
-#include "base/bind.h" |
#include "base/callback.h" |
#include "base/file_util.h" |
#include "base/logging.h" |
@@ -72,7 +71,6 @@ |
waiting_for_clear_history_(false), |
waiting_for_clear_quota_managed_data_(false), |
waiting_for_clear_networking_history_(false), |
- waiting_for_clear_cookies_(false), |
waiting_for_clear_cache_(false), |
waiting_for_clear_lso_data_(false) { |
DCHECK(profile); |
@@ -95,7 +93,6 @@ |
waiting_for_clear_history_(false), |
waiting_for_clear_quota_managed_data_(false), |
waiting_for_clear_networking_history_(false), |
- waiting_for_clear_cookies_(false), |
waiting_for_clear_cache_(false), |
waiting_for_clear_lso_data_(false) { |
DCHECK(profile); |
@@ -107,7 +104,6 @@ |
void BrowsingDataRemover::Remove(int remove_mask) { |
DCHECK(!removing_); |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
removing_ = true; |
if (remove_mask & REMOVE_HISTORY) { |
@@ -183,14 +179,14 @@ |
if (remove_mask & REMOVE_COOKIES) { |
UserMetrics::RecordAction(UserMetricsAction("ClearBrowsingData_Cookies")); |
// Since we are running on the UI thread don't call GetURLRequestContext(). |
+ net::CookieMonster* cookie_monster = NULL; |
net::URLRequestContextGetter* rq_context = profile_->GetRequestContext(); |
if (rq_context) { |
- waiting_for_clear_cookies_ = true; |
- BrowserThread::PostTask( |
- BrowserThread::IO, FROM_HERE, |
- base::Bind(&BrowsingDataRemover::ClearCookiesOnIOThread, |
- base::Unretained(this), base::Unretained(rq_context))); |
+ cookie_monster = rq_context->DONTUSEME_GetCookieStore()-> |
+ GetCookieMonster(); |
} |
+ if (cookie_monster) |
+ cookie_monster->DeleteAllCreatedBetween(delete_begin_, delete_end_, true); |
// REMOVE_COOKIES is actually "cookies and other site data" so we make sure |
// to remove other data such local databases, STS state, etc. These only can |
@@ -536,31 +532,3 @@ |
waiting_for_clear_lso_data_ = false; |
NotifyAndDeleteIfDone(); |
} |
- |
-void BrowsingDataRemover::OnClearedCookies(int num_deleted) { |
- if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) { |
- BrowserThread::PostTask( |
- BrowserThread::UI, FROM_HERE, |
- base::Bind(&BrowsingDataRemover::OnClearedCookies, |
- base::Unretained(this), num_deleted)); |
- return; |
- } |
- |
- waiting_for_clear_cookies_ = false; |
- NotifyAndDeleteIfDone(); |
-} |
- |
-void BrowsingDataRemover::ClearCookiesOnIOThread( |
- net::URLRequestContextGetter* rq_context) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
- net::CookieMonster* cookie_monster = rq_context-> |
- GetURLRequestContext()->cookie_store()->GetCookieMonster(); |
- if (cookie_monster) { |
- cookie_monster->DeleteAllCreatedBetweenAsync( |
- delete_begin_, delete_end_, true, |
- base::Bind(&BrowsingDataRemover::OnClearedCookies, |
- base::Unretained(this))); |
- } else { |
- OnClearedCookies(0); |
- } |
-} |