permissions_bubble_view.h revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_UI_VIEWS_WEBSITE_SETTINGS_PERMISSIONS_BUBBLE_VIEW_H_
6#define CHROME_BROWSER_UI_VIEWS_WEBSITE_SETTINGS_PERMISSIONS_BUBBLE_VIEW_H_
7
8#include "base/compiler_specific.h"
9#include "base/macros.h"
10#include "chrome/browser/ui/website_settings/permission_bubble_view.h"
11
12namespace views {
13class View;
14}
15
16class PermissionsBubbleDelegateView;
17
18class PermissionBubbleViewViews : public PermissionBubbleView {
19 public:
20  explicit PermissionBubbleViewViews(views::View* anchor_view);
21  virtual ~PermissionBubbleViewViews();
22
23  // PermissionBubbleView:
24  virtual void SetDelegate(Delegate* delegate) OVERRIDE;
25  virtual void Show(const std::vector<PermissionBubbleRequest*>& requests,
26                    const std::vector<bool>& accept_state,
27                    bool customization_mode) OVERRIDE;
28  virtual void Hide() OVERRIDE;
29
30  void Closing();
31  void Toggle(int index, bool value);
32  void Accept();
33  void Deny();
34  void SetCustomizationMode();
35
36 private:
37  views::View* anchor_view_;
38  Delegate* delegate_;
39  PermissionsBubbleDelegateView* bubble_delegate_;
40
41  DISALLOW_COPY_AND_ASSIGN(PermissionBubbleViewViews);
42};
43
44#endif  // CHROME_BROWSER_UI_VIEWS_WEBSITE_SETTINGS_PERMISSIONS_BUBBLE_VIEW_H_
45