OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/shell/browser/shell_content_browser_client.h" | 5 #include "content/shell/browser/shell_content_browser_client.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/base_switches.h" | 10 #include "base/base_switches.h" |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 return shell_browser_main_parts_; | 143 return shell_browser_main_parts_; |
144 } | 144 } |
145 | 145 |
146 bool ShellContentBrowserClient::DoesSiteRequireDedicatedProcess( | 146 bool ShellContentBrowserClient::DoesSiteRequireDedicatedProcess( |
147 BrowserContext* browser_context, | 147 BrowserContext* browser_context, |
148 const GURL& effective_url) { | 148 const GURL& effective_url) { |
149 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); | 149 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
150 DCHECK(command_line->HasSwitch(switches::kIsolateSitesForTesting)); | 150 DCHECK(command_line->HasSwitch(switches::kIsolateSitesForTesting)); |
151 std::string pattern = | 151 std::string pattern = |
152 command_line->GetSwitchValueASCII(switches::kIsolateSitesForTesting); | 152 command_line->GetSwitchValueASCII(switches::kIsolateSitesForTesting); |
153 // Practically |origin| is the same as |effective_url.spec()|, except Origin | 153 url::Origin effective_url_origin(effective_url); |
154 // serialization strips the trailing "/", which makes for cleaner patterns. | 154 CHECK_EQ(effective_url_origin.scheme(), effective_url.scheme()) |
155 std::string origin = url::Origin(effective_url).Serialize(); | 155 << "|effective_url| was not a canonical site URL"; |
156 return base::MatchPattern(origin, pattern); | 156 // Practically |effective_url_origin.Serialize()| is the same as |
| 157 // |effective_url.spec()|, except Origin serialization strips the trailing |
| 158 // "/", which makes for cleaner wildcard patterns. |
| 159 bool result = base::MatchPattern(effective_url_origin.Serialize(), pattern); |
| 160 return result; |
157 } | 161 } |
158 | 162 |
159 bool ShellContentBrowserClient::IsHandledURL(const GURL& url) { | 163 bool ShellContentBrowserClient::IsHandledURL(const GURL& url) { |
160 if (!url.is_valid()) | 164 if (!url.is_valid()) |
161 return false; | 165 return false; |
162 // Keep in sync with ProtocolHandlers added by | 166 // Keep in sync with ProtocolHandlers added by |
163 // ShellURLRequestContextGetter::GetURLRequestContext(). | 167 // ShellURLRequestContextGetter::GetURLRequestContext(). |
164 static const char* const kProtocolList[] = { | 168 static const char* const kProtocolList[] = { |
165 url::kBlobScheme, | 169 url::kBlobScheme, |
166 url::kFileSystemScheme, | 170 url::kFileSystemScheme, |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
332 ShellBrowserContext* ShellContentBrowserClient::browser_context() { | 336 ShellBrowserContext* ShellContentBrowserClient::browser_context() { |
333 return shell_browser_main_parts_->browser_context(); | 337 return shell_browser_main_parts_->browser_context(); |
334 } | 338 } |
335 | 339 |
336 ShellBrowserContext* | 340 ShellBrowserContext* |
337 ShellContentBrowserClient::off_the_record_browser_context() { | 341 ShellContentBrowserClient::off_the_record_browser_context() { |
338 return shell_browser_main_parts_->off_the_record_browser_context(); | 342 return shell_browser_main_parts_->off_the_record_browser_context(); |
339 } | 343 } |
340 | 344 |
341 } // namespace content | 345 } // namespace content |
OLD | NEW |