Changeset 286827 in webkit
- Timestamp:
- Dec 9, 2021, 7:37:04 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/fast/css/deprecated-flex-box-with-min-content-crashes-expected.txt (added)
-
LayoutTests/fast/css/deprecated-flex-box-with-min-content-crashes.html (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/rendering/RenderBox.cpp (modified) (1 diff)
-
Source/WebCore/rendering/style/RenderStyle.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r286821 r286827 1 2021-12-09 Cathie Chen <cathiechen@igalia.com> 2 3 Stack-overflow crash in WebCore::RenderBox::computeLogicalHeight() 4 https://bugs.webkit.org/show_bug.cgi?id=233460 5 6 Reviewed by Sergio Villar Senin and Darin Adler. 7 8 * fast/css/deprecated-flex-box-with-min-content-crashes-expected.txt: Added. 9 * fast/css/deprecated-flex-box-with-min-content-crashes.html: Added. 10 1 11 2021-12-09 Chris Dumez <cdumez@apple.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r286825 r286827 1 2021-12-09 Cathie Chen <cathiechen@igalia.com> 2 3 Stack-overflow crash in WebCore::RenderBox::computeLogicalHeight() 4 https://bugs.webkit.org/show_bug.cgi?id=233460 5 6 Reviewed by Sergio Villar Senin and Darin Adler. 7 8 Like flexibleBox item, deprecatedFlexibleBox item should call clearOverridingContentSize if 9 it is positioned. Otherwise, RenderReplaced::computeAspectRatioInformationForRenderBox might call 10 itself recursively. 11 12 Test: fast/css/deprecated-flex-box-with-min-content-crashes.html 13 14 * rendering/RenderBox.cpp: 15 (WebCore::RenderBox::styleDidChange): 16 * rendering/style/RenderStyle.h: 17 (WebCore::RenderStyle::isDisplayFlexibleOrGridBoxIncludingDeprecated const): 18 (WebCore::RenderStyle::isDisplayDeprecatedFlexibleBox): 19 1 20 2021-12-09 Devin Rousso <drousso@apple.com> 2 21 -
trunk/Source/WebCore/rendering/RenderBox.cpp
r286672 r286827 418 418 // children of a flex/grid box are out-of-flow, and thus, not flex/grid items. This means that we need to clear 419 419 // any override content size set by our container, because it would likely be incorrect after the style change. 420 if (isOutOfFlowPositioned() && parent() && parent()->style().isDisplayFlexible OrGridBox())420 if (isOutOfFlowPositioned() && parent() && parent()->style().isDisplayFlexibleBoxIncludingDeprecatedOrGridBox()) 421 421 clearOverridingContentSize(); 422 422 -
trunk/Source/WebCore/rendering/style/RenderStyle.h
r286795 r286827 1518 1518 bool isOriginalDisplayInlineType() const { return isDisplayInlineType(originalDisplay()); } 1519 1519 bool isDisplayFlexibleOrGridBox() const { return isDisplayFlexibleOrGridBox(display()); } 1520 bool isDisplayFlexibleBoxIncludingDeprecatedOrGridBox() const { return isDisplayFlexibleOrGridBox() || isDisplayDeprecatedFlexibleBox(display()); } 1520 1521 bool isDisplayRegionType() const; 1521 1522 bool isDisplayTableOrTablePart() const { return isDisplayTableOrTablePart(display()); } … … 2007 2008 static bool isDisplayGridBox(DisplayType); 2008 2009 static bool isDisplayFlexibleOrGridBox(DisplayType); 2010 static bool isDisplayDeprecatedFlexibleBox(DisplayType); 2009 2011 static bool isDisplayListItemType(DisplayType); 2010 2012 static bool isDisplayTableOrTablePart(DisplayType); … … 2425 2427 } 2426 2428 2429 inline bool RenderStyle::isDisplayDeprecatedFlexibleBox(DisplayType display) 2430 { 2431 return display == DisplayType::Box || display == DisplayType::InlineBox; 2432 } 2433 2427 2434 inline bool RenderStyle::isDisplayListItemType(DisplayType display) 2428 2435 {
Note:
See TracChangeset
for help on using the changeset viewer.