Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
| 8 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
| 9 #include "base/message_loop_proxy.h" | 10 #include "base/message_loop_proxy.h" |
| 10 #include "base/synchronization/waitable_event.h" | 11 #include "base/synchronization/waitable_event.h" |
| 11 #include "chrome/browser/browser_process.h" | 12 #include "chrome/browser/browser_process.h" |
| 12 #include "chrome/browser/io_thread.h" | 13 #include "chrome/browser/io_thread.h" |
| 13 #include "chrome/browser/prefs/pref_service.h" | 14 #include "chrome/browser/prefs/pref_service.h" |
| 14 #include "chrome/browser/profiles/profile.h" | 15 #include "chrome/browser/profiles/profile.h" |
| 15 #include "chrome/browser/profiles/profile_io_data.h" | 16 #include "chrome/browser/profiles/profile_io_data.h" |
| 16 #include "chrome/common/chrome_notification_types.h" | 17 #include "chrome/common/chrome_notification_types.h" |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 154 | 155 |
| 155 // If we aren't running on the IO thread, we cannot call | 156 // If we aren't running on the IO thread, we cannot call |
| 156 // GetURLRequestContext(). Instead we will post a task to the IO loop | 157 // GetURLRequestContext(). Instead we will post a task to the IO loop |
| 157 // and wait for it to complete. | 158 // and wait for it to complete. |
| 158 | 159 |
| 159 base::WaitableEvent completion(false, false); | 160 base::WaitableEvent completion(false, false); |
| 160 net::CookieStore* result = NULL; | 161 net::CookieStore* result = NULL; |
| 161 | 162 |
| 162 BrowserThread::PostTask( | 163 BrowserThread::PostTask( |
| 163 BrowserThread::IO, FROM_HERE, | 164 BrowserThread::IO, FROM_HERE, |
| 164 NewRunnableMethod(this, | 165 base::Bind(&ChromeURLRequestContextGetter::GetCookieStoreAsyncHelper, |
| 165 &ChromeURLRequestContextGetter::GetCookieStoreAsyncHelper, | 166 this, |
| 166 &completion, | 167 &completion, |
| 167 &result)); | 168 &result)); |
|
wtc
2011/11/17 08:16:21
Nit: align all the function arguments of base::Bin
| |
| 168 | 169 |
| 169 completion.Wait(); | 170 completion.Wait(); |
| 170 DCHECK(result); | 171 DCHECK(result); |
| 171 return result; | 172 return result; |
| 172 } | 173 } |
| 173 | 174 |
| 174 scoped_refptr<base::MessageLoopProxy> | 175 scoped_refptr<base::MessageLoopProxy> |
| 175 ChromeURLRequestContextGetter::GetIOMessageLoopProxy() const { | 176 ChromeURLRequestContextGetter::GetIOMessageLoopProxy() const { |
| 176 return BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO); | 177 return BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO); |
| 177 } | 178 } |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 268 | 269 |
| 269 if (chrome::NOTIFICATION_PREF_CHANGED == type) { | 270 if (chrome::NOTIFICATION_PREF_CHANGED == type) { |
| 270 std::string* pref_name_in = content::Details<std::string>(details).ptr(); | 271 std::string* pref_name_in = content::Details<std::string>(details).ptr(); |
| 271 PrefService* prefs = content::Source<PrefService>(source).ptr(); | 272 PrefService* prefs = content::Source<PrefService>(source).ptr(); |
| 272 DCHECK(pref_name_in && prefs); | 273 DCHECK(pref_name_in && prefs); |
| 273 if (*pref_name_in == prefs::kAcceptLanguages) { | 274 if (*pref_name_in == prefs::kAcceptLanguages) { |
| 274 std::string accept_language = | 275 std::string accept_language = |
| 275 prefs->GetString(prefs::kAcceptLanguages); | 276 prefs->GetString(prefs::kAcceptLanguages); |
| 276 BrowserThread::PostTask( | 277 BrowserThread::PostTask( |
| 277 BrowserThread::IO, FROM_HERE, | 278 BrowserThread::IO, FROM_HERE, |
| 278 NewRunnableMethod( | 279 base::Bind( |
| 280 &ChromeURLRequestContextGetter::OnAcceptLanguageChange, | |
| 279 this, | 281 this, |
| 280 &ChromeURLRequestContextGetter::OnAcceptLanguageChange, | |
| 281 accept_language)); | 282 accept_language)); |
| 282 } else if (*pref_name_in == prefs::kDefaultCharset) { | 283 } else if (*pref_name_in == prefs::kDefaultCharset) { |
| 283 std::string default_charset = | 284 std::string default_charset = |
| 284 prefs->GetString(prefs::kDefaultCharset); | 285 prefs->GetString(prefs::kDefaultCharset); |
| 285 BrowserThread::PostTask( | 286 BrowserThread::PostTask( |
| 286 BrowserThread::IO, FROM_HERE, | 287 BrowserThread::IO, FROM_HERE, |
| 287 NewRunnableMethod( | 288 base::Bind( |
| 289 &ChromeURLRequestContextGetter::OnDefaultCharsetChange, | |
| 288 this, | 290 this, |
| 289 &ChromeURLRequestContextGetter::OnDefaultCharsetChange, | |
| 290 default_charset)); | 291 default_charset)); |
| 291 } else if (*pref_name_in == prefs::kClearSiteDataOnExit) { | 292 } else if (*pref_name_in == prefs::kClearSiteDataOnExit) { |
| 292 bool clear_site_data = | 293 bool clear_site_data = |
| 293 prefs->GetBoolean(prefs::kClearSiteDataOnExit); | 294 prefs->GetBoolean(prefs::kClearSiteDataOnExit); |
| 294 BrowserThread::PostTask( | 295 BrowserThread::PostTask( |
| 295 BrowserThread::IO, FROM_HERE, | 296 BrowserThread::IO, FROM_HERE, |
| 296 NewRunnableMethod( | 297 base::Bind( |
| 298 &ChromeURLRequestContextGetter::OnClearSiteDataOnExitChange, | |
| 297 this, | 299 this, |
| 298 &ChromeURLRequestContextGetter::OnClearSiteDataOnExitChange, | |
| 299 clear_site_data)); | 300 clear_site_data)); |
| 300 } | 301 } |
| 301 } else { | 302 } else { |
| 302 NOTREACHED(); | 303 NOTREACHED(); |
| 303 } | 304 } |
| 304 } | 305 } |
| 305 | 306 |
| 306 void ChromeURLRequestContextGetter::RegisterPrefsObserver(Profile* profile) { | 307 void ChromeURLRequestContextGetter::RegisterPrefsObserver(Profile* profile) { |
| 307 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 308 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 308 | 309 |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 387 net::HttpUtil::GenerateAcceptLanguageHeader(accept_language)); | 388 net::HttpUtil::GenerateAcceptLanguageHeader(accept_language)); |
| 388 } | 389 } |
| 389 | 390 |
| 390 void ChromeURLRequestContext::OnDefaultCharsetChange( | 391 void ChromeURLRequestContext::OnDefaultCharsetChange( |
| 391 const std::string& default_charset) { | 392 const std::string& default_charset) { |
| 392 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 393 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| 393 set_referrer_charset(default_charset); | 394 set_referrer_charset(default_charset); |
| 394 set_accept_charset( | 395 set_accept_charset( |
| 395 net::HttpUtil::GenerateAcceptCharsetHeader(default_charset)); | 396 net::HttpUtil::GenerateAcceptCharsetHeader(default_charset)); |
| 396 } | 397 } |
| OLD | NEW |