RESOLVED WONTFIX 46997
The table cell check in calcReplacedLogicalHeightUsing doesn't work with perpendicular block flows.
https://bugs.webkit.org/show_bug.cgi?id=46997
Summary The table cell check in calcReplacedLogicalHeightUsing doesn't work with perp...
Dave Hyatt
Reported 2010-10-01 11:09:08 PDT
The table cell check in calcReplacedLogicalHeightUsing doesn't work with perpendicular block flows.
Attachments
Ahmad Saleem
Comment 1 2023-03-17 18:35:08 PDT
Can’t find ‘calcReplacedLogicalHeightUsing’ in Commit History (at least using GitHub Search) and also via SearchFox.org. It might be renamed but do we need this?
Ahmad Saleem
Comment 2 2023-08-26 15:23:17 PDT
Marking it as 'WONTFIX' and CCing 'Alan' and 'Simon', if it is wrong conclusion.
Karl Dubost
Comment 3 2024-07-23 22:51:16 PDT
I wonder if the bug still exists. There is a comment in the source code pointing to here. And without a testcase showing the issue it might be premature to close it? See https://searchfox.org/wubkat/rev/115aae15a98b284596444de1513377e15f7a4aad/Source/WebCore/rendering/RenderBox.cpp#3642-3660 and specifically with the issue which is happening for rdar://132105152
Karl Dubost
Comment 4 2024-07-23 22:52:23 PDT
The code pointing to this bug. ``` else { availableHeight = hasPerpendicularContainingBlock ? containingBlockLogicalWidthForContent() : containingBlockLogicalHeightForContent(IncludeMarginBorderPadding); // It is necessary to use the border-box to match WinIE's broken // box model. This is essential for sizing inside // table cells using percentage heights. // FIXME: This needs to be made block-flow-aware. If the cell and image are perpendicular block-flows, this isn't right. // https://bugs.webkit.org/show_bug.cgi?id=46997 while (container && !is<RenderView>(*container) && (container->style().logicalHeight().isAuto() || container->style().logicalHeight().isPercentOrCalculated())) { if (container->isRenderTableCell()) { // Don't let table cells squeeze percent-height replaced elements // <http://bugs.webkit.org/show_bug.cgi?id=15359> availableHeight = std::max(availableHeight, intrinsicLogicalHeight()); return valueForLength(logicalHeight, availableHeight - borderAndPaddingLogicalHeight()); } downcast<RenderBlock>(*container).addPercentHeightDescendant(const_cast<RenderBox&>(*this)); container = container->containingBlock(); } } ```
Note You need to log in before you can comment on or make changes to this bug.