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

Side by Side Diff: chrome/renderer/chrome_render_thread_observer.cc

Issue 2760463005: Fix handling of external protocols with PlzNavigate. (Closed)
Patch Set: review comments Created 3 years, 9 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/renderer/chrome_render_thread_observer.h" 5 #include "chrome/renderer/chrome_render_thread_observer.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <limits> 9 #include <limits>
10 #include <memory> 10 #include <memory>
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 thread->GetInterfaceRegistry()->AddInterface( 243 thread->GetInterfaceRegistry()->AddInterface(
244 base::Bind(CreateResourceUsageReporter, weak_factory_.GetWeakPtr())); 244 base::Bind(CreateResourceUsageReporter, weak_factory_.GetWeakPtr()));
245 245
246 // Configure modules that need access to resources. 246 // Configure modules that need access to resources.
247 net::NetModule::SetResourceProvider(chrome_common_net::NetResourceProvider); 247 net::NetModule::SetResourceProvider(chrome_common_net::NetResourceProvider);
248 media::SetLocalizedStringProvider( 248 media::SetLocalizedStringProvider(
249 chrome_common_media::LocalizedStringProvider); 249 chrome_common_media::LocalizedStringProvider);
250 250
251 // chrome-native: is a scheme used for placeholder navigations that allow 251 // chrome-native: is a scheme used for placeholder navigations that allow
252 // UIs to be drawn with platform native widgets instead of HTML. These pages 252 // UIs to be drawn with platform native widgets instead of HTML. These pages
253 // should not be accessible, and should also be treated as empty documents 253 // should not be accessible. No code should be runnable in these pages,
254 // that can commit synchronously. No code should be runnable in these pages,
255 // so it should not need to access anything nor should it allow javascript 254 // so it should not need to access anything nor should it allow javascript
256 // URLs since it should never be visible to the user. 255 // URLs since it should never be visible to the user.
256 // See also ChromeContentClient::AddAdditionalSchemes that adds it as an
257 // empty document scheme.
257 WebString native_scheme(WebString::fromASCII(chrome::kChromeNativeScheme)); 258 WebString native_scheme(WebString::fromASCII(chrome::kChromeNativeScheme));
258 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(native_scheme); 259 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(native_scheme);
259 WebSecurityPolicy::registerURLSchemeAsEmptyDocument(native_scheme);
260 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs( 260 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs(
261 native_scheme); 261 native_scheme);
262 262
263 thread->GetInterfaceRegistry()->AddInterface( 263 thread->GetInterfaceRegistry()->AddInterface(
264 visited_link_slave_->GetBindCallback()); 264 visited_link_slave_->GetBindCallback());
265 } 265 }
266 266
267 ChromeRenderThreadObserver::~ChromeRenderThreadObserver() {} 267 ChromeRenderThreadObserver::~ChromeRenderThreadObserver() {}
268 268
269 void ChromeRenderThreadObserver::RegisterMojoInterfaces( 269 void ChromeRenderThreadObserver::RegisterMojoInterfaces(
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 304
305 void ChromeRenderThreadObserver::OnRendererConfigurationAssociatedRequest( 305 void ChromeRenderThreadObserver::OnRendererConfigurationAssociatedRequest(
306 chrome::mojom::RendererConfigurationAssociatedRequest request) { 306 chrome::mojom::RendererConfigurationAssociatedRequest request) {
307 renderer_configuration_bindings_.AddBinding(this, std::move(request)); 307 renderer_configuration_bindings_.AddBinding(this, std::move(request));
308 } 308 }
309 309
310 const RendererContentSettingRules* 310 const RendererContentSettingRules*
311 ChromeRenderThreadObserver::content_setting_rules() const { 311 ChromeRenderThreadObserver::content_setting_rules() const {
312 return &content_setting_rules_; 312 return &content_setting_rules_;
313 } 313 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698