[webkit-changes] [WebKit/WebKit] 902804: [cairo] Clamp the clip rect expanded to the infinity

Fujii Hironori noreply at github.com
Wed May 10 19:29:08 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 902804f38b459789d2c1d6d49aaad7b84628930b
      https://github.com/WebKit/WebKit/commit/902804f38b459789d2c1d6d49aaad7b84628930b
  Author: Fujii Hironori <Hironori.Fujii at sony.com>
  Date:   2023-05-10 (Wed, 10 May 2023)

  Changed paths:
    M LayoutTests/platform/glib/TestExpectations
    M Source/WebCore/platform/graphics/cairo/CairoOperations.cpp

  Log Message:
  -----------
  [cairo] Clamp the clip rect expanded to the infinity
https://bugs.webkit.org/show_bug.cgi?id=228920

Reviewed by Simon Fraser.

If overflow-x is clip, RenderBox::overflowClipRect expands the clip
rect in Y axis by using LayoutRect::expandToInfiniteY. Same for
overflow-y. It uses values of LayoutUnit::nearlyMax. LayoutUnit is
using 26.6 fixed point numbers while cairo is internally using 24.8
fixed point. Such clip rects were causing overflow.

* LayoutTests/platform/glib/TestExpectations:
* Source/WebCore/platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::clampClipRect): Added.
(WebCore::Cairo::clip): Clamp the passed clip rect.

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




More information about the webkit-changes mailing list