diff options
author | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-04 18:56:04 +0000 |
---|---|---|
committer | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-04 18:56:04 +0000 |
commit | 5881037fd48219c0757e69f3b2d2d761a3a23c7b (patch) | |
tree | 1e0de76dc9b19a126d675f741b5fcae9c5f9aa1e /content | |
parent | b2c1e8e68764795835b5e5039bbe9bdd550be2d4 (diff) | |
download | chromium_src-5881037fd48219c0757e69f3b2d2d761a3a23c7b.zip chromium_src-5881037fd48219c0757e69f3b2d2d761a3a23c7b.tar.gz chromium_src-5881037fd48219c0757e69f3b2d2d761a3a23c7b.tar.bz2 |
Revert 180370
> Remove extension scheme check in MediaStreamManager.
> This is not needed since the request will be verified in MediaStreamDevicesController::HandleTabMediaRequest.
>
> TEST=TabCaptireApiTest::TabCapturePermissionsTestFlagOff
> NOTRY=true
>
> Review URL: https://codereview.chromium.org/12150003
TBR=justinlin@google.com
Review URL: https://codereview.chromium.org/12180015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180459 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/browser/renderer_host/media/media_stream_manager.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/content/browser/renderer_host/media/media_stream_manager.cc b/content/browser/renderer_host/media/media_stream_manager.cc index 3c109b0..0db4d65 100644 --- a/content/browser/renderer_host/media/media_stream_manager.cc +++ b/content/browser/renderer_host/media/media_stream_manager.cc @@ -32,6 +32,10 @@ #include "base/win/scoped_com_initializer.h" #endif +namespace { +const char kExtensionScheme[] = "chrome-extension"; +} // namespace + namespace content { // Creates a random label used to identify requests. @@ -241,17 +245,18 @@ std::string MediaStreamManager::GenerateStreamForDevice( int target_render_process_id = -1; int target_render_view_id = -1; - // We will post the request to the render view that is the target of the - // capture. + // We will post the request to the target render view, not the source (i.e. + // source is an extension, and target is the tab we want to capture). bool has_valid_device_id = WebContentsCaptureUtil::ExtractTabCaptureTarget( device_id, &target_render_process_id, &target_render_view_id); if (!has_valid_device_id || + !security_origin.SchemeIs(kExtensionScheme) || (options.audio_type != MEDIA_TAB_AUDIO_CAPTURE && options.audio_type != MEDIA_NO_SERVICE) || (options.video_type != MEDIA_TAB_VIDEO_CAPTURE && options.video_type != MEDIA_NO_SERVICE)) { - LOG(ERROR) << "Invalid request."; + LOG(ERROR) << "Invalid request or used tab capture outside extension API."; return std::string(); } |