Chromium Code Reviews| Index: content/public/test/android/javatests/src/org/chromium/content/browser/test/util/DOMUtils.java |
| diff --git a/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/DOMUtils.java b/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/DOMUtils.java |
| index 418cb952cb00c946b4d02f7980e36bfd41cb4145..380de110a06821cf173b3528e9e3576418eff8b8 100644 |
| --- a/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/DOMUtils.java |
| +++ b/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/DOMUtils.java |
| @@ -22,39 +22,76 @@ import java.util.concurrent.TimeoutException; |
| */ |
| public class DOMUtils { |
| /** |
| - * Pauses the video with given {@code nodeId}. |
| + * Plays the media with given {@code id}. |
|
qinmin
2015/05/23 18:16:06
nit: missing @param here and below
mlamouri (slow - plz ping)
2015/05/23 20:05:27
I filed https://crbug.com/491588 for this. @param
|
| */ |
| - public static void pauseVideo(final WebContents webContents, final String nodeId) |
| + public static void playMedia(final WebContents webContents, final String id) |
| throws InterruptedException, TimeoutException { |
| StringBuilder sb = new StringBuilder(); |
| sb.append("(function() {"); |
| - sb.append(" var video = document.getElementById('" + nodeId + "');"); |
| - sb.append(" if (video) video.pause();"); |
| + sb.append(" var media = document.getElementById('" + id + "');"); |
| + sb.append(" if (media) media.play();"); |
| sb.append("})();"); |
| JavaScriptUtils.executeJavaScriptAndWaitForResult( |
| webContents, sb.toString()); |
| } |
| /** |
| - * Returns whether the video with given {@code nodeId} is paused. |
| + * Pauses the media with given {@code id}. |
| */ |
| - public static boolean isVideoPaused(final WebContents webContents, final String nodeId) |
| + public static void pauseMedia(final WebContents webContents, final String id) |
| throws InterruptedException, TimeoutException { |
| - return getNodeField("paused", webContents, nodeId, Boolean.class); |
| + StringBuilder sb = new StringBuilder(); |
| + sb.append("(function() {"); |
| + sb.append(" var media = document.getElementById('" + id + "');"); |
| + sb.append(" if (media) media.pause();"); |
| + sb.append("})();"); |
| + JavaScriptUtils.executeJavaScriptAndWaitForResult( |
| + webContents, sb.toString()); |
| + } |
| + |
| + /** |
| + * Returns whether the media with given {@code id} is paused. |
| + */ |
| + public static boolean isMediaPaused(final WebContents webContents, final String id) |
| + throws InterruptedException, TimeoutException { |
| + return getNodeField("paused", webContents, id, Boolean.class); |
| + } |
| + |
| + /** |
| + * Waits until the playback of the media with given {@code id} has started. |
| + * |
| + * @return Whether the playback has started. |
| + */ |
| + public static boolean waitForMediaPlay(final WebContents webContents, final String id) |
| + throws InterruptedException { |
| + return CriteriaHelper.pollForCriteria(new Criteria() { |
| + @Override |
| + public boolean isSatisfied() { |
| + try { |
| + return !DOMUtils.isMediaPaused(webContents, id); |
| + } catch (InterruptedException e) { |
| + // Intentionally do nothing |
| + return false; |
| + } catch (TimeoutException e) { |
| + // Intentionally do nothing |
| + return false; |
| + } |
| + } |
| + }); |
| } |
| /** |
| - * Waits until the playback of the video with given {@code nodeId} has started. |
| + * Waits until the playback of the media with given {@code id} has stopped. |
| * |
| * @return Whether the playback has started. |
| */ |
| - public static boolean waitForVideoPlay(final WebContents webContents, final String nodeId) |
| + public static boolean waitForMediaPause(final WebContents webContents, final String id) |
| throws InterruptedException { |
| return CriteriaHelper.pollForCriteria(new Criteria() { |
| @Override |
| public boolean isSatisfied() { |
| try { |
| - return !DOMUtils.isVideoPaused(webContents, nodeId); |
| + return DOMUtils.isMediaPaused(webContents, id); |
| } catch (InterruptedException e) { |
| // Intentionally do nothing |
| return false; |