Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dbdb89fe49e86b4bb7563df8544776e9f9c9f4fb
      
https://github.com/WebKit/WebKit/commit/dbdb89fe49e86b4bb7563df8544776e9f9c9f4fb
  Author: Ahmad Saleem <[email protected]>
  Date:   2023-07-26 (Wed, 26 Jul 2023)

  Changed paths:
    A LayoutTests/svg/in-html/inside-inline-block-expected.html
    A LayoutTests/svg/in-html/inside-inline-block.html
    M Source/WebCore/rendering/svg/LegacyRenderSVGRoot.cpp
    M Source/WebCore/rendering/svg/LegacyRenderSVGRoot.h
    M Source/WebCore/rendering/svg/RenderSVGRoot.cpp
    M Source/WebCore/rendering/svg/RenderSVGRoot.h

  Log Message:
  -----------
  Set intrinsic size for inline SVG earlier

https://bugs.webkit.org/show_bug.cgi?id=257614
rdar://problem/110480382

Reviewed by Simon Fraser.

This patch aligns WebKit with Gecko / Firefox and Blink / Chromium.

Merge: 
https://chromium.googlesource.com/chromium/src.git/+/545b2183e1b4ee3eb433537f9a6386b5337d6588

RenderReplaced has a m_intrinsicSize that's updated when computing
logical widths and heights (and only if needed; specified style makes
it not being set at all).

But m_intrinsicSize can be used earlier that that, when computing
preferred widths for the container, see
RenderReplaced::computeIntrinsicLogicalWidths called from
RenderReplaced::computePreferredLogicalWidths().

This patch computes the intrinsic size in the constructor to avoid
returning the stale default size.

* Source/WebCore/rendering/svg/LegacyRenderSVGRoot.cpp:
(1) Add constants for 'defaultWidth' and 'defaultHeight'
(2) Add 'intrinsicSize' logic
(3) Introduce new function 'calculateIntrinsicSize'
(LegacyRenderSVGRoot::computeIntrinsicRatioInformation): Call above function 
and remove unneeded comments
* Source/WebCore/rendering/svg/LegacyRenderSVGRoot.h: Definition of 
'calculateIntrinsicSize'
* Source/WebCore/rendering/svg/RenderSVGRoot.cpp: Same changes as 'Legacy' for 
LBSE
* Source/WebCore/rendering/svg/RenderSVGRoot.h: Ditto
* LayoutTests/svg/in-html/inside-inline-block.html: Add Test Case
* LayoutTests/svg/in-html/inside-inline-block-expected.html: Add Test Case 
Expectation

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to