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

Unified Diff: chrome/browser/net/chrome_url_request_context.cc

Issue 5430004: Refactored cookies persistent store clean-up on shutdown. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added unit test and moved flag to the persistence store itself. Created 10 years 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: chrome/browser/net/chrome_url_request_context.cc
diff --git a/chrome/browser/net/chrome_url_request_context.cc b/chrome/browser/net/chrome_url_request_context.cc
index 81a04020d9eb4ef6aa21e578882356545cfef0d0..8eea46ab07c5ad0ab0162eb98e7c7ac0c3a635ea 100644
--- a/chrome/browser/net/chrome_url_request_context.cc
+++ b/chrome/browser/net/chrome_url_request_context.cc
@@ -315,8 +315,10 @@ ChromeURLRequestContext* FactoryForOriginal::Create() {
scoped_refptr<SQLitePersistentCookieStore> cookie_db =
new SQLitePersistentCookieStore(cookie_store_path_);
+ cookie_db->SetClearLocalStateOnExit(clear_local_state_on_exit_);
context->set_cookie_store(new net::CookieMonster(cookie_db.get(),
cookie_monster_delegate_));
+
jochen (gone - plz use gerrit) 2010/12/02 15:09:51 nit no empty line plz
pastarmovj 2010/12/02 16:29:07 Done.
}
context->set_cookie_policy(
@@ -705,6 +707,15 @@ void ChromeURLRequestContextGetter::Observe(
this,
&ChromeURLRequestContextGetter::OnDefaultCharsetChange,
default_charset));
+ } else if (*pref_name_in == prefs::kClearSiteDataOnExit) {
+ bool clear_site_data =
+ prefs->GetBoolean(prefs::kClearSiteDataOnExit);
+ BrowserThread::PostTask(
+ BrowserThread::IO, FROM_HERE,
+ NewRunnableMethod(
+ this,
+ &ChromeURLRequestContextGetter::OnClearSiteDataOnExitChange,
+ clear_site_data));
}
} else {
NOTREACHED();
@@ -717,6 +728,7 @@ void ChromeURLRequestContextGetter::RegisterPrefsObserver(Profile* profile) {
registrar_.Init(profile->GetPrefs());
registrar_.Add(prefs::kAcceptLanguages, this);
registrar_.Add(prefs::kDefaultCharset, this);
+ registrar_.Add(prefs::kClearSiteDataOnExit, this);
}
// static
@@ -742,6 +754,12 @@ void ChromeURLRequestContextGetter::OnDefaultCharsetChange(
GetIOContext()->OnDefaultCharsetChange(default_charset);
}
+void ChromeURLRequestContextGetter::OnClearSiteDataOnExitChange(
+ bool clear_site_data) {
+ GetCookieStore()->GetCookieMonster()->GetPersistentCookieStore()->
+ SetClearLocalStateOnExit(clear_site_data);
+}
+
void ChromeURLRequestContextGetter::GetCookieStoreAsyncHelper(
base::WaitableEvent* completion,
net::CookieStore** result) {
@@ -882,6 +900,7 @@ ChromeURLRequestContextFactory::ChromeURLRequestContextFactory(Profile* profile)
std::string default_charset = prefs->GetString(prefs::kDefaultCharset);
accept_charset_ =
net::HttpUtil::GenerateAcceptCharsetHeader(default_charset);
+ clear_local_state_on_exit_ = prefs->GetBoolean(prefs::kClearSiteDataOnExit);
// At this point, we don't know the charset of the referring page
// where a url request originates from. This is used to get a suggested

Powered by Google App Engine
This is Rietveld 408576698