| 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 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 160 // process. All other frame creation is driven through Blink and Create. | 160 // process. All other frame creation is driven through Blink and Create. |
| 161 static void CreateFrame(int routing_id, | 161 static void CreateFrame(int routing_id, |
| 162 int proxy_routing_id, | 162 int proxy_routing_id, |
| 163 int opener_routing_id, | 163 int opener_routing_id, |
| 164 int parent_routing_id, | 164 int parent_routing_id, |
| 165 int previous_sibling_routing_id, | 165 int previous_sibling_routing_id, |
| 166 const FrameReplicationState& replicated_state, | 166 const FrameReplicationState& replicated_state, |
| 167 CompositorDependencies* compositor_deps, | 167 CompositorDependencies* compositor_deps, |
| 168 const FrameMsg_NewFrame_WidgetParams& params); | 168 const FrameMsg_NewFrame_WidgetParams& params); |
| 169 | 169 |
| 170 // Detaches a RenderFrame identified by |routing_id|. |
| 171 static void DetachFrame(int routing_id); |
| 172 |
| 170 // Returns the RenderFrameImpl for the given routing ID. | 173 // Returns the RenderFrameImpl for the given routing ID. |
| 171 static RenderFrameImpl* FromRoutingID(int routing_id); | 174 static RenderFrameImpl* FromRoutingID(int routing_id); |
| 172 | 175 |
| 173 // Just like RenderFrame::FromWebFrame but returns the implementation. | 176 // Just like RenderFrame::FromWebFrame but returns the implementation. |
| 174 static RenderFrameImpl* FromWebFrame(blink::WebFrame* web_frame); | 177 static RenderFrameImpl* FromWebFrame(blink::WebFrame* web_frame); |
| 175 | 178 |
| 176 // Used by content_layouttest_support to hook into the creation of | 179 // Used by content_layouttest_support to hook into the creation of |
| 177 // RenderFrameImpls. | 180 // RenderFrameImpls. |
| 178 struct CreateParams { | 181 struct CreateParams { |
| 179 CreateParams(RenderViewImpl* render_view, int32 routing_id) | 182 CreateParams(RenderViewImpl* render_view, int32 routing_id) |
| (...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 876 #endif | 879 #endif |
| 877 | 880 |
| 878 media::CdmFactory* GetCdmFactory(); | 881 media::CdmFactory* GetCdmFactory(); |
| 879 | 882 |
| 880 void RegisterMojoServices(); | 883 void RegisterMojoServices(); |
| 881 | 884 |
| 882 // Connects to a Mojo application and returns a proxy to its exposed | 885 // Connects to a Mojo application and returns a proxy to its exposed |
| 883 // ServiceProvider. | 886 // ServiceProvider. |
| 884 mojo::ServiceProviderPtr ConnectToApplication(const GURL& url); | 887 mojo::ServiceProviderPtr ConnectToApplication(const GURL& url); |
| 885 | 888 |
| 889 void set_is_browser_initiated_detach() { |
| 890 is_browser_initiated_detach_ = true; |
| 891 } |
| 892 |
| 886 // Stores the WebLocalFrame we are associated with. This is null from the | 893 // Stores the WebLocalFrame we are associated with. This is null from the |
| 887 // constructor until SetWebFrame is called, and it is null after | 894 // constructor until SetWebFrame is called, and it is null after |
| 888 // frameDetached is called until destruction (which is asynchronous in the | 895 // frameDetached is called until destruction (which is asynchronous in the |
| 889 // case of the main frame, but not subframes). | 896 // case of the main frame, but not subframes). |
| 890 blink::WebLocalFrame* frame_; | 897 blink::WebLocalFrame* frame_; |
| 891 | 898 |
| 892 // Boolean value indicating whether this RenderFrameImpl object is for the | 899 // Boolean value indicating whether this RenderFrameImpl object is for the |
| 893 // main frame or not. It remains accurate during destruction, even when | 900 // main frame or not. It remains accurate during destruction, even when |
| 894 // |frame_| has been invalidated. | 901 // |frame_| has been invalidated. |
| 895 bool is_main_frame_; | 902 bool is_main_frame_; |
| 896 | 903 |
| 897 // Frame is a local root if it is rendered in a process different than parent | 904 // Frame is a local root if it is rendered in a process different than parent |
| 898 // or it is a main frame. | 905 // or it is a main frame. |
| 899 bool is_local_root_; | 906 bool is_local_root_; |
| 900 | 907 |
| 908 // When a frame is detached in response to a messge from the browser process, |
| 909 // this RenderFrame should not be sending notifications back to it. This |
| 910 // boolean is used to indicate this case. |
| 911 bool is_browser_initiated_detach_; |
| 912 |
| 901 base::WeakPtr<RenderViewImpl> render_view_; | 913 base::WeakPtr<RenderViewImpl> render_view_; |
| 902 int routing_id_; | 914 int routing_id_; |
| 903 bool is_swapped_out_; | 915 bool is_swapped_out_; |
| 904 | 916 |
| 905 // RenderFrameProxy exists only when is_swapped_out_ is true. | 917 // RenderFrameProxy exists only when is_swapped_out_ is true. |
| 906 // TODO(nasko): This can be removed once we don't have a swapped out state on | 918 // TODO(nasko): This can be removed once we don't have a swapped out state on |
| 907 // RenderFrame. See https://crbug.com/357747. | 919 // RenderFrame. See https://crbug.com/357747. |
| 908 RenderFrameProxy* render_frame_proxy_; | 920 RenderFrameProxy* render_frame_proxy_; |
| 909 bool is_detaching_; | 921 bool is_detaching_; |
| 910 | 922 |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1078 #endif | 1090 #endif |
| 1079 | 1091 |
| 1080 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; | 1092 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; |
| 1081 | 1093 |
| 1082 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); | 1094 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); |
| 1083 }; | 1095 }; |
| 1084 | 1096 |
| 1085 } // namespace content | 1097 } // namespace content |
| 1086 | 1098 |
| 1087 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ | 1099 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
| OLD | NEW |