summaryrefslogtreecommitdiffstats
path: root/net/base/mock_host_resolver.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/base/mock_host_resolver.cc')
-rw-r--r--net/base/mock_host_resolver.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/net/base/mock_host_resolver.cc b/net/base/mock_host_resolver.cc
index 3cc4a82..f822bde 100644
--- a/net/base/mock_host_resolver.cc
+++ b/net/base/mock_host_resolver.cc
@@ -11,6 +11,7 @@
#include "net/base/net_errors.h"
#include "net/base/net_util.h"
#include "net/base/sys_addrinfo.h"
+#include "net/base/test_completion_callback.h"
namespace net {
@@ -100,8 +101,13 @@ int MockHostResolverBase::Resolve(const RequestInfo& info,
RequestHandle* out_req,
const BoundNetLog& net_log) {
if (synchronous_mode_) {
- callback = NULL;
- out_req = NULL;
+ TestCompletionCallback sync_callback;
+ int rv = impl_->Resolve(info, addresses, &sync_callback, out_req, net_log);
+ if (rv == ERR_IO_PENDING) {
+ MessageLoop::ScopedNestableTaskAllower nestable(MessageLoop::current());
+ return sync_callback.WaitForResult();
+ }
+ return rv;
}
return impl_->Resolve(info, addresses, callback, out_req, net_log);
}