| Index: chrome/browser/permissions/grouped_permission_infobar_delegate_android.h
|
| diff --git a/chrome/browser/permissions/grouped_permission_infobar_delegate.h b/chrome/browser/permissions/grouped_permission_infobar_delegate_android.h
|
| similarity index 56%
|
| rename from chrome/browser/permissions/grouped_permission_infobar_delegate.h
|
| rename to chrome/browser/permissions/grouped_permission_infobar_delegate_android.h
|
| index 70dc48d5dbf3c514d40cca8242c8411a79097512..7e48c6c77705da0f942c444cf509f64c377a01eb 100644
|
| --- a/chrome/browser/permissions/grouped_permission_infobar_delegate.h
|
| +++ b/chrome/browser/permissions/grouped_permission_infobar_delegate_android.h
|
| @@ -2,8 +2,8 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CHROME_BROWSER_PERMISSIONS_GROUPED_PERMISSION_INFOBAR_DELEGATE_H_
|
| -#define CHROME_BROWSER_PERMISSIONS_GROUPED_PERMISSION_INFOBAR_DELEGATE_H_
|
| +#ifndef CHROME_BROWSER_PERMISSIONS_GROUPED_PERMISSION_INFOBAR_DELEGATE_ANDROID_H_
|
| +#define CHROME_BROWSER_PERMISSIONS_GROUPED_PERMISSION_INFOBAR_DELEGATE_ANDROID_H_
|
|
|
| #include <memory>
|
|
|
| @@ -14,56 +14,60 @@
|
| class GURL;
|
| class InfoBarService;
|
|
|
| -namespace infobars {
|
| -class InfoBarManager;
|
| -}
|
| -
|
| -// Configures an InfoBar to display a group of permission requests, each of
|
| -// which can be allowed or blocked independently.
|
| +// An InfoBar that displays a group of permission requests, each of which can be
|
| +// allowed or blocked independently.
|
| // TODO(tsergeant): Expand this class so it can be used without subclassing.
|
| class GroupedPermissionInfoBarDelegate : public ConfirmInfoBarDelegate {
|
| public:
|
| - // Implementation is in platform-specific infobar file.
|
| - static std::unique_ptr<infobars::InfoBar> CreateInfoBar(
|
| - infobars::InfoBarManager* infobar_manager,
|
| - std::unique_ptr<GroupedPermissionInfoBarDelegate> delegate);
|
| + // Public so we can have std::unique_ptr<GroupedPermissionInfoBarDelegate>.
|
| + ~GroupedPermissionInfoBarDelegate() override;
|
|
|
| - GroupedPermissionInfoBarDelegate(
|
| + static infobars::InfoBar* Create(
|
| + InfoBarService* infobar_service,
|
| const GURL& requesting_origin,
|
| const std::vector<ContentSettingsType>& types);
|
| - ~GroupedPermissionInfoBarDelegate() override;
|
|
|
| - bool ShouldShowPersistenceToggle() const;
|
| bool persist() const { return persist_; }
|
| void set_persist(bool persist) { persist_ = persist; }
|
| + size_t permission_count() const { return types_.size(); }
|
|
|
| - base::string16 GetMessageText() const override;
|
| + // Returns true if the infobar should display a toggle to allow users to
|
| + // opt-out of persisting their accept/deny decision.
|
| + bool ShouldShowPersistenceToggle() const;
|
| +
|
| + ContentSettingsType GetContentSettingType(size_t position) const;
|
| + int GetIconIdForPermission(size_t position) const;
|
|
|
| - int GetPermissionCount() const;
|
| - ContentSettingsType GetContentSettingType(int index) const;
|
| - int GetIconIdForPermission(int index) const;
|
| - // Message text to display for an individual permission at |index|.
|
| - base::string16 GetMessageTextFragment(int index) const;
|
| + // Message text to display for an individual permission at |position|.
|
| + base::string16 GetMessageTextFragment(size_t position) const;
|
|
|
| - void ToggleAccept(int position, bool new_value);
|
| + // Toggle accept value for an individual permission at |position|.
|
| + void ToggleAccept(size_t position, bool new_value);
|
| +
|
| + // ConfirmInfoBarDelegate:
|
| + base::string16 GetMessageText() const override;
|
|
|
| protected:
|
| - bool GetAcceptState(int position);
|
| + bool GetAcceptState(size_t position);
|
|
|
| private:
|
| - // ConfirmInfoBarDelegate:
|
| - base::string16 GetButtonLabel(InfoBarButton button) const override;
|
| - int GetButtons() const override;
|
| + GroupedPermissionInfoBarDelegate(
|
| + const GURL& requesting_origin,
|
| + const std::vector<ContentSettingsType>& types);
|
|
|
| - // InfoBarDelegate:
|
| + // ConfirmInfoBarDelegate:
|
| + InfoBarIdentifier GetIdentifier() const override;
|
| Type GetInfoBarType() const override;
|
| + int GetButtons() const override;
|
| + base::string16 GetButtonLabel(InfoBarButton button) const override;
|
|
|
| const GURL requesting_origin_;
|
| const std::vector<ContentSettingsType> types_;
|
| std::vector<bool> accept_states_;
|
| + // Whether the accept/deny decision is persisted.
|
| bool persist_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(GroupedPermissionInfoBarDelegate);
|
| };
|
|
|
| -#endif // CHROME_BROWSER_PERMISSIONS_GROUPED_PERMISSION_INFOBAR_DELEGATE_H_
|
| +#endif // CHROME_BROWSER_PERMISSIONS_GROUPED_PERMISSION_INFOBAR_DELEGATE_ANDROID_H_
|
|
|