Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Unified Diff: content/browser/frame_host/frame_tree_node.cc

Issue 30323002: [DRAFT] Create RenderFrameHostManager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/frame_host/frame_tree_node.cc
diff --git a/content/browser/frame_host/frame_tree_node.cc b/content/browser/frame_host/frame_tree_node.cc
index ce357750443542d1ea3f4f1380313d6196b111e1..1c9cdf3d6cfe0b5e9da51ed2be62dffb8b4fe93f 100644
--- a/content/browser/frame_host/frame_tree_node.cc
+++ b/content/browser/frame_host/frame_tree_node.cc
@@ -9,36 +9,37 @@
#include "base/stl_util.h"
#include "content/browser/frame_host/navigator.h"
#include "content/browser/frame_host/render_frame_host_impl.h"
+#include "content/browser/renderer_host/render_view_host_impl.h"
namespace content {
-const int64 FrameTreeNode::kInvalidFrameId = -1;
int64 FrameTreeNode::next_frame_tree_node_id_ = 1;
FrameTreeNode::FrameTreeNode(Navigator* navigator,
RenderViewHostDelegate* render_view_delegate,
RenderWidgetHostDelegate* render_widget_delegate,
RenderViewHostManager::Delegate* manager_delegate,
- int64 frame_id,
- const std::string& name,
- scoped_ptr<RenderFrameHostImpl> render_frame_host)
+ const std::string& name)
: navigator_(navigator),
- render_manager_(render_view_delegate,
+ render_manager_(this,
+ render_view_delegate,
render_widget_delegate,
manager_delegate),
frame_tree_node_id_(next_frame_tree_node_id_++),
- frame_id_(frame_id),
- frame_name_(name),
- owns_render_frame_host_(true),
- render_frame_host_(render_frame_host.release()) {
+ frame_name_(name) {
}
FrameTreeNode::~FrameTreeNode() {
- if (owns_render_frame_host_)
- delete render_frame_host_;
}
-void FrameTreeNode::AddChild(scoped_ptr<FrameTreeNode> child) {
+void FrameTreeNode::AddChild(scoped_ptr<FrameTreeNode> child,
+ int render_frame_host_id) {
+ // TODO(creis): Find a sane place to put this.
+ child->render_manager()->Init(
+ render_manager_.current_host()->GetSiteInstance()->GetBrowserContext(),
+ render_manager_.current_host()->GetSiteInstance(),
+ render_manager_.current_host()->GetRoutingID(),
+ render_frame_host_id);
children_.push_back(child.release());
}
@@ -54,7 +55,8 @@ void FrameTreeNode::RemoveChild(FrameTreeNode* child) {
children_.erase(iter);
}
-void FrameTreeNode::ResetForMainFrame(
+// TODO(creis): Do we need to change the frame ID and URL after a navigation?
+/*void FrameTreeNode::ResetForMainFrame(
RenderFrameHostImpl* new_render_frame_host) {
DCHECK_EQ(0UL, children_.size());
@@ -64,6 +66,6 @@ void FrameTreeNode::ResetForMainFrame(
children_.clear();
render_frame_host_ = new_render_frame_host;
-}
+}*/
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698