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

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: address comments 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..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);

Powered by Google App Engine
This is Rietveld 408576698