Chromium Code Reviews| Index: chrome/browser/permissions/permission_request_manager.cc |
| diff --git a/chrome/browser/permissions/permission_request_manager.cc b/chrome/browser/permissions/permission_request_manager.cc |
| index 494b8804e62fc2f00771613833df54b4c931a36d..2a8f1725fc4ddc0b5bafcb120218b365ad5c8629 100644 |
| --- a/chrome/browser/permissions/permission_request_manager.cc |
| +++ b/chrome/browser/permissions/permission_request_manager.cc |
| @@ -18,8 +18,13 @@ |
| #include "chrome/common/chrome_switches.h" |
| #include "content/public/browser/browser_thread.h" |
| #include "content/public/browser/navigation_handle.h" |
| +#include "device/vr/features/features.h" |
| #include "url/origin.h" |
| +#if BUILDFLAG(ENABLE_VR) && defined(OS_ANDROID) |
| +#include "chrome/browser/android/vr_shell/vr_tab_helper.h" |
| +#endif // BUILDFLAG(ENABLE_VR) && defined(OS_ANDROID) |
| + |
| namespace { |
| class CancelledRequest : public PermissionRequest { |
| @@ -136,6 +141,12 @@ void PermissionRequestManager::AddRequest(PermissionRequest* request) { |
| // TODO(tsergeant): change the UMA to no longer mention bubbles. |
| base::RecordAction(base::UserMetricsAction("PermissionBubbleRequest")); |
| + if (PermissionRequestsDisabled()) { |
| + request->PermissionDenied(); |
|
raymes
2017/07/11 01:43:23
nit: you may want to change this to Cancelled() si
raymes
2017/07/11 01:44:37
Ignore this - after I thought through it more I th
|
| + request->RequestFinished(); |
| + return; |
| + } |
| + |
| // TODO(gbillock): is there a race between an early request on a |
| // newly-navigated page and the to-be-cleaned-up requests on the previous |
| // page? We should maybe listen to DidStartNavigationToPendingEntry (and |
| @@ -533,3 +544,11 @@ void PermissionRequestManager::DoAutoResponseForTesting() { |
| NOTREACHED(); |
| } |
| } |
| + |
| +bool PermissionRequestManager::PermissionRequestsDisabled() const { |
| +#if BUILDFLAG(ENABLE_VR) && defined(OS_ANDROID) |
| + return vr_shell::VrTabHelper::IsInVr(web_contents()); |
| +#else |
| + return false; |
| +#endif |
| +} |