Index: content/renderer/render_frame_impl.h |
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h |
index 9da61e04250a2d27d3ab7f82375f92a834f10b39..a9031492cb911065a622cd09ed31b00c9a9cfbc3 100644 |
--- a/content/renderer/render_frame_impl.h |
+++ b/content/renderer/render_frame_impl.h |
@@ -176,6 +176,9 @@ class CONTENT_EXPORT RenderFrameImpl |
const FrameMsg_NewFrame_WidgetParams& params, |
const blink::WebFrameOwnerProperties& frameOwner_properties); |
+ // Detaches a RenderFrame identified by |routing_id|. |
+ static void DetachFrame(int routing_id); |
+ |
// Returns the RenderFrameImpl for the given routing ID. |
static RenderFrameImpl* FromRoutingID(int routing_id); |
@@ -924,6 +927,10 @@ class CONTENT_EXPORT RenderFrameImpl |
// |media_player_delegate_| is NULL, one is created. |
media::RendererWebMediaPlayerDelegate* GetWebMediaPlayerDelegate(); |
+ void set_in_browser_initiated_detach() { |
+ in_browser_initiated_detach_ = true; |
+ } |
+ |
// Stores the WebLocalFrame we are associated with. This is null from the |
// constructor until SetWebFrame is called, and it is null after |
// frameDetached is called until destruction (which is asynchronous in the |
@@ -935,6 +942,24 @@ class CONTENT_EXPORT RenderFrameImpl |
// |frame_| has been invalidated. |
bool is_main_frame_; |
+ // Frame is a local root if it is rendered in a process different than parent |
Charlie Reis
2015/12/11 20:10:15
nit: A frame
nit: than its parent
nasko
2015/12/14 21:00:02
This is just gone.
|
+ // or it is a main frame. |
+ bool is_local_root_; |
+ |
+ // When a frame is detached in response to a message from the browser process, |
+ // this RenderFrame should not be sending notifications back to it. This |
+ // boolean is used to indicate this case. |
+ bool in_browser_initiated_detach_; |
+ |
+ // Indicates which of the two states this frame is currently in. |
Charlie Reis
2015/12/11 20:10:15
nit: Indicates whether the frame has been inserted
nasko
2015/12/14 21:00:02
Done.
|
+ // |
+ // When a frame is created by the browser process, it is for a pending |
+ // navigation. In this case, it is not immediately attached to the frame tree |
+ // and is inserted into it at the time the pending navigation commits. |
+ // Frames added by the parent document are created from the renderer process |
+ // and are immediately inserted in the frame tree. |
+ bool in_frame_tree_; |
+ |
base::WeakPtr<RenderViewImpl> render_view_; |
int routing_id_; |
bool is_swapped_out_; |