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

Issue 674920 link

Starred by 3 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocked on:
issue 408895



Sign in to add a comment

floating object hit testing follows incorrect floating object paint order

Reported by dan.burw...@gmail.com, Dec 16 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36

Steps to reproduce the problem:
1. The attached html file will reproduce the problem.
2. 
3. 

What is the expected behavior?
Checkbox should still be checked/unchecked when clicking on the checkbox.  Currently you have to click to the right of the checkbox.  

What went wrong?
The label that extends over the checkbox prevents the checkbox from being clicked. 

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 55.0.2883.87  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 23.0 r0

Works in Firefox and IE.  Worked in Chrome until a recent update.
 
Checkbox.html
890 bytes View Download
Components: Blink>HitTesting Blink>CSS Blink>Layout
Labels: -Type-Bug -Pri-2 Needs-Bisect Pri-1 Type-Bug-Regression
Status: Untriaged (was: Unconfirmed)
Looks like the float: left on the checkbox makes it go behind the overlapping element.
float: left is added by bootstrap css.  Something changed in Chrome recently where this behavior changed.  
The problem is the "margin: -20px" on the checkbox, which moves it behind the floating label, which is consuming the click.

It's not clear to me that this is a bug. Let's see what the bisect has to say about why the behavior changed.

Comment 4 by e...@chromium.org, Dec 16 2016

Components: -Blink>CSS -Blink>Layout
Labels: OS-Android OS-Chrome OS-Linux OS-Mac
I'm not sure this is a bug either as the margin intentionally places it behind another click target.
FF seems to allow one to click-through the label to reach the checkbox.

Comment 5 by phistuck@gmail.com, Dec 16 2016

#4 - Internet Explorer 11 (I have not tried Edge) allows this as well.

Comment 6 by hdodda@chromium.org, Dec 29 2016

Cc: hdodda@chromium.org
Labels: -Needs-Bisect hasbisect-per-revision ReleaseBlock-Beta
Owner: pdr@chromium.org
Status: Assigned (was: Untriaged)
Using the per-revision bisect providing the bisect results,
Good build:55.0.2876.0(Revision: 421986).
Bad build: 55.0.2878.0(Revision: 422326).

You are probably looking for a change made after 422145 (known good), but no later than 422146 (first known bad).

CHANGELOG URL:

The script might not always return single CL as suspect as some perf builds might get missing due to failure.

  https://chromium.googlesource.com/chromium/src/+log/466049f1e8815fe27a7a47472cc29b1ce45ea9b9..8aa3f89d3b07e7052edc5adfc849eb517f20ed6f

From the CL above, assigning the issue to the concern owner 

@pdr - Could you please check whether this is caused with respect to your change, if not please help us in assigning it to the right owner.

Review-Url: https://codereview.chromium.org/2386553002

Note : Adding ReleaseBlock-Beta for now, please feel free to edit it.

Thanks!

Comment 7 by phistuck@gmail.com, Dec 29 2016

pdr@ - weird, the original WebKit issue - https://bugs.webkit.org/show_bug.cgi?id=151401 - states that Chrome (and Firefox) actually works correctly, that only Safari did not and you still merged that change?
Labels: -OS-Linux -OS-Android -OS-Windows -OS-Chrome -OS-Mac OS-All

Comment 9 by pdr@chromium.org, Jan 4 2017

Blockedon: 408895
Cc: pdr@chromium.org
Labels: -ReleaseBlock-Beta -Type-Bug-Regression Type-Bug
Owner: ----
Status: Available (was: Assigned)
Summary: floating object hit testing follows incorrect floating object paint order (was: If a label overlaps a checkbox the checkbox can't be checked/unchecked)
Thanks for taking the time to file this with a nice testcase.

This is due to a difference in how blink and webkit paint floats (see attached testcase). I think the patch to make hit testing and painting agree was a progression. That said, blink/webkit are painting this situation incorrectly :/ I'm going to mark this as depending on issue 408895 which describes the paint order bug.

As a workaround, you can add "position: relative;" to the checkbox to force it to become a stacking context which has consistent hit testing and painting across browsers.

re comment 7: I think the comment about Chrome not having the bug was due to Amazon browser sniffing. The basic issue did exist in blink.
floatPaintOrder.html
438 bytes View Download
Labels: -Pri-1 BugSource-User PaintTeamTriaged-20170427 Pri-2
Not a P1. Has a workaround.

Comment 11 by pdr@chromium.org, Nov 8 2017

Cc: jfernandez@chromium.org
Project Member

Comment 12 by sheriffbot@chromium.org, Nov 9

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
I can take a look.
Owner: jfernandez@chromium.org
Status: Assigned (was: Untriaged)
Owner: ----
Status: Available (was: Assigned)
Unassigning for missing owner. Re-assign if you would like to take it up again.

Sign in to add a comment