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..43ace6a57630f1a70a44f01e3ddb6686424f6890 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,10 @@ public class PermissionTestCaseBase extends ChromeActivityTestCaseBase<ChromeAct |
super.tearDown(); |
} |
+ protected void setUpUrl(final String url) throws InterruptedException { |
+ loadUrl(mTestServer.getURL(url)); |
+ } |
+ |
/** |
* Simulates clicking a button on an AlertDialog. |
*/ |
@@ -165,8 +171,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 +181,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); |