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

Unified Diff: device/vr/android/gvr/gvr_device_provider.cc

Issue 2471433002: Implement WebVR presentation pausing for VR Shell Menu Mode (Closed)
Patch Set: Add comments to VRDisplay Created 4 years, 1 month 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: device/vr/android/gvr/gvr_device_provider.cc
diff --git a/device/vr/android/gvr/gvr_device_provider.cc b/device/vr/android/gvr/gvr_device_provider.cc
index 8a3637d25902a91e6e08143cae45ada582d26a32..b206baf6f56831cdae16dce84136c04ad65a0bf8 100644
--- a/device/vr/android/gvr/gvr_device_provider.cc
+++ b/device/vr/android/gvr/gvr_device_provider.cc
@@ -56,6 +56,7 @@ void GvrDeviceProvider::Initialize() {
}
bool GvrDeviceProvider::RequestPresent() {
+ DCHECK(main_thread_task_runner_->BelongsToCurrentThread());
device::GvrDelegateProvider* delegate_provider =
device::GvrDelegateProvider::GetInstance();
if (!delegate_provider)
@@ -86,9 +87,8 @@ void GvrDeviceProvider::ExitPresent() {
void GvrDeviceProvider::OnGvrDelegateReady(GvrDelegate* delegate) {
main_thread_task_runner_->PostTask(
- FROM_HERE,
- base::Bind(&GvrDeviceProvider::GvrDelegateReady, base::Unretained(this),
- base::Unretained(delegate)));
+ FROM_HERE, base::Bind(&GvrDeviceProvider::GvrDelegateReady, this,
+ base::Unretained(delegate)));
}
void GvrDeviceProvider::OnGvrDelegateRemoved() {
@@ -98,6 +98,28 @@ void GvrDeviceProvider::OnGvrDelegateRemoved() {
ExitPresent();
}
+void GvrDeviceProvider::OnDisplayBlur() {
+ if (!main_thread_task_runner_->BelongsToCurrentThread()) {
+ main_thread_task_runner_->PostTask(
+ FROM_HERE, base::Bind(&GvrDeviceProvider::OnDisplayBlur, this));
+ return;
+ }
+ if (!vr_device_)
+ return;
+ vr_device_->OnDisplayBlur();
+}
+
+void GvrDeviceProvider::OnDisplayFocus() {
+ if (!main_thread_task_runner_->BelongsToCurrentThread()) {
+ main_thread_task_runner_->PostTask(
+ FROM_HERE, base::Bind(&GvrDeviceProvider::OnDisplayFocus, this));
+ return;
+ }
+ if (!vr_device_)
+ return;
+ vr_device_->OnDisplayFocus();
+}
+
void GvrDeviceProvider::GvrDelegateReady(GvrDelegate* delegate) {
DCHECK(main_thread_task_runner_->BelongsToCurrentThread());

Powered by Google App Engine
This is Rietveld 408576698