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

Unified Diff: net/cookies/cookie_monster.cc

Issue 2349823003: Pass a RemovalCause to CookieChangedCallback (Closed)
Patch Set: Fix compilation errors Created 4 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
Index: net/cookies/cookie_monster.cc
diff --git a/net/cookies/cookie_monster.cc b/net/cookies/cookie_monster.cc
index 78cfda7b8a96c81a9788f21dfe66cace1940f3e6..139b3fe5e83aeca3047af5150936d544226a3247 100644
--- a/net/cookies/cookie_monster.cc
+++ b/net/cookies/cookie_monster.cc
@@ -302,11 +302,43 @@ ChangeCausePair ChangeCauseMapping[] = {
// DELETE_COOKIE_LAST_ENTRY
{CookieMonsterDelegate::CHANGE_COOKIE_EXPLICIT, false}};
+CookieStore::RemovalCause RemovalCauseMap[] = {
+ // DELETE_COOKIE_EXPLICIT
+ CookieStore::RemovalCause::EXPLICIT,
+ // DELETE_COOKIE_OVERWRITE
+ CookieStore::RemovalCause::OVERWRITE,
+ // DELETE_COOKIE_EXPIRED
+ CookieStore::RemovalCause::EXPIRED,
+ // DELETE_COOKIE_EVICTED
+ CookieStore::RemovalCause::EVICTED,
+ // DELETE_COOKIE_DUPLICATE_IN_BACKING_STORE
+ CookieStore::RemovalCause::EXPLICIT,
+ // DELETE_COOKIE_DONT_RECORD
+ CookieStore::RemovalCause::EXPLICIT,
+ // DELETE_COOKIE_EVICTED_DOMAIN
+ CookieStore::RemovalCause::EVICTED,
+ // DELETE_COOKIE_EVICTED_GLOBAL
+ CookieStore::RemovalCause::EVICTED,
+ // DELETE_COOKIE_EVICTED_DOMAIN_PRE_SAFE
+ CookieStore::RemovalCause::EVICTED,
+ // DELETE_COOKIE_EVICTED_DOMAIN_POST_SAFE
+ CookieStore::RemovalCause::EVICTED,
+ // DELETE_COOKIE_EXPIRED_OVERWRITE
+ CookieStore::RemovalCause::EXPIRED_OVERWRITE,
+ // DELETE_COOKIE_CONTROL_CHAR
+ CookieStore::RemovalCause::EVICTED,
+ // DELETE_COOKIE_NON_SECURE
+ CookieStore::RemovalCause::EVICTED,
+ // DELETE_COOKIE_LAST_ENTRY
+ CookieStore::RemovalCause::EXPLICIT,
+};
+
void RunAsync(scoped_refptr<base::TaskRunner> proxy,
const CookieStore::CookieChangedCallback& callback,
const CanonicalCookie& cookie,
- bool removed) {
- proxy->PostTask(FROM_HERE, base::Bind(callback, cookie, removed));
+ bool removed,
+ CookieStore::RemovalCause cause) {
+ proxy->PostTask(FROM_HERE, base::Bind(callback, cookie, removed, cause));
}
bool IsCookieEligibleForEviction(CookiePriority current_priority_level,
@@ -1717,7 +1749,7 @@ CookieMonster::CookieMap::iterator CookieMonster::InternalInsertCookie(
histogram_cookie_source_scheme_->Add(cookie_source_sample);
}
- RunCookieChangedCallbacks(*cc, false);
+ RunCookieChangedCallbacks(*cc, false, CookieStore::RemovalCause::NOT_REMOVED);
return inserted;
}
@@ -1863,7 +1895,7 @@ void CookieMonster::InternalDeleteCookie(CookieMap::iterator it,
if (mapping.notify)
delegate_->OnCookieChanged(*cc, true, mapping.cause);
}
- RunCookieChangedCallbacks(*cc, true);
+ RunCookieChangedCallbacks(*cc, true, RemovalCauseMap[deletion_cause]);
cookies_.erase(it);
delete cc;
}
@@ -2375,7 +2407,8 @@ void CookieMonster::RunCallback(const base::Closure& callback) {
}
void CookieMonster::RunCookieChangedCallbacks(const CanonicalCookie& cookie,
- bool removed) {
+ bool removed,
+ RemovalCause cause) {
DCHECK(thread_checker_.CalledOnValidThread());
CookieOptions opts;
@@ -2391,7 +2424,7 @@ void CookieMonster::RunCookieChangedCallbacks(const CanonicalCookie& cookie,
std::pair<GURL, std::string> key = it->first;
if (cookie.IncludeForRequestURL(key.first, opts) &&
cookie.Name() == key.second) {
- it->second->Notify(cookie, removed);
+ it->second->Notify(cookie, removed, cause);
}
}
}

Powered by Google App Engine
This is Rietveld 408576698