summaryrefslogtreecommitdiffstats
path: root/net/base/mock_host_resolver.cc
diff options
context:
space:
mode:
authorericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-18 07:31:04 +0000
committerericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-18 07:31:04 +0000
commita2c2fb9ff48cd37dbed258dca5b40461c92b71a8 (patch)
tree4526d3db799c1e1f49b1f5387d8d8b267f006a5a /net/base/mock_host_resolver.cc
parenteb5f5505a0b430c27f64c44f4928a0a50faf5f3d (diff)
downloadchromium_src-a2c2fb9ff48cd37dbed258dca5b40461c92b71a8.zip
chromium_src-a2c2fb9ff48cd37dbed258dca5b40461c92b71a8.tar.gz
chromium_src-a2c2fb9ff48cd37dbed258dca5b40461c92b71a8.tar.bz2
Add synchronous-mode operation to MockHostResolver; this helps clarify some tests, which were using caching to get synchronous resolutions.TEST=existingBUG=NONE (addresses a TODO however).
Review URL: http://codereview.chromium.org/155620 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21052 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/mock_host_resolver.cc')
-rw-r--r--net/base/mock_host_resolver.cc38
1 files changed, 23 insertions, 15 deletions
diff --git a/net/base/mock_host_resolver.cc b/net/base/mock_host_resolver.cc
index 58ad552..508ef38 100644
--- a/net/base/mock_host_resolver.cc
+++ b/net/base/mock_host_resolver.cc
@@ -11,36 +11,41 @@
namespace net {
-MockHostResolver::MockHostResolver() {
- Reset(NULL, 0, 0);
-}
-
-int MockHostResolver::Resolve(const RequestInfo& info,
- AddressList* addresses,
- CompletionCallback* callback,
- RequestHandle* out_req) {
+MockHostResolverBase::MockHostResolverBase(bool use_caching)
+ : use_caching_(use_caching) {
+ Reset(NULL);
+}
+
+int MockHostResolverBase::Resolve(const RequestInfo& info,
+ AddressList* addresses,
+ CompletionCallback* callback,
+ RequestHandle* out_req) {
+ if (synchronous_mode_) {
+ callback = NULL;
+ out_req = NULL;
+ }
return impl_->Resolve(info, addresses, callback, out_req);
}
-void MockHostResolver::CancelRequest(RequestHandle req) {
+void MockHostResolverBase::CancelRequest(RequestHandle req) {
impl_->CancelRequest(req);
}
-void MockHostResolver::AddObserver(Observer* observer) {
+void MockHostResolverBase::AddObserver(Observer* observer) {
impl_->AddObserver(observer);
}
-void MockHostResolver::RemoveObserver(Observer* observer) {
+void MockHostResolverBase::RemoveObserver(Observer* observer) {
impl_->RemoveObserver(observer);
}
-void MockHostResolver::Shutdown() {
+void MockHostResolverBase::Shutdown() {
impl_->Shutdown();
}
-void MockHostResolver::Reset(HostResolverProc* interceptor,
- int max_cache_entries,
- int max_cache_age_ms) {
+void MockHostResolverBase::Reset(HostResolverProc* interceptor) {
+ synchronous_mode_ = false;
+
// At the root of the chain, map everything to localhost.
scoped_refptr<RuleBasedHostResolverProc> catchall =
new RuleBasedHostResolverProc(NULL);
@@ -57,6 +62,9 @@ void MockHostResolver::Reset(HostResolverProc* interceptor,
proc = interceptor;
}
+ int max_cache_entries = use_caching_ ? 100 : 0;
+ int max_cache_age_ms = use_caching_ ? 60000 : 0;
+
impl_ = new HostResolverImpl(proc, max_cache_entries, max_cache_age_ms);
}