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.
5 #ifndef CHROME_BROWSER_MEDIA_MIDI_PERMISSION_INFOBAR_DELEGATE_H_
6 #define CHROME_BROWSER_MEDIA_MIDI_PERMISSION_INFOBAR_DELEGATE_H_
9 #include "chrome/browser/permissions/permission_infobar_delegate.h"
10 #include "components/content_settings/core/common/content_settings_types.h"
15 // MidiPermissionInfoBarDelegates are created by the
16 // MidiPermissionContext to control the display and handling of MIDI permission
17 // infobars to the user.
18 class MidiPermissionInfoBarDelegate
: public PermissionInfobarDelegate
{
20 // Creates a MIDI 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(
23 InfoBarService
* infobar_service
,
24 const GURL
& requesting_frame
,
25 const std::string
& display_languages
,
26 ContentSettingsType type
,
27 const PermissionSetCallback
& callback
);
30 MidiPermissionInfoBarDelegate(
31 const GURL
& requesting_frame
,
32 const std::string
& display_languages
,
33 ContentSettingsType type
,
34 const PermissionSetCallback
& callback
);
35 ~MidiPermissionInfoBarDelegate() override
;
37 // ConfirmInfoBarDelegate:
38 int GetIconId() const override
;
39 base::string16
GetMessageText() const override
;
41 GURL requesting_frame_
;
42 std::string display_languages_
;
44 DISALLOW_COPY_AND_ASSIGN(MidiPermissionInfoBarDelegate
);
47 #endif // CHROME_BROWSER_MEDIA_MIDI_PERMISSION_INFOBAR_DELEGATE_H_