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

Unified Diff: chrome/browser/permissions/permission_request_manager.cc

Issue 2975593002: [vr] Deny permission requests in VR mode
Patch Set: . Created 3 years, 5 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: 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
+}

Powered by Google App Engine
This is Rietveld 408576698