Chromium Code Reviews| Index: chrome/android/javatests/src/org/chromium/chrome/browser/permissions/PermissionTestCaseBase.java |
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/permissions/PermissionTestCaseBase.java b/chrome/android/javatests/src/org/chromium/chrome/browser/permissions/PermissionTestCaseBase.java |
| index 063c362bbd4200c9de65d01841fe9c71068680a9..d398c2c5b3a59e69694127d3b8df4d286fa6fa26 100644 |
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/permissions/PermissionTestCaseBase.java |
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/permissions/PermissionTestCaseBase.java |
| @@ -88,11 +88,13 @@ public class PermissionTestCaseBase extends ChromeActivityTestCaseBase<ChromeAct |
| /** |
| * Criteria class to detect whether the permission dialog is shown. |
| */ |
| - private static class DialogShownCriteria extends Criteria { |
| + protected static class DialogShownCriteria extends Criteria { |
| private AlertDialog mDialog; |
| + private boolean mExpectDialog; |
| - public DialogShownCriteria(String error) { |
| + public DialogShownCriteria(String error, boolean expectDialog) { |
| super(error); |
| + mExpectDialog = expectDialog; |
| } |
| public AlertDialog getDialog() { |
| @@ -107,7 +109,7 @@ public class PermissionTestCaseBase extends ChromeActivityTestCaseBase<ChromeAct |
| public Boolean call() { |
| mDialog = PermissionDialogController.getInstance() |
| .getCurrentDialogForTesting(); |
| - return mDialog != null; |
| + return (mDialog != null) == mExpectDialog; |
| } |
| }); |
| } catch (ExecutionException e) { |
| @@ -136,6 +138,11 @@ public class PermissionTestCaseBase extends ChromeActivityTestCaseBase<ChromeAct |
| super.tearDown(); |
| } |
| + protected void setUpUrl(final String url) throws InterruptedException { |
| + final String test_url = mTestServer.getURL(url); |
|
Bernhard Bauer
2017/05/25 09:57:17
Nit: The `final` doesn't do much here. Or maybe ju
Timothy Loh
2017/05/26 05:08:03
Done.
|
| + loadUrl(test_url); |
| + } |
| + |
| /** |
| * Simulates clicking a button on an AlertDialog. |
| */ |
| @@ -165,8 +172,7 @@ public class PermissionTestCaseBase extends ChromeActivityTestCaseBase<ChromeAct |
| protected void runAllowTest(PermissionUpdateWaiter updateWaiter, final String url, |
| String javascript, int nUpdates, boolean withGesture, boolean isDialog, |
| boolean hasSwitch, boolean toggleSwitch) throws Exception { |
| - final String test_url = mTestServer.getURL(url); |
| - loadUrl(test_url); |
| + setUpUrl(url); |
| if (withGesture) { |
| runJavaScriptCodeInCurrentTab("functionToRun = '" + javascript + "'"); |
| @@ -176,7 +182,7 @@ public class PermissionTestCaseBase extends ChromeActivityTestCaseBase<ChromeAct |
| } |
| if (isDialog) { |
| - DialogShownCriteria criteria = new DialogShownCriteria("Dialog not shown"); |
| + DialogShownCriteria criteria = new DialogShownCriteria("Dialog not shown", true); |
| CriteriaHelper.pollUiThread(criteria); |
| replyToDialogAndWaitForUpdates( |
| updateWaiter, criteria.getDialog(), nUpdates, true, hasSwitch, toggleSwitch); |