Chromium Code Reviews| 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 |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..3e0be873d88c7acc92e17d1b260e2248345d1457 |
| --- /dev/null |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/GroupedPermissionInfoBar.java |
| @@ -0,0 +1,58 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +package org.chromium.chrome.browser.infobar; |
| + |
| +import org.chromium.base.annotations.CalledByNative; |
| +import org.chromium.chrome.R; |
| +import org.chromium.chrome.browser.ResourceId; |
| +import org.chromium.ui.base.WindowAndroid; |
| + |
| +/** |
| + * An infobar for showing several permission requests which can be allowed or blocked. |
| + */ |
| +public class GroupedPermissionInfoBar extends ConfirmInfoBar { |
| + private final int[] mPermissionIcons; |
| + private final String[] mPermissionText; |
| + |
| + GroupedPermissionInfoBar(String message, String buttonOk, String buttonCancel, |
| + int[] permissionIcons, String[] permissionText) { |
| + super(0, null, message, null, buttonOk, buttonCancel); |
| + mPermissionIcons = permissionIcons; |
| + mPermissionText = permissionText; |
| + } |
| + |
| + @Override |
| + public void createContent(InfoBarLayout layout) { |
| + super.createContent(layout); |
| + InfoBarControlLayout control = layout.addControlLayout(); |
| + |
| + for (int i = 0; i < mPermissionIcons.length; i++) { |
|
gone
2016/04/19 19:54:32
If I'm reading this right, this is only adding the
tsergeant
2016/04/20 07:26:17
Yup, this CL only displays a list of permissions.
gone
2016/04/20 17:11:21
Acknowledged.
|
| + control.addIcon(ResourceId.mapToDrawableId(mPermissionIcons[i]), mPermissionText[i], |
| + null, R.color.light_normal_color); |
| + } |
| + } |
| + |
| + /** |
| + * Create an infobar for a given set of permission requests. |
| + * |
| + * @param message Message to display at the top of the infobar. |
| + * @param buttonOk String to display on the 'Allow' button. |
| + * @param buttonCancel String to display on the 'Block' button. |
| + * @param permissionIcons Enumerated ID (from ResourceMapper) of an icon to display next to each |
| + * permission. |
| + * @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. |
| + */ |
| + @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); |
| + infobar.setContentSettings(windowAndroid, contentSettings); |
| + return infobar; |
| + } |
| +} |