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

Side by Side Diff: content/renderer/render_frame_impl.h

Issue 1409693009: Fix leaking of RenderFrames. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 unified diff | Download patch
OLDNEW
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
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 // Deletes a RenderFrame identified by |routing_id|. It must be used only
171 // for deleting a RenderFrame used for pending cross-process navigations.
172 // All other cases are handled through either detaching or swapping frames.
173 static void DeleteFrame(int routing_id);
174
170 // Returns the RenderFrameImpl for the given routing ID. 175 // Returns the RenderFrameImpl for the given routing ID.
171 static RenderFrameImpl* FromRoutingID(int routing_id); 176 static RenderFrameImpl* FromRoutingID(int routing_id);
172 177
173 // Just like RenderFrame::FromWebFrame but returns the implementation. 178 // Just like RenderFrame::FromWebFrame but returns the implementation.
174 static RenderFrameImpl* FromWebFrame(blink::WebFrame* web_frame); 179 static RenderFrameImpl* FromWebFrame(blink::WebFrame* web_frame);
175 180
176 // Used by content_layouttest_support to hook into the creation of 181 // Used by content_layouttest_support to hook into the creation of
177 // RenderFrameImpls. 182 // RenderFrameImpls.
178 struct CreateParams { 183 struct CreateParams {
179 CreateParams(RenderViewImpl* render_view, int32 routing_id) 184 CreateParams(RenderViewImpl* render_view, int32 routing_id)
(...skipping 898 matching lines...) Expand 10 before | Expand all | Expand 10 after
1078 #endif 1083 #endif
1079 1084
1080 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; 1085 base::WeakPtrFactory<RenderFrameImpl> weak_factory_;
1081 1086
1082 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); 1087 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl);
1083 }; 1088 };
1084 1089
1085 } // namespace content 1090 } // namespace content
1086 1091
1087 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 1092 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698