summaryrefslogtreecommitdiff
path: root/chromium/net/dns/mojo_host_resolver_impl.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-06-02 10:43:26 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-06-02 10:44:03 +0200
commitbb91a70e24ac49fd21c1d7c8c91a216961da1e2d (patch)
tree4c2497e0b093c7b0a25d48e72659dca21a50569a /chromium/net/dns/mojo_host_resolver_impl.cc
parent1ec92e71bb67445775ce64cb081ed25c3d7481f1 (diff)
parentb92421879c003a0857b2074f7e05b3bbbb326569 (diff)
downloadqtwebengine-chromium-bb91a70e24ac49fd21c1d7c8c91a216961da1e2d.tar.gz
Merge branch 'upstream-master' into 51-based
Change-Id: I08d36e04494c3bb0c04641ad7c8e53bf418975db
Diffstat (limited to 'chromium/net/dns/mojo_host_resolver_impl.cc')
-rw-r--r--chromium/net/dns/mojo_host_resolver_impl.cc14
1 files changed, 11 insertions, 3 deletions
diff --git a/chromium/net/dns/mojo_host_resolver_impl.cc b/chromium/net/dns/mojo_host_resolver_impl.cc
index bf49c99ff1b..13f61d51dd4 100644
--- a/chromium/net/dns/mojo_host_resolver_impl.cc
+++ b/chromium/net/dns/mojo_host_resolver_impl.cc
@@ -9,6 +9,7 @@
#include "base/stl_util.h"
#include "net/base/address_list.h"
#include "net/base/net_errors.h"
+#include "net/base/network_interfaces.h"
#include "net/dns/host_resolver.h"
#include "net/dns/mojo_host_type_converters.h"
@@ -59,9 +60,16 @@ void MojoHostResolverImpl::Resolve(
interfaces::HostResolverRequestInfoPtr request_info,
interfaces::HostResolverRequestClientPtr client) {
DCHECK(thread_checker_.CalledOnValidThread());
- Job* job = new Job(this, resolver_,
- request_info->To<net::HostResolver::RequestInfo>(),
- net_log_, std::move(client));
+ HostResolver::RequestInfo host_request_info =
+ request_info->To<net::HostResolver::RequestInfo>();
+ if (host_request_info.is_my_ip_address()) {
+ // The proxy resolver running inside a sandbox may not be able to get the
+ // correct host name. Instead, fill it ourself if the request is for our own
+ // IP address.
+ host_request_info.set_host_port_pair(HostPortPair(GetHostName(), 80));
+ }
+ Job* job = new Job(this, resolver_, host_request_info, net_log_,
+ std::move(client));
pending_jobs_.insert(job);
job->Start();
}