| 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 CONTENT_PUBLIC_COMMON_MEDIA_STREAM_REQUEST_H_ | 5 #ifndef CONTENT_PUBLIC_COMMON_MEDIA_STREAM_REQUEST_H_ |
| 6 #define CONTENT_PUBLIC_COMMON_MEDIA_STREAM_REQUEST_H_ | 6 #define CONTENT_PUBLIC_COMMON_MEDIA_STREAM_REQUEST_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 | 211 |
| 212 // This is the render frame id for the renderer associated with generating | 212 // This is the render frame id for the renderer associated with generating |
| 213 // frames for a MediaStream. Any indicators associated with a capture will be | 213 // frames for a MediaStream. Any indicators associated with a capture will be |
| 214 // displayed for this renderer. | 214 // displayed for this renderer. |
| 215 int render_frame_id; | 215 int render_frame_id; |
| 216 | 216 |
| 217 // The unique id combined with render_process_id and render_frame_id for | 217 // The unique id combined with render_process_id and render_frame_id for |
| 218 // identifying this request. This is used for cancelling request. | 218 // identifying this request. This is used for cancelling request. |
| 219 int page_request_id; | 219 int page_request_id; |
| 220 | 220 |
| 221 // Used by tab capture. | |
| 222 std::string tab_capture_device_id; | |
| 223 | |
| 224 // The WebKit security origin for the current request (e.g. "html5rocks.com"). | 221 // The WebKit security origin for the current request (e.g. "html5rocks.com"). |
| 225 GURL security_origin; | 222 GURL security_origin; |
| 226 | 223 |
| 227 // Set to true if the call was made in the context of a user gesture. | 224 // Set to true if the call was made in the context of a user gesture. |
| 228 bool user_gesture; | 225 bool user_gesture; |
| 229 | 226 |
| 230 // Stores the type of request that was made to the media controller. Right now | 227 // Stores the type of request that was made to the media controller. Right now |
| 231 // this is only used to distinguish between WebRTC and Pepper requests, as the | 228 // this is only used to distinguish between WebRTC and Pepper requests, as the |
| 232 // latter should not be subject to user approval but only to policy check. | 229 // latter should not be subject to user approval but only to policy check. |
| 233 // Pepper requests are signified by the |MEDIA_OPEN_DEVICE| value. | 230 // Pepper requests are signified by the |MEDIA_OPEN_DEVICE| value. |
| 234 MediaStreamRequestType request_type; | 231 MediaStreamRequestType request_type; |
| 235 | 232 |
| 236 // Stores the requested raw device id for physical audio or video devices. | 233 // Stores the requested raw device id for physical audio or video devices. |
| 237 std::string requested_audio_device_id; | 234 std::string requested_audio_device_id; |
| 238 std::string requested_video_device_id; | 235 std::string requested_video_device_id; |
| 239 | 236 |
| 240 // Flag to indicate if the request contains audio. | 237 // Flag to indicate if the request contains audio. |
| 241 MediaStreamType audio_type; | 238 MediaStreamType audio_type; |
| 242 | 239 |
| 243 // Flag to indicate if the request contains video. | 240 // Flag to indicate if the request contains video. |
| 244 MediaStreamType video_type; | 241 MediaStreamType video_type; |
| 242 |
| 243 // True if all ancestors of the requesting frame have the same origin. |
| 244 bool all_ancestors_have_same_origin; |
| 245 }; | 245 }; |
| 246 | 246 |
| 247 // Interface used by the content layer to notify chrome about changes in the | 247 // Interface used by the content layer to notify chrome about changes in the |
| 248 // state of a media stream. Instances of this class are passed to content layer | 248 // state of a media stream. Instances of this class are passed to content layer |
| 249 // when MediaStream access is approved using MediaResponseCallback. | 249 // when MediaStream access is approved using MediaResponseCallback. |
| 250 class MediaStreamUI { | 250 class MediaStreamUI { |
| 251 public: | 251 public: |
| 252 virtual ~MediaStreamUI() {} | 252 virtual ~MediaStreamUI() {} |
| 253 | 253 |
| 254 // Called when MediaStream capturing is started. Chrome layer can call |stop| | 254 // Called when MediaStream capturing is started. Chrome layer can call |stop| |
| 255 // to stop the stream. Returns the platform-dependent window ID for the UI, or | 255 // to stop the stream. Returns the platform-dependent window ID for the UI, or |
| 256 // 0 if not applicable. | 256 // 0 if not applicable. |
| 257 virtual gfx::NativeViewId OnStarted(const base::Closure& stop) = 0; | 257 virtual gfx::NativeViewId OnStarted(const base::Closure& stop) = 0; |
| 258 }; | 258 }; |
| 259 | 259 |
| 260 // Callback used return results of media access requests. | 260 // Callback used return results of media access requests. |
| 261 typedef base::Callback<void( | 261 typedef base::Callback<void( |
| 262 const MediaStreamDevices& devices, | 262 const MediaStreamDevices& devices, |
| 263 content::MediaStreamRequestResult result, | 263 content::MediaStreamRequestResult result, |
| 264 scoped_ptr<MediaStreamUI> ui)> MediaResponseCallback; | 264 scoped_ptr<MediaStreamUI> ui)> MediaResponseCallback; |
| 265 | 265 |
| 266 } // namespace content | 266 } // namespace content |
| 267 | 267 |
| 268 #endif // CONTENT_PUBLIC_COMMON_MEDIA_STREAM_REQUEST_H_ | 268 #endif // CONTENT_PUBLIC_COMMON_MEDIA_STREAM_REQUEST_H_ |
| OLD | NEW |