| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/base/mock_host_resolver.h" | 5 #include "net/base/mock_host_resolver.h" |
| 6 | 6 |
| 7 #include "base/string_util.h" | 7 #include "base/string_util.h" |
| 8 #include "base/platform_thread.h" | 8 #include "base/platform_thread.h" |
| 9 #include "base/ref_counted.h" | 9 #include "base/ref_counted.h" |
| 10 #include "googleurl/src/url_canon_ip.h" | 10 #include "googleurl/src/url_canon_ip.h" |
| 11 #include "net/base/net_errors.h" | 11 #include "net/base/net_errors.h" |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 new RuleBasedHostResolverProc(NULL); | 82 new RuleBasedHostResolverProc(NULL); |
| 83 catchall->AddRule("*", "127.0.0.1"); | 83 catchall->AddRule("*", "127.0.0.1"); |
| 84 | 84 |
| 85 // Next add a rules-based layer the use controls. | 85 // Next add a rules-based layer the use controls. |
| 86 rules_ = new RuleBasedHostResolverProc(catchall); | 86 rules_ = new RuleBasedHostResolverProc(catchall); |
| 87 | 87 |
| 88 HostResolverProc* proc = rules_; | 88 HostResolverProc* proc = rules_; |
| 89 | 89 |
| 90 // Lastly add the provided interceptor to the front of the chain. | 90 // Lastly add the provided interceptor to the front of the chain. |
| 91 if (interceptor) { | 91 if (interceptor) { |
| 92 interceptor->set_previous_proc(proc); | 92 interceptor->SetPreviousProc(proc); |
| 93 proc = interceptor; | 93 proc = interceptor; |
| 94 } | 94 } |
| 95 | 95 |
| 96 HostCache* cache = NULL; | 96 HostCache* cache = NULL; |
| 97 | 97 |
| 98 if (use_caching_) { | 98 if (use_caching_) { |
| 99 cache = new HostCache( | 99 cache = new HostCache( |
| 100 100, // max entries. | 100 100, // max entries. |
| 101 base::TimeDelta::FromMinutes(1), | 101 base::TimeDelta::FromMinutes(1), |
| 102 base::TimeDelta::FromSeconds(0)); | 102 base::TimeDelta::FromSeconds(0)); |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 218 return ERR_UNEXPECTED; | 218 return ERR_UNEXPECTED; |
| 219 } | 219 } |
| 220 } | 220 } |
| 221 } | 221 } |
| 222 return ResolveUsingPrevious(host, address_family, addrlist); | 222 return ResolveUsingPrevious(host, address_family, addrlist); |
| 223 } | 223 } |
| 224 | 224 |
| 225 //----------------------------------------------------------------------------- | 225 //----------------------------------------------------------------------------- |
| 226 | 226 |
| 227 ScopedDefaultHostResolverProc::ScopedDefaultHostResolverProc( | 227 ScopedDefaultHostResolverProc::ScopedDefaultHostResolverProc( |
| 228 HostResolverProc* proc) : current_proc_(proc) { | 228 HostResolverProc* proc) { |
| 229 previous_proc_ = HostResolverProc::SetDefault(current_proc_); | 229 Init(proc); |
| 230 current_proc_->set_previous_proc(previous_proc_); | |
| 231 } | 230 } |
| 232 | 231 |
| 233 ScopedDefaultHostResolverProc::~ScopedDefaultHostResolverProc() { | 232 ScopedDefaultHostResolverProc::~ScopedDefaultHostResolverProc() { |
| 234 HostResolverProc* old_proc = HostResolverProc::SetDefault(previous_proc_); | 233 HostResolverProc* old_proc = HostResolverProc::SetDefault(previous_proc_); |
| 235 // The lifetimes of multiple instances must be nested. | 234 // The lifetimes of multiple instances must be nested. |
| 236 CHECK(old_proc == current_proc_); | 235 CHECK(old_proc == current_proc_); |
| 237 } | 236 } |
| 238 | 237 |
| 239 void ScopedDefaultHostResolverProc::Init(HostResolverProc* proc) { | 238 void ScopedDefaultHostResolverProc::Init(HostResolverProc* proc) { |
| 240 current_proc_ = proc; | 239 current_proc_ = proc; |
| 241 previous_proc_ = HostResolverProc::SetDefault(current_proc_); | 240 previous_proc_ = HostResolverProc::SetDefault(current_proc_); |
| 242 current_proc_->set_previous_proc(previous_proc_); | 241 current_proc_->SetLastProc(previous_proc_); |
| 243 } | 242 } |
| 244 | 243 |
| 245 } // namespace net | 244 } // namespace net |
| OLD | NEW |