Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index a7a3245b9a8777c4814053beef8bcd636bf0ebf9..996aaad10059a095effd36112bb462646aa2db1d 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -411,6 +411,8 @@ RenderFrameImpl::RenderFrameImpl(RenderViewImpl* render_view, int routing_id) |
g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); |
CHECK(result.second) << "Inserting a duplicate item."; |
+ render_view_->RegisterRenderFrame(this); |
+ |
#if defined(OS_ANDROID) |
new JavaBridgeDispatcher(this); |
#endif |
@@ -423,6 +425,7 @@ RenderFrameImpl::RenderFrameImpl(RenderViewImpl* render_view, int routing_id) |
RenderFrameImpl::~RenderFrameImpl() { |
FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); |
FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); |
+ render_view_->UnregisterRenderFrame(this); |
g_routing_id_frame_map.Get().erase(routing_id_); |
RenderThread::Get()->RemoveRoute(routing_id_); |
} |
@@ -2882,6 +2885,14 @@ void RenderFrameImpl::OnStop() { |
FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnStop()); |
} |
+void RenderFrameImpl::WasHidden() { |
+ FOR_EACH_OBSERVER(RenderFrameObserver, observers_, WasHidden()); |
+} |
+ |
+void RenderFrameImpl::WasShown() { |
+ FOR_EACH_OBSERVER(RenderFrameObserver, observers_, WasShown()); |
+} |
+ |
// Tell the embedding application that the URL of the active page has changed. |
void RenderFrameImpl::UpdateURL(blink::WebFrame* frame) { |
DCHECK(!frame_ || frame_ == frame); |