1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file. 4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#ifndef CHROME_BROWSER_SERVICES_GCM_PUSH_MESSAGING_INFOBAR_DELEGATE_H_ 6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#define CHROME_BROWSER_SERVICES_GCM_PUSH_MESSAGING_INFOBAR_DELEGATE_H_ 7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/content_settings/permission_infobar_delegate.h" 95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "components/content_settings/core/common/content_settings_types.h" 10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass GURL; 12116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass InfoBarService; 13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 14116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace gcm { 15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Delegate to allow GCM push messages registration. 17116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PushMessagingInfoBarDelegate : public PermissionInfobarDelegate { 18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch public: 19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // Creates a Push Permission infobar and delegate and adds the infobar to 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // |infobar_service|. Returns the infobar if it was successfully added. 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch static infobars::InfoBar* Create(InfoBarService* infobar_service, 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch PermissionQueueController* controller, 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const PermissionRequestID& id, 25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const GURL& requesting_frame, 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& display_languages, 27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ContentSettingsType type); 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private: 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch PushMessagingInfoBarDelegate(PermissionQueueController* controller, 31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const PermissionRequestID& id, 32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const GURL& requesting_frame, 33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& display_languages, 34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ContentSettingsType type); 35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual ~PushMessagingInfoBarDelegate(); 36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // ConfirmInfoBarDelegate: 38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual base::string16 GetMessageText() const OVERRIDE; 39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual int GetIconID() const OVERRIDE; 40116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const GURL requesting_origin_; 42116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string display_languages_; 43116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch DISALLOW_COPY_AND_ASSIGN(PushMessagingInfoBarDelegate); 45116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}; 46116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 47116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} // namespace gcm 48116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#endif // CHROME_BROWSER_SERVICES_GCM_PUSH_MESSAGING_INFOBAR_DELEGATE_H_ 49116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 50