Chromium Code Reviews| Index: content/browser/frame_host/frame_tree_node.h |
| diff --git a/content/browser/frame_host/frame_tree_node.h b/content/browser/frame_host/frame_tree_node.h |
| index 8bacc77629d9ec51b4fe161e27cf9db8ba8b7672..8c23ea85398e2fcf3f821d48bb0f9af093195603 100644 |
| --- a/content/browser/frame_host/frame_tree_node.h |
| +++ b/content/browser/frame_host/frame_tree_node.h |
| @@ -11,6 +11,7 @@ |
| #include "base/memory/ref_counted.h" |
| #include "base/memory/scoped_ptr.h" |
| #include "base/memory/scoped_vector.h" |
| +#include "content/browser/frame_host/render_view_host_manager.h" |
| #include "content/common/content_export.h" |
| #include "url/gurl.h" |
| @@ -27,11 +28,13 @@ class CONTENT_EXPORT FrameTreeNode { |
| public: |
| static const int64 kInvalidFrameId; |
| - FrameTreeNode( |
| - int64 frame_id, |
| - const std::string& name, |
| - Navigator* navigator, |
| - scoped_ptr<RenderFrameHostImpl> render_frame_host); |
| + FrameTreeNode(RenderViewHostDelegate* render_view_delegate, |
| + RenderWidgetHostDelegate* render_widget_delegate, |
| + RenderViewHostManager::Delegate* manager_delegate, |
| + int64 frame_id, |
| + const std::string& name, |
| + Navigator* navigator, |
|
nasko
2013/11/14 08:23:38
nit: I'd move this up with the rest of the delegat
Charlie Reis
2013/11/14 19:01:16
Good idea. I've put it first to match the FrameTr
|
| + scoped_ptr<RenderFrameHostImpl> render_frame_host); |
| ~FrameTreeNode(); |
| @@ -48,6 +51,10 @@ class CONTENT_EXPORT FrameTreeNode { |
| // no longer owned by the RenderViewHostImpl. |
| void ResetForMainFrame(RenderFrameHostImpl* new_render_frame_host); |
| + RenderViewHostManager* render_manager() { |
| + return &render_manager_; |
| + } |
| + |
| int64 frame_tree_node_id() const { |
| return frame_tree_node_id_; |
| } |
| @@ -94,6 +101,14 @@ class CONTENT_EXPORT FrameTreeNode { |
| // The next available browser-global FrameTreeNode ID. |
| static int64 next_frame_tree_node_id_; |
| + // Manages creation and swapping of RenderViewHosts for this frame. This must |
| + // be declared before |children_| so that it gets deleted after them. That's |
| + // currently necessary so that RenderFrameHostImpl's destructor can call |
| + // GetProcess. |
| + // TODO(creis): This will become a RenderFrameHostManager, which eliminates |
| + // the need for |render_frame_host_| below. |
| + RenderViewHostManager render_manager_; |
| + |
| // A browser-global identifier for the frame in the page, which stays stable |
| // even if the frame does a cross-process navigation. |
| const int64 frame_tree_node_id_; |