Merge "Snap for 4578036 from f2c78449cf3e2cbbd4a67726c0a3dbe5f3ae6e1a to lollipop-mr1-cts-release" into lollipop-mr1-cts-release
diff --git a/common/device-side/util/src/com/android/compatibility/common/util/EvaluateJsResultPollingCheck.java b/common/device-side/util/src/com/android/compatibility/common/util/EvaluateJsResultPollingCheck.java
index 521dc40..3794a98 100644
--- a/common/device-side/util/src/com/android/compatibility/common/util/EvaluateJsResultPollingCheck.java
+++ b/common/device-side/util/src/com/android/compatibility/common/util/EvaluateJsResultPollingCheck.java
@@ -18,10 +18,13 @@
import android.webkit.ValueCallback;
-public class EvaluateJsResultPollingCheck extends PollingCheck
+import junit.framework.Assert;
+
+public class EvaluateJsResultPollingCheck extends PollingCheck
implements ValueCallback<String> {
private String mActualResult;
private String mExpectedResult;
+ private boolean mGotResult;
public EvaluateJsResultPollingCheck(String expected) {
mExpectedResult = expected;
@@ -29,11 +32,20 @@
@Override
public synchronized boolean check() {
- return mExpectedResult.equals(mActualResult);
+ return mGotResult;
+ }
+
+ @Override
+ public void run() {
+ super.run();
+ synchronized (this) {
+ Assert.assertEquals(mExpectedResult, mActualResult);
+ }
}
@Override
public synchronized void onReceiveValue(String result) {
+ mGotResult = true;
mActualResult = result;
}
}
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
index 919add2..b4fbbb1 100755
--- a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
@@ -976,7 +976,7 @@
mOnUiThread.evaluateJavascript("'custom_property' in dummy", jsResult);
jsResult.run();
- mOnUiThread.reload();
+ mOnUiThread.reloadAndWaitForCompletion();
jsResult = new EvaluateJsResultPollingCheck("false");
mOnUiThread.evaluateJavascript("'custom_property' in dummy", jsResult);
@@ -1664,7 +1664,7 @@
} while (mOnUiThread.pageDown(false));
waitForFlingDone(mOnUiThread);
- int bottomScrollY = mOnUiThread.getScrollY();
+ final int bottomScrollY = mOnUiThread.getScrollY();
assertTrue(mOnUiThread.pageUp(false));
@@ -1673,17 +1673,25 @@
} while (mOnUiThread.pageUp(false));
waitForFlingDone(mOnUiThread);
- int topScrollY = mOnUiThread.getScrollY();
+ final int topScrollY = mOnUiThread.getScrollY();
// jump to the bottom
assertTrue(mOnUiThread.pageDown(true));
- waitForFlingDone(mOnUiThread);
- assertEquals(bottomScrollY, mOnUiThread.getScrollY());
+ new PollingCheck() {
+ @Override
+ protected boolean check() {
+ return bottomScrollY == mOnUiThread.getScrollY();
+ }
+ }.run();
// jump to the top
assertTrue(mOnUiThread.pageUp(true));
- waitForFlingDone(mOnUiThread);
- assertEquals(topScrollY, mOnUiThread.getScrollY());
+ new PollingCheck() {
+ @Override
+ protected boolean check() {
+ return topScrollY == mOnUiThread.getScrollY();
+ }
+ }.run();
}
public void testGetContentHeight() throws Throwable {