Fix WebViewTest.getContentHeight().

Rather than waiting for the UI thread to go idle, wait for the
specific conditions that we care about.

Bug:8763944
Change-Id: I9bd7166c8dfb866c9a3fb07295b24b4f1c97d165
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
index 9a19f29..1d43250 100644
--- a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
@@ -959,25 +959,37 @@
     public void testGetContentHeight() throws Throwable {
         mOnUiThread.loadDataAndWaitForCompletion(
                 "<html><body></body></html>", "text/html", null);
-        getInstrumentation().waitForIdleSync();
+        new PollingCheck() {
+            @Override
+            protected boolean check() {
+                return mOnUiThread.getScale() != 0 && mOnUiThread.getContentHeight() != 0;
+            }
+        }.run();
+        assertEquals(mOnUiThread.getHeight(),
+                mOnUiThread.getContentHeight() * mOnUiThread.getScale(), 2f);
 
         final int pageHeight = 600;
         // set the margin to 0
         final String p = "<p style=\"height:" + pageHeight
                 + "px;margin:0px auto;\">Get the height of HTML content.</p>";
-        assertEquals(mOnUiThread.getHeight(), mOnUiThread.getContentHeight() * mOnUiThread.getScale(), 2f);
         mOnUiThread.loadDataAndWaitForCompletion("<html><body>" + p
                 + "</body></html>", "text/html", null);
-        getInstrumentation().waitForIdleSync();
+        new PollingCheck() {
+            @Override
+            protected boolean check() {
+                return mOnUiThread.getContentHeight() > pageHeight;
+            }
+        }.run();
 
-        assertTrue(mOnUiThread.getContentHeight() > pageHeight);
-        int extraSpace = mOnUiThread.getContentHeight() - pageHeight;
-
+        final int extraSpace = mOnUiThread.getContentHeight() - pageHeight;
         mOnUiThread.loadDataAndWaitForCompletion("<html><body>" + p
                 + p + "</body></html>", "text/html", null);
-        getInstrumentation().waitForIdleSync();
-        assertEquals(pageHeight + pageHeight + extraSpace,
-                mOnUiThread.getContentHeight());
+        new PollingCheck() {
+            @Override
+            protected boolean check() {
+                return pageHeight + pageHeight + extraSpace == mOnUiThread.getContentHeight();
+            }
+        }.run();
     }
 
     @UiThreadTest