Index: content/renderer/render_widget_unittest.cc |
diff --git a/content/renderer/render_widget_unittest.cc b/content/renderer/render_widget_unittest.cc |
index 1cc29f4fadff4c5d9978381f90ec813b32b9afef..191ad8ad8c4fa8771fd9cd6657381ad152314bbb 100644 |
--- a/content/renderer/render_widget_unittest.cc |
+++ b/content/renderer/render_widget_unittest.cc |
@@ -53,15 +53,15 @@ class MockWebWidget : public blink::WebWidget { |
class InteractiveRenderWidget : public RenderWidget { |
public: |
explicit InteractiveRenderWidget(CompositorDependencies* compositor_deps) |
- : RenderWidget(compositor_deps, |
+ : RenderWidget(++next_routing_id_, |
+ compositor_deps, |
blink::WebPopupTypeNone, |
ScreenInfo(), |
false, |
false, |
false), |
always_overscroll_(false) { |
- webwidget_internal_ = &mock_webwidget_; |
- InitRoutingID(++next_routing_id_); |
+ Init(MSG_ROUTING_NONE, mock_webwidget()); |
} |
void SetTouchRegion(const std::vector<gfx::Rect>& rects) { |
@@ -134,7 +134,13 @@ int InteractiveRenderWidget::next_routing_id_ = 0; |
class RenderWidgetUnittest : public testing::Test { |
public: |
RenderWidgetUnittest() |
- : widget_(new InteractiveRenderWidget(&compositor_deps_)) {} |
+ : widget_(new InteractiveRenderWidget(&compositor_deps_)) { |
+ // RenderWidget::Init does an AddRef that's balanced by a browser-initiated |
+ // Close IPC. That Close will never happen in this test, so do a Release |
+ // here to ensure |widget_| is properly freed. |
ncarter (slow)
2016/11/14 23:33:56
I looked at using MockRenderThread::SendCloseMessa
|
+ widget_->Release(); |
+ DCHECK(widget_->HasOneRef()); |
+ } |
~RenderWidgetUnittest() override {} |
InteractiveRenderWidget* widget() const { return widget_.get(); } |
@@ -370,14 +376,14 @@ TEST_F(RenderWidgetUnittest, TouchDuringOrOutsideFlingUmaMetrics) { |
class PopupRenderWidget : public RenderWidget { |
public: |
explicit PopupRenderWidget(CompositorDependencies* compositor_deps) |
- : RenderWidget(compositor_deps, |
+ : RenderWidget(1, |
+ compositor_deps, |
blink::WebPopupTypePage, |
ScreenInfo(), |
false, |
false, |
false) { |
- webwidget_internal_ = &mock_webwidget_; |
- InitRoutingID(1); |
+ Init(MSG_ROUTING_NONE, mock_webwidget()); |
did_show_ = true; |
} |
@@ -408,7 +414,13 @@ class PopupRenderWidget : public RenderWidget { |
class RenderWidgetPopupUnittest : public testing::Test { |
public: |
RenderWidgetPopupUnittest() |
- : widget_(new PopupRenderWidget(&compositor_deps_)) {} |
+ : widget_(new PopupRenderWidget(&compositor_deps_)) { |
+ // RenderWidget::Init does an AddRef that's balanced by a browser-initiated |
+ // Close IPC. That Close will never happen in this test, so do a Release |
+ // here to ensure |widget_| is properly freed. |
+ widget_->Release(); |
+ DCHECK(widget_->HasOneRef()); |
+ } |
~RenderWidgetPopupUnittest() override {} |
PopupRenderWidget* widget() const { return widget_.get(); } |