Bug 117474
| Summary: | Fix regression with dynamically sized replaced elements | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Ryosuke Niwa <rniwa> |
| Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED CONFIGURATION CHANGED | ||
| Severity: | Normal | CC: | ahmad.saleem792, bdakin, hyatt, robert, simon.fraser, zalan |
| Priority: | P2 | Keywords: | BlinkMergeCandidate |
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Bug Depends on: | 109859 | ||
| Bug Blocks: | |||
Ryosuke Niwa
Consider merging http://src.chromium.org/viewvc/blink?view=rev&revision=142931
fixed a bug where we treat have the minPreferredLogicalWidth
of percentage height replaced elements be 0. This exposed
a bug where we were not marking the preferred width as dirty.
Specifically, a percentage height replaced element that maintains
aspect ratio needs preferred widths recalculated if the height
of it's containingBlock changes.
Also, rolled hasViewportPercentageLogicalHeight into
hasRelativeLogicalHeight. The two were always called together.
There's a slight change in behavior here where we won't
mark children of the RenderView that have viewport relative heights
as needing layout where we used to, but I don't think that
was needed anyways.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Ahmad Saleem
Chrome bug had this testcase: https://jsfiddle.net/v3epa76k/
^ it is passing even in Safari 16.5.
Original merge commit was - https://src.chromium.org/viewvc/blink?view=revision&revision=151805
Seems to be done: https://searchfox.org/wubkat/source/Source/WebCore/rendering/RenderBlock.cpp#840
RenderBox::hasViewportPercentageLogicalHeight() <- Not able to find.
Already done - https://searchfox.org/wubkat/source/Source/WebCore/rendering/RenderReplaced.cpp#845
Although since the test is passing, I think, we are fine.
CCing - Alan..