OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_MEDIA_MEDIA_STREAM_DEVICES_CONTROLLER_H_ | 5 #ifndef CHROME_BROWSER_MEDIA_MEDIA_STREAM_DEVICES_CONTROLLER_H_ |
6 #define CHROME_BROWSER_MEDIA_MEDIA_STREAM_DEVICES_CONTROLLER_H_ | 6 #define CHROME_BROWSER_MEDIA_MEDIA_STREAM_DEVICES_CONTROLLER_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 16 matching lines...) Expand all Loading... |
27 public: | 27 public: |
28 MediaStreamDevicesController(content::WebContents* web_contents, | 28 MediaStreamDevicesController(content::WebContents* web_contents, |
29 const content::MediaStreamRequest& request, | 29 const content::MediaStreamRequest& request, |
30 const content::MediaResponseCallback& callback); | 30 const content::MediaResponseCallback& callback); |
31 | 31 |
32 ~MediaStreamDevicesController() override; | 32 ~MediaStreamDevicesController() override; |
33 | 33 |
34 // Registers the prefs backing the audio and video policies. | 34 // Registers the prefs backing the audio and video policies. |
35 static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); | 35 static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); |
36 | 36 |
37 // Public methods to be called by MediaStreamInfoBarDelegate; | 37 bool IsAllowedForAudio() const; |
| 38 bool IsAllowedForVideo() const; |
38 bool IsAskingForAudio() const; | 39 bool IsAskingForAudio() const; |
39 bool IsAskingForVideo() const; | 40 bool IsAskingForVideo() const; |
40 const std::string& GetSecurityOriginSpec() const; | 41 const std::string& GetSecurityOriginSpec() const; |
41 | 42 |
| 43 // Forces the permissions to be denied (without being persisted) regardless |
| 44 // of what the previous state was. If the user had previously allowed the |
| 45 // site video or audio access, this ignores that and informs the site it was |
| 46 // denied. |
| 47 // |
| 48 // This differs from PermissionGranted/PermissionDenied as they only operate |
| 49 // on the permissions if they are in the ASK state. |
| 50 void ForcePermissionDeniedTemporarily(); |
| 51 |
42 // PermissionBubbleRequest: | 52 // PermissionBubbleRequest: |
43 int GetIconId() const override; | 53 int GetIconId() const override; |
44 base::string16 GetMessageText() const override; | 54 base::string16 GetMessageText() const override; |
45 base::string16 GetMessageTextFragment() const override; | 55 base::string16 GetMessageTextFragment() const override; |
46 bool HasUserGesture() const override; | 56 bool HasUserGesture() const override; |
47 GURL GetRequestingHostname() const override; | 57 GURL GetRequestingHostname() const override; |
48 void PermissionGranted() override; | 58 void PermissionGranted() override; |
49 void PermissionDenied() override; | 59 void PermissionDenied() override; |
50 void Cancelled() override; | 60 void Cancelled() override; |
51 void RequestFinished() override; | 61 void RequestFinished() override; |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 // was created. | 117 // was created. |
108 TabSpecificContentSettings* content_settings_; | 118 TabSpecificContentSettings* content_settings_; |
109 | 119 |
110 // The original request for access to devices. | 120 // The original request for access to devices. |
111 const content::MediaStreamRequest request_; | 121 const content::MediaStreamRequest request_; |
112 | 122 |
113 // The callback that needs to be Run to notify WebRTC of whether access to | 123 // The callback that needs to be Run to notify WebRTC of whether access to |
114 // audio/video devices was granted or not. | 124 // audio/video devices was granted or not. |
115 content::MediaResponseCallback callback_; | 125 content::MediaResponseCallback callback_; |
116 | 126 |
| 127 // Whether the permissions granted or denied by the user should be persisted. |
| 128 bool persist_permission_changes_; |
117 | 129 |
118 DISALLOW_COPY_AND_ASSIGN(MediaStreamDevicesController); | 130 DISALLOW_COPY_AND_ASSIGN(MediaStreamDevicesController); |
119 }; | 131 }; |
120 | 132 |
121 #endif // CHROME_BROWSER_MEDIA_MEDIA_STREAM_DEVICES_CONTROLLER_H_ | 133 #endif // CHROME_BROWSER_MEDIA_MEDIA_STREAM_DEVICES_CONTROLLER_H_ |
OLD | NEW |