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

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

Issue 1785153005: Remove SiteIsolationPolicy::IsSwappedOutStateForbidden(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase on ToT. Created 4 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
« no previous file with comments | « content/renderer/render_frame_proxy.h ('k') | content/renderer/render_view_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_proxy.h" 5 #include "content/renderer/render_frame_proxy.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <map> 8 #include <map>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 render_view_ = render_view; 193 render_view_ = render_view;
194 render_widget_ = render_widget; 194 render_widget_ = render_widget;
195 195
196 render_widget_->RegisterRenderFrameProxy(this); 196 render_widget_->RegisterRenderFrameProxy(this);
197 197
198 std::pair<FrameMap::iterator, bool> result = 198 std::pair<FrameMap::iterator, bool> result =
199 g_frame_map.Get().insert(std::make_pair(web_frame_, this)); 199 g_frame_map.Get().insert(std::make_pair(web_frame_, this));
200 CHECK(result.second) << "Inserted a duplicate item."; 200 CHECK(result.second) << "Inserted a duplicate item.";
201 } 201 }
202 202
203 bool RenderFrameProxy::IsMainFrameDetachedFromTree() const {
204 if (SiteIsolationPolicy::IsSwappedOutStateForbidden())
205 return false;
206 return web_frame_->top() == web_frame_ &&
207 render_view_->webview()->mainFrame()->isWebLocalFrame();
208 }
209
210 void RenderFrameProxy::WillBeginCompositorFrame() { 203 void RenderFrameProxy::WillBeginCompositorFrame() {
211 if (compositing_helper_) { 204 if (compositing_helper_) {
212 FrameHostMsg_HittestData_Params params; 205 FrameHostMsg_HittestData_Params params;
213 params.surface_id = compositing_helper_->surface_id(); 206 params.surface_id = compositing_helper_->surface_id();
214 params.ignored_for_hittest = web_frame_->isIgnoredForHitTest(); 207 params.ignored_for_hittest = web_frame_->isIgnoredForHitTest();
215 render_widget_->QueueMessage( 208 render_widget_->QueueMessage(
216 new FrameHostMsg_HittestData(render_widget_->routing_id(), params), 209 new FrameHostMsg_HittestData(render_widget_->routing_id(), params),
217 MESSAGE_DELIVERY_POLICY_WITH_VISUAL_STATE); 210 MESSAGE_DELIVERY_POLICY_WITH_VISUAL_STATE);
218 } 211 }
219 } 212 }
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 compositing_helper_ = 307 compositing_helper_ =
315 ChildFrameCompositingHelper::CreateForRenderFrameProxy(this); 308 ChildFrameCompositingHelper::CreateForRenderFrameProxy(this);
316 } 309 }
317 compositing_helper_->OnSetSurface(surface_id, frame_size, scale_factor, 310 compositing_helper_->OnSetSurface(surface_id, frame_size, scale_factor,
318 sequence); 311 sequence);
319 } 312 }
320 313
321 void RenderFrameProxy::OnUpdateOpener(int opener_routing_id) { 314 void RenderFrameProxy::OnUpdateOpener(int opener_routing_id) {
322 blink::WebFrame* opener = 315 blink::WebFrame* opener =
323 RenderFrameImpl::ResolveOpener(opener_routing_id, nullptr); 316 RenderFrameImpl::ResolveOpener(opener_routing_id, nullptr);
324
325 // When there is a RenderFrame for this proxy, tell it to update its opener.
326 // TODO(alexmos, nasko): Remove this when we only have WebRemoteFrames.
327 if (!SiteIsolationPolicy::IsSwappedOutStateForbidden()) {
328 RenderFrameImpl* render_frame =
329 RenderFrameImpl::FromRoutingID(frame_routing_id_);
330 if (render_frame) {
331 render_frame->GetWebFrame()->setOpener(opener);
332 return;
333 }
334 }
335
336 web_frame_->setOpener(opener); 317 web_frame_->setOpener(opener);
337 } 318 }
338 319
339 void RenderFrameProxy::OnDidStartLoading() { 320 void RenderFrameProxy::OnDidStartLoading() {
340 if (IsMainFrameDetachedFromTree())
341 return;
342
343 web_frame_->didStartLoading(); 321 web_frame_->didStartLoading();
344 } 322 }
345 323
346 void RenderFrameProxy::OnDidStopLoading() { 324 void RenderFrameProxy::OnDidStopLoading() {
347 if (IsMainFrameDetachedFromTree())
348 return;
349
350 web_frame_->didStopLoading(); 325 web_frame_->didStopLoading();
351 } 326 }
352 327
353 void RenderFrameProxy::OnDispatchLoad() { 328 void RenderFrameProxy::OnDispatchLoad() {
354 web_frame_->DispatchLoadEventForFrameOwner(); 329 web_frame_->DispatchLoadEventForFrameOwner();
355 } 330 }
356 331
357 void RenderFrameProxy::OnDidUpdateName(const std::string& name, 332 void RenderFrameProxy::OnDidUpdateName(const std::string& name,
358 const std::string& unique_name) { 333 const std::string& unique_name) {
359 web_frame_->setReplicatedName(blink::WebString::fromUTF8(name), 334 web_frame_->setReplicatedName(blink::WebString::fromUTF8(name),
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 blink::WebLocalFrame* source) { 464 blink::WebLocalFrame* source) {
490 int source_routing_id = RenderFrameImpl::FromWebFrame(source)->GetRoutingID(); 465 int source_routing_id = RenderFrameImpl::FromWebFrame(source)->GetRoutingID();
491 Send(new FrameHostMsg_AdvanceFocus(routing_id_, type, source_routing_id)); 466 Send(new FrameHostMsg_AdvanceFocus(routing_id_, type, source_routing_id));
492 } 467 }
493 468
494 void RenderFrameProxy::frameFocused() { 469 void RenderFrameProxy::frameFocused() {
495 Send(new FrameHostMsg_FrameFocused(routing_id_)); 470 Send(new FrameHostMsg_FrameFocused(routing_id_));
496 } 471 }
497 472
498 } // namespace 473 } // namespace
OLDNEW
« no previous file with comments | « content/renderer/render_frame_proxy.h ('k') | content/renderer/render_view_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698