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

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 2955573003: Set frame policy correctly in newly created renderer proxies (Closed)
Patch Set: Fix container policy replication bug in provisional frames Created 3 years, 5 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/renderer/render_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 1051 matching lines...) Expand 10 before | Expand all | Expand 10 after
1062 if (!proxy) 1062 if (!proxy)
1063 return; 1063 return;
1064 1064
1065 render_frame = RenderFrameImpl::Create(proxy->render_view(), routing_id); 1065 render_frame = RenderFrameImpl::Create(proxy->render_view(), routing_id);
1066 render_frame->InitializeBlameContext(nullptr); 1066 render_frame->InitializeBlameContext(nullptr);
1067 render_frame->proxy_routing_id_ = proxy_routing_id; 1067 render_frame->proxy_routing_id_ = proxy_routing_id;
1068 proxy->set_provisional_frame_routing_id(routing_id); 1068 proxy->set_provisional_frame_routing_id(routing_id);
1069 web_frame = blink::WebLocalFrame::CreateProvisional( 1069 web_frame = blink::WebLocalFrame::CreateProvisional(
1070 render_frame, render_frame->blink_interface_provider_.get(), 1070 render_frame, render_frame->blink_interface_provider_.get(),
1071 render_frame->blink_interface_registry_.get(), proxy->web_frame(), 1071 render_frame->blink_interface_registry_.get(), proxy->web_frame(),
1072 replicated_state.sandbox_flags); 1072 replicated_state.sandbox_flags,
1073 FeaturePolicyHeaderToWeb(replicated_state.container_policy));
1073 } 1074 }
1074 CHECK(parent_routing_id != MSG_ROUTING_NONE || !web_frame->Parent()); 1075 CHECK(parent_routing_id != MSG_ROUTING_NONE || !web_frame->Parent());
1075 1076
1076 if (widget_params.routing_id != MSG_ROUTING_NONE) { 1077 if (widget_params.routing_id != MSG_ROUTING_NONE) {
1077 CHECK(!web_frame->Parent() || 1078 CHECK(!web_frame->Parent() ||
1078 SiteIsolationPolicy::AreCrossProcessFramesPossible()); 1079 SiteIsolationPolicy::AreCrossProcessFramesPossible());
1079 render_frame->render_widget_ = RenderWidget::CreateForFrame( 1080 render_frame->render_widget_ = RenderWidget::CreateForFrame(
1080 widget_params.routing_id, widget_params.hidden, 1081 widget_params.routing_id, widget_params.hidden,
1081 render_frame->render_view_->screen_info(), compositor_deps, web_frame); 1082 render_frame->render_view_->screen_info(), compositor_deps, web_frame);
1082 // TODO(avi): The main frame re-uses the RenderViewImpl as its widget, so 1083 // TODO(avi): The main frame re-uses the RenderViewImpl as its widget, so
(...skipping 5800 matching lines...) Expand 10 before | Expand all | Expand 10 after
6883 replaces_current_history_item(info.replaces_current_history_item), 6884 replaces_current_history_item(info.replaces_current_history_item),
6884 history_navigation_in_new_child_frame( 6885 history_navigation_in_new_child_frame(
6885 info.is_history_navigation_in_new_child_frame), 6886 info.is_history_navigation_in_new_child_frame),
6886 client_redirect(info.is_client_redirect), 6887 client_redirect(info.is_client_redirect),
6887 triggering_event_info(info.triggering_event_info), 6888 triggering_event_info(info.triggering_event_info),
6888 cache_disabled(info.is_cache_disabled), 6889 cache_disabled(info.is_cache_disabled),
6889 form(info.form), 6890 form(info.form),
6890 source_location(info.source_location) {} 6891 source_location(info.source_location) {}
6891 6892
6892 } // namespace content 6893 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/frame_host/frame_tree.cc ('k') | third_party/WebKit/LayoutTests/FlagExpectations/site-per-process » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698