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

Issue 823255 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Click handler is not triggered on absolute positioned and transformed button (since v65 only)

Reported by a...@uberresearch.com, Mar 19 2018

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Firefox/60.0

Steps to reproduce the problem:
1. Go to https://app.dimensions.ai/discover/publication 
2. Click on the left side on the last "More" on "publication year". A large overlay should open.
3. Hover over one year in the list, a button "Limit to" should appear. Try to click on it.
4. The year is visually selected means the element BEHIND the actual shown button was clicked.

What is the expected behavior?
The expected behavior is that the absolute positioned button is triggered by the click.

What went wrong?
The element behind the button, which is appearing on hover, was clicked instead of the button. I was figuring out that the transform of the button seems to cause this bug. My guess is that on the browser internal check which element should gain the click, the transform is causing some wrong calculation pixel-wise. Was never happening before Chrome v65, so was newly introduced with this version.

Did this work before? Yes 64

Chrome version:  65.0.3325.162  Channel: stable
OS Version: OS X 10.13
Flash Version: 

Feel free to contact me via Twitter @andi1984.
 
So what should happen is that the shown button on hover gains the click which will end up reloading the /discover/publication page with the year filter in place (see attached gif).
chrome-bug-should-happen.gif
678 KB View Download
Sorry, the gif is of bad quality. Here is the original file.
chrome-bug-should-happen.mov
4.1 MB View Download
Labels: Needs-Bisect Needs-Triage-M65
Cc: susan.boorgula@chromium.org
Labels: -Pri-2 -Needs-Bisect hasbisect-per-revision ReleaseBlock-Stable Triaged-ET FoundIn-67 M-65 M-66 RegressedIn-65 FoundIn-66 Target-67 Target-66 Target-65 FoundIn-65 OS-Linux OS-Windows Pri-1
Owner: chrishtr@chromium.org
Status: Assigned (was: Unconfirmed)
andi@ Thanks for the issue.

Able to reproduce this issue on Mac 10.12.6, Windows 10 and Ubuntu 14.04 on the latest Canary 67.0.3375.0 and Stable 65.0.3325.162 by following the steps mentioned above.

Bisect Information:
===================
Good Build: 65.0.3308.0 (Revision - 526370)
Bad Build : 65.0.3309.0 (Revision - 526409)

On executing the per-revision bisect script, below is the Changelog URL:

https://chromium.googlesource.com/chromium/src/+log/9550633ac347d11559615caf37372709440137e4..d45f384824617447c7e4e8808b4946230dab58e2

From the above Changelog, suspecting the below change:
Reviewed-on: https://chromium-review.googlesource.com/846467

chrishtr@ Please check and confirm if this issue is related to your change, else help us in assigning to the right owner.

Adding ReleaseBlock-Stable as this is a recent regression. Please feel free to remove it if it is not applicable.

Thanks.
Components: -Blink Blink>HitTesting
Labels: -M-65 -Target-65
Removing M-65 Stable release block. We are unlikely to spin a new M-65 for this issue.
I think this bug is specific to the combination of transforms and multi-col.
The page in question has four columns.
Reduced testcase attached.
test.html
247 bytes View Download
The bug is that after applying the transform, we still add in the fragment offset, which should not happen because it has already been taken care of.
Project Member

Comment 10 by bugdroid1@chromium.org, Mar 23 2018

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

commit 16820d80608ada024fa4bced9d55ed3842acbb97
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Fri Mar 23 22:59:55 2018

[PE] Fix hittesting under transform + fragmentation.

PLC::CollectFragments includes fragmentation offset if called in GeometryMapper
mode. However, when hit testing under transform, we apply fragmentation and transform,
then hit test each fragment without any fragmentation or transform offset.
Therefore, in this post-fragment/transform mode, don't apply fragmentation offset
again.

The callsites in PaintLayerPainter for the equivalent situation during paint already
correctly pass an empty LayoutPoint offset for layer bounds.

Bug:  823255 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I3135e51b72c5fd02a9d67b3dcbdc51e39ef3cde2
Reviewed-on: https://chromium-review.googlesource.com/978675
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545606}
[modify] https://crrev.com/16820d80608ada024fa4bced9d55ed3842acbb97/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/16820d80608ada024fa4bced9d55ed3842acbb97/third_party/WebKit/Source/core/paint/PaintLayerTest.cpp

Labels: Merge-Request-66
Project Member

Comment 12 by sheriffbot@chromium.org, Mar 24 2018

Labels: -Merge-Request-66 Merge-Review-66 Hotlist-Merge-Review
This bug requires manual review: M66 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), josafat@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Let's review this tomorrow. We didn't have a Canary over weekend, so once it's verified, then I can approve it to M66. 
chrishtr@ can you please verify this in canary today?
Verified. Now working correctly.
Ping - can I please merge this simple fix? Thanks.
Labels: -Merge-Review-66 Merge-Approved-66
Approved  - sorry about delay. Branch:3359
Project Member

Comment 18 by sheriffbot@chromium.org, Apr 2 2018

Cc: abdulsyed@chromium.org
This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 19 by bugdroid1@chromium.org, Apr 2 2018

Labels: -merge-approved-66 merge-merged-3359
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9ab5343296f6f7eec8bd08c2f735a3459a67d90c

commit 9ab5343296f6f7eec8bd08c2f735a3459a67d90c
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Mon Apr 02 18:04:36 2018

[PE] Fix hittesting under transform + fragmentation.

PLC::CollectFragments includes fragmentation offset if called in GeometryMapper
mode. However, when hit testing under transform, we apply fragmentation and transform,
then hit test each fragment without any fragmentation or transform offset.
Therefore, in this post-fragment/transform mode, don't apply fragmentation offset
again.

The callsites in PaintLayerPainter for the equivalent situation during paint already
correctly pass an empty LayoutPoint offset for layer bounds.

TBR=chrishtr@chromium.org

(cherry picked from commit 16820d80608ada024fa4bced9d55ed3842acbb97)

Bug:  823255 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I3135e51b72c5fd02a9d67b3dcbdc51e39ef3cde2
Reviewed-on: https://chromium-review.googlesource.com/978675
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#545606}
Reviewed-on: https://chromium-review.googlesource.com/990238
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/branch-heads/3359@{#530}
Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276}
[modify] https://crrev.com/9ab5343296f6f7eec8bd08c2f735a3459a67d90c/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/9ab5343296f6f7eec8bd08c2f735a3459a67d90c/third_party/WebKit/Source/core/paint/PaintLayerTest.cpp

Status: Fixed (was: Assigned)
Cc: chrishtr@chromium.org manoranj...@chromium.org gov...@chromium.org pbomm...@chromium.org
 Issue 826880  has been merged into this issue.
Cc: vamshi.kommuri@chromium.org
 Issue 828327  has been merged into this issue.

Sign in to add a comment