| Index: content/browser/site_instance_impl.cc | 
| diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc | 
| index 40271d4354f0dae21b17a6c48e53a5a1012bbde9..897864031ae74fa162c4d3a6e3b8a4fa2779c626 100644 | 
| --- a/content/browser/site_instance_impl.cc | 
| +++ b/content/browser/site_instance_impl.cc | 
| @@ -334,31 +334,18 @@ GURL SiteInstance::GetSiteForURL(BrowserContext* browser_context, | 
| return real_url; | 
|  | 
| GURL url = SiteInstanceImpl::GetEffectiveURL(browser_context, real_url); | 
| +  url::Origin origin(url); | 
|  | 
| // If the url has a host, then determine the site. | 
| -  if (url.has_host()) { | 
| -    // Only keep the scheme and registered domain as given by GetOrigin.  This | 
| -    // may also include a port, which we need to drop. | 
| -    GURL site = url.GetOrigin(); | 
| - | 
| -    // Remove port, if any. | 
| -    if (site.has_port()) { | 
| -      GURL::Replacements rep; | 
| -      rep.ClearPort(); | 
| -      site = site.ReplaceComponents(rep); | 
| -    } | 
| - | 
| -    // If this URL has a registered domain, we only want to remember that part. | 
| -    std::string domain = | 
| -        net::registry_controlled_domains::GetDomainAndRegistry( | 
| -            url, | 
| -            net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES); | 
| -    if (!domain.empty()) { | 
| -      GURL::Replacements rep; | 
| -      rep.SetHostStr(domain); | 
| -      site = site.ReplaceComponents(rep); | 
| -    } | 
| -    return site; | 
| +  if (!origin.host().empty()) { | 
| +    // Only keep the scheme and registered domain of |origin|. | 
| +    std::string domain = net::registry_controlled_domains::GetDomainAndRegistry( | 
| +        origin.host(), | 
| +        net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES); | 
| +    std::string site = origin.scheme(); | 
| +    site += url::kStandardSchemeSeparator; | 
| +    site += domain.empty() ? origin.host() : domain; | 
| +    return GURL(site); | 
| } | 
|  | 
| // If there is no host but there is a scheme, return the scheme. | 
|  |