[webkit-changes] [WebKit/WebKit] c417ab: [LBSE] Add new tests that cover repainting after t...

Nikolas Zimmermann noreply at github.com
Mon Jan 23 14:24:24 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c417abc93c3b16d7e504bf27e1e3b4839820a6e6
      https://github.com/WebKit/WebKit/commit/c417abc93c3b16d7e504bf27e1e3b4839820a6e6
  Author: Nikolas Zimmermann <nzimmermann at igalia.com>
  Date:   2023-01-23 (Mon, 23 Jan 2023)

  Changed paths:
    M LayoutTests/platform/glib/TestExpectations
    A LayoutTests/platform/glib/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt
    M LayoutTests/platform/ios/TestExpectations
    A LayoutTests/platform/ios/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt
    M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
    A LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/foreign-object-repainting-after-modifying-container-transform-repaint-rects-expected.txt
    A LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/foreign-object-repainting-after-modifying-transform-repaint-rects-expected.txt
    A LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/image-repainting-after-modifying-container-transform-repaint-rects-expected.txt
    A LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/image-repainting-after-modifying-transform-repaint-rects-expected.txt
    A LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/shape-repainting-after-modifying-container-transform-repaint-rects-expected.txt
    A LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/shape-repainting-after-modifying-transform-repaint-rects-expected.txt
    A LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt
    A LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/text-repainting-after-modifying-transform-repaint-rects-expected.txt
    M LayoutTests/platform/mac/TestExpectations
    M LayoutTests/platform/win/TestExpectations
    A LayoutTests/platform/win/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt
    A LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-container-transform-expected.html
    A LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-container-transform-repaint-rects-expected.txt
    A LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-container-transform-repaint-rects.html
    A LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-container-transform.html
    A LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-transform-expected.html
    A LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-transform-repaint-rects-expected.txt
    A LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-transform-repaint-rects.html
    A LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-transform.html
    A LayoutTests/svg/repaint/image-repainting-after-modifying-container-transform-expected.html
    A LayoutTests/svg/repaint/image-repainting-after-modifying-container-transform-repaint-rects-expected.txt
    A LayoutTests/svg/repaint/image-repainting-after-modifying-container-transform-repaint-rects.html
    A LayoutTests/svg/repaint/image-repainting-after-modifying-container-transform.html
    A LayoutTests/svg/repaint/image-repainting-after-modifying-transform-expected.html
    A LayoutTests/svg/repaint/image-repainting-after-modifying-transform-repaint-rects-expected.txt
    A LayoutTests/svg/repaint/image-repainting-after-modifying-transform-repaint-rects.html
    A LayoutTests/svg/repaint/image-repainting-after-modifying-transform.html
    A LayoutTests/svg/repaint/inner-svg-repainting-after-modifying-container-transform-expected.html
    A LayoutTests/svg/repaint/inner-svg-repainting-after-modifying-container-transform.html
    A LayoutTests/svg/repaint/inner-svg-repainting-after-modifying-transform-expected.html
    A LayoutTests/svg/repaint/inner-svg-repainting-after-modifying-transform.html
    A LayoutTests/svg/repaint/resources/reftest-repaint.js
    A LayoutTests/svg/repaint/shape-repainting-after-modifying-container-transform-expected.html
    A LayoutTests/svg/repaint/shape-repainting-after-modifying-container-transform-repaint-rects-expected.txt
    A LayoutTests/svg/repaint/shape-repainting-after-modifying-container-transform-repaint-rects.html
    A LayoutTests/svg/repaint/shape-repainting-after-modifying-container-transform.html
    A LayoutTests/svg/repaint/shape-repainting-after-modifying-transform-expected.html
    A LayoutTests/svg/repaint/shape-repainting-after-modifying-transform-repaint-rects-expected.txt
    A LayoutTests/svg/repaint/shape-repainting-after-modifying-transform-repaint-rects.html
    A LayoutTests/svg/repaint/shape-repainting-after-modifying-transform.html
    A LayoutTests/svg/repaint/text-repainting-after-modifying-container-transform-expected.html
    A LayoutTests/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt
    A LayoutTests/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects.html
    A LayoutTests/svg/repaint/text-repainting-after-modifying-container-transform.html
    A LayoutTests/svg/repaint/text-repainting-after-modifying-transform-expected.html
    A LayoutTests/svg/repaint/text-repainting-after-modifying-transform-repaint-rects-expected.txt
    A LayoutTests/svg/repaint/text-repainting-after-modifying-transform-repaint-rects.html
    A LayoutTests/svg/repaint/text-repainting-after-modifying-transform.html

  Log Message:
  -----------
  [LBSE] Add new tests that cover repainting after transform changes
https://bugs.webkit.org/show_bug.cgi?id=249142

Reviewed by Rob Buis.

Add tests that cover repainting in different scenarios: foreignObject, image, text, shapes
either directly transformed themselves, or via parents. That was used in bootstrapping
the LBSE optimization to avoid relayouts, besides the existing tests.

Unfortunately, the existing repaint tests are not sufficient to test repainting visually,
because the existing svg/repaint tests rely on pixel testing, which is off by default.

Therefore, provide modern repaint test in two forms:
a) repaint rects as text (platform agnostic, except for SVG <text> - platform specific results are expected)
b) repaint reftests (to rule out repainting artefacts, etc.)

No change in functionality, only new tests.

* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/glib/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt: Added.
* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/platform/ios/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt: Added.
* LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations:
* LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/foreign-object-repainting-after-modifying-container-transform-repaint-rects-expected.txt: Added.
* LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/foreign-object-repainting-after-modifying-transform-repaint-rects-expected.txt: Added.
* LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/image-repainting-after-modifying-container-transform-repaint-rects-expected.txt: Added.
* LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/image-repainting-after-modifying-transform-repaint-rects-expected.txt: Added.
* LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/shape-repainting-after-modifying-container-transform-repaint-rects-expected.txt: Added.
* LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/shape-repainting-after-modifying-transform-repaint-rects-expected.txt: Added.
* LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt: Added.
* LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/text-repainting-after-modifying-transform-repaint-rects-expected.txt: Added.
* LayoutTests/platform/mac/TestExpectations:
* LayoutTests/platform/win/TestExpectations:
* LayoutTests/platform/win/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt: Added.
* LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-container-transform-expected.html: Added.
* LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-container-transform-repaint-rects-expected.txt: Added.
* LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-container-transform-repaint-rects.html: Added.
* LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-container-transform.html: Added.
* LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-transform-expected.html: Added.
* LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-transform-repaint-rects-expected.txt: Added.
* LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-transform-repaint-rects.html: Added.
* LayoutTests/svg/repaint/foreign-object-repainting-after-modifying-transform.html: Added.
* LayoutTests/svg/repaint/image-repainting-after-modifying-container-transform-expected.html: Added.
* LayoutTests/svg/repaint/image-repainting-after-modifying-container-transform-repaint-rects-expected.txt: Added.
* LayoutTests/svg/repaint/image-repainting-after-modifying-container-transform-repaint-rects.html: Added.
* LayoutTests/svg/repaint/image-repainting-after-modifying-container-transform.html: Added.
* LayoutTests/svg/repaint/image-repainting-after-modifying-transform-expected.html: Added.
* LayoutTests/svg/repaint/image-repainting-after-modifying-transform-repaint-rects-expected.txt: Added.
* LayoutTests/svg/repaint/image-repainting-after-modifying-transform-repaint-rects.html: Added.
* LayoutTests/svg/repaint/image-repainting-after-modifying-transform.html: Added.
* LayoutTests/svg/repaint/inner-svg-repainting-after-modifying-container-transform-expected.html: Added.
* LayoutTests/svg/repaint/inner-svg-repainting-after-modifying-container-transform.html: Added.
* LayoutTests/svg/repaint/inner-svg-repainting-after-modifying-transform-expected.html: Added.
* LayoutTests/svg/repaint/inner-svg-repainting-after-modifying-transform.html: Added.
* LayoutTests/svg/repaint/resources/reftest-repaint.js: Added.
(runRepaintRefTest):
(callRepaintRefTest):
(finishRefTest):
* LayoutTests/svg/repaint/shape-repainting-after-modifying-container-transform-expected.html: Added.
* LayoutTests/svg/repaint/shape-repainting-after-modifying-container-transform-repaint-rects-expected.txt: Added.
* LayoutTests/svg/repaint/shape-repainting-after-modifying-container-transform-repaint-rects.html: Added.
* LayoutTests/svg/repaint/shape-repainting-after-modifying-container-transform.html: Added.
* LayoutTests/svg/repaint/shape-repainting-after-modifying-transform-expected.html: Added.
* LayoutTests/svg/repaint/shape-repainting-after-modifying-transform-repaint-rects-expected.txt: Added.
* LayoutTests/svg/repaint/shape-repainting-after-modifying-transform-repaint-rects.html: Added.
* LayoutTests/svg/repaint/shape-repainting-after-modifying-transform.html: Added.
* LayoutTests/svg/repaint/text-repainting-after-modifying-container-transform-expected.html: Added.
* LayoutTests/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt: Added.
* LayoutTests/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects.html: Added.
* LayoutTests/svg/repaint/text-repainting-after-modifying-container-transform.html: Added.
* LayoutTests/svg/repaint/text-repainting-after-modifying-transform-expected.html: Added.
* LayoutTests/svg/repaint/text-repainting-after-modifying-transform-repaint-rects-expected.txt: Added.
* LayoutTests/svg/repaint/text-repainting-after-modifying-transform-repaint-rects.html: Added.
* LayoutTests/svg/repaint/text-repainting-after-modifying-transform.html: Added.

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




More information about the webkit-changes mailing list