Fix popup zoomer bug on desktop mode

Resizing should not propagate if there has been no actual
size change. This was accidentally allowed, and caused the bug
by disturbing the popup zoomer. This CL fixes that.

Bug: 794451
Change-Id: I2eb7e17be8aa63901eb050e27cc0acb7955191e7
Reviewed-on: https://chromium-review.googlesource.com/825182
Commit-Queue: Jinsuk Kim <[email protected]>
Reviewed-by: Bo <[email protected]>
Cr-Commit-Position: refs/heads/master@{#523970}
diff --git a/ui/android/view_android_unittests.cc b/ui/android/view_android_unittests.cc
index 4466ffb..bf3bc5c 100644
--- a/ui/android/view_android_unittests.cc
+++ b/ui/android/view_android_unittests.cc
@@ -202,9 +202,11 @@
   EXPECT_FALSE(clientm_.OnSizeCalled());
   EXPECT_FALSE(client3_.OnSizeCalled());
 
+  viewm_.RemoveFromParent();
+  viewm_.OnSizeChangedInternal(gfx::Size(0, 0));  // Reset the size.
+
   Reset();
 
-  viewm_.RemoveFromParent();
   view1_.OnSizeChanged(100, 100);
 
   // Size event is generated for a newly added, match-parent child view.
@@ -212,6 +214,17 @@
   view1_.AddChild(&viewm_);
   EXPECT_TRUE(clientm_.OnSizeCalled());
   EXPECT_FALSE(client3_.OnSizeCalled());
+
+  viewm_.RemoveFromParent();
+
+  Reset();
+
+  view1_.OnSizeChanged(100, 100);
+
+  // Size event won't propagate if the children already have the same size.
+  view1_.AddChild(&viewm_);
+  EXPECT_FALSE(clientm_.OnSizeCalled());
+  EXPECT_FALSE(client3_.OnSizeCalled());
 }
 
 TEST(ViewAndroidTest, ChecksMultipleEventForwarders) {