Chromium Code Reviews| Index: android_webview/javatests/src/org/chromium/android_webview/test/AndroidWebViewTestBase.java |
| diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AndroidWebViewTestBase.java b/android_webview/javatests/src/org/chromium/android_webview/test/AndroidWebViewTestBase.java |
| index 03c2f21f7b0523a9e5bfb58ee52c918138bd4737..831377a410e56bc23b665675e741fac69d26b76b 100644 |
| --- a/android_webview/javatests/src/org/chromium/android_webview/test/AndroidWebViewTestBase.java |
| +++ b/android_webview/javatests/src/org/chromium/android_webview/test/AndroidWebViewTestBase.java |
| @@ -19,6 +19,8 @@ import org.chromium.content.browser.ContentView; |
| import org.chromium.content.browser.ContentViewCore; |
| import org.chromium.content.browser.LoadUrlParams; |
| import org.chromium.content.browser.test.util.CallbackHelper; |
| +import org.chromium.content.browser.test.util.Criteria; |
| +import org.chromium.content.browser.test.util.CriteriaHelper; |
| import org.chromium.content.browser.test.util.TestCallbackHelperContainer; |
| import org.chromium.ui.gfx.ActivityNativeWindow; |
| @@ -270,4 +272,21 @@ public class AndroidWebViewTestBase |
| viewClient.getOnEvaluateJavaScriptResultHelper(), |
| code); |
| } |
| + |
| + /** |
| + * Similar to CriteriaHelper.pollForCriteria but runs the callable on the UI thread. |
| + * Note that exceptions are threaded as failure. |
|
mkosiba (inactive)
2012/11/20 17:38:56
threaded or treated?
boliu
2012/11/20 18:58:16
treated
|
| + */ |
| + protected boolean pollOnUiThread(final Callable<Boolean> callable) throws Throwable { |
| + return CriteriaHelper.pollForCriteria(new Criteria() { |
| + @Override |
| + public boolean isSatisfied() { |
| + try { |
| + return runTestOnUiThreadAndGetResult(callable); |
| + } catch (Throwable e) { |
| + return false; |
| + } |
| + } |
| + }); |
| + } |
| } |