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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/infobar/GroupedPermissionInfoBar.java

Issue 2254763002: Enable the optional permission prompt persistence toggle on grouped infobars (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@permission-infobardelegate-clean
Patch Set: Add CL dependency; improve media impl Created 4 years, 4 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/java/src/org/chromium/chrome/browser/infobar/GroupedPermissionInfoBar.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/GroupedPermissionInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/GroupedPermissionInfoBar.java
index 7679128e4db466c3e46784b57c43f31b6c42f065..9ddf9045b472c209aa55f9893ebcab814c597afc 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/GroupedPermissionInfoBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/GroupedPermissionInfoBar.java
@@ -25,8 +25,8 @@ public class GroupedPermissionInfoBar extends PermissionInfoBar {
GroupedPermissionInfoBar(String message, String buttonOk, String buttonCancel,
int[] permissionIcons, String[] permissionText, WindowAndroid windowAndroid,
- int[] contentSettings) {
- super(0, null, message, null, buttonOk, buttonCancel);
+ int[] contentSettings, boolean showPersistenceToggle) {
+ super(0, null, message, null, buttonOk, buttonCancel, showPersistenceToggle);
mPermissionIcons = permissionIcons;
mPermissionText = permissionText;
mWindowAndroid = windowAndroid;
@@ -35,7 +35,6 @@ public class GroupedPermissionInfoBar extends PermissionInfoBar {
@Override
public void createContent(InfoBarLayout layout) {
- super.createContent(layout);
InfoBarControlLayout control = layout.addControlLayout();
if (mPermissionIcons.length == 1) {
@@ -47,6 +46,9 @@ public class GroupedPermissionInfoBar extends PermissionInfoBar {
R.color.light_normal_color, mPermissionText[i], i, true);
}
}
+
+ // Call this last to ensure that if a persistence toggle is added, it's added last.
+ super.createContent(layout);
}
@Override
@@ -83,6 +85,11 @@ public class GroupedPermissionInfoBar extends PermissionInfoBar {
super.onButtonClicked(isPrimaryButton);
}
+ @CalledByNative
+ protected boolean isPersistSwitchOn() {
+ return super.isPersistSwitchOn();
+ }
+
/**
* Create an infobar for a given set of permission requests.
*
@@ -94,13 +101,16 @@ public class GroupedPermissionInfoBar extends PermissionInfoBar {
* @param permissionText String to display for each permission request.
* @param windowAndroid The window which owns the infobar.
* @param contentSettings The list of ContentSettingsTypes requested by the infobar.
+ * @param showPersistenceToggle Whether or not a toggle to opt-out of persisting a decision
+ * should be displayed.
*/
@CalledByNative
private static InfoBar create(String message, String buttonOk, String buttonCancel,
int[] permissionIcons, String[] permissionText, WindowAndroid windowAndroid,
- int[] contentSettings) {
- GroupedPermissionInfoBar infobar = new GroupedPermissionInfoBar(message, buttonOk,
- buttonCancel, permissionIcons, permissionText, windowAndroid, contentSettings);
+ int[] contentSettings, boolean showPersistenceToggle) {
+ GroupedPermissionInfoBar infobar =
+ new GroupedPermissionInfoBar(message, buttonOk, buttonCancel, permissionIcons,
+ permissionText, windowAndroid, contentSettings, showPersistenceToggle);
return infobar;
}

Powered by Google App Engine
This is Rietveld 408576698