Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3600)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/permissions/PermissionTestCaseBase.java

Issue 2899973002: Hide modal permission prompts on Android upon tab navigation/destruction (Closed)
Patch Set: fix test (permission request from js goes through mojo so need to poll) Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698