Plumb a testing-only API for forcing resizes.

In the new world of unicorns and rainbow, the layout tests
will actually use the same machinery as the rest of Chromium
for window resizing, but there is still one ... uhm,
forcing function that still needs to be invoked at the beginning
of each test to eliminate any possibilities of tests affecting
each other. This function is RenderWidget::ResizeSynchronously,
with complementary plumbing.

BUG=309760
R=jam, jochen, tony

Review URL: https://codereview.chromium.org/47973002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231723 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 1d73fa2..5cd8cde 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -703,6 +703,15 @@
   DCHECK(resize_ack != SEND_RESIZE_ACK || next_paint_is_resize_ack());
 }
 
+void RenderWidget::ResizeSynchronously(const gfx::Rect& new_position) {
+  Resize(new_position.size(), new_position.size(), overdraw_bottom_height_,
+         gfx::Rect(), is_fullscreen_, NO_RESIZE_ACK);
+  view_screen_rect_ = new_position;
+  window_screen_rect_ = new_position;
+  if (!did_show_)
+    initial_pos_ = new_position;
+}
+
 void RenderWidget::OnClose() {
   if (closing_)
     return;
@@ -2016,13 +2025,7 @@
       initial_pos_ = pos;
     }
   } else {
-    WebSize new_size(pos.width, pos.height);
-    Resize(new_size, new_size, overdraw_bottom_height_,
-           WebRect(), is_fullscreen_, NO_RESIZE_ACK);
-    view_screen_rect_ = pos;
-    window_screen_rect_ = pos;
-    if (!did_show_)
-      initial_pos_ = pos;
+    ResizeSynchronously(pos);
   }
 }