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

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

Issue 2332663002: Revert of 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: Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.infobar; 5 package org.chromium.chrome.browser.infobar;
6 6
7 import android.support.v7.widget.SwitchCompat; 7 import android.support.v7.widget.SwitchCompat;
8 8
9 import org.chromium.base.annotations.CalledByNative; 9 import org.chromium.base.annotations.CalledByNative;
10 import org.chromium.chrome.R; 10 import org.chromium.chrome.R;
11 import org.chromium.chrome.browser.ResourceId; 11 import org.chromium.chrome.browser.ResourceId;
12 import org.chromium.chrome.browser.tab.Tab; 12 import org.chromium.chrome.browser.tab.Tab;
13 import org.chromium.ui.base.WindowAndroid; 13 import org.chromium.ui.base.WindowAndroid;
14 14
15 import java.util.ArrayList; 15 import java.util.ArrayList;
16 16
17 /** 17 /**
18 * An infobar for showing several permission requests which can be allowed or bl ocked. 18 * An infobar for showing several permission requests which can be allowed or bl ocked.
19 */ 19 */
20 public class GroupedPermissionInfoBar extends PermissionInfoBar { 20 public class GroupedPermissionInfoBar extends PermissionInfoBar {
21 private final int[] mPermissionIcons; 21 private final int[] mPermissionIcons;
22 private final String[] mPermissionText; 22 private final String[] mPermissionText;
23 private final int[] mContentSettings; 23 private final int[] mContentSettings;
24 private long mNativeGroupedPermissionInfoBar; 24 private long mNativeGroupedPermissionInfoBar;
25 25
26 private WindowAndroid mWindowAndroid; 26 private WindowAndroid mWindowAndroid;
27 27
28 GroupedPermissionInfoBar(String message, String buttonOk, String buttonCance l, 28 GroupedPermissionInfoBar(String message, String buttonOk, String buttonCance l,
29 int[] permissionIcons, String[] permissionText, WindowAndroid window Android, 29 int[] permissionIcons, String[] permissionText, WindowAndroid window Android,
30 int[] contentSettings, boolean showPersistenceToggle) { 30 int[] contentSettings) {
31 super(0, null, message, null, buttonOk, buttonCancel, showPersistenceTog gle); 31 super(0, null, message, null, buttonOk, buttonCancel);
32 mPermissionIcons = permissionIcons; 32 mPermissionIcons = permissionIcons;
33 mPermissionText = permissionText; 33 mPermissionText = permissionText;
34 mWindowAndroid = windowAndroid; 34 mWindowAndroid = windowAndroid;
35 mContentSettings = contentSettings; 35 mContentSettings = contentSettings;
36 } 36 }
37 37
38 @Override 38 @Override
39 public void createContent(InfoBarLayout layout) { 39 public void createContent(InfoBarLayout layout) {
40 super.createContent(layout);
40 InfoBarControlLayout control = layout.addControlLayout(); 41 InfoBarControlLayout control = layout.addControlLayout();
41 42
42 if (mPermissionIcons.length == 1) { 43 if (mPermissionIcons.length == 1) {
43 control.addIcon(ResourceId.mapToDrawableId(mPermissionIcons[0]), 44 control.addIcon(ResourceId.mapToDrawableId(mPermissionIcons[0]),
44 R.color.light_normal_color, mPermissionText[0], null); 45 R.color.light_normal_color, mPermissionText[0], null);
45 } else { 46 } else {
46 for (int i = 0; i < mPermissionIcons.length; i++) { 47 for (int i = 0; i < mPermissionIcons.length; i++) {
47 control.addSwitch(ResourceId.mapToDrawableId(mPermissionIcons[i] ), 48 control.addSwitch(ResourceId.mapToDrawableId(mPermissionIcons[i] ),
48 R.color.light_normal_color, mPermissionText[i], i, true) ; 49 R.color.light_normal_color, mPermissionText[i], i, true) ;
49 } 50 }
50 } 51 }
51
52 // Call this last to ensure that if a persistence toggle is added, it's added last.
53 super.createContent(layout);
54 } 52 }
55 53
56 @Override 54 @Override
57 public void onTabReparented(Tab tab) { 55 public void onTabReparented(Tab tab) {
58 mWindowAndroid = tab.getWindowAndroid(); 56 mWindowAndroid = tab.getWindowAndroid();
59 } 57 }
60 58
61 @Override 59 @Override
62 public void onButtonClicked(final boolean isPrimaryButton) { 60 public void onButtonClicked(final boolean isPrimaryButton) {
63 if (isPrimaryButton) { 61 if (isPrimaryButton) {
(...skipping 21 matching lines...) Expand all
85 } 83 }
86 84
87 if (mNativeGroupedPermissionInfoBar != 0) { 85 if (mNativeGroupedPermissionInfoBar != 0) {
88 nativeSetPermissionState(mNativeGroupedPermissionInfoBar, toggle Status); 86 nativeSetPermissionState(mNativeGroupedPermissionInfoBar, toggle Status);
89 setContentSettings(mWindowAndroid, selectedArray); 87 setContentSettings(mWindowAndroid, selectedArray);
90 } 88 }
91 } 89 }
92 super.onButtonClicked(isPrimaryButton); 90 super.onButtonClicked(isPrimaryButton);
93 } 91 }
94 92
95 @CalledByNative
96 protected boolean isPersistSwitchOn() {
97 return super.isPersistSwitchOn();
98 }
99
100 /** 93 /**
101 * Create an infobar for a given set of permission requests. 94 * Create an infobar for a given set of permission requests.
102 * 95 *
103 * @param message Message to display at the top of the infobar. 96 * @param message Message to display at the top of the infobar.
104 * @param buttonOk String to display on the 'Allow' button. 97 * @param buttonOk String to display on the 'Allow' button.
105 * @param buttonCancel String to display on the 'Block' button. 98 * @param buttonCancel String to display on the 'Block' button.
106 * @param permissionIcons Enumerated ID (from ResourceMapper) of an icon to display next to each 99 * @param permissionIcons Enumerated ID (from ResourceMapper) of an icon to display next to each
107 * permission. 100 * permission.
108 * @param permissionText String to display for each permission request. 101 * @param permissionText String to display for each permission request.
109 * @param windowAndroid The window which owns the infobar. 102 * @param windowAndroid The window which owns the infobar.
110 * @param contentSettings The list of ContentSettingsTypes requested by the infobar. 103 * @param contentSettings The list of ContentSettingsTypes requested by the infobar.
111 * @param showPersistenceToggle Whether or not a toggle to opt-out of persis ting a decision
112 * should be displayed.
113 */ 104 */
114 @CalledByNative 105 @CalledByNative
115 private static InfoBar create(String message, String buttonOk, String button Cancel, 106 private static InfoBar create(String message, String buttonOk, String button Cancel,
116 int[] permissionIcons, String[] permissionText, WindowAndroid window Android, 107 int[] permissionIcons, String[] permissionText, WindowAndroid window Android,
117 int[] contentSettings, boolean showPersistenceToggle) { 108 int[] contentSettings) {
118 GroupedPermissionInfoBar infobar = 109 GroupedPermissionInfoBar infobar = new GroupedPermissionInfoBar(message, buttonOk,
119 new GroupedPermissionInfoBar(message, buttonOk, buttonCancel, pe rmissionIcons, 110 buttonCancel, permissionIcons, permissionText, windowAndroid, co ntentSettings);
120 permissionText, windowAndroid, contentSettings, showPers istenceToggle);
121 return infobar; 111 return infobar;
122 } 112 }
123 113
124 @CalledByNative 114 @CalledByNative
125 private void setNativePtr(long nativePtr) { 115 private void setNativePtr(long nativePtr) {
126 mNativeGroupedPermissionInfoBar = nativePtr; 116 mNativeGroupedPermissionInfoBar = nativePtr;
127 } 117 }
128 118
129 @Override 119 @Override
130 protected void onNativeDestroyed() { 120 protected void onNativeDestroyed() {
131 mNativeGroupedPermissionInfoBar = 0; 121 mNativeGroupedPermissionInfoBar = 0;
132 super.onNativeDestroyed(); 122 super.onNativeDestroyed();
133 } 123 }
134 124
135 private native void nativeSetPermissionState( 125 private native void nativeSetPermissionState(
136 long nativeGroupedPermissionInfoBar, boolean[] permissions); 126 long nativeGroupedPermissionInfoBar, boolean[] permissions);
137 } 127 }
OLDNEW
« no previous file with comments | « chrome/android/BUILD.gn ('k') | chrome/android/java/src/org/chromium/chrome/browser/infobar/PermissionInfoBar.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698