| OLD | NEW |
| (Empty) | |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 package org.chromium.content.browser; |
| 6 |
| 7 import junit.framework.Assert; |
| 8 |
| 9 import org.chromium.content.browser.LoadUrlParams; |
| 10 |
| 11 /** |
| 12 * Common functionality for testing the Java Bridge. |
| 13 */ |
| 14 public class JavaBridgeTestBase extends ContentViewTestBase { |
| 15 protected class Controller { |
| 16 private boolean mIsResultReady; |
| 17 |
| 18 protected synchronized void notifyResultIsReady() { |
| 19 mIsResultReady = true; |
| 20 notify(); |
| 21 } |
| 22 protected synchronized void waitForResult() { |
| 23 while (!mIsResultReady) { |
| 24 try { |
| 25 wait(5000); |
| 26 } catch (Exception e) { |
| 27 continue; |
| 28 } |
| 29 if (!mIsResultReady) { |
| 30 Assert.fail("Wait timed out"); |
| 31 } |
| 32 } |
| 33 mIsResultReady = false; |
| 34 } |
| 35 } |
| 36 |
| 37 protected void executeJavaScript(final String script) throws Throwable { |
| 38 runTestOnUiThread(new Runnable() { |
| 39 @Override |
| 40 public void run() { |
| 41 // When a JavaScript URL is executed, if the value of the last |
| 42 // expression evaluated is not 'undefined', this value is |
| 43 // converted to a string and used as the new document for the |
| 44 // frame. We don't want this behaviour, so wrap the script in |
| 45 // an anonymous function. |
| 46 getContentView().loadUrl(new LoadUrlParams( |
| 47 "javascript:(function() { " + script + " })()")); |
| 48 } |
| 49 }); |
| 50 } |
| 51 } |
| OLD | NEW |