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_NOTIFICATIONS_DESKTOP_NOTIFICATION_INFOBAR_DELEGATE_H_ 6#define CHROME_BROWSER_NOTIFICATIONS_DESKTOP_NOTIFICATION_INFOBAR_DELEGATE_H_ 7 8#include <string> 9 10#include "chrome/browser/content_settings/permission_infobar_delegate.h" 11 12class DesktopNotificationInfoBarDelegate : public PermissionInfobarDelegate { 13 public: 14 // Creates a Notification permission infobar and delegate and adds the 15 // infobar to |infobar_service|. 16 // Returns the infobar if it was successfully added. 17 static infobars::InfoBar* Create(InfoBarService* infobar_service, 18 PermissionQueueController* controller, 19 const PermissionRequestID& id, 20 const GURL& requesting_frame, 21 const std::string& display_languages); 22 private: 23 DesktopNotificationInfoBarDelegate(PermissionQueueController* controller, 24 const PermissionRequestID& id, 25 const GURL& requesting_frame, 26 int contents_unique_id, 27 const std::string& display_languages); 28 virtual ~DesktopNotificationInfoBarDelegate(); 29 30 // PermissionInfoBarDelegate: 31 virtual base::string16 GetMessageText() const OVERRIDE; 32 virtual int GetIconID() const OVERRIDE; 33 34 GURL requesting_frame_; 35 std::string display_languages_; 36 37 DISALLOW_COPY_AND_ASSIGN(DesktopNotificationInfoBarDelegate); 38}; 39 40#endif // CHROME_BROWSER_NOTIFICATIONS_DESKTOP_NOTIFICATION_INFOBAR_DELEGATE_H_ 41