| Index: chrome/browser/managed_mode/managed_mode_url_filter.cc
 | 
| diff --git a/chrome/browser/managed_mode/managed_mode_url_filter.cc b/chrome/browser/managed_mode/managed_mode_url_filter.cc
 | 
| index 1a16694cbce4609ad0a89c4002530012d0128d62..174257d6850d50f38b6af370cd4ac0ad0cce2c73 100644
 | 
| --- a/chrome/browser/managed_mode/managed_mode_url_filter.cc
 | 
| +++ b/chrome/browser/managed_mode/managed_mode_url_filter.cc
 | 
| @@ -208,6 +208,11 @@ bool ManagedModeURLFilter::HasStandardScheme(const GURL& url) {
 | 
|    return false;
 | 
|  }
 | 
|  
 | 
| +std::string GetHostnameHash(const GURL& url) {
 | 
| +  std::string hash = base::SHA1HashString(url.host());
 | 
| +  return base::HexEncode(hash.data(), hash.length());
 | 
| +}
 | 
| +
 | 
|  // static
 | 
|  bool ManagedModeURLFilter::HostMatchesPattern(const std::string& host,
 | 
|                                                const std::string& pattern) {
 | 
| @@ -286,9 +291,7 @@ ManagedModeURLFilter::GetFilteringBehaviorForURL(const GURL& url) const {
 | 
|      return ALLOW;
 | 
|  
 | 
|    // Check the list of hostname hashes.
 | 
| -  std::string hash = base::SHA1HashString(url.host());
 | 
| -  std::string hash_hex = base::HexEncode(hash.data(), hash.length());
 | 
| -  if (contents_->hash_site_map.count(hash_hex))
 | 
| +  if (contents_->hash_site_map.count(GetHostnameHash(url)))
 | 
|      return ALLOW;
 | 
|  
 | 
|    // Fall back to the default behavior.
 | 
| @@ -311,10 +314,10 @@ void ManagedModeURLFilter::GetSites(
 | 
|      sites->push_back(&contents_->sites[entry->second]);
 | 
|    }
 | 
|  
 | 
| -  typedef base::hash_map<std::string, int>::const_iterator
 | 
| +  typedef base::hash_multimap<std::string, int>::const_iterator
 | 
|        hash_site_map_iterator;
 | 
|    std::pair<hash_site_map_iterator, hash_site_map_iterator> bounds =
 | 
| -      contents_->hash_site_map.equal_range(url.host());
 | 
| +      contents_->hash_site_map.equal_range(GetHostnameHash(url));
 | 
|    for (hash_site_map_iterator hash_it = bounds.first;
 | 
|         hash_it != bounds.second; hash_it++) {
 | 
|      sites->push_back(&contents_->sites[hash_it->second]);
 | 
| 
 |