Index: content/browser/frame_host/frame_tree.cc |
=================================================================== |
--- content/browser/frame_host/frame_tree.cc (revision 239602) |
+++ content/browser/frame_host/frame_tree.cc (working copy) |
@@ -95,19 +95,22 @@ |
root_->set_frame_id(main_frame_id); |
} |
-void FrameTree::AddFrame(int render_frame_host_id, |
- int64 parent_frame_id, |
- int64 frame_id, |
- const std::string& frame_name) { |
+RenderFrameHostImpl* FrameTree::AddFrame(int render_frame_host_id, |
+ int64 parent_frame_id, |
+ int64 frame_id, |
+ const std::string& frame_name) { |
FrameTreeNode* parent = FindByFrameID(parent_frame_id); |
// TODO(ajwong): Should the renderer be killed here? Would there be a race on |
// shutdown that might make this case possible? |
if (!parent) |
- return; |
+ return NULL; |
- parent->AddChild(CreateNode(frame_id, frame_name, render_frame_host_id, |
- parent->navigator(), |
- parent->render_frame_host()->GetProcess())); |
+ scoped_ptr<FrameTreeNode> node(CreateNode( |
+ frame_id, frame_name, render_frame_host_id, parent->navigator(), |
+ parent->render_frame_host()->GetProcess())); |
+ RenderFrameHostImpl* render_frame = node->render_frame_host(); |
+ parent->AddChild(node.Pass()); |
+ return render_frame; |
} |
void FrameTree::RemoveFrame(int64 parent_frame_id, int64 frame_id) { |