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

Unified Diff: content/renderer/render_widget_unittest.cc

Issue 2493293002: RenderWidget: make routing_id be a parameter of the ctor (Closed)
Patch Set: Solve the unittest riddle. Created 4 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
« no previous file with comments | « content/renderer/render_widget_fullscreen_pepper.cc ('k') | content/test/layouttest_support.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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(); }
« no previous file with comments | « content/renderer/render_widget_fullscreen_pepper.cc ('k') | content/test/layouttest_support.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698