Commit 8c2f6b3d authored by Ian Vollick's avatar Ian Vollick Committed by Commit Bot

[vr] Cancel webvr timeouts when exiting presentation

Previously, we'd leave presentation but the timeouts would still be
active. This could result in the timeout UI showing, even when using the
2D browsing UI.

Bug: 794297
Change-Id: I89ba432f00cd27ae585f15a560d5212efca8798b
Reviewed-on: https://chromium-review.googlesource.com/823155
Commit-Queue: Ian Vollick <vollick@chromium.org>
Reviewed-by: default avatarMichael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523615}
parent 1a766965
...@@ -118,6 +118,9 @@ void VrGLThread::ExitPresent() { ...@@ -118,6 +118,9 @@ void VrGLThread::ExitPresent() {
DCHECK(OnGlThread()); DCHECK(OnGlThread());
main_thread_task_runner_->PostTask( main_thread_task_runner_->PostTask(
FROM_HERE, base::Bind(&VrShell::ExitPresent, weak_vr_shell_)); FROM_HERE, base::Bind(&VrShell::ExitPresent, weak_vr_shell_));
// TODO(vollick): Ui should hang onto the appropriate pointer rather than
// bouncing through VrGLThread.
vr_shell_gl_->OnExitPresent();
} }
void VrGLThread::ExitFullscreen() { void VrGLThread::ExitFullscreen() {
......
...@@ -1084,6 +1084,11 @@ void VrShellGl::OnResume() { ...@@ -1084,6 +1084,11 @@ void VrShellGl::OnResume() {
ScheduleOrCancelWebVrFrameTimeout(); ScheduleOrCancelWebVrFrameTimeout();
} }
void VrShellGl::OnExitPresent() {
webvr_frame_timeout_.Cancel();
webvr_spinner_timeout_.Cancel();
}
void VrShellGl::SetWebVrMode(bool enabled) { void VrShellGl::SetWebVrMode(bool enabled) {
web_vr_mode_ = enabled; web_vr_mode_ = enabled;
......
...@@ -91,6 +91,7 @@ class VrShellGl : public device::mojom::VRPresentationProvider { ...@@ -91,6 +91,7 @@ class VrShellGl : public device::mojom::VRPresentationProvider {
void OnTriggerEvent(); void OnTriggerEvent();
void OnPause(); void OnPause();
void OnResume(); void OnResume();
void OnExitPresent();
base::WeakPtr<vr::BrowserUiInterface> GetBrowserUiWeakPtr(); base::WeakPtr<vr::BrowserUiInterface> GetBrowserUiWeakPtr();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment