Chromium Code Reviews| 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 |