New issue
Advanced search Search tips

Issue 902938 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 18
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug
Proj-VR
Proj-XR
Proj-XR-VR



Sign in to add a comment

Add gesture detection to VR test input

Project Member Reported by bsheedy@chromium.org, Nov 7

Issue description

We've been slowly moving away from the emulated VR controller (VrCore-side controller emulation) towards the Chrome-side controller input mocking for testing due to the flakiness of the VrCore-side solution. At this point, the only things have haven't been switched over rely on gesture detection to work, e.g. app button presses and scrolling.

Gesture detection should be fairly easy to add with the current architecture, so we should do so and remove the last of the VrCore-side emulation usage.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 14

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b52eed52ccc3297b87781e9b8a97622a44176119

commit b52eed52ccc3297b87781e9b8a97622a44176119
Author: bsheedy <bsheedy@chromium.org>
Date: Wed Nov 14 20:39:04 2018

Add app button to VR controller test actions

Adds the ability to press the app button via the Chrome VR native
controller input code and switches all uses of app button presses over
to it. This is should fix all the flakiness we've been seeing with
the app button-related tests, as we're no longer relying on the flaky
VrCore-side controller emulation.

As a side-effect, also adds gesture detection capabilities when using
the controller input code since app button short/long presses require
it. This currently only supports button click detection, but could
be easily extended later on to support scrolling, etc.

Bug:  902938 
Change-Id: I36dcb3b0b9e34adb92ade8a1a08d0d53536148ce
Reviewed-on: https://chromium-review.googlesource.com/c/1324829
Reviewed-by: Christopher Grant <cjgrant@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608112}
[modify] https://crrev.com/b52eed52ccc3297b87781e9b8a97622a44176119/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserControllerInputTest.java
[modify] https://crrev.com/b52eed52ccc3297b87781e9b8a97622a44176119/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserTransitionTest.java
[modify] https://crrev.com/b52eed52ccc3297b87781e9b8a97622a44176119/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserWebInputEditingTest.java
[modify] https://crrev.com/b52eed52ccc3297b87781e9b8a97622a44176119/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrVrInputTest.java
[modify] https://crrev.com/b52eed52ccc3297b87781e9b8a97622a44176119/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/NativeUiUtils.java
[modify] https://crrev.com/b52eed52ccc3297b87781e9b8a97622a44176119/chrome/browser/vr/BUILD.gn
[modify] https://crrev.com/b52eed52ccc3297b87781e9b8a97622a44176119/chrome/browser/vr/input_delegate_for_testing.cc
[modify] https://crrev.com/b52eed52ccc3297b87781e9b8a97622a44176119/chrome/browser/vr/input_delegate_for_testing.h
[add] https://crrev.com/b52eed52ccc3297b87781e9b8a97622a44176119/chrome/browser/vr/platform_controller_for_testing.cc
[add] https://crrev.com/b52eed52ccc3297b87781e9b8a97622a44176119/chrome/browser/vr/platform_controller_for_testing.h
[modify] https://crrev.com/b52eed52ccc3297b87781e9b8a97622a44176119/chrome/browser/vr/ui_test_input.h

Project Member

Comment 2 by bugdroid1@chromium.org, Dec 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/06b8660d287e193fa9bf5e0ae16a13db5b2897a2

commit 06b8660d287e193fa9bf5e0ae16a13db5b2897a2
Author: bsheedy <bsheedy@chromium.org>
Date: Mon Dec 03 16:10:19 2018

Use mocked VR controller for scrolling

Switches all VR instrumentation tests for scrolling using the Daydream
controller to use the Chrome-side controller mock instead of the
VrCore-side emulation via intents. The latter has always been somewhat
flaky, so this should help reduce VR test flakiness.

Bug:  902938 
Change-Id: I560cda2129357c49bdfa3d095836e6ebd1b23da8
Reviewed-on: https://chromium-review.googlesource.com/c/1341061
Reviewed-by: Christopher Grant <cjgrant@chromium.org>
Reviewed-by: Ian Vollick <vollick@chromium.org>
Commit-Queue: Ian Vollick <vollick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613107}
[modify] https://crrev.com/06b8660d287e193fa9bf5e0ae16a13db5b2897a2/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserControllerInputTest.java
[modify] https://crrev.com/06b8660d287e193fa9bf5e0ae16a13db5b2897a2/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/NativeUiUtils.java
[modify] https://crrev.com/06b8660d287e193fa9bf5e0ae16a13db5b2897a2/chrome/browser/android/vr/android_ui_gesture_target.h
[modify] https://crrev.com/06b8660d287e193fa9bf5e0ae16a13db5b2897a2/chrome/browser/vr/input_delegate_for_testing.cc
[modify] https://crrev.com/06b8660d287e193fa9bf5e0ae16a13db5b2897a2/chrome/browser/vr/input_delegate_for_testing.h
[modify] https://crrev.com/06b8660d287e193fa9bf5e0ae16a13db5b2897a2/chrome/browser/vr/model/controller_model.cc
[modify] https://crrev.com/06b8660d287e193fa9bf5e0ae16a13db5b2897a2/chrome/browser/vr/platform_controller_for_testing.cc
[modify] https://crrev.com/06b8660d287e193fa9bf5e0ae16a13db5b2897a2/chrome/browser/vr/ui_test_input.h

Project Member

Comment 3 by bugdroid1@chromium.org, Dec 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a3222340220177bad260c365d0d17cafd372bed8

commit a3222340220177bad260c365d0d17cafd372bed8
Author: Brian Sheedy <bsheedy@chromium.org>
Date: Mon Dec 03 21:58:44 2018

Revert "Use mocked VR controller for scrolling"

This reverts commit 06b8660d287e193fa9bf5e0ae16a13db5b2897a2.

Reason for revert: Hitting DCHECK: [FATAL:latency_tracker.cc(399)] Check failed: (event_timestamp - last_event_timestamp_).InMilliseconds() >= 0

Original change's description:
> Use mocked VR controller for scrolling
> 
> Switches all VR instrumentation tests for scrolling using the Daydream
> controller to use the Chrome-side controller mock instead of the
> VrCore-side emulation via intents. The latter has always been somewhat
> flaky, so this should help reduce VR test flakiness.
> 
> Bug:  902938 
> Change-Id: I560cda2129357c49bdfa3d095836e6ebd1b23da8
> Reviewed-on: https://chromium-review.googlesource.com/c/1341061
> Reviewed-by: Christopher Grant <cjgrant@chromium.org>
> Reviewed-by: Ian Vollick <vollick@chromium.org>
> Commit-Queue: Ian Vollick <vollick@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#613107}

TBR=vollick@chromium.org,cjgrant@chromium.org,bsheedy@chromium.org

Change-Id: I40d8cf660d35a14ee4269010f5da749a2e91daad
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  902938 
Reviewed-on: https://chromium-review.googlesource.com/c/1359311
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613272}
[modify] https://crrev.com/a3222340220177bad260c365d0d17cafd372bed8/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserControllerInputTest.java
[modify] https://crrev.com/a3222340220177bad260c365d0d17cafd372bed8/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/NativeUiUtils.java
[modify] https://crrev.com/a3222340220177bad260c365d0d17cafd372bed8/chrome/browser/android/vr/android_ui_gesture_target.h
[modify] https://crrev.com/a3222340220177bad260c365d0d17cafd372bed8/chrome/browser/vr/input_delegate_for_testing.cc
[modify] https://crrev.com/a3222340220177bad260c365d0d17cafd372bed8/chrome/browser/vr/input_delegate_for_testing.h
[modify] https://crrev.com/a3222340220177bad260c365d0d17cafd372bed8/chrome/browser/vr/model/controller_model.cc
[modify] https://crrev.com/a3222340220177bad260c365d0d17cafd372bed8/chrome/browser/vr/platform_controller_for_testing.cc
[modify] https://crrev.com/a3222340220177bad260c365d0d17cafd372bed8/chrome/browser/vr/ui_test_input.h

Project Member

Comment 4 by bugdroid1@chromium.org, Dec 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f7edc1caa59c52796a6eb89bb87e967d37139520

commit f7edc1caa59c52796a6eb89bb87e967d37139520
Author: bsheedy <bsheedy@chromium.org>
Date: Tue Dec 04 00:18:05 2018

Reland "Use mocked VR controller for scrolling"

This is a reland of 06b8660d287e193fa9bf5e0ae16a13db5b2897a2

No changes made from original CL - original was reverted due to a
failing DCHECK, but it turns out that DCHECK was invalid and got
reverted.

Original change's description:
> Use mocked VR controller for scrolling
>
> Switches all VR instrumentation tests for scrolling using the Daydream
> controller to use the Chrome-side controller mock instead of the
> VrCore-side emulation via intents. The latter has always been somewhat
> flaky, so this should help reduce VR test flakiness.
>
> Bug:  902938 
> Change-Id: I560cda2129357c49bdfa3d095836e6ebd1b23da8
> Reviewed-on: https://chromium-review.googlesource.com/c/1341061
> Reviewed-by: Christopher Grant <cjgrant@chromium.org>
> Reviewed-by: Ian Vollick <vollick@chromium.org>
> Commit-Queue: Ian Vollick <vollick@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#613107}

TBR=vollick@chromium.org, cjgrant@chromium.org

Bug:  902938 
Change-Id: Ifd06d60a292f0f55e34f3c177c346d79504fde5c
Reviewed-on: https://chromium-review.googlesource.com/c/1358648
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613345}
[modify] https://crrev.com/f7edc1caa59c52796a6eb89bb87e967d37139520/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserControllerInputTest.java
[modify] https://crrev.com/f7edc1caa59c52796a6eb89bb87e967d37139520/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/NativeUiUtils.java
[modify] https://crrev.com/f7edc1caa59c52796a6eb89bb87e967d37139520/chrome/browser/android/vr/android_ui_gesture_target.h
[modify] https://crrev.com/f7edc1caa59c52796a6eb89bb87e967d37139520/chrome/browser/vr/input_delegate_for_testing.cc
[modify] https://crrev.com/f7edc1caa59c52796a6eb89bb87e967d37139520/chrome/browser/vr/input_delegate_for_testing.h
[modify] https://crrev.com/f7edc1caa59c52796a6eb89bb87e967d37139520/chrome/browser/vr/model/controller_model.cc
[modify] https://crrev.com/f7edc1caa59c52796a6eb89bb87e967d37139520/chrome/browser/vr/platform_controller_for_testing.cc
[modify] https://crrev.com/f7edc1caa59c52796a6eb89bb87e967d37139520/chrome/browser/vr/ui_test_input.h

Status: Fixed (was: Assigned)

Sign in to add a comment