summaryrefslogtreecommitdiffstats
path: root/net/base/host_resolver.h
diff options
context:
space:
mode:
authorphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-29 11:32:26 +0000
committerphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-29 11:32:26 +0000
commit471822cad3c7f41002c28fd9a32243abe1bbb2a2 (patch)
tree68e4dc44d8d31cce4aaf683ef116db7743daa460 /net/base/host_resolver.h
parent1aaf6e1ff14d0f627986f26ec68e87a8ea4e98fc (diff)
downloadchromium_src-471822cad3c7f41002c28fd9a32243abe1bbb2a2.zip
chromium_src-471822cad3c7f41002c28fd9a32243abe1bbb2a2.tar.gz
chromium_src-471822cad3c7f41002c28fd9a32243abe1bbb2a2.tar.bz2
Add more unit tests for net/base/host_resolver.
BUG=6661 Review URL: http://codereview.chromium.org/18775 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8872 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/host_resolver.h')
-rw-r--r--net/base/host_resolver.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/net/base/host_resolver.h b/net/base/host_resolver.h
index 1f649f8..bfae53c 100644
--- a/net/base/host_resolver.h
+++ b/net/base/host_resolver.h
@@ -57,10 +57,24 @@ class HostResolver {
// A helper class used in unit tests to alter hostname mappings. See
// SetHostMapper for details.
-class HostMapper {
+class HostMapper : public base::RefCountedThreadSafe<HostMapper> {
public:
virtual ~HostMapper() {}
virtual std::string Map(const std::string& host) = 0;
+
+ protected:
+ // Ask previous host mapper (if set) for mapping of given host.
+ std::string MapUsingPrevious(const std::string& host);
+
+ private:
+ friend class ScopedHostMapper;
+
+ // Set mapper to ask when this mapper doesn't want to modify the result.
+ void set_previous_mapper(HostMapper* mapper) {
+ previous_mapper_ = mapper;
+ }
+
+ scoped_refptr<HostMapper> previous_mapper_;
};
#ifdef UNIT_TEST