[webkit-changes] [WebKit/WebKit] a5dadd: Deploy LayoutDisallowedScope in LayoutPhase::InRen...

Ryosuke Niwa noreply at github.com
Sat May 13 13:42:44 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a5dadd583b2468fa821d3d5d9c7d37ed247fdca8
      https://github.com/WebKit/WebKit/commit/a5dadd583b2468fa821d3d5d9c7d37ed247fdca8
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2023-05-13 (Sat, 13 May 2023)

  Changed paths:
    M Source/WebCore/page/LocalFrameViewLayoutContext.cpp
    M Source/WebCore/rendering/LayoutDisallowedScope.cpp
    M Source/WebCore/rendering/LayoutDisallowedScope.h
    M Source/WebCore/svg/graphics/SVGImage.cpp

  Log Message:
  -----------
  Deploy LayoutDisallowedScope in LayoutPhase::InRenderTreeLayout
https://bugs.webkit.org/show_bug.cgi?id=256661

Reviewed by Simon Fraser.

Deploy LayoutDisallowedScope in LayoutPhase::InRenderTreeLayout
and make the class prevent the layout in release builds as well.

Also introduce LayoutDisallowedScope::AllowedScope and deploy this
in SVGImage::drawForContainer as this code can trigger synchronous
layout in a SVG image.

* Source/WebCore/page/LocalFrameViewLayoutContext.cpp:
(WebCore::LocalFrameViewLayoutContext::performLayout):
* Source/WebCore/rendering/LayoutDisallowedScope.cpp:
* Source/WebCore/rendering/LayoutDisallowedScope.h:
(WebCore::LayoutDisallowedScope::isLayoutAllowed):
(WebCore::LayoutDisallowedScope::LayoutDisallowedScope):
(WebCore::LayoutDisallowedScope::~LayoutDisallowedScope):
(WebCore::LayoutDisallowedScope::AllowedScope): Added.
(WebCore::LayoutDisallowedScope::AllowedScope::AllowedScope):
(WebCore::LayoutDisallowedScope::AllowedScope::~AllowedScope):
* Source/WebCore/rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):
* Source/WebCore/svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawForContainer):
(WebCore::SVGImage::draw):

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




More information about the webkit-changes mailing list