Click handler is not triggered on absolute positioned and transformed button (since v65 only)
Reported by
a...@uberresearch.com,
Mar 19 2018
|
||||||||||||
Issue descriptionUserAgent: 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.
,
Mar 19 2018
Sorry, the gif is of bad quality. Here is the original file.
,
Mar 19 2018
,
Mar 20 2018
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.
,
Mar 20 2018
,
Mar 20 2018
Removing M-65 Stable release block. We are unlikely to spin a new M-65 for this issue.
,
Mar 22 2018
I think this bug is specific to the combination of transforms and multi-col. The page in question has four columns.
,
Mar 22 2018
Reduced testcase attached.
,
Mar 23 2018
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.
,
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
,
Mar 23 2018
,
Mar 24 2018
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
,
Mar 26 2018
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.
,
Mar 27 2018
chrishtr@ can you please verify this in canary today?
,
Mar 27 2018
Verified. Now working correctly.
,
Mar 29 2018
Ping - can I please merge this simple fix? Thanks.
,
Mar 29 2018
Approved - sorry about delay. Branch:3359
,
Apr 2 2018
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
,
Apr 2 2018
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
,
Apr 2 2018
,
Apr 3 2018
Issue 826880 has been merged into this issue.
,
Apr 4 2018
|
||||||||||||
►
Sign in to add a comment |
||||||||||||
Comment 1 by a...@uberresearch.com
, Mar 19 2018678 KB
678 KB View Download