OLD | NEW |
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 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 DCHECK(pref_name_in && prefs); | 247 DCHECK(pref_name_in && prefs); |
248 if (*pref_name_in == prefs::kAcceptLanguages) { | 248 if (*pref_name_in == prefs::kAcceptLanguages) { |
249 std::string accept_language = | 249 std::string accept_language = |
250 prefs->GetString(prefs::kAcceptLanguages); | 250 prefs->GetString(prefs::kAcceptLanguages); |
251 BrowserThread::PostTask( | 251 BrowserThread::PostTask( |
252 BrowserThread::IO, FROM_HERE, | 252 BrowserThread::IO, FROM_HERE, |
253 base::Bind( | 253 base::Bind( |
254 &ChromeURLRequestContextGetter::OnAcceptLanguageChange, | 254 &ChromeURLRequestContextGetter::OnAcceptLanguageChange, |
255 this, | 255 this, |
256 accept_language)); | 256 accept_language)); |
257 } else if (*pref_name_in == prefs::kGlobalDefaultCharset) { | 257 } else if (*pref_name_in == prefs::kDefaultCharset) { |
258 std::string default_charset = | 258 std::string default_charset = prefs->GetString(prefs::kDefaultCharset); |
259 prefs->GetString(prefs::kGlobalDefaultCharset); | |
260 BrowserThread::PostTask( | 259 BrowserThread::PostTask( |
261 BrowserThread::IO, FROM_HERE, | 260 BrowserThread::IO, FROM_HERE, |
262 base::Bind( | 261 base::Bind( |
263 &ChromeURLRequestContextGetter::OnDefaultCharsetChange, | 262 &ChromeURLRequestContextGetter::OnDefaultCharsetChange, |
264 this, | 263 this, |
265 default_charset)); | 264 default_charset)); |
266 } else if (*pref_name_in == prefs::kClearSiteDataOnExit) { | 265 } else if (*pref_name_in == prefs::kClearSiteDataOnExit) { |
267 bool clear_site_data = | 266 bool clear_site_data = |
268 prefs->GetBoolean(prefs::kClearSiteDataOnExit); | 267 prefs->GetBoolean(prefs::kClearSiteDataOnExit); |
269 BrowserThread::PostTask( | 268 BrowserThread::PostTask( |
270 BrowserThread::IO, FROM_HERE, | 269 BrowserThread::IO, FROM_HERE, |
271 base::Bind( | 270 base::Bind( |
272 &ChromeURLRequestContextGetter::OnClearSiteDataOnExitChange, | 271 &ChromeURLRequestContextGetter::OnClearSiteDataOnExitChange, |
273 this, | 272 this, |
274 clear_site_data)); | 273 clear_site_data)); |
275 } | 274 } |
276 } else { | 275 } else { |
277 NOTREACHED(); | 276 NOTREACHED(); |
278 } | 277 } |
279 } | 278 } |
280 | 279 |
281 void ChromeURLRequestContextGetter::RegisterPrefsObserver(Profile* profile) { | 280 void ChromeURLRequestContextGetter::RegisterPrefsObserver(Profile* profile) { |
282 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 281 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
283 | 282 |
284 registrar_.Init(profile->GetPrefs()); | 283 registrar_.Init(profile->GetPrefs()); |
285 registrar_.Add(prefs::kAcceptLanguages, this); | 284 registrar_.Add(prefs::kAcceptLanguages, this); |
286 registrar_.Add(prefs::kGlobalDefaultCharset, this); | 285 registrar_.Add(prefs::kDefaultCharset, this); |
287 registrar_.Add(prefs::kClearSiteDataOnExit, this); | 286 registrar_.Add(prefs::kClearSiteDataOnExit, this); |
288 } | 287 } |
289 | 288 |
290 void ChromeURLRequestContextGetter::OnAcceptLanguageChange( | 289 void ChromeURLRequestContextGetter::OnAcceptLanguageChange( |
291 const std::string& accept_language) { | 290 const std::string& accept_language) { |
292 GetIOContext()->OnAcceptLanguageChange(accept_language); | 291 GetIOContext()->OnAcceptLanguageChange(accept_language); |
293 } | 292 } |
294 | 293 |
295 void ChromeURLRequestContextGetter::OnDefaultCharsetChange( | 294 void ChromeURLRequestContextGetter::OnDefaultCharsetChange( |
296 const std::string& default_charset) { | 295 const std::string& default_charset) { |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 net::HttpUtil::GenerateAcceptLanguageHeader(accept_language)); | 354 net::HttpUtil::GenerateAcceptLanguageHeader(accept_language)); |
356 } | 355 } |
357 | 356 |
358 void ChromeURLRequestContext::OnDefaultCharsetChange( | 357 void ChromeURLRequestContext::OnDefaultCharsetChange( |
359 const std::string& default_charset) { | 358 const std::string& default_charset) { |
360 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 359 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
361 set_referrer_charset(default_charset); | 360 set_referrer_charset(default_charset); |
362 set_accept_charset( | 361 set_accept_charset( |
363 net::HttpUtil::GenerateAcceptCharsetHeader(default_charset)); | 362 net::HttpUtil::GenerateAcceptCharsetHeader(default_charset)); |
364 } | 363 } |
OLD | NEW |