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

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

Issue 2385333002: RenderWidgetHostViewChildFrame's called a virtual in its ctor. (Closed)
Patch Set: Move guest ctor to private Created 4 years, 2 months 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/render_widget_host_view_child_frame.cc
diff --git a/content/browser/frame_host/render_widget_host_view_child_frame.cc b/content/browser/frame_host/render_widget_host_view_child_frame.cc
index 8c3d1c4cf53a020d08874634b787b610ea431c44..a6fd066ed954f4c09f91595c3c5b4e65bfc2b2ab 100644
--- a/content/browser/frame_host/render_widget_host_view_child_frame.cc
+++ b/content/browser/frame_host/render_widget_host_view_child_frame.cc
@@ -39,6 +39,15 @@
namespace content {
+// static
+RenderWidgetHostViewChildFrame* RenderWidgetHostViewChildFrame::Create(
+ RenderWidgetHost* widget) {
+ RenderWidgetHostViewChildFrame* view =
+ new RenderWidgetHostViewChildFrame(widget);
+ view->Init();
+ return view;
+}
+
RenderWidgetHostViewChildFrame::RenderWidgetHostViewChildFrame(
RenderWidgetHost* widget_host)
: host_(RenderWidgetHostImpl::From(widget_host)),
@@ -52,10 +61,6 @@ RenderWidgetHostViewChildFrame::RenderWidgetHostViewChildFrame(
weak_factory_(this) {
id_allocator_.reset(new cc::SurfaceIdAllocator(frame_sink_id_));
GetSurfaceManager()->RegisterFrameSinkId(frame_sink_id_);
- RegisterFrameSinkId();
-
- host_->SetView(this);
- GetTextInputManager();
}
RenderWidgetHostViewChildFrame::~RenderWidgetHostViewChildFrame() {
@@ -66,6 +71,12 @@ RenderWidgetHostViewChildFrame::~RenderWidgetHostViewChildFrame() {
GetSurfaceManager()->InvalidateFrameSinkId(frame_sink_id_);
}
+void RenderWidgetHostViewChildFrame::Init() {
+ RegisterFrameSinkId();
+ host_->SetView(this);
+ GetTextInputManager();
+}
+
void RenderWidgetHostViewChildFrame::SetCrossProcessFrameConnector(
CrossProcessFrameConnector* frame_connector) {
if (frame_connector_ == frame_connector)

Powered by Google App Engine
This is Rietveld 408576698