diff options
author | scottbyer@chromium.org <scottbyer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-02 21:23:13 +0000 |
---|---|---|
committer | scottbyer@chromium.org <scottbyer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-02 21:23:13 +0000 |
commit | 5dfa52b9e1e269faa84348fc84932b73e9cea7f7 (patch) | |
tree | 0477a757db6a1fce77d26ea63fccf65add4d3ca6 /chrome/service/gaia | |
parent | 66175145594a89b2ac64030e7790a84dc83df167 (diff) | |
download | chromium_src-5dfa52b9e1e269faa84348fc84932b73e9cea7f7.zip chromium_src-5dfa52b9e1e269faa84348fc84932b73e9cea7f7.tar.gz chromium_src-5dfa52b9e1e269faa84348fc84932b73e9cea7f7.tar.bz2 |
Service process fixes for Linux.
Linux requires that the proxy_config_service be created on the I/O
thread. Fortunately, ServiceURLRequestContextGetter was already thread safe ref
counted, so we lift creation of that and the (also, fortunately) thread safe
ref counted net::ProxyService up to service process initialization time. That
created proxy service now gets passed in to the dynamic creation of the
ServiceURLRequestContexts. Should have no effect on other platforms.
BUG=74226
TEST=Start Chromium on Linux with --enable-cloud-print-proxy, sign in, and examine ~/.config/chromium/Service State. With the fix, Service State properly contains the needed tokens to properly re-launch and be a proxy.
Review URL: http://codereview.chromium.org/6602041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76612 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/service/gaia')
-rw-r--r-- | chrome/service/gaia/service_gaia_authenticator.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/chrome/service/gaia/service_gaia_authenticator.cc b/chrome/service/gaia/service_gaia_authenticator.cc index 1f57626..af795a8 100644 --- a/chrome/service/gaia/service_gaia_authenticator.cc +++ b/chrome/service/gaia/service_gaia_authenticator.cc @@ -6,6 +6,7 @@ #include "base/message_loop_proxy.h" #include "chrome/service/net/service_url_request_context.h" +#include "chrome/service/service_process.h" #include "googleurl/src/gurl.h" ServiceGaiaAuthenticator::ServiceGaiaAuthenticator( @@ -63,9 +64,8 @@ void ServiceGaiaAuthenticator::DoPost(const GURL& post_url, const std::string& post_body) { DCHECK(io_message_loop_proxy_->BelongsToCurrentThread()); URLFetcher* request = new URLFetcher(post_url, URLFetcher::POST, this); - ServiceURLRequestContextGetter* context_getter = - new ServiceURLRequestContextGetter(); - request->set_request_context(context_getter); + request->set_request_context( + g_service_process->GetServiceURLRequestContextGetter()); request->set_upload_data("application/x-www-form-urlencoded", post_body); request->Start(); } @@ -89,4 +89,3 @@ void ServiceGaiaAuthenticator::OnURLFetchComplete( http_post_completed_.Signal(); // WARNING: DONT DO ANYTHING AFTER THIS CALL! |this| may be deleted! } - |