RESOLVED FIXED 222557
Apply transferred min/max sizes for intrinsic sizing
https://bugs.webkit.org/show_bug.cgi?id=222557
Summary Apply transferred min/max sizes for intrinsic sizing
Rob Buis
Reported 2021-03-01 09:14:30 PST
Apply transferred min/max sizes for intrinsic sizing.
Attachments
Patch (3.00 KB, patch)
2021-03-01 09:15 PST, Rob Buis
no flags
Patch (7.87 KB, patch)
2021-03-08 08:58 PST, Rob Buis
no flags
Patch (8.43 KB, patch)
2021-03-08 12:11 PST, Rob Buis
no flags
Patch (6.09 KB, patch)
2021-03-09 01:43 PST, Rob Buis
no flags
Patch (9.60 KB, patch)
2021-03-10 13:57 PST, Rob Buis
no flags
Patch (9.31 KB, patch)
2021-03-10 23:50 PST, Rob Buis
no flags
Rob Buis
Comment 1 2021-03-01 09:15:59 PST
Rob Buis
Comment 2 2021-03-08 08:58:03 PST
Radar WebKit Bug Importer
Comment 3 2021-03-08 09:15:23 PST
Rob Buis
Comment 4 2021-03-08 12:11:27 PST
Rob Buis
Comment 5 2021-03-08 13:39:25 PST
Comment on attachment 422601 [details] Patch Not sure about the percentage height code, let me know if there is a better way.
Simon Fraser (smfr)
Comment 6 2021-03-08 14:26:39 PST
Comment on attachment 422601 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=422601&action=review > Source/WebCore/rendering/RenderBlock.cpp:263 > + bool m_hasAspectRatioPercentageHeightDescendant; This probably introduced several bytes of padding. Is there a spare bit you can fit this into? These "descendant has" bits are notoriously hard to keep up-to-date accurately. Is there a way to fix this without storing state like this? > Source/WebCore/rendering/RenderBlock.cpp:2437 > + const_cast<RenderBlock*>(this)->setHasAspectRatioPercentageHeightDescendant(); Yuck.
Rob Buis
Comment 7 2021-03-09 01:43:18 PST
Rob Buis
Comment 8 2021-03-09 14:30:57 PST
Comment on attachment 422601 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=422601&action=review >> Source/WebCore/rendering/RenderBlock.cpp:2437 >> + const_cast<RenderBlock*>(this)->setHasAspectRatioPercentageHeightDescendant(); > > Yuck. Agreed, but sometimes it can't be avoided :) Anyway I hope I have a better solution now.
Simon Fraser (smfr)
Comment 9 2021-03-10 12:19:23 PST
Comment on attachment 422679 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=422679&action=review > Source/WebCore/rendering/RenderBlock.cpp:842 > + if (renderer->hasAspectRatio() || renderer->style().hasAspectRatio()) This is confusing; I feel like renderer->hasAspectRatio() could be renamed (maybe hasIntrinsicAspectRatio()). We have other properties with the same name on both style and renderer; they generally mean the same thing, but in situations where a property does not apply to some kinds of renderers. This one is different though.
Rob Buis
Comment 10 2021-03-10 13:57:29 PST
Rob Buis
Comment 11 2021-03-10 14:21:58 PST
Comment on attachment 422679 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=422679&action=review >> Source/WebCore/rendering/RenderBlock.cpp:842 >> + if (renderer->hasAspectRatio() || renderer->style().hasAspectRatio()) > > This is confusing; I feel like renderer->hasAspectRatio() could be renamed (maybe hasIntrinsicAspectRatio()). > > We have other properties with the same name on both style and renderer; they generally mean the same thing, but in situations where a property does not apply to some kinds of renderers. This one is different though. Agreed, I mixed up child.style().hasAspectRatio() and child.hasAspectRatio() quite some times in development (and vice versa). Fixed now.
Rob Buis
Comment 12 2021-03-10 23:50:53 PST
EWS
Comment 13 2021-03-11 10:11:04 PST
Committed r274287: <https://commits.webkit.org/r274287> All reviewed patches have been landed. Closing bug and clearing flags on attachment 422906 [details].
Note You need to log in before you can comment on or make changes to this bug.