Index: net/base/host_cache.h |
diff --git a/net/base/host_cache.h b/net/base/host_cache.h |
index c13c6a0ee35f2dbc724e789c8498cea180986c52..dd31871da04a60559f1720eafeefd7d6712b9ed6 100644 |
--- a/net/base/host_cache.h |
+++ b/net/base/host_cache.h |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2009 The Chromium Authors. All rights reserved. |
+// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
@@ -37,22 +37,29 @@ class HostCache { |
}; |
struct Key { |
- Key(const std::string& hostname, AddressFamily address_family) |
- : hostname(hostname), address_family(address_family) {} |
+ Key(const std::string& hostname, AddressFamily address_family, |
+ HostResolverFlags host_resolver_flags) |
+ : hostname(hostname), |
+ address_family(address_family), |
+ host_resolver_flags(host_resolver_flags) {} |
bool operator==(const Key& other) const { |
- return other.hostname == hostname && |
- other.address_family == address_family; |
+ return (other.address_family == address_family && |
+ other.host_resolver_flags == host_resolver_flags && |
+ other.hostname == hostname); |
} |
bool operator<(const Key& other) const { |
- if (address_family == other.address_family) |
- return hostname < other.hostname; |
- return address_family < other.address_family; |
+ if (address_family != other.address_family) |
+ return address_family < other.address_family; |
+ if (host_resolver_flags != other.host_resolver_flags) |
+ return host_resolver_flags < other.host_resolver_flags; |
+ return hostname < other.hostname; |
} |
std::string hostname; |
AddressFamily address_family; |
+ HostResolverFlags host_resolver_flags; |
}; |
typedef std::map<Key, scoped_refptr<Entry> > EntryMap; |