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

Issue 772882 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Children fully above the top content edge of the multicol container not painted

Reported by jjrai...@gmail.com, Oct 9 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3236.0 Safari/537.36

Steps to reproduce the problem:
1. Create a wrapper element and some <p> that are just a few lines long.
2. Set a column-count > 1 on the wrapper element and a padding.
3. Set a negative margin on the first paragraph.

What is the expected behavior?
the paragraph pulls up into the padding area and is visible.

What went wrong?
If the total paragraph length is less than the padding, it will disappear completely. If it's longer than the padding, it shows properly. If it's really close to the same length, weird stuff happens where the content may partially render but be cut off on the right edge.

Did this work before? No 

Does this work in other browsers? Yes

Chrome version: 63.0.3236.0  Channel: canary
OS Version: 10.0
Flash Version: 

Works properly in Edge and Firefox. For testing, if you don't feel like running the test case:

https://jsfiddle.net/1t1vjxfd/ //broken, may need to view fullscreen to get the effect or set the padding longer if on a small screen
https://jsfiddle.net/1t1vjxfd/1/ //a longer first paragraph shows what this should look like.
 
test-case.html
3.3 KB View Download

Comment 1 Deleted

Comment 2 Deleted

Labels: Needs-Triage-M63

Comment 4 Deleted

Able to reproduce the issue on the reported chrome version 63.0.3236.0 on windows 10, ubuntu 14.04 and Mac 10.12.6.

--------------------------------------------
Good Build: 55.0.2868.0
Bad Build: 55.0.2869.0
 
You are probably looking for a change made after 420352 (known good), but no later than 420353 (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/6284f3833dd237a48895403f48dec88f1e055417..9c39d45041f1441a7e279fe32160df3db02b2213

Suspecting same from changelog.

@mstensho: Please confirm whether this is a intented behaviour, if yes please feel free to close this issue.

Thanks!

Comment 6 by ajha@chromium.org, Oct 11 2017

Cc: -msten...@opera.com
Components: Blink>Layout
Labels: -Type-Bug hasbisect-per-revision M-63 Type-Bug-Regression
Owner: msten...@opera.com

Comment 7 by msten...@opera.com, Oct 11 2017

Components: -Blink>Layout Blink>Layout>MultiCol
Labels: -Pri-1 Pri-2
Valid (and old, it seems) bug.

Comment 8 by msten...@opera.com, Oct 11 2017

Cc: chrishtr@chromium.org wangxianzhu@chromium.org
Components: Blink>Paint
Looks like a pure paint bug, but probably only when using multicol. See attached demo. Hit-testing works, but not painting. Rare.
demo.html
460 bytes View Download

Comment 9 by msten...@opera.com, Oct 11 2017

Summary: Children fully above the top content edge of the multicol container not painted (was: Column layout with negative margins and padding hides paragraphs smaller than the padding.)
Oh, and padding isn't that interesting. It's enough for the object to not intersect with the content box of the multicol container, as shown in the demo.

I wonder if there's code somewhere that intersects the child's bounding box with that of the flow thread, that just bails if it's empty (like in this case). The flow thread starts at the content edge of the multicol container.

Comment 10 by msten...@opera.com, Oct 11 2017

The problem doesn't occur if we use a large negative left margin instead of a top margin, though.

Comment 11 by msten...@opera.com, Oct 12 2017

I don't know what's going on here. I can see that the LayoutObject is painted and that we descend into GraphicsContext and what not. Still, the output seems to get culled (Probably? Definitely not clipped, at least) somehow.

I think I need help from the paint team.
Cc: wkorman@chromium.org
wkorman@, could you look into clipping or culling behavior on this one?
I will look into it and get back to you. Am working on multicol anyway right
now.
Project Member

Comment 14 by sheriffbot@chromium.org, Oct 20 2017

Labels: Hotlist-Recharge-BouncingOwner
Owner: ----
Status: Untriaged (was: Assigned)
The assigned owner "mstensho@opera.com" is not able to receive e-mails, please re-triage.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Owner: chrishtr@chromium.org
Status: Assigned (was: Untriaged)
It seems I fixed it in this commit. :)

https://chromium.googlesource.com/chromium/src/+/2cff87c380b22ade36aa4d85a6f983387559178c

Will add a test to prevent regression.
Status: Fixed (was: Assigned)

Sign in to add a comment