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

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

Issue 660093003: Detach RemoteFrame from the tree when deleting RenderFrameProxy. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Don't delete top-level proxy through IPC message. Created 6 years, 2 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 <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 580 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 591
592 RenderFrameImpl::~RenderFrameImpl() { 592 RenderFrameImpl::~RenderFrameImpl() {
593 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); 593 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone());
594 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); 594 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct());
595 595
596 #if defined(VIDEO_HOLE) 596 #if defined(VIDEO_HOLE)
597 if (contains_media_player_) 597 if (contains_media_player_)
598 render_view_->UnregisterVideoHoleFrame(this); 598 render_view_->UnregisterVideoHoleFrame(this);
599 #endif 599 #endif
600 600
601 if (render_frame_proxy_)
602 delete render_frame_proxy_;
Charlie Reis 2014/10/16 23:17:56 Worth a DCHECK that we're the main frame, or is th
nasko 2014/10/16 23:21:09 The web_frame_, which knows where in the frame tre
603
601 render_view_->UnregisterRenderFrame(this); 604 render_view_->UnregisterRenderFrame(this);
602 g_routing_id_frame_map.Get().erase(routing_id_); 605 g_routing_id_frame_map.Get().erase(routing_id_);
603 RenderThread::Get()->RemoveRoute(routing_id_); 606 RenderThread::Get()->RemoveRoute(routing_id_);
604 } 607 }
605 608
606 void RenderFrameImpl::SetWebFrame(blink::WebLocalFrame* web_frame) { 609 void RenderFrameImpl::SetWebFrame(blink::WebLocalFrame* web_frame) {
607 DCHECK(!frame_); 610 DCHECK(!frame_);
608 611
609 std::pair<FrameMap::iterator, bool> result = g_frame_map.Get().insert( 612 std::pair<FrameMap::iterator, bool> result = g_frame_map.Get().insert(
610 std::make_pair(web_frame, this)); 613 std::make_pair(web_frame, this));
(...skipping 3457 matching lines...) Expand 10 before | Expand all | Expand 10 after
4068 4071
4069 #if defined(ENABLE_BROWSER_CDMS) 4072 #if defined(ENABLE_BROWSER_CDMS)
4070 RendererCdmManager* RenderFrameImpl::GetCdmManager() { 4073 RendererCdmManager* RenderFrameImpl::GetCdmManager() {
4071 if (!cdm_manager_) 4074 if (!cdm_manager_)
4072 cdm_manager_ = new RendererCdmManager(this); 4075 cdm_manager_ = new RendererCdmManager(this);
4073 return cdm_manager_; 4076 return cdm_manager_;
4074 } 4077 }
4075 #endif // defined(ENABLE_BROWSER_CDMS) 4078 #endif // defined(ENABLE_BROWSER_CDMS)
4076 4079
4077 } // namespace content 4080 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698