Index: content/shell/browser/shell_content_browser_client.cc |
diff --git a/content/shell/browser/shell_content_browser_client.cc b/content/shell/browser/shell_content_browser_client.cc |
index 5fe4483d0466b298b80cedd8bb3cac0c8e8d583b..8244fb7afca10ae0d144cab5cbd208258715d9a0 100644 |
--- a/content/shell/browser/shell_content_browser_client.cc |
+++ b/content/shell/browser/shell_content_browser_client.cc |
@@ -150,10 +150,14 @@ bool ShellContentBrowserClient::DoesSiteRequireDedicatedProcess( |
DCHECK(command_line->HasSwitch(switches::kIsolateSitesForTesting)); |
std::string pattern = |
command_line->GetSwitchValueASCII(switches::kIsolateSitesForTesting); |
- // Practically |origin| is the same as |effective_url.spec()|, except Origin |
- // serialization strips the trailing "/", which makes for cleaner patterns. |
- std::string origin = url::Origin(effective_url).Serialize(); |
- return base::MatchPattern(origin, pattern); |
+ url::Origin effective_url_origin(effective_url); |
+ CHECK_EQ(effective_url_origin.scheme(), effective_url.scheme()) |
+ << "|effective_url| was not a canonical site URL"; |
+ // Practically |effective_url_origin.Serialize()| is the same as |
+ // |effective_url.spec()|, except Origin serialization strips the trailing |
+ // "/", which makes for cleaner wildcard patterns. |
+ bool result = base::MatchPattern(effective_url_origin.Serialize(), pattern); |
+ return result; |
} |
bool ShellContentBrowserClient::IsHandledURL(const GURL& url) { |