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

Side by Side Diff: chrome/browser/net/chrome_url_request_context.cc

Issue 10447117: Unwire the clear on exit preference from the storage systems. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: updates Created 8 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/net/chrome_url_request_context.h" 5 #include "chrome/browser/net/chrome_url_request_context.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/message_loop_proxy.h" 10 #include "base/message_loop_proxy.h"
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 this, 255 this,
256 accept_language)); 256 accept_language));
257 } else if (*pref_name_in == prefs::kDefaultCharset) { 257 } else if (*pref_name_in == prefs::kDefaultCharset) {
258 std::string default_charset = prefs->GetString(prefs::kDefaultCharset); 258 std::string default_charset = prefs->GetString(prefs::kDefaultCharset);
259 BrowserThread::PostTask( 259 BrowserThread::PostTask(
260 BrowserThread::IO, FROM_HERE, 260 BrowserThread::IO, FROM_HERE,
261 base::Bind( 261 base::Bind(
262 &ChromeURLRequestContextGetter::OnDefaultCharsetChange, 262 &ChromeURLRequestContextGetter::OnDefaultCharsetChange,
263 this, 263 this,
264 default_charset)); 264 default_charset));
265 } else if (*pref_name_in == prefs::kClearSiteDataOnExit) {
266 bool clear_site_data =
267 prefs->GetBoolean(prefs::kClearSiteDataOnExit);
268 BrowserThread::PostTask(
269 BrowserThread::IO, FROM_HERE,
270 base::Bind(
271 &ChromeURLRequestContextGetter::OnClearSiteDataOnExitChange,
272 this,
273 clear_site_data));
274 } 265 }
275 } else { 266 } else {
276 NOTREACHED(); 267 NOTREACHED();
277 } 268 }
278 } 269 }
279 270
280 void ChromeURLRequestContextGetter::RegisterPrefsObserver(Profile* profile) { 271 void ChromeURLRequestContextGetter::RegisterPrefsObserver(Profile* profile) {
281 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 272 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
282 273
283 registrar_.Init(profile->GetPrefs()); 274 registrar_.Init(profile->GetPrefs());
284 registrar_.Add(prefs::kAcceptLanguages, this); 275 registrar_.Add(prefs::kAcceptLanguages, this);
285 registrar_.Add(prefs::kDefaultCharset, this); 276 registrar_.Add(prefs::kDefaultCharset, this);
286 registrar_.Add(prefs::kClearSiteDataOnExit, this);
287 } 277 }
288 278
289 void ChromeURLRequestContextGetter::OnAcceptLanguageChange( 279 void ChromeURLRequestContextGetter::OnAcceptLanguageChange(
290 const std::string& accept_language) { 280 const std::string& accept_language) {
291 GetIOContext()->OnAcceptLanguageChange(accept_language); 281 GetIOContext()->OnAcceptLanguageChange(accept_language);
292 } 282 }
293 283
294 void ChromeURLRequestContextGetter::OnDefaultCharsetChange( 284 void ChromeURLRequestContextGetter::OnDefaultCharsetChange(
295 const std::string& default_charset) { 285 const std::string& default_charset) {
296 GetIOContext()->OnDefaultCharsetChange(default_charset); 286 GetIOContext()->OnDefaultCharsetChange(default_charset);
297 } 287 }
298 288
299 void ChromeURLRequestContextGetter::OnClearSiteDataOnExitChange(
300 bool clear_site_data) {
301 net::CookieMonster* cookie_monster =
302 GetURLRequestContext()->cookie_store()->GetCookieMonster();
303
304 // If there is no cookie monster, this function does nothing. If
305 // clear_site_data is true, this is most certainly not the expected behavior.
306 DCHECK(!clear_site_data || cookie_monster);
307
308 if (cookie_monster)
309 cookie_monster->SetClearPersistentStoreOnExit(clear_site_data);
310 }
311
312 // ---------------------------------------------------------------------------- 289 // ----------------------------------------------------------------------------
313 // ChromeURLRequestContext 290 // ChromeURLRequestContext
314 // ---------------------------------------------------------------------------- 291 // ----------------------------------------------------------------------------
315 292
316 ChromeURLRequestContext::ChromeURLRequestContext() 293 ChromeURLRequestContext::ChromeURLRequestContext()
317 : ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)), 294 : ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)),
318 is_incognito_(false) { 295 is_incognito_(false) {
319 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 296 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
320 } 297 }
321 298
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 net::HttpUtil::GenerateAcceptLanguageHeader(accept_language)); 331 net::HttpUtil::GenerateAcceptLanguageHeader(accept_language));
355 } 332 }
356 333
357 void ChromeURLRequestContext::OnDefaultCharsetChange( 334 void ChromeURLRequestContext::OnDefaultCharsetChange(
358 const std::string& default_charset) { 335 const std::string& default_charset) {
359 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 336 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
360 set_referrer_charset(default_charset); 337 set_referrer_charset(default_charset);
361 set_accept_charset( 338 set_accept_charset(
362 net::HttpUtil::GenerateAcceptCharsetHeader(default_charset)); 339 net::HttpUtil::GenerateAcceptCharsetHeader(default_charset));
363 } 340 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698