| 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_BROWSER_FRAME_HOST_FRAME_TREE_H_ | 5 #ifndef CONTENT_BROWSER_FRAME_HOST_FRAME_TREE_H_ |
| 6 #define CONTENT_BROWSER_FRAME_HOST_FRAME_TREE_H_ | 6 #define CONTENT_BROWSER_FRAME_HOST_FRAME_TREE_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 // frame_id. | 71 // frame_id. |
| 72 bool IsFirstNavigationAfterSwap() const; | 72 bool IsFirstNavigationAfterSwap() const; |
| 73 void OnFirstNavigationAfterSwap(int main_frame_id); | 73 void OnFirstNavigationAfterSwap(int main_frame_id); |
| 74 | 74 |
| 75 // Frame tree manipulation routines. | 75 // Frame tree manipulation routines. |
| 76 // TODO(creis): These should take in RenderFrameHost routing IDs. | 76 // TODO(creis): These should take in RenderFrameHost routing IDs. |
| 77 void AddFrame(int render_frame_host_id, | 77 void AddFrame(int render_frame_host_id, |
| 78 int64 parent_frame_tree_node_id, | 78 int64 parent_frame_tree_node_id, |
| 79 int64 frame_id, | 79 int64 frame_id, |
| 80 const std::string& frame_name); | 80 const std::string& frame_name); |
| 81 void RemoveFrame(int64 parent_frame_id, int64 frame_id); | 81 void RemoveFrame(RenderFrameHostImpl* render_frame_host, |
| 82 int64 parent_frame_id, |
| 83 int64 frame_id); |
| 82 void SetFrameUrl(int64 frame_id, const GURL& url); | 84 void SetFrameUrl(int64 frame_id, const GURL& url); |
| 83 | 85 |
| 84 // Resets the FrameTree and changes RenderFrameHost for the main frame. | 86 // Resets the FrameTree and changes RenderFrameHost for the main frame. |
| 85 // This destroys most of the frame tree but retains the root node so that | 87 // This destroys most of the frame tree but retains the root node so that |
| 86 // navigation state may be kept on it between process swaps. Used to | 88 // navigation state may be kept on it between process swaps. Used to |
| 87 // support bookkeeping for top-level navigations. | 89 // support bookkeeping for top-level navigations. |
| 88 // | 90 // |
| 89 // If |main_frame| is NULL, reset tree to initially constructed state. | 91 // If |main_frame| is NULL, reset tree to initially constructed state. |
| 90 // | 92 // |
| 91 // TODO(ajwong): This function should not be given a |main_frame|. This is | 93 // TODO(ajwong): This function should not be given a |main_frame|. This is |
| (...skipping 16 matching lines...) Expand all Loading... |
| 108 | 110 |
| 109 private: | 111 private: |
| 110 // Returns the FrameTreeNode with the given renderer-specific |frame_id|. | 112 // Returns the FrameTreeNode with the given renderer-specific |frame_id|. |
| 111 // For internal use only. | 113 // For internal use only. |
| 112 // TODO(creis): Replace this with a version that takes in a routing ID. | 114 // TODO(creis): Replace this with a version that takes in a routing ID. |
| 113 FrameTreeNode* FindByFrameID(int64 frame_id); | 115 FrameTreeNode* FindByFrameID(int64 frame_id); |
| 114 | 116 |
| 115 scoped_ptr<FrameTreeNode> CreateNode(int64 frame_id, | 117 scoped_ptr<FrameTreeNode> CreateNode(int64 frame_id, |
| 116 const std::string& frame_name, | 118 const std::string& frame_name, |
| 117 int render_frame_host_id, | 119 int render_frame_host_id, |
| 118 Navigator* navigator, | 120 FrameTreeNode* parent_node); |
| 119 RenderProcessHost* render_process_host); | |
| 120 | 121 |
| 121 // These delegates are installed into all the RenderViewHosts and | 122 // These delegates are installed into all the RenderViewHosts and |
| 122 // RenderFrameHosts that we create. | 123 // RenderFrameHosts that we create. |
| 123 RenderFrameHostDelegate* render_frame_delegate_; | 124 RenderFrameHostDelegate* render_frame_delegate_; |
| 124 RenderViewHostDelegate* render_view_delegate_; | 125 RenderViewHostDelegate* render_view_delegate_; |
| 125 RenderWidgetHostDelegate* render_widget_delegate_; | 126 RenderWidgetHostDelegate* render_widget_delegate_; |
| 126 RenderFrameHostManager::Delegate* manager_delegate_; | 127 RenderFrameHostManager::Delegate* manager_delegate_; |
| 127 | 128 |
| 128 scoped_ptr<FrameTreeNode> root_; | 129 scoped_ptr<FrameTreeNode> root_; |
| 129 | 130 |
| 130 base::Callback<void(RenderViewHostImpl*, int64)> on_frame_removed_; | 131 base::Callback<void(RenderViewHostImpl*, int64)> on_frame_removed_; |
| 131 | 132 |
| 132 DISALLOW_COPY_AND_ASSIGN(FrameTree); | 133 DISALLOW_COPY_AND_ASSIGN(FrameTree); |
| 133 }; | 134 }; |
| 134 | 135 |
| 135 } // namespace content | 136 } // namespace content |
| 136 | 137 |
| 137 #endif // CONTENT_BROWSER_FRAME_HOST_FRAME_TREE_H_ | 138 #endif // CONTENT_BROWSER_FRAME_HOST_FRAME_TREE_H_ |
| OLD | NEW |