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

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

Issue 6413031: Merge 73784 - Reland r73760: Move most of chrome-extension:// request... (Closed) Base URL: svn://svn.chromium.org/chrome/branches/648/src/
Patch Set: Created 9 years, 10 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/render_view.h" 5 #include "chrome/renderer/render_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 #include "chrome/renderer/blocked_plugin.h" 50 #include "chrome/renderer/blocked_plugin.h"
51 #include "chrome/renderer/device_orientation_dispatcher.h" 51 #include "chrome/renderer/device_orientation_dispatcher.h"
52 #include "chrome/renderer/devtools_agent.h" 52 #include "chrome/renderer/devtools_agent.h"
53 #include "chrome/renderer/devtools_client.h" 53 #include "chrome/renderer/devtools_client.h"
54 #include "chrome/renderer/dom_ui_bindings.h" 54 #include "chrome/renderer/dom_ui_bindings.h"
55 #include "chrome/renderer/extension_groups.h" 55 #include "chrome/renderer/extension_groups.h"
56 #include "chrome/renderer/extensions/bindings_utils.h" 56 #include "chrome/renderer/extensions/bindings_utils.h"
57 #include "chrome/renderer/extensions/event_bindings.h" 57 #include "chrome/renderer/extensions/event_bindings.h"
58 #include "chrome/renderer/extensions/extension_process_bindings.h" 58 #include "chrome/renderer/extensions/extension_process_bindings.h"
59 #include "chrome/renderer/extensions/extension_renderer_info.h" 59 #include "chrome/renderer/extensions/extension_renderer_info.h"
60 #include "chrome/renderer/extensions/extension_resource_request_policy.h"
60 #include "chrome/renderer/extensions/renderer_extension_bindings.h" 61 #include "chrome/renderer/extensions/renderer_extension_bindings.h"
61 #include "chrome/renderer/external_host_bindings.h" 62 #include "chrome/renderer/external_host_bindings.h"
62 #include "chrome/renderer/external_popup_menu.h" 63 #include "chrome/renderer/external_popup_menu.h"
63 #include "chrome/renderer/geolocation_dispatcher.h" 64 #include "chrome/renderer/geolocation_dispatcher.h"
64 #include "chrome/renderer/ggl/ggl.h" 65 #include "chrome/renderer/ggl/ggl.h"
65 #include "chrome/renderer/load_progress_tracker.h" 66 #include "chrome/renderer/load_progress_tracker.h"
66 #include "chrome/renderer/localized_error.h" 67 #include "chrome/renderer/localized_error.h"
67 #include "chrome/renderer/media/audio_renderer_impl.h" 68 #include "chrome/renderer/media/audio_renderer_impl.h"
68 #include "chrome/renderer/media/ipc_video_decoder.h" 69 #include "chrome/renderer/media/ipc_video_decoder.h"
69 #include "chrome/renderer/navigation_state.h" 70 #include "chrome/renderer/navigation_state.h"
(...skipping 3494 matching lines...) Expand 10 before | Expand all | Expand 10 after
3564 void RenderView::willSendRequest( 3565 void RenderView::willSendRequest(
3565 WebFrame* frame, unsigned identifier, WebURLRequest& request, 3566 WebFrame* frame, unsigned identifier, WebURLRequest& request,
3566 const WebURLResponse& redirect_response) { 3567 const WebURLResponse& redirect_response) {
3567 WebFrame* top_frame = frame->top(); 3568 WebFrame* top_frame = frame->top();
3568 if (!top_frame) 3569 if (!top_frame)
3569 top_frame = frame; 3570 top_frame = frame;
3570 WebDataSource* provisional_data_source = top_frame->provisionalDataSource(); 3571 WebDataSource* provisional_data_source = top_frame->provisionalDataSource();
3571 WebDataSource* top_data_source = top_frame->dataSource(); 3572 WebDataSource* top_data_source = top_frame->dataSource();
3572 WebDataSource* data_source = 3573 WebDataSource* data_source =
3573 provisional_data_source ? provisional_data_source : top_data_source; 3574 provisional_data_source ? provisional_data_source : top_data_source;
3575
3576 // If the request is for an extension resource, check whether it should be
3577 // allowed. If not allowed, we reset the URL to something invalid to prevent
3578 // the request and cause an error.
3579 GURL request_url(request.url());
3580 if (request_url.SchemeIs(chrome::kExtensionScheme) &&
3581 !ExtensionResourceRequestPolicy::CanRequestResource(
3582 request_url,
3583 GURL(frame->url()),
3584 render_thread_->GetExtensions())) {
3585 request.setURL(WebURL(GURL("chrome-extension://invalid/")));
3586 }
3587
3574 if (data_source) { 3588 if (data_source) {
3575 NavigationState* state = NavigationState::FromDataSource(data_source); 3589 NavigationState* state = NavigationState::FromDataSource(data_source);
3576 if (state && state->is_cache_policy_override_set()) 3590 if (state && state->is_cache_policy_override_set())
3577 request.setCachePolicy(state->cache_policy_override()); 3591 request.setCachePolicy(state->cache_policy_override());
3578 } 3592 }
3579 3593
3580 if (top_data_source) { 3594 if (top_data_source) {
3581 NavigationState* state = NavigationState::FromDataSource(top_data_source); 3595 NavigationState* state = NavigationState::FromDataSource(top_data_source);
3582 if (state && request.targetType() == WebURLRequest::TargetIsPrefetch) 3596 if (state && request.targetType() == WebURLRequest::TargetIsPrefetch)
3583 state->set_was_prefetcher(true); 3597 state->set_was_prefetcher(true);
(...skipping 2163 matching lines...) Expand 10 before | Expand all | Expand 10 after
5747 if (cmd == kJavaScriptStressTestSetStressRunType) { 5761 if (cmd == kJavaScriptStressTestSetStressRunType) {
5748 v8::Testing::SetStressRunType(static_cast<v8::Testing::StressType>(param)); 5762 v8::Testing::SetStressRunType(static_cast<v8::Testing::StressType>(param));
5749 } else if (cmd == kJavaScriptStressTestPrepareStressRun) { 5763 } else if (cmd == kJavaScriptStressTestPrepareStressRun) {
5750 v8::Testing::PrepareStressRun(param); 5764 v8::Testing::PrepareStressRun(param);
5751 } 5765 }
5752 } 5766 }
5753 5767
5754 void RenderView::OnContextMenuClosed() { 5768 void RenderView::OnContextMenuClosed() {
5755 context_menu_node_.reset(); 5769 context_menu_node_.reset();
5756 } 5770 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698