Home | History | Annotate | Download | only in media
      1 // Copyright 2013 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_MEDIA_MIDI_PERMISSION_INFOBAR_DELEGATE_H_
      6 #define CHROME_BROWSER_MEDIA_MIDI_PERMISSION_INFOBAR_DELEGATE_H_
      7 
      8 #include <string>
      9 #include "chrome/browser/content_settings/permission_infobar_delegate.h"
     10 #include "components/content_settings/core/common/content_settings_types.h"
     11 
     12 class GURL;
     13 class PermissionQueueController;
     14 class InfoBarService;
     15 
     16 // MidiPermissionInfoBarDelegates are created by the
     17 // MidiPermissionContext to control the display and handling of MIDI permission
     18 // infobars to the user.
     19 class MidiPermissionInfoBarDelegate : public PermissionInfobarDelegate {
     20  public:
     21   // Creates a MIDI permission infobar and delegate and adds the infobar to
     22   // |infobar_service|.  Returns the infobar if it was successfully added.
     23   static infobars::InfoBar* Create(InfoBarService* infobar_service,
     24                                    PermissionQueueController* controller,
     25                                    const PermissionRequestID& id,
     26                                    const GURL& requesting_frame,
     27                                    const std::string& display_languages,
     28                                    ContentSettingsType type);
     29 
     30  private:
     31   MidiPermissionInfoBarDelegate(PermissionQueueController* controller,
     32                                 const PermissionRequestID& id,
     33                                 const GURL& requesting_frame,
     34                                 int contents_unique_id,
     35                                 const std::string& display_languages,
     36                                 ContentSettingsType type);
     37   virtual ~MidiPermissionInfoBarDelegate();
     38 
     39   // ConfirmInfoBarDelegate:
     40   virtual base::string16 GetMessageText() const OVERRIDE;
     41   virtual int GetIconID() const OVERRIDE;
     42 
     43   GURL requesting_frame_;
     44   std::string display_languages_;
     45 
     46   DISALLOW_COPY_AND_ASSIGN(MidiPermissionInfoBarDelegate);
     47 };
     48 
     49 #endif  // CHROME_BROWSER_MEDIA_MIDI_PERMISSION_INFOBAR_DELEGATE_H_
     50