Bug 191462

Summary: [css-grid] Percentage height on replaced item with scrollbar
Product: WebKit Reporter: Javier Fernandez <jfernandez>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, changseok, esprehn+autocc, ews-watchlist, glenn, jfernandez, kondapallykalyan, pdr, rego, simon.fraser, webkit-bug-importer, zalan, zsun
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.chromium.org/p/chromium/issues/detail?id=837141
Attachments:
Description Flags
Test case to reproduce the issue
none
Patch
none
Patch
none
Patch none

Description Javier Fernandez 2018-11-09 03:54:00 PST
Created attachment 354325 [details]
Test case to reproduce the issue

If you have a replaced item that has scrollbar and a 100% height,
the height is wrongly computed as it doesn't get subtracted the scrollbar.

In the attached example you shouldn't see any overflow
(so you cannot actually scroll).
Comment 1 zsun 2020-11-11 02:51:14 PST
Created attachment 413803 [details]
Patch
Comment 2 Manuel Rego Casasnovas 2020-11-11 04:09:27 PST
Comment on attachment 413803 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=413803&action=review

Thanks for the patch, it looks good, but you need to fix some stuff before landing.

> Source/WebCore/ChangeLog:9
> +        https://github.com/web-platform-tests/wpt/commit/538eedafb15733c6113b44998170a6bbdae7518b

It's good to refer to the original patch in the ChangeLog, but we also should explain and describe the change in this file. How the changes are fixing the issue.

Apart from that, as we're now passing the test css/css-grid/grid-items/percentage-size-replaced-subitems-001.html, we should remove the line for that test in TestExpectations. So the test is actually run by the bots.

> Source/WebCore/ChangeLog:11
> +        Reviewed by NOBODY (OOPS!).

This line should be moved above, just after the URL bug line with an empty line in the middle.

> Source/WebCore/rendering/RenderBox.cpp:3202
> +                    stretchedHeight = block->overridingLogicalHeight() - block->borderAndPaddingLogicalHeight() - block->scrollbarLogicalHeight();

I guess you can use block->overridingContentLogicalHeight() directly here.
Comment 3 zsun 2020-11-11 05:53:52 PST
Created attachment 413813 [details]
Patch
Comment 4 zsun 2020-11-11 06:46:00 PST
Created attachment 413817 [details]
Patch
Comment 5 Manuel Rego Casasnovas 2020-11-11 08:38:49 PST
Comment on attachment 413817 [details]
Patch

r=me
Comment 6 EWS 2020-11-11 22:26:32 PST
Committed r269717: <https://trac.webkit.org/changeset/269717>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413817 [details].
Comment 7 Radar WebKit Bug Importer 2020-11-11 22:27:16 PST
<rdar://problem/71314152>