summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authormpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-04 18:56:04 +0000
committermpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-04 18:56:04 +0000
commit5881037fd48219c0757e69f3b2d2d761a3a23c7b (patch)
tree1e0de76dc9b19a126d675f741b5fcae9c5f9aa1e /content
parentb2c1e8e68764795835b5e5039bbe9bdd550be2d4 (diff)
downloadchromium_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.cc11
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();
}