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/content_settings/permission_infobar_delegate.h"
10 #include "components/content_settings/core/common/content_settings_types.h"
13 class PermissionQueueController
;
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
{
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
);
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 ~MidiPermissionInfoBarDelegate() override
;
39 // ConfirmInfoBarDelegate:
40 base::string16
GetMessageText() const override
;
41 int GetIconID() const override
;
43 GURL requesting_frame_
;
44 std::string display_languages_
;
46 DISALLOW_COPY_AND_ASSIGN(MidiPermissionInfoBarDelegate
);
49 #endif // CHROME_BROWSER_MEDIA_MIDI_PERMISSION_INFOBAR_DELEGATE_H_