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

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

Issue 1312653003: Fix for WebView accessible resources. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments by kalman@. Created 5 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 (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_content_renderer_client.h" 5 #include "chrome/renderer/chrome_content_renderer_client.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/debug/crash_logging.h" 8 #include "base/debug/crash_logging.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/field_trial.h" 10 #include "base/metrics/field_trial.h"
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 new ChromeExtensionsDispatcherDelegate()); 397 new ChromeExtensionsDispatcherDelegate());
398 // ChromeRenderViewTest::SetUp() creates its own ExtensionDispatcher and 398 // ChromeRenderViewTest::SetUp() creates its own ExtensionDispatcher and
399 // injects it using SetExtensionDispatcher(). Don't overwrite it. 399 // injects it using SetExtensionDispatcher(). Don't overwrite it.
400 if (!extension_dispatcher_) { 400 if (!extension_dispatcher_) {
401 extension_dispatcher_.reset( 401 extension_dispatcher_.reset(
402 new extensions::Dispatcher(extension_dispatcher_delegate_.get())); 402 new extensions::Dispatcher(extension_dispatcher_delegate_.get()));
403 } 403 }
404 permissions_policy_delegate_.reset( 404 permissions_policy_delegate_.reset(
405 new extensions::RendererPermissionsPolicyDelegate( 405 new extensions::RendererPermissionsPolicyDelegate(
406 extension_dispatcher_.get())); 406 extension_dispatcher_.get()));
407 resource_request_policy_.reset(
408 new extensions::ResourceRequestPolicy(extension_dispatcher_.get()));
407 guest_view_container_dispatcher_.reset( 409 guest_view_container_dispatcher_.reset(
408 new extensions::ExtensionsGuestViewContainerDispatcher()); 410 new extensions::ExtensionsGuestViewContainerDispatcher());
409 #endif 411 #endif
410 412
411 prescient_networking_dispatcher_.reset( 413 prescient_networking_dispatcher_.reset(
412 new network_hints::PrescientNetworkingDispatcher()); 414 new network_hints::PrescientNetworkingDispatcher());
413 #if defined(ENABLE_SPELLCHECK) 415 #if defined(ENABLE_SPELLCHECK)
414 // ChromeRenderViewTest::SetUp() creates a Spellcheck and injects it using 416 // ChromeRenderViewTest::SetUp() creates a Spellcheck and injects it using
415 // SetSpellcheck(). Don't overwrite it. 417 // SetSpellcheck(). Don't overwrite it.
416 if (!spellcheck_) { 418 if (!spellcheck_) {
(...skipping 864 matching lines...) Expand 10 before | Expand all | Expand 10 after
1281 bool ChromeContentRendererClient::WillSendRequest( 1283 bool ChromeContentRendererClient::WillSendRequest(
1282 blink::WebFrame* frame, 1284 blink::WebFrame* frame,
1283 ui::PageTransition transition_type, 1285 ui::PageTransition transition_type,
1284 const GURL& url, 1286 const GURL& url,
1285 const GURL& first_party_for_cookies, 1287 const GURL& first_party_for_cookies,
1286 GURL* new_url) { 1288 GURL* new_url) {
1287 // Check whether the request should be allowed. If not allowed, we reset the 1289 // Check whether the request should be allowed. If not allowed, we reset the
1288 // URL to something invalid to prevent the request and cause an error. 1290 // URL to something invalid to prevent the request and cause an error.
1289 #if defined(ENABLE_EXTENSIONS) 1291 #if defined(ENABLE_EXTENSIONS)
1290 if (url.SchemeIs(extensions::kExtensionScheme) && 1292 if (url.SchemeIs(extensions::kExtensionScheme) &&
1291 !extensions::ResourceRequestPolicy::CanRequestResource(url, frame, 1293 !(resource_request_policy_ &&
not at google - send to devlin 2015/09/03 20:17:53 I don't think it's possible for this to be null?
paulmeyer 2015/09/08 18:51:36 I didn't think so either, but I thought it would b
not at google - send to devlin 2015/09/08 20:10:24 If somebody changes it to be null, they can deal w
1292 transition_type)) { 1294 resource_request_policy_->CanRequestResource(url, frame,
1295 transition_type))) {
1293 *new_url = GURL(chrome::kExtensionInvalidRequestURL); 1296 *new_url = GURL(chrome::kExtensionInvalidRequestURL);
1294 return true; 1297 return true;
1295 } 1298 }
1296 1299
1297 if (url.SchemeIs(extensions::kExtensionResourceScheme) && 1300 if (url.SchemeIs(extensions::kExtensionResourceScheme) &&
1298 !extensions::ResourceRequestPolicy::CanRequestExtensionResourceScheme( 1301 !(resource_request_policy_ &&
1299 url, 1302 resource_request_policy_->CanRequestExtensionResourceScheme(url,
1300 frame)) { 1303 frame))) {
1301 *new_url = GURL(chrome::kExtensionResourceInvalidRequestURL); 1304 *new_url = GURL(chrome::kExtensionResourceInvalidRequestURL);
1302 return true; 1305 return true;
1303 } 1306 }
1304 #endif 1307 #endif
1305 1308
1306 const content::RenderView* render_view = 1309 const content::RenderView* render_view =
1307 content::RenderView::FromWebView(frame->view()); 1310 content::RenderView::FromWebView(frame->view());
1308 SearchBox* search_box = SearchBox::Get(render_view); 1311 SearchBox* search_box = SearchBox::Get(render_view);
1309 if (search_box && url.SchemeIs(chrome::kChromeSearchScheme)) { 1312 if (search_box && url.SchemeIs(chrome::kChromeSearchScheme)) {
1310 SearchBox::ImageSourceType type = SearchBox::NONE; 1313 SearchBox::ImageSourceType type = SearchBox::NONE;
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
1642 context, url); 1645 context, url);
1643 #endif 1646 #endif
1644 } 1647 }
1645 1648
1646 void ChromeContentRendererClient::WillDestroyServiceWorkerContextOnWorkerThread( 1649 void ChromeContentRendererClient::WillDestroyServiceWorkerContextOnWorkerThread(
1647 const GURL& url) { 1650 const GURL& url) {
1648 #if defined(ENABLE_EXTENSIONS) 1651 #if defined(ENABLE_EXTENSIONS)
1649 extensions::Dispatcher::WillDestroyServiceWorkerContextOnWorkerThread(url); 1652 extensions::Dispatcher::WillDestroyServiceWorkerContextOnWorkerThread(url);
1650 #endif 1653 #endif
1651 } 1654 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698