Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1a957321ca5fdebdb71ce3b6f65e7e5fb4b8a550
      
https://github.com/WebKit/WebKit/commit/1a957321ca5fdebdb71ce3b6f65e7e5fb4b8a550
  Author: Alan Baradlay <[email protected]>
  Date:   2024-11-24 (Sun, 24 Nov 2024)

  Changed paths:
    A LayoutTests/fast/block/intrinsic-sizing-crash-with-frameset-expected.txt
    A LayoutTests/fast/block/intrinsic-sizing-crash-with-frameset.html
    M Source/WebCore/rendering/RenderBox.cpp
    M Source/WebCore/rendering/RenderBox.h
    M Source/WebCore/rendering/RenderFrameSet.h
    M Source/WebCore/rendering/RenderListMarker.h
    M Source/WebCore/rendering/RenderMultiColumnSpannerPlaceholder.h
    M Source/WebCore/rendering/RenderReplica.h
    M Source/WebCore/rendering/RenderTableCol.h
    M Source/WebCore/rendering/RenderTableRow.h
    M Source/WebCore/rendering/RenderTableSection.h

  Log Message:
  -----------
  RenderBox::computeIntrinsicLogicalWidths should not call RenderBox's 
computePreferredLogicalWidths
https://bugs.webkit.org/show_bug.cgi?id=283584#
<rdar://problem/140431613>

Reviewed by Antti Koivisto.

computePreferredLogicalWidths may ask for intrinsic contributions (e.g. 
min-content) and while most of renderers
implement their version of computeIntrinsicLogicalWidths, some don't and 
instead they rely on the base
implementation which in turn calls back to computePreferredLogicalWidths.
This base implementation of computeIntrinsicLogicalWidths (see RenderBox) is 
not very useful and none of the renderers that don't implement their version
need this functionality at all, either they are not supposed to get called 
(e.g. spanner placeholder) or
they simply don't have relevant intrinsic sizes (e.g. frameset).
(Also if you need to provide intrinsic geometry, you most likely need to 
implement your own version of it).

* LayoutTests/fast/block/intrinsic-sizing-crash-with-frameset-expected.txt: 
Added.
* LayoutTests/fast/block/intrinsic-sizing-crash-with-frameset.html: Added.
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::computePreferredLogicalWidths):
(WebCore::RenderBox::computeIntrinsicLogicalWidths const): Deleted.
* Source/WebCore/rendering/RenderBox.h:
* Source/WebCore/rendering/RenderFrameSet.h:
* Source/WebCore/rendering/RenderListMarker.h:
* Source/WebCore/rendering/RenderMultiColumnSpannerPlaceholder.h:
* Source/WebCore/rendering/RenderReplica.h:
* Source/WebCore/rendering/RenderTableCol.h:
* Source/WebCore/rendering/RenderTableRow.h:
* Source/WebCore/rendering/RenderTableSection.h:

Canonical link: https://commits.webkit.org/287035@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to