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

Unified Diff: extensions/shell/browser/media_capture_util.cc

Issue 562263002: Check media permissions through RenderFrameHostDelegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@render_frame_get_sources
Patch Set: git cl format. Don't blame me. 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 side-by-side diff with in-line comments
Download patch
Index: extensions/shell/browser/media_capture_util.cc
diff --git a/extensions/shell/browser/media_capture_util.cc b/extensions/shell/browser/media_capture_util.cc
index 364e19df8a7c6ecc74dc971cfdb60fc61ceabe48..528439a1b42b325a7004f511b777359c54c4d3cb 100644
--- a/extensions/shell/browser/media_capture_util.cc
+++ b/extensions/shell/browser/media_capture_util.cc
@@ -77,5 +77,20 @@ void GrantMediaStreamRequest(content::WebContents* web_contents,
ui.Pass());
}
+void VerifyMediaAccessPermission(content::MediaStreamType type,
+ const Extension* extension) {
+ const PermissionsData* permissions_data = extension->permissions_data();
+ if (type == content::MEDIA_DEVICE_AUDIO_CAPTURE) {
+ // app_shell has no UI surface to show an error, and on an embedded device
+ // it's better to crash than to have a feature not work.
+ CHECK(permissions_data->HasAPIPermission(APIPermission::kAudioCapture))
+ << "Audio capture request but no audioCapture permission in manifest.";
+ } else {
+ DCHECK(type == content::MEDIA_DEVICE_VIDEO_CAPTURE);
+ CHECK(permissions_data->HasAPIPermission(APIPermission::kVideoCapture))
+ << "Video capture request but no videoCapture permission in manifest.";
+ }
+}
+
} // namespace media_capture_util
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698