| Index: jingle/glue/proxy_resolving_client_socket.cc
|
| diff --git a/jingle/glue/proxy_resolving_client_socket.cc b/jingle/glue/proxy_resolving_client_socket.cc
|
| index 92f9e5ec38393dbc245500bde08699e2730ad97b..dbafb269be2688fe347a3375747f13d81c5c940e 100644
|
| --- a/jingle/glue/proxy_resolving_client_socket.cc
|
| +++ b/jingle/glue/proxy_resolving_client_socket.cc
|
| @@ -1,17 +1,18 @@
|
| // Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| #include "jingle/glue/proxy_resolving_client_socket.h"
|
|
|
| #include <stdint.h>
|
| +#include <string>
|
|
|
| #include "base/bind.h"
|
| #include "base/bind_helpers.h"
|
| #include "base/compiler_specific.h"
|
| #include "base/logging.h"
|
| #include "net/base/io_buffer.h"
|
| #include "net/base/load_flags.h"
|
| #include "net/base/net_errors.h"
|
| #include "net/http/http_auth_controller.h"
|
| #include "net/http/http_network_session.h"
|
| @@ -132,20 +133,21 @@ int ProxyResolvingClientSocket::SetSendBufferSize(int32_t size) {
|
|
|
| int ProxyResolvingClientSocket::Connect(
|
| const net::CompletionCallback& callback) {
|
| DCHECK(user_connect_callback_.is_null());
|
|
|
| tried_direct_connect_fallback_ = false;
|
|
|
| // First we try and resolve the proxy.
|
| int status = network_session_->proxy_service()->ResolveProxy(
|
| proxy_url_,
|
| + std::string(),
|
| net::LOAD_NORMAL,
|
| &proxy_info_,
|
| proxy_resolve_callback_,
|
| &pac_request_,
|
| NULL,
|
| bound_net_log_);
|
| if (status != net::ERR_IO_PENDING) {
|
| // We defer execution of ProcessProxyResolveDone instead of calling it
|
| // directly here for simplicity. From the caller's point of view,
|
| // the connect always happens asynchronously.
|
| @@ -283,21 +285,21 @@ int ProxyResolvingClientSocket::ReconsiderProxyAfterError(int error) {
|
| default:
|
| return error;
|
| }
|
|
|
| if (proxy_info_.is_https() && ssl_config_.send_client_cert) {
|
| network_session_->ssl_client_auth_cache()->Remove(
|
| proxy_info_.proxy_server().host_port_pair());
|
| }
|
|
|
| int rv = network_session_->proxy_service()->ReconsiderProxyAfterError(
|
| - proxy_url_, net::LOAD_NORMAL, error, &proxy_info_,
|
| + proxy_url_, std::string(), net::LOAD_NORMAL, error, &proxy_info_,
|
| proxy_resolve_callback_, &pac_request_, NULL, bound_net_log_);
|
| if (rv == net::OK || rv == net::ERR_IO_PENDING) {
|
| CloseTransportSocket();
|
| } else {
|
| // If ReconsiderProxyAfterError() failed synchronously, it means
|
| // there was nothing left to fall-back to, so fail the transaction
|
| // with the last connection error we got.
|
| rv = error;
|
| }
|
|
|
|
|