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 bool CanAcceptRequestUpdate() OVERRIDE;
29  virtual void Hide() OVERRIDE;
30  virtual bool IsVisible() OVERRIDE;
31
32  void Closing();
33  void Toggle(int index, bool value);
34  void Accept();
35  void Deny();
36  void SetCustomizationMode();
37
38 private:
39  views::View* anchor_view_;
40  Delegate* delegate_;
41  PermissionsBubbleDelegateView* bubble_delegate_;
42
43  DISALLOW_COPY_AND_ASSIGN(PermissionBubbleViewViews);
44};
45
46#endif  // CHROME_BROWSER_UI_VIEWS_WEBSITE_SETTINGS_PERMISSIONS_BUBBLE_VIEW_H_
47