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

Issue 825695 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Regression: can't double-click web contents in Mus

Project Member Reported by sashab@chromium.org, Mar 26 2018

Issue description

Works in version: 64.0.3282.190
Broken in version: ToT (67.0.3380.0)

What steps will reproduce the problem?
(1) Open the Files app
(2) Go to the Drive folder
(3) Make a new folder
(4) Double-click to open the folder

What is the expected result?
The folder opens

What happens instead?
Nothing happens. You can still open the folder by clicking it on the left

Please use labels and text to provide additional information.


For graphics-related bugs, please copy/paste the contents of the about:gpu
page at the end of this report.

 

Comment 1 Deleted

Comment 2 by sashab@chromium.org, Mar 26 2018

Did bisect and identified culprit CL.
https://chromium-review.googlesource.com/c/chromium/src/+/970913#message-f05f39fefb41a1ef75b1d79a52b744f74df72538
Assigning to sky@ for investigation.

Comment 3 by sky@chromium.org, Mar 26 2018

Cc: msw@chromium.org sky@chromium.org
 Issue 825821  has been merged into this issue.

Comment 4 by sky@chromium.org, Mar 26 2018

Owner: msw@chromium.org

Comment 5 by sashab@chromium.org, Mar 27 2018

 Issue 826134  has been merged into this issue.
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 27 2018

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

commit 10327b48a45b58235298f7cbe6c3b0e72fc7a3eb
Author: Mike Wasserman <msw@chromium.org>
Date: Tue Mar 27 06:08:15 2018

mus: Make UserActivityDetector not observe PlatformEventSource directly.

ash::Shell's UserActivityForwarder notifies UserActivityDetector in Mus.
Observing PlatformEventSource directly is redundant and causes problems.

Reprocessing native events with adjusted locations breaks double clicks.
This patch prevents UserActivityDetector from reprocessing those events.

Bug:  825695 
Change-Id: Iefe4af55eedf8efc7515664b2f0cc46abe273866
Reviewed-on: https://chromium-review.googlesource.com/981492
Commit-Queue: Michael Wasserman <msw@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546037}
[modify] https://crrev.com/10327b48a45b58235298f7cbe6c3b0e72fc7a3eb/ash/shell.cc
[modify] https://crrev.com/10327b48a45b58235298f7cbe6c3b0e72fc7a3eb/chrome/browser/ui/ash/chrome_browser_main_extra_parts_ash.cc
[modify] https://crrev.com/10327b48a45b58235298f7cbe6c3b0e72fc7a3eb/ui/base/user_activity/user_activity_detector.cc
[modify] https://crrev.com/10327b48a45b58235298f7cbe6c3b0e72fc7a3eb/ui/base/user_activity/user_activity_detector.h

Comment 7 by loyso@chromium.org, Mar 27 2018

Components: -Platform>Apps>FileManager Internals>Services>Ash UI>Shell
Labels: OS-Chrome
Status: Started (was: Assigned)

Comment 8 by loyso@chromium.org, Mar 27 2018

Removed FileManager label. Feel free to correct it (any mustache labels?)

Comment 9 by msw@chromium.org, Mar 27 2018

Components: Internals>WindowsServer Internals>Services>WindowService
Status: Fixed (was: Started)
Summary: Regression: can't double-click web contents in Mus (was: Regression: can't double-click to open a drive folder)
This should be fixed by the above CL; maybe we need better test coverage here?

Comment 10 by msw@chromium.org, Mar 27 2018

Labels: Proj-Mustash-Mus

Comment 11 by noel@chromium.org, Mar 28 2018

#9 agree, how would you test in mus? /me curious.

Comment 12 by msw@chromium.org, Mar 28 2018

I'm thinking of a browser test or interactive ui test that can load a simple page with text, send double/triple click events over the location of the text, and check that the web contents have the correct text selections. Or the test could click an element with js handlers for double (and triple?) clicks, and check that those are called. I'll try to take a look into this tomorrow.

Comment 13 by sky@chromium.org, Mar 28 2018

You could use EventInjector to simulate events coming from the system. This is as close to event coming from the system as you can get.
Project Member

Comment 14 by bugdroid1@chromium.org, Mar 28 2018

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

commit ab89fbf5e14240767202f4582fed79fb640243ad
Author: Mike Wasserman <msw@chromium.org>
Date: Wed Mar 28 05:17:31 2018

mus: Fix double-click mouse event detection

Mus seems to modify event locations when dispatching to clients.
UserActivityDetector reprocesses the native event with those locations.
That breaks comparison of mouse event locations for double clicks.

Do not update the cached prior event when re-processing native events.
(assumes that unique native events have unique times stamps)

Remove fairly redundant |last_click_complete_| tracking; update tests.

Bug:  825695 
Test: Double/triple clicking with --enable-features=Mus; no regressions.
Change-Id: I3f17fc8fa0ebe9e323de32539b398fcf3a4db1c8
Reviewed-on: https://chromium-review.googlesource.com/980662
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Michael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546412}
[modify] https://crrev.com/ab89fbf5e14240767202f4582fed79fb640243ad/ui/events/event.cc
[modify] https://crrev.com/ab89fbf5e14240767202f4582fed79fb640243ad/ui/events/event.h
[modify] https://crrev.com/ab89fbf5e14240767202f4582fed79fb640243ad/ui/events/event_unittest.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Mar 31 2018

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

commit 07e6c463786d3bb5c82362d591d2fdf784b404bc
Author: Mike Wasserman <msw@chromium.org>
Date: Sat Mar 31 01:15:50 2018

Add an interactive ui test for double clicking on web content.

Refine existing MouseLeaveTest for more general mouse event testing.
(renames, add click handlers, add basic test, cleanup helpers and html)

Add a test that triggers click/double click handlers in html content.

Remove IsX11SendEventTrue filtering to allow ui_controls double clicks.
Originally added in https://chromiumcodereview.appspot.com/11761027
(I think to prevent reposted clicks from counting as double clicks)
(crrev.com/c/980662's GetRepeatCount timestamp checks should suffice)

TODO: try to enable more disabled tests, update cited bugs.

Bug:  825695 
Test: Automated; no double click when dismissing menus, no regressions.
Change-Id: Iefcc2d313b36710a18e5c94079aa5dd75d8500bf
Reviewed-on: https://chromium-review.googlesource.com/985904
Commit-Queue: Michael Wasserman <msw@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547347}
[add] https://crrev.com/07e6c463786d3bb5c82362d591d2fdf784b404bc/chrome/browser/mouse_events_interactive_uitest.cc
[delete] https://crrev.com/422e5ff9fbfc2dbca7a2fe1b03fd75a3fe7aa3ee/chrome/browser/mouseleave_browsertest.cc
[modify] https://crrev.com/07e6c463786d3bb5c82362d591d2fdf784b404bc/chrome/test/BUILD.gn
[modify] https://crrev.com/07e6c463786d3bb5c82362d591d2fdf784b404bc/chrome/test/base/interactive_ui_tests_main.cc
[add] https://crrev.com/07e6c463786d3bb5c82362d591d2fdf784b404bc/chrome/test/data/mouse_events_test.html
[delete] https://crrev.com/422e5ff9fbfc2dbca7a2fe1b03fd75a3fe7aa3ee/chrome/test/data/mouseleave.html
[modify] https://crrev.com/07e6c463786d3bb5c82362d591d2fdf784b404bc/ui/events/event.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Apr 11 2018

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

commit 0746643dca9744aee35073ac778944cea56ea85b
Author: Michael Wasserman <msw@chromium.org>
Date: Wed Apr 11 03:56:48 2018

Revert "mus: Make UserActivityDetector not observe PlatformEventSource directly."

This reverts commit 10327b48a45b58235298f7cbe6c3b0e72fc7a3eb.

Reason for revert: Broke features relying on this functionality: crbug.com/831055

Original change's description:
> mus: Make UserActivityDetector not observe PlatformEventSource directly.
>
> ash::Shell's UserActivityForwarder notifies UserActivityDetector in Mus.
> Observing PlatformEventSource directly is redundant and causes problems.
>
> Reprocessing native events with adjusted locations breaks double clicks.
> This patch prevents UserActivityDetector from reprocessing those events.
>
> Bug:  825695 
> Change-Id: Iefe4af55eedf8efc7515664b2f0cc46abe273866
> Reviewed-on: https://chromium-review.googlesource.com/981492
> Commit-Queue: Michael Wasserman <msw@chromium.org>
> Reviewed-by: Scott Violet <sky@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#546037}

TBR=sky@chromium.org,msw@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  825695 , 831055
Change-Id: Idbff05fae33e7d54db02b1c74546007b3b870ac2
Reviewed-on: https://chromium-review.googlesource.com/1005736
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Michael Wasserman <msw@chromium.org>
Commit-Queue: Michael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549750}
[modify] https://crrev.com/0746643dca9744aee35073ac778944cea56ea85b/ash/shell.cc
[modify] https://crrev.com/0746643dca9744aee35073ac778944cea56ea85b/chrome/browser/ui/ash/chrome_browser_main_extra_parts_ash.cc
[modify] https://crrev.com/0746643dca9744aee35073ac778944cea56ea85b/ui/base/user_activity/user_activity_detector.cc
[modify] https://crrev.com/0746643dca9744aee35073ac778944cea56ea85b/ui/base/user_activity/user_activity_detector.h

Sign in to add a comment