OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_GEOLOCATION_GEOLOCATION_INFOBAR_DELEGATE_H_ | 5 #ifndef CHROME_BROWSER_MEDIA_MIDI_PERMISSION_INFOBAR_DELEGATE_H_ |
6 #define CHROME_BROWSER_GEOLOCATION_GEOLOCATION_INFOBAR_DELEGATE_H_ | 6 #define CHROME_BROWSER_MEDIA_MIDI_PERMISSION_INFOBAR_DELEGATE_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "chrome/browser/content_settings/permission_request_id.h" | 10 #include "chrome/browser/content_settings/permission_request_id.h" |
11 #include "chrome/browser/infobars/confirm_infobar_delegate.h" | 11 #include "chrome/browser/infobars/confirm_infobar_delegate.h" |
12 #include "url/gurl.h" | 12 #include "url/gurl.h" |
13 | 13 |
14 | |
scherkus (not reviewing)
2013/07/31 18:09:55
remove extra line
Takashi Toyoshima
2013/08/01 08:27:38
Done.
| |
14 class PermissionQueueController; | 15 class PermissionQueueController; |
15 class InfoBarService; | 16 class InfoBarService; |
16 | 17 |
17 // GeolocationInfoBarDelegates are created by the | 18 // TODO(toyoshim): Much more code can be shared with GeolocationInfoBarDelegate. |
scherkus (not reviewing)
2013/07/31 18:09:55
do we have a bug for this?
Takashi Toyoshima
2013/08/01 08:27:38
Done.
| |
18 // GeolocationInfoBarQueueController to control the display | 19 |
19 // and handling of geolocation permission infobars to the user. | 20 // MIDIPermissionInfoBarDelegates are created by the |
20 class GeolocationInfoBarDelegate : public ConfirmInfoBarDelegate { | 21 // ChromeMIDIPermissionContext to control the display and handling of MIDI |
22 // permission infobars to the user. | |
23 class MIDIPermissionInfoBarDelegate : public ConfirmInfoBarDelegate { | |
21 public: | 24 public: |
22 // Creates a geolocation infobar delegate and adds it to |infobar_service|. | 25 // Creates a infobar delegate and adds it to |infobar_service|. |
23 // Returns the delegate if it was successfully added. | 26 // Returns the delegate if it was successfully added. |
24 static InfoBarDelegate* Create(InfoBarService* infobar_service, | 27 static InfoBarDelegate* Create(InfoBarService* infobar_service, |
25 PermissionQueueController* controller, | 28 PermissionQueueController* controller, |
26 const PermissionRequestID& id, | 29 const PermissionRequestID& id, |
27 const GURL& requesting_frame, | 30 const GURL& requesting_frame, |
28 const std::string& display_languages); | 31 const std::string& display_languages); |
29 | 32 |
30 protected: | 33 protected: |
31 GeolocationInfoBarDelegate(InfoBarService* infobar_service, | 34 MIDIPermissionInfoBarDelegate(InfoBarService* infobar_service, |
32 PermissionQueueController* controller, | 35 PermissionQueueController* controller, |
33 const PermissionRequestID& id, | 36 const PermissionRequestID& id, |
34 const GURL& requesting_frame, | 37 const GURL& requesting_frame, |
35 int contents_unique_id, | 38 const std::string& display_languages); |
36 const std::string& display_languages); | |
37 virtual ~GeolocationInfoBarDelegate(); | |
38 | |
39 // ConfirmInfoBarDelegate: | |
40 virtual bool Accept() OVERRIDE; | |
41 | |
42 // Call back to the controller, to inform of the user's decision. | |
43 void SetPermission(bool update_content_setting, bool allowed); | |
44 | 39 |
45 private: | 40 private: |
46 // ConfirmInfoBarDelegate: | 41 // ConfirmInfoBarDelegate: |
47 virtual int GetIconID() const OVERRIDE; | 42 virtual int GetIconID() const OVERRIDE; |
48 virtual Type GetInfoBarType() const OVERRIDE; | 43 virtual Type GetInfoBarType() const OVERRIDE; |
49 virtual bool ShouldExpireInternal( | 44 virtual bool ShouldExpireInternal( |
50 const content::LoadCommittedDetails& details) const OVERRIDE; | 45 const content::LoadCommittedDetails& details) const OVERRIDE; |
51 virtual string16 GetMessageText() const OVERRIDE; | 46 virtual string16 GetMessageText() const OVERRIDE; |
52 virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE; | 47 virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE; |
48 virtual bool Accept() OVERRIDE; | |
53 virtual bool Cancel() OVERRIDE; | 49 virtual bool Cancel() OVERRIDE; |
54 virtual string16 GetLinkText() const OVERRIDE; | |
55 virtual bool LinkClicked(WindowOpenDisposition disposition) OVERRIDE; | |
56 | 50 |
51 // Call back to the controller, to inform of the user's decision. | |
scherkus (not reviewing)
2013/07/31 18:09:55
s/Call back/Callback/
s/controller, to/controller
Takashi Toyoshima
2013/08/01 08:27:38
Done.
| |
52 void SetPermission(bool update_content_setting, bool allowed); | |
53 | |
54 private: | |
57 PermissionQueueController* controller_; | 55 PermissionQueueController* controller_; |
58 const PermissionRequestID id_; | 56 const PermissionRequestID id_; |
59 GURL requesting_frame_; | 57 GURL requesting_frame_; |
60 int contents_unique_id_; | 58 int contents_unique_id_; |
61 std::string display_languages_; | 59 std::string display_languages_; |
62 | 60 |
63 DISALLOW_COPY_AND_ASSIGN(GeolocationInfoBarDelegate); | 61 DISALLOW_COPY_AND_ASSIGN(MIDIPermissionInfoBarDelegate); |
64 }; | 62 }; |
65 | 63 |
66 #endif // CHROME_BROWSER_GEOLOCATION_GEOLOCATION_INFOBAR_DELEGATE_H_ | 64 #endif // CHROME_BROWSER_MEDIA_MIDI_PERMISSION_INFOBAR_DELEGATE_H_ |
OLD | NEW |