Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Side by Side Diff: content/shell/browser/shell_content_browser_client.cc

Issue 2322673005: Fix process transfers for blob urls of sites requiring dedicated processes. (Closed)
Patch Set: Fix documentation. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 } 138 }
139 139
140 BrowserMainParts* ShellContentBrowserClient::CreateBrowserMainParts( 140 BrowserMainParts* ShellContentBrowserClient::CreateBrowserMainParts(
141 const MainFunctionParams& parameters) { 141 const MainFunctionParams& parameters) {
142 shell_browser_main_parts_ = new ShellBrowserMainParts(parameters); 142 shell_browser_main_parts_ = new ShellBrowserMainParts(parameters);
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_site_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_site_url);
Charlie Reis 2016/09/09 21:18:24 origin?
ncarter (slow) 2016/09/09 21:56:32 Done.
154 // serialization strips the trailing "/", which makes for cleaner patterns. 154 CHECK_EQ(effective_url_origin.scheme(), effective_site_url.scheme())
155 std::string origin = url::Origin(effective_url).Serialize(); 155 << "|effective_site_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_site_url.spec()|, except Origin serialization strips the
158 // trailing "/", which makes for cleaner wildcard patterns.
159 bool result = base::MatchPattern(effective_url_origin.Serialize(), pattern);
Charlie Reis 2016/09/09 21:18:24 return base...
ncarter (slow) 2016/09/09 21:56:32 Done.
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698