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

Unified Diff: chrome/browser/resources/vr_shell/vr_shell_ui.js

Issue 2740013003: Exiting menu mode when content preview is clicked (Closed)
Patch Set: removing console.log Created 3 years, 9 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
« no previous file with comments | « chrome/browser/resources/vr_shell/vr_shell_ui.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/vr_shell/vr_shell_ui.js
diff --git a/chrome/browser/resources/vr_shell/vr_shell_ui.js b/chrome/browser/resources/vr_shell/vr_shell_ui.js
index b9fa59cf5b614eaf25918659e87c96b4d7af1735..a46d53d50c522cab0d3d877797bfaf041a06671a 100644
--- a/chrome/browser/resources/vr_shell/vr_shell_ui.js
+++ b/chrome/browser/resources/vr_shell/vr_shell_ui.js
@@ -39,6 +39,8 @@ var vrShellUi = (function() {
/** @const */ this.MENU_MODE_SCREEN_HEIGHT = 0.8;
/** @const */ this.MENU_MODE_SCREEN_ELEVATION = 0.2;
/** @const */ this.BACKGROUND_DISTANCE_MULTIPLIER = 1.414;
+ /** @const */ this.DOM_INTERCEPTOR_SELECTOR = '#content-interceptor';
+ /** @const */ this.DOM_INTERCEPTOR_ELEVATION = 0.1;
cjgrant 2017/03/09 20:03:00 10 cm seems big, since this quad is like a skin ov
acondor_ 2017/03/09 20:40:37 Done.
this.menuMode = false;
this.fullscreen = false;
@@ -61,6 +63,24 @@ var vrShellUi = (function() {
backPlane.setFill(new api.NoFill());
ui.addElement(backPlane);
+ // Place invisible plane on top of content quad, to intercept the clicks
+ // while on menu mode in order to exit it.
cjgrant 2017/03/09 20:03:00 optional: 'in order to exit it' - you could leave
acondor_ 2017/03/09 20:40:38 Done.
+ this.interceptor = new DomUiElement(this.DOM_INTERCEPTOR_SELECTOR);
+ let interceptorUpdate = new api.UiElementUpdate();
cjgrant 2017/03/09 20:03:00 'let update' = is sufficient, or you could reuse a
acondor_ 2017/03/09 20:40:37 Done.
+ interceptorUpdate.setTranslation(0, 0, this.DOM_INTERCEPTOR_ELEVATION);
+ interceptorUpdate.setVisible(false);
+ interceptorUpdate.setParentId(this.elementId);
+ interceptorUpdate.setSize(
+ this.MENU_MODE_SCREEN_HEIGHT * this.SCREEN_RATIO,
+ this.MENU_MODE_SCREEN_HEIGHT);
+ ui.updateElement(this.interceptor.id, interceptorUpdate);
+ let interceptorButton =
+ document.querySelector(this.DOM_INTERCEPTOR_SELECTOR);
+ interceptorButton.addEventListener('click', function() {
+ uiManager.exitMenuMode();
+ ui.flush();
+ });
+
this.updateState();
}
@@ -106,6 +126,11 @@ var vrShellUi = (function() {
distance = this.FULLSCREEN_DISTANCE;
}
+ // show/hide the interceptor.
cjgrant 2017/03/09 20:03:00 Comments should always be full sentences, ie "// S
acondor_ 2017/03/09 20:40:38 Done.
+ let interceptorUpdate = new api.UiElementUpdate();
cjgrant 2017/03/09 20:03:00 'let update' = or 'update =' is cool here too (m
acondor_ 2017/03/09 20:40:37 Done.
+ interceptorUpdate.setVisible(this.menuMode);
+ ui.updateElement(this.interceptor.id, interceptorUpdate);
+
let anim;
anim = new api.Animation(this.elementId, ANIM_DURATION);
anim.setTranslation(0, y, -distance);
@@ -938,6 +963,13 @@ var vrShellUi = (function() {
this.updateState();
}
+ exitMenuMode() {
+ if (this.menuMode) {
+ this.menuMode = false;
+ this.updateState();
+ }
+ }
+
updateState() {
/** @const */ var URL_INDICATOR_VISIBILITY_TIMEOUT_MS = 5000;
« no previous file with comments | « chrome/browser/resources/vr_shell/vr_shell_ui.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698