Index: chrome/browser/extensions/extension_host.cc |
diff --git a/chrome/browser/extensions/extension_host.cc b/chrome/browser/extensions/extension_host.cc |
index d370c268c555b51ae652538ac323cac0c26de36b..5a7a7ebef335df636c2e8405a1c0ce8150db047c 100644 |
--- a/chrome/browser/extensions/extension_host.cc |
+++ b/chrome/browser/extensions/extension_host.cc |
@@ -35,6 +35,8 @@ |
#include "chrome/common/extensions/extension.h" |
#include "chrome/common/extensions/extension_constants.h" |
#include "chrome/common/extensions/extension_messages.h" |
+#include "chrome/common/extensions/feature_switch.h" |
+#include "chrome/common/extensions/request_media_access_permission_helper.h" |
#include "chrome/common/render_messages.h" |
#include "chrome/common/url_constants.h" |
#include "content/public/browser/content_browser_client.h" |
@@ -640,4 +642,18 @@ void ExtensionHost::RenderViewReady() { |
content::Details<ExtensionHost>(this)); |
} |
+void ExtensionHost::RequestMediaAccessPermission( |
+ content::WebContents* web_contents, |
+ const content::MediaStreamRequest* request, |
+ const content::MediaResponseCallback& callback) { |
+ // For tab capture device, we require the tabCapture permission. |
+ RequestMediaAccessPermissionHelper::AuthorizeRequest( |
+ request, |
+ callback, |
+ false, |
+ false, |
+ FeatureSwitch::tab_capture()->IsEnabled() && |
+ extension()->HasAPIPermission(APIPermission::kTabCapture)); |
+} |
+ |
} // namespace extensions |