| 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 b7d3a8d33bee2115e5742aab25f7cd94b148f82d..7203c2c9dbe58c76c98e1f4aa737e4ffca505a28 100644
|
| --- a/chrome/browser/resources/vr_shell/vr_shell_ui.js
|
| +++ b/chrome/browser/resources/vr_shell/vr_shell_ui.js
|
| @@ -26,6 +26,16 @@ var vrShellUi = (function() {
|
| return !str || 0 === str.length ? '' : str;
|
| }
|
|
|
| + // Generate a two-color progress bar style background using a gradient.
|
| + function makeProgressBackground(loading, percentage, color, background) {
|
| + if (!loading) {
|
| + return background;
|
| + }
|
| + return 'linear-gradient(to right, ' + color + ' 0%, ' + color + ' ' +
|
| + percentage * 100.0 + '%, ' + background + ' ' + percentage * 100 +
|
| + '%, ' + background + ' 100%)';
|
| + }
|
| +
|
| class ContentQuad {
|
| constructor() {
|
| /** @const */ this.SCREEN_HEIGHT = 1.375;
|
| @@ -672,18 +682,9 @@ var vrShellUi = (function() {
|
| }
|
|
|
| let indicator = document.querySelector('#url-indicator-border');
|
| - if (this.loading) {
|
| - // Remap load progress range 0-100 as 5-95 percent, to avoid the
|
| - // extremities of the rounded ends of the indicator.
|
| - let percent = Math.round((this.loadProgress * 0.9 + 0.05) * 100);
|
| - let gradient = 'linear-gradient(to right, ' + this.statusBarColor +
|
| - ' 0%, ' + this.statusBarColor + ' ' + percent + '%, ' +
|
| - this.backgroundColor + ' ' + percent + '%, ' +
|
| - this.backgroundColor + ' 100%)';
|
| - indicator.style.background = gradient;
|
| - } else {
|
| - indicator.style.background = this.backgroundColor;
|
| - }
|
| + indicator.style.background = makeProgressBackground(
|
| + this.loading, this.loadProgress, this.statusBarColor,
|
| + this.backgroundColor);
|
|
|
| let shouldBeHidden =
|
| !this.loading && this.visibilityTimeout > 0 && !this.visibilityTimer;
|
| @@ -831,9 +832,16 @@ var vrShellUi = (function() {
|
| this.enabled = false;
|
|
|
| let root = document.querySelector('#omnibox-ui-element');
|
| - this.domUiElement = new DomUiElement('#omnibox-url-element');
|
| + this.domUiElement = new DomUiElement('#omnibox-border');
|
| this.inputField = root.querySelector('#omnibox-input-field');
|
|
|
| + let style = window.getComputedStyle(this.domUiElement.domElement);
|
| + this.statusBarColor = getStyleString(style, '--statusBarColor');
|
| + this.backgroundColor = style.backgroundColor;
|
| + this.loading = false;
|
| + this.loadProgress = 0;
|
| + this.updateLoadingState();
|
| +
|
| // Initially invisible.
|
| let update = new api.UiElementUpdate();
|
| update.setVisible(false);
|
| @@ -907,6 +915,24 @@ var vrShellUi = (function() {
|
| this.updateSuggestions();
|
| }
|
|
|
| + setLoading(loading) {
|
| + this.loading = loading;
|
| + this.loadProgress = 0;
|
| + this.updateLoadingState();
|
| + }
|
| +
|
| + setLoadProgress(progress) {
|
| + this.loadProgress = progress;
|
| + this.updateLoadingState();
|
| + }
|
| +
|
| + updateLoadingState() {
|
| + let indicator = document.querySelector('#omnibox-border');
|
| + indicator.style.background = makeProgressBackground(
|
| + this.loading, this.loadProgress, this.statusBarColor,
|
| + this.backgroundColor);
|
| + }
|
| +
|
| updateSuggestions() {
|
| for (var i = 0; i < this.maxSuggestions; i++) {
|
| let element = document.querySelector('#suggestion-' + i);
|
| @@ -1262,11 +1288,13 @@ var vrShellUi = (function() {
|
| /** @override */
|
| onSetLoading(loading) {
|
| this.manager.urlIndicator.setLoading(loading);
|
| + this.manager.omnibox.setLoading(loading);
|
| }
|
|
|
| /** @override */
|
| onSetLoadingProgress(progress) {
|
| this.manager.urlIndicator.setLoadProgress(progress);
|
| + this.manager.omnibox.setLoadProgress(progress);
|
| }
|
|
|
| /** @override */
|
|
|