Add a Notification Settings Button to all web notifications behind the web platform...
[chromium-blink-merge.git] / chrome / browser / notifications / notification_permission_infobar_delegate.h
blobf541631aff15489c4aebb5a0bc3f2830a02e8f8c
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.
5 #ifndef CHROME_BROWSER_NOTIFICATIONS_NOTIFICATION_PERMISSION_INFOBAR_DELEGATE_H_
6 #define CHROME_BROWSER_NOTIFICATIONS_NOTIFICATION_PERMISSION_INFOBAR_DELEGATE_H_
8 #include <string>
10 #include "chrome/browser/permissions/permission_infobar_delegate.h"
12 class NotificationPermissionInfobarDelegate : public PermissionInfobarDelegate {
13 public:
14 // Creates a Notification permission infobar and delegate and adds the
15 // infobar to |infobar_service|. Returns the infobar if it was successfully
16 // added.
17 static infobars::InfoBar* Create(
18 InfoBarService* infobar_service,
19 const GURL& requesting_frame,
20 const std::string& display_languages,
21 const PermissionSetCallback& callback);
22 private:
23 NotificationPermissionInfobarDelegate(
24 const GURL& requesting_frame,
25 const std::string& display_languages,
26 const PermissionSetCallback& callback);
27 ~NotificationPermissionInfobarDelegate() override;
29 // PermissionInfoBarDelegate:
30 int GetIconId() const override;
31 base::string16 GetMessageText() const override;
33 GURL requesting_frame_;
34 std::string display_languages_;
36 DISALLOW_COPY_AND_ASSIGN(NotificationPermissionInfobarDelegate);
39 #endif // CHROME_BROWSER_NOTIFICATIONS_NOTIFICATION_PERMISSION_INFOBAR_DELEGATE_H_