Chromium Code Reviews| Index: chrome/browser/ui/browser.cc |
| diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc |
| index b6b805d0871b04b7576490e5fada056120005d8c..093e9ffaa0c3aefca9fb0a29ac9b94f4ca46ca41 100644 |
| --- a/chrome/browser/ui/browser.cc |
| +++ b/chrome/browser/ui/browser.cc |
| @@ -123,7 +123,6 @@ |
| #include "chrome/browser/ui/global_error/global_error_service_factory.h" |
| #include "chrome/browser/ui/javascript_dialogs/javascript_dialog_tab_helper.h" |
| #include "chrome/browser/ui/location_bar/location_bar.h" |
| -#include "chrome/browser/ui/media_utils.h" |
| #include "chrome/browser/ui/search/search_delegate.h" |
| #include "chrome/browser/ui/search/search_model.h" |
| #include "chrome/browser/ui/search/search_tab_helper.h" |
| @@ -262,6 +261,21 @@ bool IsFastTabUnloadEnabled() { |
| switches::kEnableFastUnload); |
| } |
| +#if BUILDFLAG(ENABLE_EXTENSIONS) |
|
Peter Kasting
2017/01/24 00:26:41
Nit: If you do this instead:
const extensions::Ex
Guido Urdaneta
2017/01/24 10:45:39
Done.
|
| +const extensions::Extension* GetExtensionForOrigin( |
| + Profile* profile, |
| + const GURL& security_origin) { |
| + if (!security_origin.SchemeIs(extensions::kExtensionScheme)) |
| + return NULL; |
|
Peter Kasting
2017/01/24 00:26:42
Nit: nullptr
Guido Urdaneta
2017/01/24 10:45:39
Done.
|
| + |
| + const extensions::Extension* extension = |
| + extensions::ExtensionRegistry::Get(profile)->enabled_extensions().GetByID( |
| + security_origin.host()); |
| + DCHECK(extension); |
| + return extension; |
| +} |
| +#endif |
| + |
| } // namespace |
| //////////////////////////////////////////////////////////////////////////////// |
| @@ -1816,13 +1830,33 @@ void Browser::RequestMediaAccessPermission( |
| content::WebContents* web_contents, |
| const content::MediaStreamRequest& request, |
| const content::MediaResponseCallback& callback) { |
| - ::RequestMediaAccessPermission(web_contents, profile_, request, callback); |
| + const extensions::Extension* extension = NULL; |
|
Peter Kasting
2017/01/24 00:26:41
Nit: Can be combined with the next line if you fol
Guido Urdaneta
2017/01/24 10:45:39
Done.
|
| +#if BUILDFLAG(ENABLE_EXTENSIONS) |
| + extension = GetExtensionForOrigin(profile_, request.security_origin); |
| +#endif |
| + MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest( |
| + web_contents, request, callback, extension); |
| } |
| bool Browser::CheckMediaAccessPermission(content::WebContents* web_contents, |
| const GURL& security_origin, |
| content::MediaStreamType type) { |
| - return ::CheckMediaAccessPermission(web_contents, security_origin, type); |
| +#if BUILDFLAG(ENABLE_EXTENSIONS) |
| + Profile* profile = |
| + Profile::FromBrowserContext(web_contents->GetBrowserContext()); |
| + const extensions::Extension* extension = |
| + GetExtensionForOrigin(profile, security_origin); |
| + if (extension) { |
| + return MediaCaptureDevicesDispatcher::GetInstance() |
| + ->CheckMediaAccessPermission(web_contents, security_origin, type, |
| + extension); |
| + } |
| + return MediaCaptureDevicesDispatcher::GetInstance() |
| + ->CheckMediaAccessPermission(web_contents, security_origin, type); |
|
Peter Kasting
2017/01/24 00:26:41
Nit: Since the four-arg version of CheckMediaAcces
Guido Urdaneta
2017/01/24 10:45:39
Done.
|
| +#else |
| + return MediaCaptureDevicesDispatcher::GetInstance() |
| + ->CheckMediaAccessPermission(web_contents, security_origin, type); |
| +#endif |
| } |
| std::string Browser::GetDefaultMediaDeviceId(content::WebContents* web_contents, |