Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
| 6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ | 6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 162 // process. All other frame creation is driven through Blink and Create. | 162 // process. All other frame creation is driven through Blink and Create. |
| 163 static void CreateFrame(int routing_id, | 163 static void CreateFrame(int routing_id, |
| 164 int proxy_routing_id, | 164 int proxy_routing_id, |
| 165 int opener_routing_id, | 165 int opener_routing_id, |
| 166 int parent_routing_id, | 166 int parent_routing_id, |
| 167 int previous_sibling_routing_id, | 167 int previous_sibling_routing_id, |
| 168 const FrameReplicationState& replicated_state, | 168 const FrameReplicationState& replicated_state, |
| 169 CompositorDependencies* compositor_deps, | 169 CompositorDependencies* compositor_deps, |
| 170 const FrameMsg_NewFrame_WidgetParams& params); | 170 const FrameMsg_NewFrame_WidgetParams& params); |
| 171 | 171 |
| 172 // Detaches a RenderFrame identified by |routing_id|. | |
| 173 static void DetachFrame(int routing_id); | |
| 174 | |
| 172 // Returns the RenderFrameImpl for the given routing ID. | 175 // Returns the RenderFrameImpl for the given routing ID. |
| 173 static RenderFrameImpl* FromRoutingID(int routing_id); | 176 static RenderFrameImpl* FromRoutingID(int routing_id); |
| 174 | 177 |
| 175 // Just like RenderFrame::FromWebFrame but returns the implementation. | 178 // Just like RenderFrame::FromWebFrame but returns the implementation. |
| 176 static RenderFrameImpl* FromWebFrame(blink::WebFrame* web_frame); | 179 static RenderFrameImpl* FromWebFrame(blink::WebFrame* web_frame); |
| 177 | 180 |
| 178 // Used by content_layouttest_support to hook into the creation of | 181 // Used by content_layouttest_support to hook into the creation of |
| 179 // RenderFrameImpls. | 182 // RenderFrameImpls. |
| 180 struct CreateParams { | 183 struct CreateParams { |
| 181 CreateParams(RenderViewImpl* render_view, int32 routing_id) | 184 CreateParams(RenderViewImpl* render_view, int32 routing_id) |
| (...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 879 #endif | 882 #endif |
| 880 | 883 |
| 881 media::CdmFactory* GetCdmFactory(); | 884 media::CdmFactory* GetCdmFactory(); |
| 882 | 885 |
| 883 void RegisterMojoServices(); | 886 void RegisterMojoServices(); |
| 884 | 887 |
| 885 // Connects to a Mojo application and returns a proxy to its exposed | 888 // Connects to a Mojo application and returns a proxy to its exposed |
| 886 // ServiceProvider. | 889 // ServiceProvider. |
| 887 mojo::ServiceProviderPtr ConnectToApplication(const GURL& url); | 890 mojo::ServiceProviderPtr ConnectToApplication(const GURL& url); |
| 888 | 891 |
| 892 void set_in_browser_initiated_detach() { | |
| 893 in_browser_initiated_detach_ = true; | |
| 894 } | |
| 895 | |
| 889 // Stores the WebLocalFrame we are associated with. This is null from the | 896 // Stores the WebLocalFrame we are associated with. This is null from the |
| 890 // constructor until SetWebFrame is called, and it is null after | 897 // constructor until SetWebFrame is called, and it is null after |
| 891 // frameDetached is called until destruction (which is asynchronous in the | 898 // frameDetached is called until destruction (which is asynchronous in the |
| 892 // case of the main frame, but not subframes). | 899 // case of the main frame, but not subframes). |
| 893 blink::WebLocalFrame* frame_; | 900 blink::WebLocalFrame* frame_; |
| 894 | 901 |
| 895 // Boolean value indicating whether this RenderFrameImpl object is for the | 902 // Boolean value indicating whether this RenderFrameImpl object is for the |
| 896 // main frame or not. It remains accurate during destruction, even when | 903 // main frame or not. It remains accurate during destruction, even when |
| 897 // |frame_| has been invalidated. | 904 // |frame_| has been invalidated. |
| 898 bool is_main_frame_; | 905 bool is_main_frame_; |
| 899 | 906 |
| 900 // Frame is a local root if it is rendered in a process different than parent | 907 // Frame is a local root if it is rendered in a process different than parent |
| 901 // or it is a main frame. | 908 // or it is a main frame. |
| 902 bool is_local_root_; | 909 bool is_local_root_; |
| 903 | 910 |
| 911 // When a frame is detached in response to a messge from the browser process, | |
| 912 // this RenderFrame should not be sending notifications back to it. This | |
| 913 // boolean is used to indicate this case. | |
| 914 bool in_browser_initiated_detach_; | |
| 915 | |
| 916 // When a frame is created by the browser process, it is for a pending | |
| 917 // navigation. In this case, it is not immediately attached to the frame tree | |
| 918 // and is inserted into it at the time the pending navigation commits. | |
| 919 // Frames added by the parent document are created from the renderer process | |
| 920 // and are immediately inserted in the frame tree. This boolean indicates | |
| 921 // which of the two states this frame is currently in. | |
|
Charlie Reis
2015/11/04 21:28:30
Let's move the last sentence to be the first one a
nasko
2015/12/10 21:26:52
Done.
| |
| 922 bool is_inserted_in_frame_tree_; | |
|
Charlie Reis
2015/11/04 21:28:30
nit: in_frame_tree_
nasko
2015/12/10 21:26:52
Done.
| |
| 923 | |
| 904 base::WeakPtr<RenderViewImpl> render_view_; | 924 base::WeakPtr<RenderViewImpl> render_view_; |
| 905 int routing_id_; | 925 int routing_id_; |
| 906 bool is_swapped_out_; | 926 bool is_swapped_out_; |
| 907 | 927 |
| 908 // RenderFrameProxy exists only when is_swapped_out_ is true. | 928 // RenderFrameProxy exists only when is_swapped_out_ is true. |
| 909 // TODO(nasko): This can be removed once we don't have a swapped out state on | 929 // TODO(nasko): This can be removed once we don't have a swapped out state on |
| 910 // RenderFrame. See https://crbug.com/357747. | 930 // RenderFrame. See https://crbug.com/357747. |
| 911 RenderFrameProxy* render_frame_proxy_; | 931 RenderFrameProxy* render_frame_proxy_; |
| 912 bool is_detaching_; | 932 bool is_detaching_; |
| 913 | 933 |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1083 #endif | 1103 #endif |
| 1084 | 1104 |
| 1085 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; | 1105 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; |
| 1086 | 1106 |
| 1087 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); | 1107 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); |
| 1088 }; | 1108 }; |
| 1089 | 1109 |
| 1090 } // namespace content | 1110 } // namespace content |
| 1091 | 1111 |
| 1092 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ | 1112 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
| OLD | NEW |