Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Unified Diff: trunk/src/net/cookies/cookie_monster.cc

Issue 23530062: Revert 223324 "Wait for store flush in CookieMonster::Delete*Task" (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « trunk/src/net/cookies/cookie_monster.h ('k') | trunk/src/net/cookies/cookie_monster_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: trunk/src/net/cookies/cookie_monster.cc
===================================================================
--- trunk/src/net/cookies/cookie_monster.cc (revision 223358)
+++ trunk/src/net/cookies/cookie_monster.cc (working copy)
@@ -104,8 +104,9 @@
const size_t CookieMonster::kDomainCookiesQuotaLow = 30;
const size_t CookieMonster::kDomainCookiesQuotaMedium = 50;
const size_t CookieMonster::kDomainCookiesQuotaHigh =
- kDomainMaxCookies - kDomainPurgeCookies
- - kDomainCookiesQuotaLow - kDomainCookiesQuotaMedium;
+ CookieMonster::kDomainMaxCookies - CookieMonster::kDomainPurgeCookies
+ - CookieMonster::kDomainCookiesQuotaLow
+ - CookieMonster::kDomainCookiesQuotaMedium;
const int CookieMonster::kSafeFromGlobalPurgeDays = 30;
@@ -398,12 +399,13 @@
callback.Run();
} else {
thread_->PostTask(FROM_HERE, base::Bind(
- &CookieMonsterTask::InvokeCallback, this, callback));
+ &CookieMonster::CookieMonsterTask::InvokeCallback, this, callback));
}
}
// Task class for SetCookieWithDetails call.
-class CookieMonster::SetCookieWithDetailsTask : public CookieMonsterTask {
+class CookieMonster::SetCookieWithDetailsTask
+ : public CookieMonster::CookieMonsterTask {
public:
SetCookieWithDetailsTask(CookieMonster* cookie_monster,
const GURL& url,
@@ -415,7 +417,7 @@
bool secure,
bool http_only,
CookiePriority priority,
- const SetCookiesCallback& callback)
+ const CookieMonster::SetCookiesCallback& callback)
: CookieMonsterTask(cookie_monster),
url_(url),
name_(name),
@@ -429,7 +431,7 @@
callback_(callback) {
}
- // CookieMonsterTask:
+ // CookieMonster::CookieMonsterTask:
virtual void Run() OVERRIDE;
protected:
@@ -445,7 +447,7 @@
bool secure_;
bool http_only_;
CookiePriority priority_;
- SetCookiesCallback callback_;
+ CookieMonster::SetCookiesCallback callback_;
DISALLOW_COPY_AND_ASSIGN(SetCookieWithDetailsTask);
};
@@ -455,28 +457,29 @@
SetCookieWithDetails(url_, name_, value_, domain_, path_,
expiration_time_, secure_, http_only_, priority_);
if (!callback_.is_null()) {
- this->InvokeCallback(base::Bind(&SetCookiesCallback::Run,
+ this->InvokeCallback(base::Bind(&CookieMonster::SetCookiesCallback::Run,
base::Unretained(&callback_), success));
}
}
// Task class for GetAllCookies call.
-class CookieMonster::GetAllCookiesTask : public CookieMonsterTask {
+class CookieMonster::GetAllCookiesTask
+ : public CookieMonster::CookieMonsterTask {
public:
GetAllCookiesTask(CookieMonster* cookie_monster,
- const GetCookieListCallback& callback)
+ const CookieMonster::GetCookieListCallback& callback)
: CookieMonsterTask(cookie_monster),
callback_(callback) {
}
- // CookieMonsterTask
+ // CookieMonster::CookieMonsterTask
virtual void Run() OVERRIDE;
protected:
virtual ~GetAllCookiesTask() {}
private:
- GetCookieListCallback callback_;
+ CookieMonster::GetCookieListCallback callback_;
DISALLOW_COPY_AND_ASSIGN(GetAllCookiesTask);
};
@@ -484,27 +487,27 @@
void CookieMonster::GetAllCookiesTask::Run() {
if (!callback_.is_null()) {
CookieList cookies = this->cookie_monster()->GetAllCookies();
- this->InvokeCallback(base::Bind(&GetCookieListCallback::Run,
+ this->InvokeCallback(base::Bind(&CookieMonster::GetCookieListCallback::Run,
base::Unretained(&callback_), cookies));
}
}
// Task class for GetAllCookiesForURLWithOptions call.
class CookieMonster::GetAllCookiesForURLWithOptionsTask
- : public CookieMonsterTask {
+ : public CookieMonster::CookieMonsterTask {
public:
GetAllCookiesForURLWithOptionsTask(
CookieMonster* cookie_monster,
const GURL& url,
const CookieOptions& options,
- const GetCookieListCallback& callback)
+ const CookieMonster::GetCookieListCallback& callback)
: CookieMonsterTask(cookie_monster),
url_(url),
options_(options),
callback_(callback) {
}
- // CookieMonsterTask:
+ // CookieMonster::CookieMonsterTask:
virtual void Run() OVERRIDE;
protected:
@@ -513,7 +516,7 @@
private:
GURL url_;
CookieOptions options_;
- GetCookieListCallback callback_;
+ CookieMonster::GetCookieListCallback callback_;
DISALLOW_COPY_AND_ASSIGN(GetAllCookiesForURLWithOptionsTask);
};
@@ -522,109 +525,56 @@
if (!callback_.is_null()) {
CookieList cookies = this->cookie_monster()->
GetAllCookiesForURLWithOptions(url_, options_);
- this->InvokeCallback(base::Bind(&GetCookieListCallback::Run,
+ this->InvokeCallback(base::Bind(&CookieMonster::GetCookieListCallback::Run,
base::Unretained(&callback_), cookies));
}
}
-template <typename Result> struct CallbackType {
- typedef base::Callback<void(Result)> Type;
-};
-
-template <> struct CallbackType<void> {
- typedef base::Closure Type;
-};
-
-// Base task class for Delete*Task.
-template <typename Result>
-class CookieMonster::DeleteTask : public CookieMonsterTask {
+// Task class for DeleteAll call.
+class CookieMonster::DeleteAllTask : public CookieMonster::CookieMonsterTask {
public:
- DeleteTask(CookieMonster* cookie_monster,
- const typename CallbackType<Result>::Type& callback)
+ DeleteAllTask(CookieMonster* cookie_monster,
+ const CookieMonster::DeleteCallback& callback)
: CookieMonsterTask(cookie_monster),
callback_(callback) {
}
- // CookieMonsterTask:
+ // CookieMonster::CookieMonsterTask:
virtual void Run() OVERRIDE;
- private:
- // Runs the delete task and returns a result.
- virtual Result RunDeleteTask() = 0;
- base::Closure RunDeleteTaskAndBindCallback();
- void FlushDone(const base::Closure& callback);
-
- typename CallbackType<Result>::Type callback_;
-
- DISALLOW_COPY_AND_ASSIGN(DeleteTask);
-};
-
-template <typename Result>
-base::Closure CookieMonster::DeleteTask<Result>::
-RunDeleteTaskAndBindCallback() {
- Result result = RunDeleteTask();
- if (callback_.is_null())
- return base::Closure();
- return base::Bind(callback_, result);
-}
-
-template <>
-base::Closure CookieMonster::DeleteTask<void>::RunDeleteTaskAndBindCallback() {
- RunDeleteTask();
- return callback_;
-}
-
-template <typename Result>
-void CookieMonster::DeleteTask<Result>::Run() {
- this->cookie_monster()->FlushStore(
- base::Bind(&DeleteTask<Result>::FlushDone, this,
- RunDeleteTaskAndBindCallback()));
-}
-
-template <typename Result>
-void CookieMonster::DeleteTask<Result>::FlushDone(
- const base::Closure& callback) {
- if (!callback.is_null()) {
- this->InvokeCallback(callback);
- }
-}
-
-// Task class for DeleteAll call.
-class CookieMonster::DeleteAllTask : public DeleteTask<int> {
- public:
- DeleteAllTask(CookieMonster* cookie_monster,
- const DeleteCallback& callback)
- : DeleteTask(cookie_monster, callback) {
- }
-
- // DeleteTask:
- virtual int RunDeleteTask() OVERRIDE;
-
protected:
virtual ~DeleteAllTask() {}
private:
+ CookieMonster::DeleteCallback callback_;
+
DISALLOW_COPY_AND_ASSIGN(DeleteAllTask);
};
-int CookieMonster::DeleteAllTask::RunDeleteTask() {
- return this->cookie_monster()->DeleteAll(true);
+void CookieMonster::DeleteAllTask::Run() {
+ int num_deleted = this->cookie_monster()->DeleteAll(true);
+ if (!callback_.is_null()) {
+ this->InvokeCallback(base::Bind(&CookieMonster::DeleteCallback::Run,
+ base::Unretained(&callback_), num_deleted));
+ }
}
// Task class for DeleteAllCreatedBetween call.
-class CookieMonster::DeleteAllCreatedBetweenTask : public DeleteTask<int> {
+class CookieMonster::DeleteAllCreatedBetweenTask
+ : public CookieMonster::CookieMonsterTask {
public:
DeleteAllCreatedBetweenTask(CookieMonster* cookie_monster,
const Time& delete_begin,
const Time& delete_end,
- const DeleteCallback& callback)
- : DeleteTask(cookie_monster, callback),
+ const CookieMonster::DeleteCallback& callback)
+ : CookieMonsterTask(cookie_monster),
delete_begin_(delete_begin),
- delete_end_(delete_end) {
+ delete_end_(delete_end),
+ callback_(callback) {
}
- // DeleteTask:
- virtual int RunDeleteTask() OVERRIDE;
+ // CookieMonster::CookieMonsterTask:
+ virtual void Run() OVERRIDE;
protected:
virtual ~DeleteAllCreatedBetweenTask() {}
@@ -632,59 +582,72 @@
private:
Time delete_begin_;
Time delete_end_;
+ CookieMonster::DeleteCallback callback_;
DISALLOW_COPY_AND_ASSIGN(DeleteAllCreatedBetweenTask);
};
-int CookieMonster::DeleteAllCreatedBetweenTask::RunDeleteTask() {
- return this->cookie_monster()->
+void CookieMonster::DeleteAllCreatedBetweenTask::Run() {
+ int num_deleted = this->cookie_monster()->
DeleteAllCreatedBetween(delete_begin_, delete_end_);
+ if (!callback_.is_null()) {
+ this->InvokeCallback(base::Bind(&CookieMonster::DeleteCallback::Run,
+ base::Unretained(&callback_), num_deleted));
+ }
}
// Task class for DeleteAllForHost call.
-class CookieMonster::DeleteAllForHostTask : public DeleteTask<int> {
+class CookieMonster::DeleteAllForHostTask
+ : public CookieMonster::CookieMonsterTask {
public:
DeleteAllForHostTask(CookieMonster* cookie_monster,
const GURL& url,
- const DeleteCallback& callback)
- : DeleteTask(cookie_monster, callback),
- url_(url) {
+ const CookieMonster::DeleteCallback& callback)
+ : CookieMonsterTask(cookie_monster),
+ url_(url),
+ callback_(callback) {
}
- // DeleteTask:
- virtual int RunDeleteTask() OVERRIDE;
+ // CookieMonster::CookieMonsterTask:
+ virtual void Run() OVERRIDE;
protected:
virtual ~DeleteAllForHostTask() {}
private:
GURL url_;
+ CookieMonster::DeleteCallback callback_;
DISALLOW_COPY_AND_ASSIGN(DeleteAllForHostTask);
};
-int CookieMonster::DeleteAllForHostTask::RunDeleteTask() {
- return this->cookie_monster()->DeleteAllForHost(url_);
+void CookieMonster::DeleteAllForHostTask::Run() {
+ int num_deleted = this->cookie_monster()->DeleteAllForHost(url_);
+ if (!callback_.is_null()) {
+ this->InvokeCallback(base::Bind(&CookieMonster::DeleteCallback::Run,
+ base::Unretained(&callback_), num_deleted));
+ }
}
// Task class for DeleteAllCreatedBetweenForHost call.
class CookieMonster::DeleteAllCreatedBetweenForHostTask
- : public DeleteTask<int> {
+ : public CookieMonster::CookieMonsterTask {
public:
DeleteAllCreatedBetweenForHostTask(
CookieMonster* cookie_monster,
Time delete_begin,
Time delete_end,
const GURL& url,
- const DeleteCallback& callback)
- : DeleteTask(cookie_monster, callback),
+ const CookieMonster::DeleteCallback& callback)
+ : CookieMonsterTask(cookie_monster),
delete_begin_(delete_begin),
delete_end_(delete_end),
- url_(url) {
+ url_(url),
+ callback_(callback) {
}
- // DeleteTask:
- virtual int RunDeleteTask() OVERRIDE;
+ // CookieMonster::CookieMonsterTask:
+ virtual void Run() OVERRIDE;
protected:
virtual ~DeleteAllCreatedBetweenForHostTask() {}
@@ -693,49 +656,62 @@
Time delete_begin_;
Time delete_end_;
GURL url_;
+ CookieMonster::DeleteCallback callback_;
DISALLOW_COPY_AND_ASSIGN(DeleteAllCreatedBetweenForHostTask);
};
-int CookieMonster::DeleteAllCreatedBetweenForHostTask::RunDeleteTask() {
- return this->cookie_monster()->DeleteAllCreatedBetweenForHost(
+void CookieMonster::DeleteAllCreatedBetweenForHostTask::Run() {
+ int num_deleted = this->cookie_monster()->DeleteAllCreatedBetweenForHost(
delete_begin_, delete_end_, url_);
+ if (!callback_.is_null()) {
+ this->InvokeCallback(base::Bind(&CookieMonster::DeleteCallback::Run,
+ base::Unretained(&callback_), num_deleted));
+ }
}
// Task class for DeleteCanonicalCookie call.
-class CookieMonster::DeleteCanonicalCookieTask : public DeleteTask<bool> {
+class CookieMonster::DeleteCanonicalCookieTask
+ : public CookieMonster::CookieMonsterTask {
public:
DeleteCanonicalCookieTask(CookieMonster* cookie_monster,
const CanonicalCookie& cookie,
- const DeleteCookieCallback& callback)
- : DeleteTask(cookie_monster, callback),
- cookie_(cookie) {
+ const CookieMonster::DeleteCookieCallback& callback)
+ : CookieMonsterTask(cookie_monster),
+ cookie_(cookie),
+ callback_(callback) {
}
- // DeleteTask:
- virtual bool RunDeleteTask() OVERRIDE;
+ // CookieMonster::CookieMonsterTask:
+ virtual void Run() OVERRIDE;
protected:
virtual ~DeleteCanonicalCookieTask() {}
private:
CanonicalCookie cookie_;
+ CookieMonster::DeleteCookieCallback callback_;
DISALLOW_COPY_AND_ASSIGN(DeleteCanonicalCookieTask);
};
-bool CookieMonster::DeleteCanonicalCookieTask::RunDeleteTask() {
- return this->cookie_monster()->DeleteCanonicalCookie(cookie_);
+void CookieMonster::DeleteCanonicalCookieTask::Run() {
+ bool result = this->cookie_monster()->DeleteCanonicalCookie(cookie_);
+ if (!callback_.is_null()) {
+ this->InvokeCallback(base::Bind(&CookieMonster::DeleteCookieCallback::Run,
+ base::Unretained(&callback_), result));
+ }
}
// Task class for SetCookieWithOptions call.
-class CookieMonster::SetCookieWithOptionsTask : public CookieMonsterTask {
+class CookieMonster::SetCookieWithOptionsTask
+ : public CookieMonster::CookieMonsterTask {
public:
SetCookieWithOptionsTask(CookieMonster* cookie_monster,
const GURL& url,
const std::string& cookie_line,
const CookieOptions& options,
- const SetCookiesCallback& callback)
+ const CookieMonster::SetCookiesCallback& callback)
: CookieMonsterTask(cookie_monster),
url_(url),
cookie_line_(cookie_line),
@@ -743,7 +719,7 @@
callback_(callback) {
}
- // CookieMonsterTask:
+ // CookieMonster::CookieMonsterTask:
virtual void Run() OVERRIDE;
protected:
@@ -753,7 +729,7 @@
GURL url_;
std::string cookie_line_;
CookieOptions options_;
- SetCookiesCallback callback_;
+ CookieMonster::SetCookiesCallback callback_;
DISALLOW_COPY_AND_ASSIGN(SetCookieWithOptionsTask);
};
@@ -762,25 +738,26 @@
bool result = this->cookie_monster()->
SetCookieWithOptions(url_, cookie_line_, options_);
if (!callback_.is_null()) {
- this->InvokeCallback(base::Bind(&SetCookiesCallback::Run,
+ this->InvokeCallback(base::Bind(&CookieMonster::SetCookiesCallback::Run,
base::Unretained(&callback_), result));
}
}
// Task class for GetCookiesWithOptions call.
-class CookieMonster::GetCookiesWithOptionsTask : public CookieMonsterTask {
+class CookieMonster::GetCookiesWithOptionsTask
+ : public CookieMonster::CookieMonsterTask {
public:
GetCookiesWithOptionsTask(CookieMonster* cookie_monster,
const GURL& url,
const CookieOptions& options,
- const GetCookiesCallback& callback)
+ const CookieMonster::GetCookiesCallback& callback)
: CookieMonsterTask(cookie_monster),
url_(url),
options_(options),
callback_(callback) {
}
- // CookieMonsterTask:
+ // CookieMonster::CookieMonsterTask:
virtual void Run() OVERRIDE;
protected:
@@ -789,7 +766,7 @@
private:
GURL url_;
CookieOptions options_;
- GetCookiesCallback callback_;
+ CookieMonster::GetCookiesCallback callback_;
DISALLOW_COPY_AND_ASSIGN(GetCookiesWithOptionsTask);
};
@@ -798,25 +775,26 @@
std::string cookie = this->cookie_monster()->
GetCookiesWithOptions(url_, options_);
if (!callback_.is_null()) {
- this->InvokeCallback(base::Bind(&GetCookiesCallback::Run,
+ this->InvokeCallback(base::Bind(&CookieMonster::GetCookiesCallback::Run,
base::Unretained(&callback_), cookie));
}
}
// Task class for DeleteCookie call.
-class CookieMonster::DeleteCookieTask : public DeleteTask<void> {
+class CookieMonster::DeleteCookieTask
+ : public CookieMonster::CookieMonsterTask {
public:
DeleteCookieTask(CookieMonster* cookie_monster,
const GURL& url,
const std::string& cookie_name,
const base::Closure& callback)
- : DeleteTask(cookie_monster, callback),
+ : CookieMonsterTask(cookie_monster),
url_(url),
- cookie_name_(cookie_name) {
- }
+ cookie_name_(cookie_name),
+ callback_(callback) { }
- // DeleteTask:
- virtual void RunDeleteTask() OVERRIDE;
+ // CookieMonster::CookieMonsterTask:
+ virtual void Run() OVERRIDE;
protected:
virtual ~DeleteCookieTask() {}
@@ -824,50 +802,61 @@
private:
GURL url_;
std::string cookie_name_;
+ base::Closure callback_;
DISALLOW_COPY_AND_ASSIGN(DeleteCookieTask);
};
-void CookieMonster::DeleteCookieTask::RunDeleteTask() {
+void CookieMonster::DeleteCookieTask::Run() {
this->cookie_monster()->DeleteCookie(url_, cookie_name_);
+ if (!callback_.is_null()) {
+ this->InvokeCallback(callback_);
+ }
}
// Task class for DeleteSessionCookies call.
-class CookieMonster::DeleteSessionCookiesTask : public DeleteTask<int> {
+class CookieMonster::DeleteSessionCookiesTask
+ : public CookieMonster::CookieMonsterTask {
public:
DeleteSessionCookiesTask(CookieMonster* cookie_monster,
- const DeleteCallback& callback)
- : DeleteTask(cookie_monster, callback) {
+ const CookieMonster::DeleteCallback& callback)
+ : CookieMonsterTask(cookie_monster), callback_(callback) {
}
- // DeleteTask:
- virtual int RunDeleteTask() OVERRIDE;
+ // CookieMonster::CookieMonsterTask:
+ virtual void Run() OVERRIDE;
protected:
virtual ~DeleteSessionCookiesTask() {}
private:
+ CookieMonster::DeleteCallback callback_;
DISALLOW_COPY_AND_ASSIGN(DeleteSessionCookiesTask);
};
-int CookieMonster::DeleteSessionCookiesTask::RunDeleteTask() {
- return this->cookie_monster()->DeleteSessionCookies();
+void CookieMonster::DeleteSessionCookiesTask::Run() {
+ int num_deleted = this->cookie_monster()->DeleteSessionCookies();
+ if (!callback_.is_null()) {
+ this->InvokeCallback(base::Bind(&CookieMonster::DeleteCallback::Run,
+ base::Unretained(&callback_), num_deleted));
+ }
}
// Task class for HasCookiesForETLDP1Task call.
-class CookieMonster::HasCookiesForETLDP1Task : public CookieMonsterTask {
+class CookieMonster::HasCookiesForETLDP1Task
+ : public CookieMonster::CookieMonsterTask {
public:
HasCookiesForETLDP1Task(
CookieMonster* cookie_monster,
const std::string& etldp1,
- const HasCookiesForETLDP1Callback& callback)
+ const CookieMonster::HasCookiesForETLDP1Callback& callback)
: CookieMonsterTask(cookie_monster),
etldp1_(etldp1),
callback_(callback) {
}
- // CookieMonsterTask:
+ // CookieMonster::CookieMonsterTask:
virtual void Run() OVERRIDE;
protected:
@@ -875,7 +864,7 @@
private:
std::string etldp1_;
- HasCookiesForETLDP1Callback callback_;
+ CookieMonster::HasCookiesForETLDP1Callback callback_;
DISALLOW_COPY_AND_ASSIGN(HasCookiesForETLDP1Task);
};
@@ -884,7 +873,7 @@
bool result = this->cookie_monster()->HasCookiesForETLDP1(etldp1_);
if (!callback_.is_null()) {
this->InvokeCallback(
- base::Bind(&HasCookiesForETLDP1Callback::Run,
+ base::Bind(&CookieMonster::HasCookiesForETLDP1Callback::Run,
base::Unretained(&callback_), result));
}
}
@@ -1650,7 +1639,7 @@
const char* CookieMonster::kDefaultCookieableSchemes[] =
{ "http", "https", "file" };
const int CookieMonster::kDefaultCookieableSchemesCount =
- arraysize(kDefaultCookieableSchemes);
+ arraysize(CookieMonster::kDefaultCookieableSchemes);
void CookieMonster::SetDefaultCookieableSchemes() {
int num_schemes = default_enable_file_scheme_ ?
@@ -1755,7 +1744,7 @@
cookies_.insert(CookieMap::value_type(key, cc));
if (delegate_.get()) {
delegate_->OnCookieChanged(
- *cc, false, Delegate::CHANGE_COOKIE_EXPLICIT);
+ *cc, false, CookieMonster::Delegate::CHANGE_COOKIE_EXPLICIT);
}
}
@@ -2026,8 +2015,8 @@
int CookieMonster::GarbageCollectDeleteRange(
const Time& current,
DeletionCause cause,
- CookieItVector::iterator it_begin,
- CookieItVector::iterator it_end) {
+ CookieMonster::CookieItVector::iterator it_begin,
+ CookieMonster::CookieItVector::iterator it_end) {
for (CookieItVector::iterator it = it_begin; it != it_end; it++) {
histogram_evicted_last_access_minutes_->Add(
(current - (*it)->second->LastAccessDate()).InMinutes());
« no previous file with comments | « trunk/src/net/cookies/cookie_monster.h ('k') | trunk/src/net/cookies/cookie_monster_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698