New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 797299 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug-Regression
Proj-XR
Proj-XR-VR



Sign in to add a comment

Clicking is not working on websites

Project Member Reported by dbbrooks@chromium.org, Dec 22 2017

Issue description

Chrome Version: 65.0.3299.3
OS: Android, N, O
Device: Pixel, Galaxy S8
VRCore: 1.12.177372015

What steps will reproduce the problem?
(1) go to reddit.com
(2) enter Chrome VR
(3) scroll and click on links and picture thumbnails

What is the expected result? clicks work

What happens instead? clicks don't work

Note that clicking in the url bar, or on the voice input icon works fine, only the content in the page doesn't work.
 
Summary: Clicking is not working on websites (was: Clicking is not working on reddit.com)
It seems this is not particular to reddit and is happening on any page.
Cc: sahel@chromium.org
Sahel, do you think this is related to your change?
a couple additional data points:

Chrome beta 64.0.3282.29 does not have this issue
Chrome canary 65.0.3301.0 has this issue
Blockedon: 797322
Blockedon: -797322
Owner: sahel@chromium.org
Status: Started (was: Untriaged)
Project Member

Comment 8 by bugdroid1@chromium.org, Dec 22 2017

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

commit 60f0922199c46b4ca5319838ab047ec45aeceda7
Author: Sahel Sharify <sahel@chromium.org>
Date: Fri Dec 22 20:36:58 2017

Fixed the regression that caused VR scrolling test to fail.

org.chromium.chrome.browser.vr_shell.VrShellControllerInputTest#testControllerScrolling
failed after landing browserside touchpad fling. The resean for this
regression is that with touchpad fling the proper event stream is
WebMouseWheelEvents from which Gesture scroll events are generated and
then a GFS event with touchpad source. However in VR while scrolling
with touchpad Gesture scroll events are directly injected to RWHI rather
than injecting WebMouseWheelEvents and then generating gesture scroll
events from them. The proper fix is to make the VR event stream similar
to the proper event stream for touchpad scrolling but meanwhile this
cl fixes the issue by handling the VR case separately.

The fix has three parts:
1- The ProgressFling is called in RWHV_Android to progress the fling. It
used to get called only on Aura for touchpad flings on chromebook.
2- is_in_gesture_scroll_ DCHECK logic in RWHI is changed for Android VR:
When a GFS with touchpad source gets handled by FlingController,
the controller sends wheel events to progress the fling. In Android VR
the is_in_gesture_scroll_ should get reset on GFS since the first wheel
event sent by the FlingController will cause a GSB generation in
MouseWheelEventQueue. This GSB generation happens since during scrolling
with touchpad the WebContentsEventForwarder directly injects gesture
scroll events to the RWHI rather than injecting wheel events. Once Motion
events are used for VR event processing this DCHECK change must get back
to what it was.
3- Input_handler_proxy used to assume that nonblocking wheel events have
always had a blocking wheel event before them. This assumption is not
valid anymore since as explained in number 2, in VR case the first wheel
event that is send by the flingController is nonblocking and it doesn't
have any wheel events prior to it since the scrolling is directly handled
by gesture scroll event injection.

TBR: dtapuska@chromium.org, tdresser@chromium.org
Bug: 797322,  797299 
Change-Id: I9ab4e8236c6fd274d84e3d571ef0fc2388ec17e1
Reviewed-on: https://chromium-review.googlesource.com/842707
Commit-Queue: Sahel Sharifymoghaddam <sahel@chromium.org>
Reviewed-by: Sahel Sharifymoghaddam <sahel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526050}
[modify] https://crrev.com/60f0922199c46b4ca5319838ab047ec45aeceda7/content/browser/renderer_host/input/fling_controller.cc
[modify] https://crrev.com/60f0922199c46b4ca5319838ab047ec45aeceda7/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/60f0922199c46b4ca5319838ab047ec45aeceda7/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/60f0922199c46b4ca5319838ab047ec45aeceda7/ui/events/blink/input_handler_proxy.cc

Comment 9 by sahel@chromium.org, Jan 2 2018

Status: Fixed (was: Started)
Project Member

Comment 10 by bugdroid1@chromium.org, Jan 3 2018

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

commit a4f3664d72558b103a0e24d718e4ef0faff17a79
Author: bsheedy <bsheedy@chromium.org>
Date: Wed Jan 03 01:46:47 2018

Add VR test for clicking on a webpage

Adds a VR instrumentation test to ensure that clicks from the Daydream
controller are actually registered on the webpage.

Bug:  797299 
Change-Id: I604918c57c403de81a8bd673420df912a7f0fa16
Reviewed-on: https://chromium-review.googlesource.com/843451
Reviewed-by: Yash Malik <ymalik@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526575}
[modify] https://crrev.com/a4f3664d72558b103a0e24d718e4ef0faff17a79/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellControllerInputTest.java
[add] https://crrev.com/a4f3664d72558b103a0e24d718e4ef0faff17a79/chrome/test/data/vr/e2e_test_files/html/test_controller_clicks_register_on_webpage.html

Labels: Test-Complete M-65

Sign in to add a comment