Home | History | Annotate | Download | only in gcm
      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_SERVICES_GCM_PUSH_MESSAGING_INFOBAR_DELEGATE_H_
      6 #define CHROME_BROWSER_SERVICES_GCM_PUSH_MESSAGING_INFOBAR_DELEGATE_H_
      7 
      8 #include "chrome/browser/content_settings/permission_infobar_delegate.h"
      9 #include "components/content_settings/core/common/content_settings_types.h"
     10 
     11 class GURL;
     12 class InfoBarService;
     13 
     14 namespace gcm {
     15 
     16 // Delegate to allow GCM push messages registration.
     17 class PushMessagingInfoBarDelegate : public PermissionInfobarDelegate {
     18  public:
     19 
     20   // Creates a Push Permission infobar and delegate and adds the infobar to
     21   // |infobar_service|.  Returns the infobar if it was successfully added.
     22   static infobars::InfoBar* Create(InfoBarService* infobar_service,
     23                                    PermissionQueueController* controller,
     24                                    const PermissionRequestID& id,
     25                                    const GURL& requesting_frame,
     26                                    const std::string& display_languages,
     27                                    ContentSettingsType type);
     28 
     29  private:
     30   PushMessagingInfoBarDelegate(PermissionQueueController* controller,
     31                                const PermissionRequestID& id,
     32                                const GURL& requesting_frame,
     33                                const std::string& display_languages,
     34                                ContentSettingsType type);
     35   virtual ~PushMessagingInfoBarDelegate();
     36 
     37   // ConfirmInfoBarDelegate:
     38   virtual base::string16 GetMessageText() const OVERRIDE;
     39   virtual int GetIconID() const OVERRIDE;
     40 
     41   const GURL requesting_origin_;
     42   const std::string display_languages_;
     43 
     44   DISALLOW_COPY_AND_ASSIGN(PushMessagingInfoBarDelegate);
     45 };
     46 
     47 }  // namespace gcm
     48 #endif  // CHROME_BROWSER_SERVICES_GCM_PUSH_MESSAGING_INFOBAR_DELEGATE_H_
     49 
     50