Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: chrome/browser/media/media_stream_devices_controller.h

Issue 483523006: Check all settings when checking mic and camera access (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Build fix for Android. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 virtual base::string16 GetMessageText() const OVERRIDE; 77 virtual base::string16 GetMessageText() const OVERRIDE;
78 virtual base::string16 GetMessageTextFragment() const OVERRIDE; 78 virtual base::string16 GetMessageTextFragment() const OVERRIDE;
79 virtual bool HasUserGesture() const OVERRIDE; 79 virtual bool HasUserGesture() const OVERRIDE;
80 virtual GURL GetRequestingHostname() const OVERRIDE; 80 virtual GURL GetRequestingHostname() const OVERRIDE;
81 virtual void PermissionGranted() OVERRIDE; 81 virtual void PermissionGranted() OVERRIDE;
82 virtual void PermissionDenied() OVERRIDE; 82 virtual void PermissionDenied() OVERRIDE;
83 virtual void Cancelled() OVERRIDE; 83 virtual void Cancelled() OVERRIDE;
84 virtual void RequestFinished() OVERRIDE; 84 virtual void RequestFinished() OVERRIDE;
85 85
86 private: 86 private:
87 enum DevicePolicy {
88 POLICY_NOT_SET,
89 ALWAYS_DENY,
90 ALWAYS_ALLOW,
91 };
92
93 // Called by GetAudioDevicePolicy and GetVideoDevicePolicy to check
94 // the currently set capture device policy.
95 DevicePolicy GetDevicePolicy(const char* policy_name,
96 const char* whitelist_policy_name) const;
97
98 // Returns true if the origin of the request has been granted the media 87 // Returns true if the origin of the request has been granted the media
99 // access before, otherwise returns false. 88 // access before, otherwise returns false.
100 bool IsRequestAllowedByDefault() const; 89 bool IsRequestAllowedByDefault() const;
101 90
102 // Check if any device of the request has been blocked for the origin of the 91 // Check if any device of the request has been blocked for the origin of the
103 // request and clears |microphone_requested_| or |webcam_requested_| flags if 92 // request and clears |microphone_requested_| or |webcam_requested_| flags if
104 // they are not allowed anymore. Returns the number of devices that are 93 // they are not allowed anymore. Returns the number of devices that are
105 // allowed after this step. If the count reaches zero the request can be 94 // allowed after this step. If the count reaches zero the request can be
106 // denied completely, else it still has to be partially fullfilled. 95 // denied completely, else it still has to be partially fullfilled.
107 int FilterBlockedByDefaultDevices(); 96 int FilterBlockedByDefaultDevices();
108 97
109 // Returns true if the media section in content settings is set to 98 // Returns true if the media section in content settings is set to
110 // |CONTENT_SETTING_BLOCK|, otherwise returns false. 99 // |CONTENT_SETTING_BLOCK|, otherwise returns false.
111 bool IsDefaultMediaAccessBlocked() const; 100 bool IsDefaultMediaAccessBlocked() const;
112 101
113 // Returns true if the origin is a secure scheme, otherwise returns false. 102 // Returns true if the origin is a secure scheme, otherwise returns false.
114 bool IsSchemeSecure() const; 103 bool IsSchemeSecure() const;
115 104
116 // Returns true if request's origin is from internal objects like
117 // chrome://URLs, otherwise returns false.
118 bool ShouldAlwaysAllowOrigin() const;
119
120 // Sets the permission of the origin of the request. This is triggered when 105 // Sets the permission of the origin of the request. This is triggered when
121 // the users deny the request or allow the request for https sites. 106 // the users deny the request or allow the request for https sites.
122 void SetPermission(bool allowed) const; 107 void SetPermission(bool allowed) const;
123 108
124 // Notifies the content setting UI that the media stream access request or 109 // Notifies the content setting UI that the media stream access request or
125 // part of the request is accepted. 110 // part of the request is accepted.
126 void NotifyUIRequestAccepted() const; 111 void NotifyUIRequestAccepted() const;
127 112
128 // Notifies the content setting UI that the media stream access request or 113 // Notifies the content setting UI that the media stream access request or
129 // part of the request is denied. 114 // part of the request is denied.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 // passed to the tab specific content settings when the permissions have been 150 // passed to the tab specific content settings when the permissions have been
166 // resolved. Currently only used by MEDIA_DEVICE_AUDIO_CAPTURE and 151 // resolved. Currently only used by MEDIA_DEVICE_AUDIO_CAPTURE and
167 // MEDIA_DEVICE_VIDEO_CAPTURE since those are the only types that require 152 // MEDIA_DEVICE_VIDEO_CAPTURE since those are the only types that require
168 // updates in the settings. 153 // updates in the settings.
169 MediaStreamTypeSettingsMap request_permissions_; 154 MediaStreamTypeSettingsMap request_permissions_;
170 155
171 DISALLOW_COPY_AND_ASSIGN(MediaStreamDevicesController); 156 DISALLOW_COPY_AND_ASSIGN(MediaStreamDevicesController);
172 }; 157 };
173 158
174 #endif // CHROME_BROWSER_MEDIA_MEDIA_STREAM_DEVICES_CONTROLLER_H_ 159 #endif // CHROME_BROWSER_MEDIA_MEDIA_STREAM_DEVICES_CONTROLLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698