Account for short-circuited resizes in Content Shell.

When running layout tests, we short-circuit our window-positioning
machinery to stay within the rendering process. This means that
we should similarly short-circuit sizing of the newly opened
secondary windows. Otherwise, a race occurs and occasionally,
a resize to 0x0 message arrives from the browser process.

BUG=307570
R=jam, jochen, tony

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229681 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 18f8556..52522ae 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -1988,19 +1988,21 @@
         (pos.y - popup_view_origin_for_emulation_.y()) * scale;
   }
 
-  if (did_show_) {
-    if (!RenderThreadImpl::current()->layout_test_mode()) {
+  if (!RenderThreadImpl::current()->layout_test_mode()) {
+    if (did_show_) {
       Send(new ViewHostMsg_RequestMove(routing_id_, pos));
       SetPendingWindowRect(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;
+      initial_pos_ = pos;
     }
   } else {
-    initial_pos_ = pos;
+    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;
   }
 }