| 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);
|
| + 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);
|
|
|