[webkit-changes] [WebKit/WebKit] e8e969: Cherry-pick 282934@main (d2f23775f2b2). https://bu...

2024-08-30 Thread Nikolas Zimmermann
  Branch: refs/heads/webkitglib/2.46
  Home:   https://github.com/WebKit/WebKit
  Commit: e8e969e4013649348552ade8436aa66b6de8ab14
  
https://github.com/WebKit/WebKit/commit/e8e969e4013649348552ade8436aa66b6de8ab14
  Author: Nikolas Zimmermann 
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
M Source/cmake/WebKitCompilerFlags.cmake

  Log Message:
  ---
  Cherry-pick 282934@main (d2f23775f2b2). 
https://bugs.webkit.org/show_bug.cgi?id=278861

[GTK][WPE] Avoid linker relocation errors on Debug/RelWithDebInfo builds
https://bugs.webkit.org/show_bug.cgi?id=278861

Reviewed by Adrian Perez de Castro.

Split debug information in ".debug_types" / ".debug_info" sections - this 
leads
to a smaller overall size of the debug information, and avoids linker 
relocation
errors on e.g. aarch64 (relocation R_AARCH64_ABS32 out of range: 4312197985 
is
not in [-2147483648, 4294967295]).

  -> Unconditionally pass '-fdebug-types-section' to gcc/clang, to mitigate 
it.

* Source/cmake/WebKitCompilerFlags.cmake:

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

Canonical link: https://commits.webkit.org/282416.29@webkitglib/2.46



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


[webkit-changes] [WebKit/WebKit] 83e070: Cherry-pick 282934@main (d2f23775f2b2). https://bu...

2024-08-30 Thread Nikolas Zimmermann
  Branch: refs/heads/webkitglib/2.44
  Home:   https://github.com/WebKit/WebKit
  Commit: 83e0705053cc6e60416b06a7502101a9c060513d
  
https://github.com/WebKit/WebKit/commit/83e0705053cc6e60416b06a7502101a9c060513d
  Author: Nikolas Zimmermann 
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
M Source/cmake/WebKitCompilerFlags.cmake

  Log Message:
  ---
  Cherry-pick 282934@main (d2f23775f2b2). 
https://bugs.webkit.org/show_bug.cgi?id=278861

[GTK][WPE] Avoid linker relocation errors on Debug/RelWithDebInfo builds
https://bugs.webkit.org/show_bug.cgi?id=278861

Reviewed by Adrian Perez de Castro.

Split debug information in ".debug_types" / ".debug_info" sections - this 
leads
to a smaller overall size of the debug information, and avoids linker 
relocation
errors on e.g. aarch64 (relocation R_AARCH64_ABS32 out of range: 4312197985 
is
not in [-2147483648, 4294967295]).

  -> Unconditionally pass '-fdebug-types-section' to gcc/clang, to mitigate 
it.

* Source/cmake/WebKitCompilerFlags.cmake:

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

Canonical link: https://commits.webkit.org/274313.375@webkitglib/2.44



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


[webkit-changes] [WebKit/WebKit] e46ab4: REGRESSION(282012@main): [GTK][WPE][Skia] Crash us...

2024-08-30 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e46ab4de36b4118d8bf1b672cc1b56cc1cf02681
  
https://github.com/WebKit/WebKit/commit/e46ab4de36b4118d8bf1b672cc1b56cc1cf02681
  Author: Nikolas Zimmermann 
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerSkia.cpp

  Log Message:
  ---
  REGRESSION(282012@main): [GTK][WPE][Skia] Crash using threaded rendering
https://bugs.webkit.org/show_bug.cgi?id=278452

Reviewed by Carlos Garcia Campos.

Both GTK/WPE use multi-threaded rendering when using the Skia/CPU
backend. In that mode a DisplayList is recorded on the main thread,
containing the commands required to render each of the GraphicLayer
tiles. Those DisplayLists are asynchronously replayed in worker
threads. Since 282012@main, we're getting a random crash during the
replay stage of the rendering.

There are calls to ControlFactory::shared() happening from within the
worker threads -- however ControlFactory is intended to be used from the
main thread only. The proper fix is to construct a ControlFactory per
worker thread, and store it locally in each threads, and use the threads
ControlFactory when replaying the DisplayList, instead of using the
shared one -- the same approach is taken by RemoteDisplayListRecorder in
Apple ports.

Covered by existing tests.

* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerSkia.cpp:
(WebCore::CoordinatedGraphicsLayer::paintTile):

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



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


[webkit-changes] [WebKit/WebKit] d2f237: [GTK][WPE] Avoid linker relocation errors on Debug...

2024-08-29 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d2f23775f2b2a232b47b84123930ef7d3beac391
  
https://github.com/WebKit/WebKit/commit/d2f23775f2b2a232b47b84123930ef7d3beac391
  Author: Nikolas Zimmermann 
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
M Source/cmake/WebKitCompilerFlags.cmake

  Log Message:
  ---
  [GTK][WPE] Avoid linker relocation errors on Debug/RelWithDebInfo builds
https://bugs.webkit.org/show_bug.cgi?id=278861

Reviewed by Adrian Perez de Castro.

Split debug information in ".debug_types" / ".debug_info" sections - this leads
to a smaller overall size of the debug information, and avoids linker relocation
errors on e.g. aarch64 (relocation R_AARCH64_ABS32 out of range: 4312197985 is
not in [-2147483648, 4294967295]).

  -> Unconditionally pass '-fdebug-types-section' to gcc/clang, to mitigate it.

* Source/cmake/WebKitCompilerFlags.cmake:

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



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


[webkit-changes] [WebKit/WebKit] 57b47f: [GTK][WPE] Add more WPE related trace points to be...

2024-08-05 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 57b47fb1d205b4dfd9ac47dd5e9aa506f2de7a32
  
https://github.com/WebKit/WebKit/commit/57b47fb1d205b4dfd9ac47dd5e9aa506f2de7a32
  Author: Nikolas Zimmermann 
  Date:   2024-08-05 (Mon, 05 Aug 2024)

  Changed paths:
M Source/WTF/wtf/SystemTracing.h
M Source/WTF/wtf/glib/SysprofAnnotator.h
M Source/WebKit/Resources/Signposts/SystemTracePoints.plist
M 
Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp
M Source/WebKit/UIProcess/DisplayLink.cpp
M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp
M Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.cpp

  Log Message:
  ---
  [GTK][WPE] Add more WPE related trace points to better understand the 
graphics pipeline
https://bugs.webkit.org/show_bug.cgi?id=277412

Reviewed by Miguel Gomez.

Add new WPE specific trace points that help us understand the graphics
pipeline, starting from DRM vblank signal (capture by sysprof) until
composition starts/ends for a frame.

Based on a patch from Alejandro G. Castro, refactored to avoid changing
any of the existing enum values - which would be problematic for the Apple
ports.

No new tests - doesn't affect non-glib ports.

* Source/WTF/wtf/SystemTracing.h:
* Source/WTF/wtf/glib/SysprofAnnotator.h:
* Source/WebKit/Resources/Signposts/SystemTracePoints.plist:
* 
Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::renderLayerTree):
* Source/WebKit/UIProcess/DisplayLink.cpp:
(WebKit::DisplayLink::notifyObserversDisplayDidRefresh):
* 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::flushPendingLayerChanges):
* Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.cpp:
(WebKit::AcceleratedSurfaceDMABuf::didRenderFrame):

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



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


[webkit-changes] [WebKit/WebKit] 3f5720: [WPE] When a specified WPE_DISPLAY is not availabl...

2024-07-28 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3f572031b825b1cb4502e59b719d2e8b125a4509
  
https://github.com/WebKit/WebKit/commit/3f572031b825b1cb4502e59b719d2e8b125a4509
  Author: Nikolas Zimmermann 
  Date:   2024-07-28 (Sun, 28 Jul 2024)

  Changed paths:
M Source/WebKit/WPEPlatform/wpe/WPEDisplay.cpp

  Log Message:
  ---
  [WPE] When a specified WPE_DISPLAY is not available, fail, instead of 
silently using a fallback
https://bugs.webkit.org/show_bug.cgi?id=277165

Reviewed by Michael Catanzaro.

If the environemnt variable 'WPE_DISPLAY' is explicitely set to a value, e.g. 
'wpe-display-wayland'
we should fail, if the Wayland connection fails or the platform is unavailable 
instead of silently
choosing a fallback.

* Source/WebKit/WPEPlatform/wpe/WPEDisplay.cpp:
(wpe_display_get_default):

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



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


[webkit-changes] [WebKit/WebKit] 030aa4: [WPE] Switch WPE/MiniBrowser configuration to use ...

2024-07-02 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 030aa4eebde6565b666972a0ea602a722972e0e2
  
https://github.com/WebKit/WebKit/commit/030aa4eebde6565b666972a0ea602a722972e0e2
  Author: Nikolas Zimmermann 
  Date:   2024-07-02 (Tue, 02 Jul 2024)

  Changed paths:
M 
Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowserwpe_driver.py

  Log Message:
  ---
  [WPE] Switch WPE/MiniBrowser configuration to use new WPE platform API + 
maximized mode
https://bugs.webkit.org/show_bug.cgi?id=276126

Reviewed by Carlos Alberto Lopez Perez.

Pass --use-wpe-platform-api and --maximized to the run-minibrowser
command, to activate the new WPE platform API and launch MiniBrowser
maximized.

Change will be covered by WPE performance test bots.

* 
Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowserwpe_driver.py:
(WPEMiniBrowserDriver.launch_url):

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



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


[webkit-changes] [WebKit/WebKit] d72f4b: [WPE] Add --size / --maximized / --fullscreen para...

2024-07-02 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d72f4bd734ae263071bcd38db5ded174974a5bd4
  
https://github.com/WebKit/WebKit/commit/d72f4bd734ae263071bcd38db5ded174974a5bd4
  Author: Nikolas Zimmermann 
  Date:   2024-07-02 (Tue, 02 Jul 2024)

  Changed paths:
M Tools/MiniBrowser/wpe/main.cpp

  Log Message:
  ---
  [WPE] Add --size / --maximized / --fullscreen parameters to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=276072

Reviewed by Carlos Garcia Campos.

Add --size parameter to MiniBrowser to specify the window width/height
as command line argument. This is necessary for our plans to switch WPE
perf bot testing to use MiniBrowser+new API instead of cog+old API.

Furthermore add --maximized / --fullscreen parameters supported only
within the new WPE platform API, which start MiniBrowser either
maximized or in fullscreen mode.

Doesn't affect any tests.

* Tools/MiniBrowser/wpe/main.cpp:
(parseWindowSize):
(createWebView):
(activate):
(main):

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



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


[webkit-changes] [WebKit/WebKit] 24c2ba: Unreviewed, reverting 280500@main (0e25482564e0)

2024-06-29 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 24c2bad87a24b78f1e576c8d042740a1e0d0d8f9
  
https://github.com/WebKit/WebKit/commit/24c2bad87a24b78f1e576c8d042740a1e0d0d8f9
  Author: Nikolas Zimmermann 
  Date:   2024-06-29 (Sat, 29 Jun 2024)

  Changed paths:
M Tools/yocto/meta-openembedded_and_meta-webkit.patch

  Log Message:
  ---
  Unreviewed, reverting 280500@main (0e25482564e0)
https://bugs.webkit.org/show_bug.cgi?id=276031

Revert '[WPE][cross-toolchain-helper] Attempt to fix chromium build on bots'

Reverted change:

[WPE][cross-toolchain-helper] Attempt to fix chromium build on bots
https://bugs.webkit.org/show_bug.cgi?id=276030
280500@main (0e25482564e0)

Did not help to fix the build, go back to system ICU.

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



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


[webkit-changes] [WebKit/WebKit] 0e2548: [WPE][cross-toolchain-helper] Attempt to fix chrom...

2024-06-29 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0e25482564e02d7be7fb746c87799531e1f13742
  
https://github.com/WebKit/WebKit/commit/0e25482564e02d7be7fb746c87799531e1f13742
  Author: Nikolas Zimmermann 
  Date:   2024-06-29 (Sat, 29 Jun 2024)

  Changed paths:
M Tools/yocto/meta-openembedded_and_meta-webkit.patch

  Log Message:
  ---
  [WPE][cross-toolchain-helper] Attempt to fix chromium build on bots
https://bugs.webkit.org/show_bug.cgi?id=276030

Unreviewed build fix.

The chromium build currently fails on the bots,
because the node.js executable is unusable. Launching
it results in errors, as it doesn't pick up the correct
libicu* libraries -- attempt to workaround the problem
by setting 'use_system_icu=false'. The bots will tell
if this patch is acceptable or not.

Covered by WPE perf build bots.

* Tools/yocto/meta-openembedded_and_meta-webkit.patch:

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



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


[webkit-changes] [WebKit/WebKit] 93291c: [WPE][Qt6] Fix build (add damaging rects to Qt6/WP...

2024-06-28 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 93291cb78fa777d16b059811c0903e1ed987f008
  
https://github.com/WebKit/WebKit/commit/93291cb78fa777d16b059811c0903e1ed987f008
  Author: Nikolas Zimmermann 
  Date:   2024-06-28 (Fri, 28 Jun 2024)

  Changed paths:
M Source/WebKit/UIProcess/API/wpe/qt6/WPEViewQtQuick.cpp

  Log Message:
  ---
  [WPE][Qt6] Fix build (add damaging rects to Qt6/WPEPlatform render_buffer 
implementation)
https://bugs.webkit.org/show_bug.cgi?id=275827

Unreviewed build fix.

Add recently added damage rects to Qt6/WPEPlatform render_buffer
implementation, and ignore the parameters for now -- just fix the build.

Covered by WPE/Qt6 build.

* Source/WebKit/UIProcess/API/wpe/qt6/WPEViewQtQuick.cpp:
(wpeViewQtQuickRenderBuffer):

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



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


[webkit-changes] [WebKit/WebKit] 9c523c: [WPE][cross-toolchain-helper] Add chromium to webk...

2024-06-27 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9c523c665516fbdce6dc4cfe2a28f8451fe7d6da
  
https://github.com/WebKit/WebKit/commit/9c523c665516fbdce6dc4cfe2a28f8451fe7d6da
  Author: Nikolas Zimmermann 
  Date:   2024-06-27 (Thu, 27 Jun 2024)

  Changed paths:
A Tools/yocto/meta-openembedded_and_meta-webkit.patch
R 
Tools/yocto/meta-openembedded_backport-libbacktrace-and-newer-netdata-to-mickledore-branch.patch
M Tools/yocto/riscv/manifest.xml
M Tools/yocto/rpi/bblayers.conf
M Tools/yocto/rpi/local-rpi3-32bits-mesa.conf
M Tools/yocto/rpi/local-rpi3-32bits-userland.conf
M Tools/yocto/rpi/local-rpi3-64bits-mesa.conf
M Tools/yocto/rpi/local-rpi4-32bits-mesa.conf
M Tools/yocto/rpi/local-rpi4-64bits-mesa.conf
M Tools/yocto/rpi/manifest.xml
M Tools/yocto/targets.conf

  Log Message:
  ---
  [WPE][cross-toolchain-helper] Add chromium to webkitdevci images, port to 
scarthgap yocto release
https://bugs.webkit.org/show_bug.cgi?id=275846

Reviewed by Carlos Alberto Lopez Perez.

- Port rpi/riscv targets to latest yocto release (scarthgap)
- Include Chromium in the webkitdevci image for the rpi targets, for 
performance comparisions.
  Therefore we need a recent clang version - the mickledore yocto release is 
not sufficient.
  Furthermore we want to build chromium in the most "fair" way, not using some 
GCC flavour,
  but strictly following upstream recommendations, to end up with an unbiased 
comparision.

Covered by CI test infrastructure.

* Tools/yocto/meta-openembedded_and_meta-webkit.patch: Added.
* 
Tools/yocto/meta-openembedded_backport-libbacktrace-and-newer-netdata-to-mickledore-branch.patch:
 Removed.
* Tools/yocto/riscv/manifest.xml:
* Tools/yocto/rpi/bblayers.conf:
* Tools/yocto/rpi/local-rpi3-32bits-mesa.conf:
* Tools/yocto/rpi/local-rpi3-32bits-userland.conf:
* Tools/yocto/rpi/local-rpi3-64bits-mesa.conf:
* Tools/yocto/rpi/local-rpi4-32bits-mesa.conf:
* Tools/yocto/rpi/local-rpi4-64bits-mesa.conf:
* Tools/yocto/rpi/manifest.xml:
* Tools/yocto/targets.conf:

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



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


[webkit-changes] [WebKit/WebKit] 7fc5bf: [WPE][Qt6] Ignore invalid resize attempts

2024-06-23 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7fc5bfadcbf15c28aa44d5f918d8858c50778344
  
https://github.com/WebKit/WebKit/commit/7fc5bfadcbf15c28aa44d5f918d8858c50778344
  Author: Nikolas Zimmermann 
  Date:   2024-06-23 (Sun, 23 Jun 2024)

  Changed paths:
M Source/WebKit/UIProcess/API/wpe/qt6/WPEQtView.cpp
M Source/WebKit/UIProcess/API/wpe/qt6/WPEQtViewPrivate.h

  Log Message:
  ---
  [WPE][Qt6] Ignore invalid resize attempts
https://bugs.webkit.org/show_bug.cgi?id=275789

Reviewed by Philippe Normand.

Do not propagate empty/invalid sizes to the web view upon resizing.
Choose a default size of 800x600, that is used by default, unless
overriden (which is the common case).

Only testable using Qt/WPE integration.

* Source/WebKit/UIProcess/API/wpe/qt6/WPEQtView.cpp:
(WPEQtView::geometryChange):
* Source/WebKit/UIProcess/API/wpe/qt6/WPEQtViewPrivate.h:

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



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


[webkit-changes] [WebKit/WebKit] d161b4: [wpe][cross-toolchain-helper][browserperfdash] Def...

2024-06-23 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d161b493908aac112d8682eb7eab88760b1bd130
  
https://github.com/WebKit/WebKit/commit/d161b493908aac112d8682eb7eab88760b1bd130
  Author: Nikolas Zimmermann 
  Date:   2024-06-23 (Sun, 23 Jun 2024)

  Changed paths:
M 
Tools/yocto/meta-openembedded_backport-libbacktrace-and-newer-netdata-to-mickledore-branch.patch

  Log Message:
  ---
  [wpe][cross-toolchain-helper][browserperfdash] Define application groups for 
netdata
https://bugs.webkit.org/show_bug.cgi?id=275779

Unreviewed configuration change.

Define cog / wpe application groups, so we can query netdata for
per-process-group specific metrics, instead of full system metrics.

The cog process group only measures the 'cog' process, whereas
the 'wpe' group sums up WPEWebProcess + WPENetworkProcess.

* 
Tools/yocto/meta-openembedded_backport-libbacktrace-and-newer-netdata-to-mickledore-branch.patch:

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



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


[webkit-changes] [WebKit/WebKit] b8f876: [wpe][cross-toolchain-helper][browserperfdash] Imp...

2024-06-20 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b8f876b231ab91a7df950c7c0617945620d944e2
  
https://github.com/WebKit/WebKit/commit/b8f876b231ab91a7df950c7c0617945620d944e2
  Author: Nikolas Zimmermann 
  Date:   2024-06-20 (Thu, 20 Jun 2024)

  Changed paths:
M 
Tools/yocto/meta-openembedded_backport-libbacktrace-and-newer-netdata-to-mickledore-branch.patch

  Log Message:
  ---
  [wpe][cross-toolchain-helper][browserperfdash] Improve netdata systemd unit 
file to auto-restart upon failure/crash
https://bugs.webkit.org/show_bug.cgi?id=275712

Reviewed by Carlos Alberto Lopez Perez.

Improve the netdata systemd unit file to auto-restart netdata upon
crashes/failures.

* 
Tools/yocto/meta-openembedded_backport-libbacktrace-and-newer-netdata-to-mickledore-branch.patch:

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



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


[webkit-changes] [WebKit/WebKit] 5e7ce0: [WPE][Qt6] Make WPE/Qt public API usable

2024-06-20 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5e7ce03dc5feb90ffcefde7489844d8d74086310
  
https://github.com/WebKit/WebKit/commit/5e7ce03dc5feb90ffcefde7489844d8d74086310
  Author: Nikolas Zimmermann 
  Date:   2024-06-20 (Thu, 20 Jun 2024)

  Changed paths:
M Source/WebKit/PlatformWPE.cmake
M Source/WebKit/UIProcess/API/wpe/qt6/WPEQtView.cpp
M Source/WebKit/UIProcess/API/wpe/qt6/WPEQtView.h
M Source/WebKit/UIProcess/API/wpe/qt6/WPEQtViewLoadRequest.cpp
M Source/WebKit/UIProcess/API/wpe/qt6/WPEQtViewLoadRequest.h
M Source/WebKit/UIProcess/API/wpe/qt6/WPEQtViewLoadRequestPrivate.h
A Source/WebKit/UIProcess/API/wpe/qt6/WPEQtViewPrivate.h
M Tools/Scripts/webkitpy/style/checker.py

  Log Message:
  ---
  [WPE][Qt6] Make WPE/Qt public API usable
https://bugs.webkit.org/show_bug.cgi?id=275475

Reviewed by Michael Catanzaro and Adrian Perez de Castro.

- Introduce WPEQtViewPrivate, similar to WPEQtViewLoadRequestPrivate.
  Move all members from WPEQtView to WPEQtViewPrivate and make use of
  Qts d-ptr mechanism, to provide a stable ABI. This allows us to
  continue using GRefPtr to manage the web view lifetime -- prior to
  this patch it was impossible to include WPEQtView.h in projects using
  WPE/Qt6, since the WTF headers are not installed along libqtwpe.so.

- Provide non-inline virtual destructors for WPEQtView &
  WPEQtViewLoadRequest

- Assure all constructors are non-inline, for public API classes.

- Reimplement event() in QObject-derived classes, such as WPEQtView &
  WPEQtViewLoadRequest - folllowing the KDE ABI guidelines.

- Correct d-ptr usage in WPEQtViewLoadRequest. Previously one had to
  create WPEQtViewLoadRequestPrivate objects and pass them to
  WPEQtViewLoadRequest - which defeats the purpose of the d-ptr
  mechanism. No external class (except those inheriting from
  WPEQtViewLoadRequest, which we don't have) should need to construct
  d-ptr objects, since it's a private implementatil detail.

- Do not mark WPEQtView & friends with Q_DECL_EXPORT, but instead follow
  the Qt recommendation, of introducing a QT_WPE_EXPORT definition, that
  either resolves to Q_DECL_EXPORT or Q_DECL_IMPORT, depending on if we
  are building libqtwpe.so, or if we're using it externally.

  #if defined(QT_WPE_LIBRARY)
  #define QT_WPE_EXPORT Q_DECL_EXPORT
  #else
  #define QT_WPE_EXPORT Q_DECL_IMPORT
  #endif

Tested successfully on both desktop + yocto builds.

* Source/WebKit/PlatformWPE.cmake:
* Source/WebKit/UIProcess/API/wpe/qt6/WPEQtView.cpp:
(WPEQtView::WPEQtView):
(WPEQtView::~WPEQtView):
(WPEQtView::event):
(WPEQtView::geometryChange):
(WPEQtView::createWebView):
(WPEQtView::notifyLoadChangedCallback):
(WPEQtView::notifyLoadFailedCallback):
(WPEQtView::didUpdateScene):
(WPEQtView::updatePaintNode):
(WPEQtView::url const):
(WPEQtView::setUrl):
(WPEQtView::loadProgress const):
(WPEQtView::title const):
(WPEQtView::canGoBack const):
(WPEQtView::isLoading const):
(WPEQtView::canGoForward const):
(WPEQtView::goBack):
(WPEQtView::goForward):
(WPEQtView::reload):
(WPEQtView::stop):
(WPEQtView::loadHtml):
(WPEQtView::runJavaScript):
(WPEQtView::mousePressEvent):
(WPEQtView::mouseMoveEvent):
(WPEQtView::mouseReleaseEvent):
(WPEQtView::hoverEnterEvent):
(WPEQtView::hoverLeaveEvent):
(WPEQtView::hoverMoveEvent):
(WPEQtView::wheelEvent):
(WPEQtView::keyPressEvent):
(WPEQtView::keyReleaseEvent):
(WPEQtView::touchEvent):
(WPEQtView::webView const):
(WPEQtView::errorOccured const):
(WPEQtView::setErrorOccured):
* Source/WebKit/UIProcess/API/wpe/qt6/WPEQtView.h:
* Source/WebKit/UIProcess/API/wpe/qt6/WPEQtViewLoadRequest.cpp:
(WPEQtViewLoadRequest::WPEQtViewLoadRequest):
(WPEQtViewLoadRequest::~WPEQtViewLoadRequest):
(WPEQtViewLoadRequest::event):
* Source/WebKit/UIProcess/API/wpe/qt6/WPEQtViewLoadRequest.h:
* Source/WebKit/UIProcess/API/wpe/qt6/WPEQtViewLoadRequestPrivate.h:
(WPEQtViewLoadRequestPrivate::WPEQtViewLoadRequestPrivate):
(WPEQtViewLoadRequestPrivate::~WPEQtViewLoadRequestPrivate):
* Source/WebKit/UIProcess/API/wpe/qt6/WPEQtViewPrivate.h: Copied from 
Source/WebKit/UIProcess/API/wpe/qt6/WPEQtViewLoadRequestPrivate.h.
(WPEQtViewPrivate::WPEQtViewPrivate):
(WPEQtViewPrivate::~WPEQtViewPrivate):
* Tools/Scripts/webkitpy/style/checker.py:

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



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


[webkit-changes] [WebKit/WebKit] 87b382: Cherry-pick 276752@main (75d98d9e2d74). https://bu...

2024-06-17 Thread Nikolas Zimmermann
c4addd008a). 
https://bugs.webkit.org/show_bug.cgi?id=275377

[GTK] Fix texture leaks
https://bugs.webkit.org/show_bug.cgi?id=275377

Reviewed by Carlos Garcia Campos.

* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseTakeViewSnapshot):
* Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp:
(WebKit::ViewGestureController::beginSwipeGesture):

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

Canonical link: https://commits.webkit.org/274313.304@webkitglib/2.44


  Commit: cf9ddb5095a811241b04321dc6bad64e207632ab
  
https://github.com/WebKit/WebKit/commit/cf9ddb5095a811241b04321dc6bad64e207632ab
  Author: Nikolas Zimmermann 
  Date:   2024-06-14 (Fri, 14 Jun 2024)

  Changed paths:
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/FunctionsGL.cpp

  Log Message:
  ---
  Cherry-pick 280016@main (86c1918fdd79). 
https://bugs.webkit.org/show_bug.cgi?id=275481

[ANGLE] Protect from faulty GPU drivers, reporting nullptr as GL_EXTENSION 
string
https://bugs.webkit.org/show_bug.cgi?id=275481

Reviewed by Kimmo Kinnunen and Adrian Perez de Castro.

On a particular i.MX8 board any WebGL demo crashes in ANGLE initialization,
reporting a nullptr instead of a proper null-terminated string, when calling
getStringIFunction(GL_EXTENSIONS, i) in libANGLEs GetIndexExtensions() 
method
in renderer/gl/FunctionsGL.cpp. Null-check the string before trying to
wrap it in a std::string.

Covered by any WebGL test/demo on a certain i.MX8 board.

* Source/ThirdParty/ANGLE/changes.diff:
* Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/FunctionsGL.cpp:
(rx::GetIndexedExtensions):

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

Canonical link: https://commits.webkit.org/274313.305@webkitglib/2.44


Compare: https://github.com/WebKit/WebKit/compare/52e428e37d6e...cf9ddb5095a8

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


[webkit-changes] [WebKit/WebKit] 86c191: [ANGLE] Protect from faulty GPU drivers, reporting...

2024-06-14 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 86c1918fdd79715f17cf6bbf161cdda598882198
  
https://github.com/WebKit/WebKit/commit/86c1918fdd79715f17cf6bbf161cdda598882198
  Author: Nikolas Zimmermann 
  Date:   2024-06-14 (Fri, 14 Jun 2024)

  Changed paths:
M Source/ThirdParty/ANGLE/changes.diff
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/FunctionsGL.cpp

  Log Message:
  ---
  [ANGLE] Protect from faulty GPU drivers, reporting nullptr as GL_EXTENSION 
string
https://bugs.webkit.org/show_bug.cgi?id=275481

Reviewed by Kimmo Kinnunen and Adrian Perez de Castro.

On a particular i.MX8 board any WebGL demo crashes in ANGLE initialization,
reporting a nullptr instead of a proper null-terminated string, when calling
getStringIFunction(GL_EXTENSIONS, i) in libANGLEs GetIndexExtensions() method
in renderer/gl/FunctionsGL.cpp. Null-check the string before trying to
wrap it in a std::string.

Covered by any WebGL test/demo on a certain i.MX8 board.

* Source/ThirdParty/ANGLE/changes.diff:
* Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/FunctionsGL.cpp:
(rx::GetIndexedExtensions):

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



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


[webkit-changes] [WebKit/WebKit] 567bd6: [WPE][Qt] Add support for building QtWPE against Qt 6

2024-05-22 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 567bd6a58583b3944fc027e0d493d117aefb5337
  
https://github.com/WebKit/WebKit/commit/567bd6a58583b3944fc027e0d493d117aefb5337
  Author: Nikolas Zimmermann 
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
M Source/WebKit/PlatformWPE.cmake
R Source/WebKit/UIProcess/API/wpe/qt/CMakeLists.txt
R Source/WebKit/UIProcess/API/wpe/qt/WPEQmlExtensionPlugin.cpp
R Source/WebKit/UIProcess/API/wpe/qt/WPEQmlExtensionPlugin.h
R Source/WebKit/UIProcess/API/wpe/qt/WPEQtView.cpp
R Source/WebKit/UIProcess/API/wpe/qt/WPEQtView.h
R Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewBackend.cpp
R Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewBackend.h
R Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewLoadRequest.cpp
R Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewLoadRequest.h
R Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewLoadRequestPrivate.h
R Source/WebKit/UIProcess/API/wpe/qt/qmldir
A Source/WebKit/UIProcess/API/wpe/qt5/CMakeLists.txt
A Source/WebKit/UIProcess/API/wpe/qt5/WPEQmlExtensionPlugin.cpp
A Source/WebKit/UIProcess/API/wpe/qt5/WPEQmlExtensionPlugin.h
A Source/WebKit/UIProcess/API/wpe/qt5/WPEQtView.cpp
A Source/WebKit/UIProcess/API/wpe/qt5/WPEQtView.h
A Source/WebKit/UIProcess/API/wpe/qt5/WPEQtViewBackend.cpp
A Source/WebKit/UIProcess/API/wpe/qt5/WPEQtViewBackend.h
A Source/WebKit/UIProcess/API/wpe/qt5/WPEQtViewLoadRequest.cpp
A Source/WebKit/UIProcess/API/wpe/qt5/WPEQtViewLoadRequest.h
A Source/WebKit/UIProcess/API/wpe/qt5/WPEQtViewLoadRequestPrivate.h
A Source/WebKit/UIProcess/API/wpe/qt5/qmldir
A Source/WebKit/UIProcess/API/wpe/qt6/WPEDisplayQtQuick.cpp
A Source/WebKit/UIProcess/API/wpe/qt6/WPEDisplayQtQuick.h
A Source/WebKit/UIProcess/API/wpe/qt6/WPEQmlExtensionPlugin.cpp
A Source/WebKit/UIProcess/API/wpe/qt6/WPEQmlExtensionPlugin.h
A Source/WebKit/UIProcess/API/wpe/qt6/WPEQtView.cpp
A Source/WebKit/UIProcess/API/wpe/qt6/WPEQtView.h
A Source/WebKit/UIProcess/API/wpe/qt6/WPEQtViewLoadRequest.cpp
A Source/WebKit/UIProcess/API/wpe/qt6/WPEQtViewLoadRequest.h
A Source/WebKit/UIProcess/API/wpe/qt6/WPEQtViewLoadRequestPrivate.h
A Source/WebKit/UIProcess/API/wpe/qt6/WPEViewQtQuick.cpp
A Source/WebKit/UIProcess/API/wpe/qt6/WPEViewQtQuick.h
A Source/WebKit/UIProcess/API/wpe/qt6/qmldir
M Source/cmake/OptionsWPE.cmake
M Tools/MiniBrowser/wpe/CMakeLists.txt
R Tools/MiniBrowser/wpe/qt/CMakeLists.txt
R Tools/MiniBrowser/wpe/qt/main.cpp
R Tools/MiniBrowser/wpe/qt/main.qml
R Tools/MiniBrowser/wpe/qt/qml.qrc
A Tools/MiniBrowser/wpe/qt5/CMakeLists.txt
A Tools/MiniBrowser/wpe/qt5/main.cpp
A Tools/MiniBrowser/wpe/qt5/main.qml
A Tools/MiniBrowser/wpe/qt5/qml.qrc
A Tools/MiniBrowser/wpe/qt6/CMakeLists.txt
A Tools/MiniBrowser/wpe/qt6/main.cpp
A Tools/MiniBrowser/wpe/qt6/main.qml
A Tools/MiniBrowser/wpe/qt6/qml.qrc
M Tools/Scripts/run-qt-wpe-minibrowser
M Tools/Scripts/webkitdirs.pm
M Tools/Scripts/webkitpy/style/checker.py
M Tools/TestWebKitAPI/Tests/WPEQt/WPEQtTest.cpp
M Tools/TestWebKitAPI/Tests/WPEQt/WPEQtTest.h
M Tools/TestWebKitAPI/glib/CMakeLists.txt

  Log Message:
  ---
  [WPE][Qt] Add support for building QtWPE against Qt 6
https://bugs.webkit.org/show_bug.cgi?id=270161

Reviewed by Carlos Garcia Campos.

- Keep the existing Qt 5 based WPEQt implementation and rename:
  - Source/WebKit/UIProcess/API/wpe/qt -> Source/WebKit/UIProcess/API/wpe/qt5
  - Tools/MiniBrowser/wpe/qt -> Tools/MiniBrowser/wpe/qt5

- Add a new WPEQt implementation for Qt 6, based on the new WPE platform
  API, that was recently developed, not relying on WPEBackend(-fdo) anymore.

  Touch / wheel / hover / mouse / keyboard events are supported, only
  keyboard+mouse events were tested so far.

- Polish UI: Add navigation buttons (back|forward|reload) / URL bar for
  Qt 6 MiniBrowser

- Make the WebKitWebView ref-counted in WPEQtView, by wrapping in
  GRefPtr (needs some moc related plumbing to allow for config.h
  inclusion, which is a pre-requisite to get wtf/ headers includable).

Tested using:
build-webkit --wpe --debug --cmakeargs "-DUSE_QT6=ON|OFF"
run-qt-wpe-minibrowser --debug https://www.igalia.com

Covered by existing tests, no change in default behavior.

* Source/WebKit/PlatformWPE.cmake:
* Source/WebKit/UIProcess/API/wpe/qt5/CMakeLists.txt: Renamed from 
Source/WebKit/UIProcess/API/wpe/qt/CMakeLists.txt.
* Source/WebKit/UIProcess/API/wpe/qt5/WPEQmlExtensionPlugin.cpp: Copied from 
Source/WebKit/UIProcess/API/wpe/qt/WPEQmlExtensionPlugin.cpp.
* Source/WebKit/UIProcess/API/wpe/qt5/WPEQmlExtensionPlugin.h: Copied from 
Source/WebKit/UIProcess/API/wpe/qt/WPEQmlExtensionPlugin.h.
* Source/WebKit/UIProcess/API/wpe/qt5/WPEQtView.cpp: Copied from 
Source/WebKit/UIProcess/API/wpe/qt/WPEQtView.cpp.
* Source/WebKit/UIProcess/API/wpe/qt5/WPE

[webkit-changes] [WebKit/WebKit] c06995: [WPE][DRM] wpeDisplayDRMGetDRMRenderNode() ignores...

2024-05-17 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c06995ebd35c3b744b6ee3dfa0ec1ac7c80e3c17
  
https://github.com/WebKit/WebKit/commit/c06995ebd35c3b744b6ee3dfa0ec1ac7c80e3c17
  Author: Nikolas Zimmermann 
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
M Source/WebKit/WPEPlatform/wpe/drm/WPEDisplayDRM.cpp

  Log Message:
  ---
  [WPE][DRM] wpeDisplayDRMGetDRMRenderNode() ignores non-null drmRenderNode, 
still returning drmDevice"
https://bugs.webkit.org/show_bug.cgi?id=273758

Reviewed by Carlos Garcia Campos.

wpeDisplayDRMGetDRMRenderNode() is missing a return statement, and thus never
returns drmRenderNode, even if it's non-null and supposed to override the
default drmDevice - fix that.

Covered by existing tests.

* Source/WebKit/WPEPlatform/wpe/drm/WPEDisplayDRM.cpp:
(wpeDisplayDRMGetDRMRenderNode):

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



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


[webkit-changes] [WebKit/WebKit] d09fc8: Cherry-pick 276729@main (ef3fe7c74055). https://bu...

2024-03-27 Thread Nikolas Zimmermann
  Branch: refs/heads/webkitglib/2.44
  Home:   https://github.com/WebKit/WebKit
  Commit: d09fc8dac1926d9e5242c03b042c30a016746357
  
https://github.com/WebKit/WebKit/commit/d09fc8dac1926d9e5242c03b042c30a016746357
  Author: Nikolas Zimmermann 
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
M Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp

  Log Message:
  ---
  Cherry-pick 276729@main (ef3fe7c74055). 
https://bugs.webkit.org/show_bug.cgi?id=271387

[WPE] Fix libwpe version check WPEWebView destructor
https://bugs.webkit.org/show_bug.cgi?id=271387

Reviewed by Adrian Perez de Castro.

WPEWebView destructor avoids calling 
'wpe_view_backend_set_fullscreen_client'
for libwpe versions < 1.15.x - the fix appeared in 1.14.2, not 1.15.x - 
correct that.

Covered by existing tests, when executed with cog.

* Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp:
(WKWPE::View::~View):

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

Canonical link: https://commits.webkit.org/274313.113@webkitglib/2.44



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


[webkit-changes] [WebKit/WebKit] ef3fe7: [WPE] Fix libwpe version check WPEWebView destructor

2024-03-27 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ef3fe7c740559895c17e6a43acfd06b875b32f39
  
https://github.com/WebKit/WebKit/commit/ef3fe7c740559895c17e6a43acfd06b875b32f39
  Author: Nikolas Zimmermann 
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
M Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp

  Log Message:
  ---
  [WPE] Fix libwpe version check WPEWebView destructor
https://bugs.webkit.org/show_bug.cgi?id=271387

Reviewed by Adrian Perez de Castro.

WPEWebView destructor avoids calling 'wpe_view_backend_set_fullscreen_client'
for libwpe versions < 1.15.x - the fix appeared in 1.14.2, not 1.15.x - correct 
that.

Covered by existing tests, when executed with cog.

* Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp:
(WKWPE::View::~View):

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



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


[webkit-changes] [WebKit/WebKit] a78e4b: [LBSE] Fix MotionMark repaint issues

2024-03-05 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a78e4b31c4407220c6b34773a707e9880c713edd
  
https://github.com/WebKit/WebKit/commit/a78e4b31c4407220c6b34773a707e9880c713edd
  Author: Nikolas Zimmermann 
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-marker-and-object-creation-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-marker-creation-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-pattern-and-object-creation-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/marker-orient-auto-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/non-scaling-stroke-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-deep-referencing-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-incorrect-tiling-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-referencing-preserve-aspect-ratio-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-rotate-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-scaled-pattern-space-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-scaling-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-skew-transformed-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-with-transformation-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/shapes-supporting-markers-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/transformed-pattern-clamp-svg-root-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/repaint/foreign-object-repainting-after-modifying-container-transform-repaint-rects-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/repaint/foreign-object-repainting-after-modifying-transform-repaint-rects-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/repaint/image-repainting-after-modifying-container-transform-repaint-rects-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/repaint/image-repainting-after-modifying-transform-repaint-rects-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/repaint/shape-repainting-after-modifying-container-transform-repaint-rects-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/repaint/shape-repainting-after-modifying-transform-repaint-rects-expected.txt
M Source/WebCore/rendering/ReferencedSVGResources.cpp
M Source/WebCore/rendering/RenderElement.cpp
M Source/WebCore/rendering/RenderElement.h

  Log Message:
  ---
  [LBSE] Fix MotionMark repaint issues
https://bugs.webkit.org/show_bug.cgi?id=270103

Reviewed by Rob Buis.

In LBSE transform changes do not result in relayouts, instead repaints
are triggered. That failed to repaint the old position of an object
before the transform change, only the new position - fix that.

Covered by existing tests, when LBSE is active.

* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-marker-and-object-creation-expected.png:
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-marker-creation-expected.png:
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-pattern-and-object-creation-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/marker-orient-auto-expected.png:
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/non-scaling-stroke-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-deep-referencing-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-incorrect-tiling-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-referencing-preserve-aspect-ratio-expected.png:
 Copied from 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-marker-and-object-creation-expected.png.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-rotate-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-scaled-pattern-space-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-scaling-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-skew-transformed-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-with-transformation-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/shapes-supporting-markers-expected.png:
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/transformed-pattern-clamp-svg-root-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma

[webkit-changes] [WebKit/WebKit] 3ba574: [LBSE] Gardening, update mac-sonoma-wk2-lbse-text ...

2024-02-26 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3ba5746d98ad344ff47fe14d036111d16ac88a35
  
https://github.com/WebKit/WebKit/commit/3ba5746d98ad344ff47fe14d036111d16ac88a35
  Author: Nikolas Zimmermann 
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/svg-fonts-in-html-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/svg-fonts-in-html-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/transforms/svg-css-transforms-clip-path-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/transforms/svg-css-transforms-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/zoom/page/zoom-background-images-expected.txt

  Log Message:
  ---
  [LBSE] Gardening, update mac-sonoma-wk2-lbse-text baseline
https://bugs.webkit.org/show_bug.cgi?id=270086

Unreviewed gardening.

Update a few outdated baselines, when LBSE is activated.

* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/svg-fonts-in-html-expected.png:
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/svg-fonts-in-html-expected.txt:
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/transforms/svg-css-transforms-clip-path-expected.txt:
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/transforms/svg-css-transforms-expected.txt:
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/zoom/page/zoom-background-images-expected.txt:

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



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


[webkit-changes] [WebKit/WebKit] 203eb4: [Skia] Add support for multi-threaded CPU rendering

2024-02-22 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 203eb419d8226c5a5214c7f637b4529964f5a434
  
https://github.com/WebKit/WebKit/commit/203eb419d8226c5a5214c7f637b4529964f5a434
  Author: Nikolas Zimmermann 
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h
M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerSkia.cpp
M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp
M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h

  Log Message:
  ---
  [Skia] Add support for multi-threaded CPU rendering
https://bugs.webkit.org/show_bug.cgi?id=269450

Reviewed by Carlos Garcia Campos.

Currently CoordinatedGraphicsLayer::paintTile() creates an Nicosia::Un-
cceleratedBuffer, paints the GraphicsLayer into it and returns the
finished buffer. The resulting Nicosia::Buffers are collected and will
be used later on in the ThreadedCompositor to swap the tile buffers.

Each tile is painted sequentially using the same procedure. To better
exploit multicores, we record a DisplayList (which should be faster
than painting), and then post tasks to a WorkerPool, to replay the
DisplayList and perform the drawing. With that concept, painting of
tiles happens in parallel. The buffer-consuming code in
CoordinatedBackingStoreTile::swapBuffers() properly waits for painting
completion before it attempts to access the pixel data (in the CPU
backend case) - therefore we can easily parallelize the tile painting,
just like it has been done in the Cairo case, but re-using the
cross-platform display list recording/replaying approach instead of a
custom NicosiaCairoOperationRecorder-like class.

This improves MotionMark performance, even on desktop, when CPU painting
is used. The improvement does not scale linear with the number of threads
used - not all tiles are equally "occupied", and thus some benefit more
from doing non-sequential painting, others not.

Covered by existing tests.

* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerSkia.cpp:
(WebCore::CoordinatedGraphicsLayer::paintTile):
* 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::skiaNumberOfCpuPaintingThreads):
(WebKit::CompositingCoordinator::CompositingCoordinator):
(WebKit::CompositingCoordinator::invalidate):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:

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



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


[webkit-changes] [WebKit/WebKit] 21530f: DisplayList replay does not apply filters

2024-02-22 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 21530f9cc92c09f19c293d2943fea77f31358b98
  
https://github.com/WebKit/WebKit/commit/21530f9cc92c09f19c293d2943fea77f31358b98
  Author: Nikolas Zimmermann 
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
M Source/WebCore/platform/graphics/displaylists/DisplayListItem.cpp
M Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp
M Source/WebCore/platform/graphics/displaylists/DisplayListItems.h

  Log Message:
  ---
  DisplayList replay does not apply filters
https://bugs.webkit.org/show_bug.cgi?id=269738

Reviewed by Said Abou-Hallawa.

DisplayList recording properly handles filters -- they
are serialized as 'DrawFilteredImageBuffer' command. During replay this
display list item type is unhandled, therefore the filtered image is not
drawn when replaying the display list - fix that.

This blocks the intrduction of the multi-threaded CPU rendering mode
for WPE/Skia, since that relies on DisplayList recording & replay.

Coverered by existing tests, when enforcing DisplayList recording.

* Source/WebCore/platform/graphics/displaylists/DisplayListItem.cpp:
(WebCore::DisplayList::applyFilteredImageBufferItem):
(WebCore::DisplayList::applyItem):
* Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawFilteredImageBuffer::apply const):
(WebCore::DisplayList::DrawFilteredImageBuffer::apply): Deleted.
* Source/WebCore/platform/graphics/displaylists/DisplayListItems.h:

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



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


[webkit-changes] [WebKit/WebKit] 0c499e: [Skia] Cleanup / refactor AcceleratedBufferPool

2024-02-19 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0c499e9e1049c4d57593a538d5f0ebfb3f74a687
  
https://github.com/WebKit/WebKit/commit/0c499e9e1049c4d57593a538d5f0ebfb3f74a687
  Author: Nikolas Zimmermann 
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:
M Source/WebCore/platform/Skia.cmake
M Source/WebCore/platform/SourcesSkia.txt
A Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.cpp
A Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.h
M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h
M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerSkia.cpp
M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp
M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h

  Log Message:
  ---
  [Skia] Cleanup / refactor AcceleratedBufferPool
https://bugs.webkit.org/show_bug.cgi?id=269650

Reviewed by Carlos Garcia Campos.

Move AcceleratedBufferPool out of CoordinatedGraphicsLayerSkia.cpp into
Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.* -
rename the class to SkiaAcceleratedBufferPool.

AcceleratedBufferPools destructor contains code to cleanup the GL
resources - this was never called as the class was managed as a
singleton. SkiaAcceleratedBufferPool is instead owned by
CopositingCoordinator. It allocates the pool if GPU rendering is used
and properly destructs it in the invalidate() method, which is called
during LayerTreeHost destruction. This ensures that we don't leave
around unclaimed resources.

* Source/WebCore/platform/Skia.cmake:
* Source/WebCore/platform/SourcesSkia.txt:
* Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.cpp: Added.
(WebCore::SkiaAcceleratedBufferPool::SkiaAcceleratedBufferPool):
(WebCore::SkiaAcceleratedBufferPool::~SkiaAcceleratedBufferPool):
(WebCore::SkiaAcceleratedBufferPool::acquireBuffer):
(WebCore::SkiaAcceleratedBufferPool::createAcceleratedBuffer):
(WebCore::SkiaAcceleratedBufferPool::scheduleReleaseUnusedBuffers):
(WebCore::SkiaAcceleratedBufferPool::releaseUnusedBuffersTimerFired):
* Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.h: Added.
(WebCore::SkiaAcceleratedBufferPool::Entry::Entry):
(WebCore::SkiaAcceleratedBufferPool::Entry::markIsInUse):
(WebCore::SkiaAcceleratedBufferPool::Entry::canBeReleased const):
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerSkia.cpp:
(WebCore::CoordinatedGraphicsLayer::paintTile):
(WebCore::AcceleratedBufferPool::singleton): Deleted.
(WebCore::AcceleratedBufferPool::AcceleratedBufferPool): Deleted.
(WebCore::AcceleratedBufferPool::~AcceleratedBufferPool): Deleted.
(WebCore::AcceleratedBufferPool::acquireBuffer): Deleted.
(WebCore::AcceleratedBufferPool::Entry::Entry): Deleted.
(WebCore::AcceleratedBufferPool::Entry::markIsInUse): Deleted.
(WebCore::AcceleratedBufferPool::Entry::canBeReleased const): Deleted.
(WebCore::AcceleratedBufferPool::createAcceleratedBuffer): Deleted.
(WebCore::AcceleratedBufferPool::scheduleReleaseUnusedBuffers): Deleted.
(WebCore::AcceleratedBufferPool::releaseUnusedBuffersTimerFired): Deleted.
* 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::skiaForceUseCpuRendering):
(WebKit::CompositingCoordinator::CompositingCoordinator):
(WebKit::CompositingCoordinator::invalidate):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:

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



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


[webkit-changes] [WebKit/WebKit] 3bd5bd: Unify cycle detection logic for legacy & LBSE

2024-02-09 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3bd5bd5c81f2cb45f09ff2c8d004241544ce69aa
  
https://github.com/WebKit/WebKit/commit/3bd5bd5c81f2cb45f09ff2c8d004241544ce69aa
  Author: Nikolas Zimmermann 
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
M LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayerModelObject.cpp
M Source/WebCore/rendering/RenderLayerModelObject.h
M Source/WebCore/rendering/svg/RenderSVGContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGImage.cpp
M Source/WebCore/rendering/svg/RenderSVGPath.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp
M Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp
M Source/WebCore/rendering/svg/RenderSVGRoot.cpp
M Source/WebCore/rendering/svg/RenderSVGShape.cpp
M Source/WebCore/rendering/svg/RenderSVGText.cpp
M Source/WebCore/rendering/svg/SVGRenderSupport.cpp
M Source/WebCore/rendering/svg/SVGRenderSupport.h
A Source/WebCore/rendering/svg/SVGVisitedRendererTracking.h
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGContainer.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGImage.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceClipper.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGRoot.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGShape.cpp
A Source/WebCore/svg/SVGVisitedElementTracking.h
M Source/WebCore/svg/animation/SVGSMILElement.cpp

  Log Message:
  ---
  Unify cycle detection logic for legacy & LBSE
https://bugs.webkit.org/show_bug.cgi?id=268909

Reviewed by Rob Buis.

Provide one unique way to prevent recursion in SVG: SVGVisitedRendererTracking.
We already had SVGHitTestCycleDetectionScope to prevent cycles in the legacy
SVG engine during hit-testing, and custom code in SVGSMILElement that provided
the same functionality, but SVGElement, not RenderElement based.

Unify the logic in SVGVisitedRenderingTracking / SVGVisitedElementTracking
and make use of them throughout the legacy SVG engine & LBSE.

It's used like this:


bool RenderSVGSomething::someMethod()
{
static NeverDestroyed s_visitedSet;

SVGVisitedRendererTracking recursionTracking(s_visitedSet);
if (recursionTracking.isVisiting(*this))
return false;

SVGVisitedRendererTracking::Scope recursionScope(recursionTracking, *this);

// We can be sure that if someMethod() is entered again - we'll gracefully 
exit as
// SVGVisitedRendererTracking::isVisiting(const RenderElement&) returns 
true above.
performActionThatPotententiallyEntersThisMethodAgain();
return true;
}


Unlike SVGHitTestCycleDetectionScope there is no single static HashSet
shared between all instances of SVGVisitedRendererTracking::Scope - instead
it is passed in as reference to the SVGVisitedRendererTracking constructor.
This allows to seperate the different cylce detection scopes in a fine-grained
way, e.g. per method, per type, etc.

Covered by existing tests.

* LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations:
Some gardening - cleanup duplicated entries so lint passes again.
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintSVGResourceLayer):
* Source/WebCore/rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::pointInSVGClippingArea const):
* Source/WebCore/rendering/RenderLayerModelObject.h:
* Source/WebCore/rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::nodeAtPoint):
* Source/WebCore/rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::nodeAtPoint):
* Source/WebCore/rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::drawMarkers):
(WebCore::RenderSVGPath::computeMarkerBoundingBox const):
* Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyMaskClipping):
(WebCore::RenderSVGResourceClipper::hitTestClipContent):
(WebCore::RenderSVGResourceClipper::resourceBoundingBox):
* Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::notifyResourceChanged):
(WebCore::RenderSVGResourceContainer::registerResource):
(WebCore::RenderSVGResourceContainer::repaintAllClients const):
* Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyMask):
(WebCore::RenderSVGResourceMasker::resourceBoundingBox):
* Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::createTileImage const):
* Source/WebCore/rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::nodeAtPoint):
* Source/WebCore/rendering/svg/Render

[webkit-changes] [WebKit/WebKit] a3c751: [LBSE] Code cleanup after implementing all but one...

2024-02-03 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a3c7518b1394db37cb46e4c00c9272d382eacb2f
  
https://github.com/WebKit/WebKit/commit/a3c7518b1394db37cb46e4c00c9272d382eacb2f
  Author: Nikolas Zimmermann 
  Date:   2024-02-03 (Sat, 03 Feb 2024)

  Changed paths:
M Source/WebCore/rendering/ReferencedSVGResources.cpp
M Source/WebCore/rendering/svg/RenderSVGBlock.cpp
M Source/WebCore/rendering/svg/RenderSVGContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp
M Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp
M Source/WebCore/rendering/svg/RenderSVGImage.cpp
M Source/WebCore/rendering/svg/RenderSVGInline.cpp
M Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
M Source/WebCore/rendering/svg/RenderSVGModelObject.h
M Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp
M Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp
M Source/WebCore/rendering/svg/RenderSVGRoot.cpp
M Source/WebCore/rendering/svg/RenderSVGRoot.h
M Source/WebCore/rendering/svg/RenderSVGShape.cpp
M Source/WebCore/rendering/svg/RenderSVGText.cpp
M Source/WebCore/rendering/svg/SVGContainerLayout.cpp
M Source/WebCore/rendering/svg/SVGResourcesCache.cpp
M Source/WebCore/rendering/updating/RenderTreeBuilder.cpp
M Source/WebCore/rendering/updating/RenderTreeBuilderSVG.cpp
M Source/WebCore/rendering/updating/RenderTreeBuilderSVG.h

  Log Message:
  ---
  [LBSE] Code cleanup after implementing all but one resource
https://bugs.webkit.org/show_bug.cgi?id=268615

Reviewed by Rob Buis.

Remove all usage of SVGRenderingContext.h / SVGResources.h / 
SVGResourcesCache.h, that
is legacy-only code, from LBSE. Turn all static methods in SVGResourcesCache to 
release
assertion, to make sure none of these methods is called from LBSE.

Covered by existing tests.

* Source/WebCore/rendering/ReferencedSVGResources.cpp:
(WebCore::ReferencedSVGResources::referencedSVGResourceIDs):
* Source/WebCore/rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::willBeDestroyed):
(WebCore::RenderSVGBlock::styleDidChange):
* Source/WebCore/rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout):
* Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::layout):
* Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp:
* Source/WebCore/rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout):
(WebCore::RenderSVGImage::imageChanged):
* Source/WebCore/rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::willBeDestroyed):
(WebCore::RenderSVGInline::styleDidChange):
* Source/WebCore/rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::styleDidChange):
(WebCore::RenderSVGModelObject::willBeDestroyed): Deleted.
* Source/WebCore/rendering/svg/RenderSVGModelObject.h:
* Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp:
* Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp:
* Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp:
* Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp:
* Source/WebCore/rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::layoutChildren):
(WebCore::RenderSVGRoot::paintObject):
(WebCore::RenderSVGRoot::willBeDestroyed):
(WebCore::RenderSVGRoot::insertedIntoTree): Deleted.
(WebCore::RenderSVGRoot::willBeRemovedFromTree): Deleted.
(WebCore::RenderSVGRoot::styleDidChange): Deleted.
(WebCore::RenderSVGRoot::addResourceForClientInvalidation): Deleted.
* Source/WebCore/rendering/svg/RenderSVGRoot.h:
* Source/WebCore/rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::layout):
* Source/WebCore/rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout):
* Source/WebCore/rendering/svg/SVGContainerLayout.cpp:
* Source/WebCore/rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientLayoutChanged):
(WebCore::SVGResourcesCache::clientStyleChanged):
(WebCore::SVGResourcesCache::clientWasAddedToTree):
(WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
(WebCore::SVGResourcesCache::clientDestroyed):
(WebCore::SVGResourcesCache::resourceDestroyed):
* Source/WebCore/rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::attachInternal):
(WebCore::RenderTreeBuilder::detach):
* Source/WebCore/rendering/updating/RenderTreeBuilderSVG.cpp:
(WebCore::RenderTreeBuilder::SVG::attach):
(WebCore::RenderTreeBuilder::SVG::detach):
* Source/WebCore/rendering/updating/RenderTreeBuilderSVG.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] e36813: [LBSE] Gardening - regenerate a few outdated basel...

2024-02-02 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e36813aa24f631f3cef640dcd84e8021425c306b
  
https://github.com/WebKit/WebKit/commit/e36813aa24f631f3cef640dcd84e8021425c306b
  Author: Nikolas Zimmermann 
  Date:   2024-02-02 (Fri, 02 Feb 2024)

  Changed paths:
M LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGTextElement-dom-lengthAdjust-attr-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGTextElement-svgdom-lengthAdjust-prop-expected.png

  Log Message:
  ---
  [LBSE] Gardening - regenerate a few outdated baselines
https://bugs.webkit.org/show_bug.cgi?id=268614

Reviewed by Rob Buis.

The svg/dynamic-updates patches were landed after the last rebaseline patch was 
generated.
-> Regenerate a few outdated baselines that were missed before.

No change in behavior, no new tests.

* LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations:
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGTextElement-dom-lengthAdjust-attr-expected.png:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/dynamic-updates/SVGTextElement-svgdom-lengthAdjust-prop-expected.png:
 Added.

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] b0b381: [LBSE] Fix pattern related assertion failure in de...

2024-02-01 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b0b381fbd4be23c80220c10f69495eb5fce129e2
  
https://github.com/WebKit/WebKit/commit/b0b381fbd4be23c80220c10f69495eb5fce129e2
  Author: Nikolas Zimmermann 
  Date:   2024-02-01 (Thu, 01 Feb 2024)

  Changed paths:
A LayoutTests/platform/glib/svg/custom/recursive-pattern-expected.png
M LayoutTests/platform/glib/svg/custom/recursive-pattern-expected.txt
M LayoutTests/platform/ios/svg/custom/recursive-pattern-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/recursive-pattern-expected.png
R 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/recursive-pattern-expected.txt
R 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/custom/recursive-pattern-expected.png
M LayoutTests/platform/mac/svg/custom/recursive-pattern-expected.png
M LayoutTests/platform/mac/svg/custom/recursive-pattern-expected.txt
M LayoutTests/svg/custom/recursive-pattern.svg
M Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp

  Log Message:
  ---
  [LBSE] Fix pattern related assertion failure in debug builds
https://bugs.webkit.org/show_bug.cgi?id=268488

Reviewed by Rob Buis.

Fix incorrect cycle handling for pattern resources, not correctly taking
chained resource (href/xlink:href references) into account, leading to
the following assertion in debug builds in svg/custom/recursive-pattern.svg
and svg/custom/pattern-content-inheritance-cycle.svg.

Covered by existing tests.

Combined changes:
* LayoutTests/platform/glib/svg/custom/recursive-pattern-expected.png: Added.
* LayoutTests/platform/glib/svg/custom/recursive-pattern-expected.txt:
* LayoutTests/platform/ios/svg/custom/recursive-pattern-expected.txt:
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/recursive-pattern-expected.png:
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/recursive-pattern-expected.txt:
 Removed.
* 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/custom/recursive-pattern-expected.png:
 Removed.
* LayoutTests/platform/mac/svg/custom/recursive-pattern-expected.png:
* LayoutTests/platform/mac/svg/custom/recursive-pattern-expected.txt:
* LayoutTests/svg/custom/recursive-pattern.svg:
* Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::prepareFillOperation):
(WebCore::RenderSVGResourcePattern::prepareStrokeOperation):
(WebCore::RenderSVGResourcePattern::createTileImage const):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 76be30: [LBSE] Unskip svg/dynamic-updates

2024-02-01 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 76be30d5e4c2657ceb7683054cbef8d4f013eb1f
  
https://github.com/WebKit/WebKit/commit/76be30d5e4c2657ceb7683054cbef8d4f013eb1f
  Author: Nikolas Zimmermann 
  Date:   2024-02-01 (Thu, 01 Feb 2024)

  Changed paths:
M LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations

  Log Message:
  ---
  [LBSE] Unskip svg/dynamic-updates
https://bugs.webkit.org/show_bug.cgi?id=265147

Reviewed by Rob Buis.

Now that all basic painting features except filters are implemented,
it makes sense to run all svg/dynamic-updates tests. Next: WPT.

No change in behavior, only updating expectations.

* LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] fdde18: [LBSE] Fix clipping/masking related assertion fail...

2024-02-01 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fdde18e9a3547b68b7e5e2ea33103d0b1fc13abc
  
https://github.com/WebKit/WebKit/commit/fdde18e9a3547b68b7e5e2ea33103d0b1fc13abc
  Author: Nikolas Zimmermann 
  Date:   2024-02-01 (Thu, 01 Feb 2024)

  Changed paths:
M Source/WebCore/rendering/svg/SVGPaintServerHandling.h

  Log Message:
  ---
  [LBSE] Fix clipping/masking related assertion failure in debug builds
https://bugs.webkit.org/show_bug.cgi?id=267764

Reviewed by Rob Buis.

Both svg/clip-path/clip-path-content-syling.svg and 
svg/W3C-SVG-1.1/masking-intro-01-f.svg
assert in debug builds due to a spurious assertion in SVGPaintServerHandling 
stroking code.

Remove the assertion, the tests already work as expected.
No new tests, only fixes an assertion in existing tests.

* Source/WebCore/rendering/svg/SVGPaintServerHandling.h:
(WebCore::SVGPaintServerHandling::prepareStrokeOperation const):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 72b627: [LBSE] Gardening - regenerate outdated baselines u...

2024-01-31 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 72b627f5f0d0dd0934ea938785227d34c07f456b
  
https://github.com/WebKit/WebKit/commit/72b627f5f0d0dd0934ea938785227d34c07f456b
  Author: Nikolas Zimmermann 
  Date:   2024-01-31 (Wed, 31 Jan 2024)

  Changed paths:
M LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/coords-units-01-b-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-01-b-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/paints/patternPreserveAspectRatioA-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/paints/patternPreserveAspectRatioA-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/paints/patternRegions-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/paints/patternRegions-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/absolute-sized-content-with-resources-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/non-scaling-stroke-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/non-scaling-stroke-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/pattern-size-bigger-than-target-size-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/recursive-pattern-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/svg-fonts-in-html-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/svg-fonts-in-html-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/use-on-symbol-inside-pattern-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/use-on-symbol-inside-pattern-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-15-t-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-17-t-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-30-t-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-37-t-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/filters-image-01-b-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/struct-image-01-t-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/struct-image-02-b-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/struct-image-04-t-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/struct-image-09-t-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-SVG-1.1/struct-image-10-t-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/as-background-image/svg-as-background-5-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/carto.net/scrollbar-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/carto.net/selectionlist-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/css/text-shadow-multiple-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/custom/image-rescale-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/custom/image-with-prefix-in-webarchive-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/custom/inline-svg-in-xhtml-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/custom/non-scaling-stroke-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/custom/pattern-no-pixelation-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/custom/pattern-skew-transformed-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel

[webkit-changes] [WebKit/WebKit] d692a7: [LBSE] Implement support for markers

2024-01-31 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d692a7789eddaebfce1963d41c032c50505d7bba
  
https://github.com/WebKit/WebKit/commit/d692a7789eddaebfce1963d41c032c50505d7bba
  Author: Nikolas Zimmermann 
  Date:   2024-01-31 (Wed, 31 Jan 2024)

  Changed paths:
M LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-03-f-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/animations/animate-marker-orienttype-1-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/animations/animate-marker-orienttype-2-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/animations/animate-marker-orienttype-3-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/circular-marker-reference-1-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/circular-marker-reference-2-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/circular-marker-reference-3-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/circular-marker-reference-4-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/invalid-css-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-marker-and-object-creation-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-marker-and-object-creation-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-marker-creation-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-marker-creation-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/marker-changes-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/marker-child-changes-css-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/marker-child-changes-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/marker-default-width-height-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/marker-empty-path-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/marker-opacity-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/marker-orient-auto-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/marker-orient-auto-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/marker-overflow-clip-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/marker-referencePoint-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/marker-strokeWidth-changes-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/marker-viewBox-changes-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/non-circular-marker-reference-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/non-scaling-stroke-markers-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/painting-marker-07-f-inherit-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/shapes-supporting-markers-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/shapes-supporting-markers-expected.txt
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/rendering/ReferencedSVGResources.cpp
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayer.h
M Source/WebCore/rendering/RenderLayerModelObject.cpp
M Source/WebCore/rendering/RenderLayerModelObject.h
M Source/WebCore/rendering/RenderObject.h
M Source/WebCore/rendering/svg/RenderSVGContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h
M Source/WebCore/rendering/svg/RenderSVGPath.cpp
M Source/WebCore/rendering/svg/RenderSVGPath.h
M Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp
A Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp
A Source/WebCore/rendering/svg/RenderSVGResourceMarker.h
A Source/WebCore/rendering/svg/RenderSVGResourceMarkerInlines.h
M Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp
M Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp
M Source/WebCore/rendering/svg/SVGBoundingBoxComputation.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceMarker.cpp
M Source

[webkit-changes] [WebKit/WebKit] 26d12c: [LBSE] 'mask' / 'clipPath' (SVG) DOM changes shoul...

2024-01-22 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 26d12c80d8df13b1005c00fc45cb88ad622e2f64
  
https://github.com/WebKit/WebKit/commit/26d12c80d8df13b1005c00fc45cb88ad622e2f64
  Author: Nikolas Zimmermann 
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
M 
LayoutTests/platform/ios/svg/repaint/clip-path-object-bounding-box-transformed-expected.txt
M 
LayoutTests/platform/ios/svg/repaint/mask-object-bounding-box-transformed-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/animations/svg-element-attribute-changed-crash-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/transforms/svg-css-transforms-clip-path-expected.txt
A LayoutTests/svg/repaint/clip-path-change-unit-space-expected.txt
A LayoutTests/svg/repaint/clip-path-change-unit-space.html
M 
LayoutTests/svg/repaint/clip-path-object-bounding-box-transformed-expected.txt
M 
LayoutTests/svg/repaint/clip-path-user-space-on-use-transformed-expected.txt
M LayoutTests/svg/repaint/mask-object-bounding-box-transformed-expected.txt
M LayoutTests/svg/repaint/mask-user-space-on-use-transformed-expected.txt
M Source/WebCore/rendering/ReferencedSVGResources.cpp
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/svg/SVGContainerLayout.cpp
M Source/WebCore/svg/SVGClipPathElement.cpp
M Source/WebCore/svg/SVGMaskElement.cpp

  Log Message:
  ---
  [LBSE] 'mask' / 'clipPath' (SVG) DOM changes should never trigger relayouts
https://bugs.webkit.org/show_bug.cgi?id=267732

Reviewed by Rob Buis and Simon Fraser.

When clipPahUnits change via (SVG) DOM, 
SVGClipPathElement::svgAttributeChanged()
will trigger an async re-layout of the associated RenderSVGResourceClipper. 
This is
useless, as it does not repaint the elements making use of the resource. 
Furthermore
unnecessary work is spent in layout - avoid all of that, and repaint the old 
and new
boundaries of all resource users, with the help of RenderLayers repaintRect 
tracking,
that assures the objects is repainted at its old and new position, not leaving 
visual
artifacts.

Covered by existing tests in LBSE + added a new test 
svg/repaint/clip-path-change-unit-space.html.

* 
LayoutTests/platform/ios/svg/repaint/clip-path-object-bounding-box-transformed-expected.txt:
* 
LayoutTests/platform/ios/svg/repaint/mask-object-bounding-box-transformed-expected.txt:
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/animations/svg-element-attribute-changed-crash-expected.txt:
 Added.
* 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/transforms/svg-css-transforms-clip-path-expected.txt:
 Added.
* LayoutTests/svg/repaint/clip-path-change-unit-space-expected.txt: Added.
* LayoutTests/svg/repaint/clip-path-change-unit-space.html: Added.
* 
LayoutTests/svg/repaint/clip-path-object-bounding-box-transformed-expected.txt:
* LayoutTests/svg/repaint/clip-path-user-space-on-use-transformed-expected.txt:
* LayoutTests/svg/repaint/mask-object-bounding-box-transformed-expected.txt:
* LayoutTests/svg/repaint/mask-user-space-on-use-transformed-expected.txt:
* Source/WebCore/rendering/ReferencedSVGResources.cpp:
(WebCore::CSSSVGResourceElementClient::resourceChanged):
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::recursiveUpdateLayerPositions):
* Source/WebCore/rendering/svg/SVGContainerLayout.cpp:
(WebCore::SVGContainerLayout::layoutChildren):
* Source/WebCore/svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::svgAttributeChanged):
(WebCore::SVGClipPathElement::childrenChanged):
* Source/WebCore/svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::svgAttributeChanged):
(WebCore::SVGMaskElement::childrenChanged):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 1ab701: [LBSE] Implement support for gradients

2024-01-04 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1ab7013b94f94e3e31c7c1776cc9adfa34e3ff06
  
https://github.com/WebKit/WebKit/commit/1ab7013b94f94e3e31c7c1776cc9adfa34e3ff06
  Author: Nikolas Zimmermann 
  Date:   2024-01-04 (Thu, 04 Jan 2024)

  Changed paths:
M LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/as-background-image/svg-as-background-6-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/css/path-gradient-stroke-shadow-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/css/rect-gradient-stroke-shadow-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/css/text-gradient-shadow-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/absolute-sized-content-with-resources-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/broken-internal-references-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/dominant-baseline-hanging-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/dominant-baseline-hanging-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/external-paintserver-reference-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/fill-fallback-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/gradient-add-stops-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/gradient-attr-update-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/gradient-cycle-detection-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/gradient-deep-referencing-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/gradient-rotated-bbox-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/gradient-stop-corner-cases-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/gradient-stop-style-change-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/gradient-stroke-width-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/gradient-userSpaceOnUse-with-percentage-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/gradient-with-1d-boundingbox-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/gradient-with-1d-boundingbox-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/grayscale-gradient-mask-2-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/grayscale-gradient-mask-2-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/grayscale-gradient-mask-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/grayscale-gradient-mask-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/group-opacity-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/inline-svg-in-xhtml-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/invalid-css-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/invalid-fill-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/invalid-uri-stroke-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-gradient-and-object-creation-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-gradient-and-object-creation-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-gradient-creation-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-gradient-creation-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-update-gradient-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-update-stop-linked-gradient-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/large-bounding-box-percents-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/non-scaling-stroke-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/radial-gradient-with-outstanding-focalPoint-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/radialGradient-focal-radius-expected.txt
A 
LayoutTests

webkit-changes@lists.webkit.org

2024-01-04 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: df59d72e73c8ad2ee3b6095f29a3e0a04b7fa1b0
  
https://github.com/WebKit/WebKit/commit/df59d72e73c8ad2ee3b6095f29a3e0a04b7fa1b0
  Author: Nikolas Zimmermann 
  Date:   2024-01-04 (Thu, 04 Jan 2024)

  Changed paths:
M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp
M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h
M Source/WebCore/platform/graphics/GraphicsContext.h
M Source/WebCore/platform/graphics/NullGraphicsContext.h
M Source/WebCore/platform/graphics/cairo/CairoOperations.cpp
M Source/WebCore/platform/graphics/cairo/CairoOperations.h
M Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
M Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.h
M Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp
M Source/WebCore/platform/graphics/cg/GraphicsContextCG.h
M Source/WebCore/platform/graphics/displaylists/DisplayListItem.h
M Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp
M Source/WebCore/platform/graphics/displaylists/DisplayListItems.h
M Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp
M Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h
M Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp
M Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h
M 
Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp
M 
Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h
M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp
M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h
M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.messages.in
M Source/WebKit/Shared/DisplayListArgumentCoders.serialization.in
M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h

  Log Message:
  ---
  Provide GraphicsContext::fillRect(const FloatRect&, Gradient&, const 
AffineTransform& gradientSpaceTransform) variant
https://bugs.webkit.org/show_bug.cgi?id=267040

Reviewed by Said Abou-Hallawa.

The existing fillRect(const FloatRect&, Gradient&) accessor, only calls
gradient.paint(), but does not handle gradient space transformations, nor
drop shadows, nor does it clip to the rect, etc. in contrary to the generic
fillRect(const FloatRect&) variant, which supports all these features,
but only when using the fillGradient() and the fillGradientSpaceTransform().

For LBSE gradient support it would be useful to be able to fill a rectangle
using the _stroke_ gradient, therefore extend the GraphicsContext::fillRect()
variants to provide one that takes a specific Gradient + AffineTransform pair.

Implement the new fillRect() variant in various places: NullGraphicsContext,
BifurcatedGraphicsCOntext, and all other variants inheriting from 
GraphicsContext.

No change in existing functionality, thus no new tests.

* Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp:
(WebCore::BifurcatedGraphicsContext::fillRect):
* Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h:
* Source/WebCore/platform/graphics/GraphicsContext.h:
* Source/WebCore/platform/graphics/NullGraphicsContext.h:
* Source/WebCore/platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::FillSource::FillSource):
* Source/WebCore/platform/graphics/cairo/CairoOperations.h:
* Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContextCairo::fillRect):
* Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.h:
* Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContextCG::fillRect):
* Source/WebCore/platform/graphics/cg/GraphicsContextCG.h:
* Source/WebCore/platform/graphics/displaylists/DisplayListItem.h:
* Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::FillRectWithGradient::apply const):
(WebCore::DisplayList::FillRectWithGradientAndSpaceTransform::FillRectWithGradientAndSpaceTransform):
(WebCore::DisplayList::FillRectWithGradientAndSpaceTransform::apply const):
(WebCore::DisplayList::FillRectWithGradientAndSpaceTransform::dump const):
* Source/WebCore/platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::FillRectWithGradientAndSpaceTransform::rect const):
(WebCore::DisplayList::FillRectWithGradientAndSpaceTransform::gradient const):
(WebCore::DisplayList::FillRectWithGradientAndSpaceTransform::gradientSpaceTransform
 const):
* Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::fillRect):
* Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h:
* Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::D

[webkit-changes] [WebKit/WebKit] 288794: [LBSE] Gardening - regenerate outdated baselines u...

2024-01-02 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2887944953b4b1f8165c1d538ef96b8d4d41f985
  
https://github.com/WebKit/WebKit/commit/2887944953b4b1f8165c1d538ef96b8d4d41f985
  Author: Nikolas Zimmermann 
  Date:   2024-01-02 (Tue, 02 Jan 2024)

  Changed paths:
M LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/interact-events-01-b-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/filters/filterRegions-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/paints/patternPreserveAspectRatioA-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/paints/patternRegionA-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/paints/patternRegions-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/text/longTextOnPath-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/text/smallFonts-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/text/textAnchor-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/text/textEffect2-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/text/textEffect3-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/text/textFeatures-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/text/textLayout-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/text/textLayout2-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/text/textOnPathSpaces-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/text/textPosition2-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/text/textProperties-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/text/textProperties2-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/batik/text/textStyles-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/carto.net/scrollbar-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/carto.net/tabgroup-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/carto.net/textbox-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/relative-sized-use-on-symbol-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/use-clipped-hit-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/use-referencing-nonexisting-symbol-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/hixie/mixed/011-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/textLength-tspan-in-textPath-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/transforms/animated-path-inside-transformed-html-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/transforms/animated-path-inside-transformed-html-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/zoom/page/relative-sized-document-scrollbars-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/zoom/page/zoom-foreignObject-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-I18N/g-dirLTR-ubNone-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-I18N/g-dirLTR-ubOverride-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-I18N/g-dirRTL-ubNone-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-I18N/g-dirRTL-ubOverride-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-I18N/text-anchor-dirLTR-anchorEnd-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-I18N/text-anchor-dirLTR-anchorStart-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-I18N/text-anchor-dirNone-anchorEnd-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-pixel/svg/W3C-I18N

[webkit-changes] [WebKit/WebKit] 79238b: REGRESSION(264666@main): Layout of the ele...

2023-12-13 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 79238bc8e2d67087ed83ed550931b4c76964aa2a
  
https://github.com/WebKit/WebKit/commit/79238bc8e2d67087ed83ed550931b4c76964aa2a
  Author: Nikolas Zimmermann 
  Date:   2023-12-13 (Wed, 13 Dec 2023)

  Changed paths:
A 
LayoutTests/platform/glib/svg/text/textLength-tspan-in-textPath-expected.txt
A 
LayoutTests/platform/ios/svg/text/textLength-tspan-in-textPath-expected.txt
A 
LayoutTests/platform/mac/svg/text/textLength-tspan-in-textPath-expected.png
A 
LayoutTests/platform/mac/svg/text/textLength-tspan-in-textPath-expected.txt
A LayoutTests/svg/text/textLength-tspan-in-textPath.html
M Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp

  Log Message:
  ---
  REGRESSION(264666@main): Layout of the  elements inside a  
is incorrect
https://bugs.webkit.org/show_bug.cgi?id=264184

Reviewed by Said Abou-Hallawa.

Revision 264666@main broke  behavior on  
elements.
The logic added to fix the intra-character spacing, wasn't intended for text 
path
layout, where each character by definition is placed in its own box. Fix the MDN
regression by disabling the new code paths for text-on-path layout.

Covered by new test in svg/text/textLength-tspan-in-textPath.html.

Unfortunately it's hard to make a cross-platform reftest, given the
nature of the kind of test, and the missing way to layout text along
a path in HTML/CSS.

* LayoutTests/platform/glib/svg/text/textLength-tspan-in-textPath-expected.txt: 
Added.
* LayoutTests/platform/ios/svg/text/textLength-tspan-in-textPath-expected.txt: 
Added.
* LayoutTests/platform/mac/svg/text/textLength-tspan-in-textPath-expected.png: 
Added.
* LayoutTests/platform/mac/svg/text/textLength-tspan-in-textPath-expected.txt: 
Added.
* LayoutTests/svg/text/textLength-tspan-in-textPath.html: Added.
* Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 7ba7b1: [LBSE] Gardening - correct TestExpectations

2023-12-10 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7ba7b1e0f8815093645ddf8c8a2d0a9b3d29dd9e
  
https://github.com/WebKit/WebKit/commit/7ba7b1e0f8815093645ddf8c8a2d0a9b3d29dd9e
  Author: Nikolas Zimmermann 
  Date:   2023-12-10 (Sun, 10 Dec 2023)

  Changed paths:
M LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/masking-intro-01-f-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/absolute-sized-content-with-resources-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-clipPath-and-object-creation-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-clipPath-and-object-creation-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-clipPath-creation-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-late-clipPath-creation-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/js-repaint-rect-on-path-with-stroke-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/mask-on-multiple-objects-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/mouse-move-on-svg-root-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/mouse-move-on-svg-root-standalone-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/object-no-size-attributes-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/object-sizing-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/object-sizing-no-width-height-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/relative-sized-content-with-resources-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/resource-invalidate-on-target-update-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/small-rect-scale-expected.txt
R 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/svg-fonts-in-html-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/text-filter-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/text-filter-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/use-clipped-transform-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/visibility-override-clip-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/filters/filter-clip-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/filters/filter-clip-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/repaint/text-mask-update-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacing-squeeze-1-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacing-squeeze-2-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacing-squeeze-3-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacing-squeeze-4-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacing-stretch-1-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacing-stretch-2-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacing-stretch-3-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacing-stretch-4-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.txt
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacingAndGlyphs-stretch-1-expected.png
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/text/select-textLength-spacingAndGlyphs-stretch-1

[webkit-changes] [WebKit/WebKit] 41bc44: [Win] ASSERTION FAILED: document().settings().laye...

2023-12-06 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 41bc442b986402bb968b224a67317cfc07cc85b0
  
https://github.com/WebKit/WebKit/commit/41bc442b986402bb968b224a67317cfc07cc85b0
  Author: Nikolas Zimmermann 
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
M Source/WebCore/rendering/svg/RenderSVGText.cpp

  Log Message:
  ---
  [Win] ASSERTION FAILED: document().settings().layerBasedSVGEngineEnabled() in 
a subsequent test of fast/svg/svg_should_not_crash.html
https://bugs.webkit.org/show_bug.cgi?id=264710

Reviewed by Fujii Hironori.

Fix a wrong assertion, that verifies that LBSE is enabled when 
'RenderSVGText::nodeAtPoint' is called.
If LBSE is disabled, we need to forward the call to the base class 
RenderSVGBlock::nodeAtPoint instead.

Covered by existing tests.

* Source/WebCore/rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::nodeAtPoint):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] e94cf1: [LBSE] Fix clipping + SVGUseElement support

2023-11-24 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e94cf196874e3b91550e8f4a3bf5c44aa318798a
  
https://github.com/WebKit/WebKit/commit/e94cf196874e3b91550e8f4a3bf5c44aa318798a
  Author: Nikolas Zimmermann 
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
M LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations
M Source/WebCore/rendering/svg/SVGPathData.cpp
M Source/WebCore/svg/SVGClipPathElement.cpp
M Source/WebCore/svg/SVGGraphicsElement.cpp
M Source/WebCore/svg/SVGUseElement.cpp
M Source/WebCore/svg/SVGUseElement.h

  Log Message:
  ---
  [LBSE] Fix clipping + SVGUseElement support
https://bugs.webkit.org/show_bug.cgi?id=265244

Reviewed by Rob Buis.

Teach pathFromGraphicsElement() about SVGUseElement, and use that
to support  as  children in LBSE. The legacy SVG
engine uses the deprecated virtual SVGUseElement::toClipPath()
function -- LBSE no longer makes use of these code paths.

Covered by existing tests - 5+ fixed tests in LBSE.

* LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations:
* Source/WebCore/rendering/svg/SVGPathData.cpp:
(WebCore::pathFromUseElement):
(WebCore::pathFromGraphicsElement):
* Source/WebCore/svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::shouldApplyPathClipping const):
* Source/WebCore/svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::toClipPath):
* Source/WebCore/svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::toClipPath):
(WebCore::SVGUseElement::clipChild const):
* Source/WebCore/svg/SVGUseElement.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] e8f289: [LBSE] Rework SVG resource invalidation

2023-11-21 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e8f289a6906b1b7b95c2c6ba1cf5f18bad6bfa2f
  
https://github.com/WebKit/WebKit/commit/e8f289a6906b1b7b95c2c6ba1cf5f18bad6bfa2f
  Author: Nikolas Zimmermann 
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/svg-fonts-in-html-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/svg-fonts-in-html-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/repaint/repaint-non-scaling-stroke-text-decoration-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/repaint/repaint-non-scaling-stroke-text-expected.txt
M LayoutTests/svg/repaint/clip-path-object-bounding-box-expected.txt
M LayoutTests/svg/repaint/clip-path-object-bounding-box-shrink-expected.txt
M LayoutTests/svg/repaint/clip-path-object-bounding-box-shrink.html
M 
LayoutTests/svg/repaint/clip-path-object-bounding-box-transformed-expected.txt
M LayoutTests/svg/repaint/clip-path-user-space-on-use-expected.txt
M LayoutTests/svg/repaint/clip-path-user-space-on-use-shrink-expected.txt
M LayoutTests/svg/repaint/clip-path-user-space-on-use-shrink.html
M 
LayoutTests/svg/repaint/clip-path-user-space-on-use-transformed-expected.txt
M 
LayoutTests/svg/resource-invalidation/clip-path-resource-invalidation-expected.html
M LayoutTests/svg/resource-invalidation/clip-path-resource-invalidation.html
M Source/WebCore/dom/TreeScope.cpp
M Source/WebCore/dom/TreeScope.h
M Source/WebCore/rendering/ReferencedSVGResources.cpp
M Source/WebCore/rendering/ReferencedSVGResources.h
M Source/WebCore/rendering/RenderElement.cpp
M Source/WebCore/rendering/RenderElement.h
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayer.h
M Source/WebCore/rendering/RenderLayerInlines.h
M Source/WebCore/rendering/RenderLayerModelObject.cpp
M Source/WebCore/rendering/RenderLayerModelObject.h
M Source/WebCore/rendering/RenderObject.h
M Source/WebCore/rendering/svg/RenderSVGContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGImage.cpp
M Source/WebCore/rendering/svg/RenderSVGPath.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceClipper.h
M Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceContainer.h
M Source/WebCore/rendering/svg/RenderSVGRoot.cpp
M Source/WebCore/rendering/svg/SVGBoundingBoxComputation.cpp
M Source/WebCore/rendering/svg/SVGContainerLayout.cpp
M Source/WebCore/rendering/svg/SVGContainerLayout.h
M Source/WebCore/rendering/svg/SVGRenderSupport.cpp
M Source/WebCore/rendering/svg/SVGRenderSupport.h
M Source/WebCore/rendering/svg/SVGRenderingContext.cpp
M Source/WebCore/rendering/svg/SVGResourcesCache.cpp
M Source/WebCore/rendering/svg/SVGResourcesCycleSolver.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResource.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceMarker.h
M Source/WebCore/rendering/updating/RenderTreeUpdater.cpp
M Source/WebCore/svg/SVGFEImageElement.cpp
M Source/WebCore/svg/SVGSVGElement.cpp

  Log Message:
  ---
  [LBSE] Rework SVG resource invalidation
https://bugs.webkit.org/show_bug.cgi?id=264230

Reviewed by Rob Buis.

Overhaul of repainting / resource invalidating logic for LBSE.

- Stop communicating resource invalidation via layout(). The legacy
  SVG engine used to relayout all resource clients upon resource
  changes. This is very inefficient, and leads to lots of unnecessary
  layouts.

  `RenderElement::styleDidChange` is the main entry point for resource
  invalidation -- re-using the existing concept from CSS. After the
  difference between the old and new RenderStyle is computed, we know
  if a layout needs to be performed (~ 'StyleDifference::Layout') or
  if a repaint is sufficient (~ 'StyleDifference::Repaint').

  e.g. Changing the 'x' attribute of a SVGRectElement results in a
   'StyleDifference::Layout' asynchronously requesting a relayout
   of the affected rectangle. Changing only the e.g. 'fill' color
   will lead to a 'StyleDifference::Repaint' indicating that repaint
   is sufficient, and a costly layout can be avoided.

  Inject a call to 'repaintClientsOfReferencedSVGResources()' in
  'RenderElement::styleDidChange()' if the style change leads to a
  repaint. Whenever a renderer needs a repaint, we have to check if
  it is a RenderSVGResourceContainer (such as RenderSVGResourceClipper)
  or enclosed by a RenderSVGResourceContainer. If true, the clients
  that reference the RenderSVGResourceContainer are the renderers that
  need a repaint, not the original renderer, whose style got changed.

 

[webkit-changes] [WebKit/WebKit] 4e5243: [LBSE] Rework SVG resource invalidation

2023-11-20 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4e524359e8b3ece60ed6f81250c0ce2d71eddcb6
  
https://github.com/WebKit/WebKit/commit/4e524359e8b3ece60ed6f81250c0ce2d71eddcb6
  Author: Nikolas Zimmermann 
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
A 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/svg-fonts-in-html-expected.png
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/svg-fonts-in-html-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/repaint/repaint-non-scaling-stroke-text-decoration-expected.txt
M 
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/repaint/repaint-non-scaling-stroke-text-expected.txt
M LayoutTests/svg/repaint/clip-path-object-bounding-box-expected.txt
M LayoutTests/svg/repaint/clip-path-object-bounding-box-shrink-expected.txt
M LayoutTests/svg/repaint/clip-path-object-bounding-box-shrink.html
M 
LayoutTests/svg/repaint/clip-path-object-bounding-box-transformed-expected.txt
M LayoutTests/svg/repaint/clip-path-user-space-on-use-expected.txt
M LayoutTests/svg/repaint/clip-path-user-space-on-use-shrink-expected.txt
M LayoutTests/svg/repaint/clip-path-user-space-on-use-shrink.html
M 
LayoutTests/svg/repaint/clip-path-user-space-on-use-transformed-expected.txt
M 
LayoutTests/svg/resource-invalidation/clip-path-resource-invalidation-expected.html
M LayoutTests/svg/resource-invalidation/clip-path-resource-invalidation.html
M Source/WebCore/dom/TreeScope.cpp
M Source/WebCore/dom/TreeScope.h
M Source/WebCore/rendering/ReferencedSVGResources.cpp
M Source/WebCore/rendering/ReferencedSVGResources.h
M Source/WebCore/rendering/RenderElement.cpp
M Source/WebCore/rendering/RenderElement.h
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayer.h
M Source/WebCore/rendering/RenderLayerInlines.h
M Source/WebCore/rendering/RenderLayerModelObject.cpp
M Source/WebCore/rendering/RenderLayerModelObject.h
M Source/WebCore/rendering/RenderObject.h
M Source/WebCore/rendering/svg/RenderSVGContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGImage.cpp
M Source/WebCore/rendering/svg/RenderSVGPath.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceClipper.h
M Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceContainer.h
M Source/WebCore/rendering/svg/RenderSVGRoot.cpp
M Source/WebCore/rendering/svg/SVGBoundingBoxComputation.cpp
M Source/WebCore/rendering/svg/SVGContainerLayout.cpp
M Source/WebCore/rendering/svg/SVGContainerLayout.h
M Source/WebCore/rendering/svg/SVGRenderSupport.cpp
M Source/WebCore/rendering/svg/SVGRenderSupport.h
M Source/WebCore/rendering/svg/SVGRenderingContext.cpp
M Source/WebCore/rendering/svg/SVGResourcesCache.cpp
M Source/WebCore/rendering/svg/SVGResourcesCycleSolver.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResource.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceMarker.h
M Source/WebCore/rendering/updating/RenderTreeUpdater.cpp
M Source/WebCore/svg/SVGFEImageElement.cpp
M Source/WebCore/svg/SVGSVGElement.cpp

  Log Message:
  ---
  [LBSE] Rework SVG resource invalidation
https://bugs.webkit.org/show_bug.cgi?id=264230

Reviewed by Rob Buis.

Overhaul of repainting / resource invalidating logic for LBSE.

- Stop communicating resource invalidation via layout(). The legacy
  SVG engine used to relayout all resource clients upon resource
  changes. This is very inefficient, and leads to lots of unnecessary
  layouts.

  `RenderElement::styleDidChange` is the main entry point for resource
  invalidation -- re-using the existing concept from CSS. After the
  difference between the old and new RenderStyle is computed, we know
  if a layout needs to be performed (~ 'StyleDifference::Layout') or
  if a repaint is sufficient (~ 'StyleDifference::Repaint').

  e.g. Changing the 'x' attribute of a SVGRectElement results in a
   'StyleDifference::Layout' asynchronously requesting a relayout
   of the affected rectangle. Changing only the e.g. 'fill' color
   will lead to a 'StyleDifference::Repaint' indicating that repaint
   is sufficient, and a costly layout can be avoided.

  Inject a call to 'repaintClientsOfReferencedSVGResources()' in
  'RenderElement::styleDidChange()' if the style change leads to a
  repaint. Whenever a renderer needs a repaint, we have to check if
  it is a RenderSVGResourceContainer (such as RenderSVGResourceClipper)
  or enclosed by a RenderSVGResourceContainer. If true, the clients
  that reference the RenderSVGResourceContainer are the renderers that
  need a repaint, not the original renderer, whose style got changed.

 

[webkit-changes] [WebKit/WebKit] b8e760: SVG test gardening

2023-11-05 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b8e760f427db5db8cc8d4794270bfc244df86ae9
  
https://github.com/WebKit/WebKit/commit/b8e760f427db5db8cc8d4794270bfc244df86ae9
  Author: Nikolas Zimmermann 
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
M LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations
M LayoutTests/platform/mac-wk2/TestExpectations
M LayoutTests/platform/mac/TestExpectations
M LayoutTests/svg/clip-path/clip-opacity.html
M LayoutTests/svg/transforms/transformed-text-fill-pattern.html

  Log Message:
  ---
  SVG test gardening
https://bugs.webkit.org/show_bug.cgi?id=264162

Reviewed by Rob Buis.

Update test expectation to make layout test runs on macOS Sonoma pass
without issues with both the legacy SVG engine and LBSE.

No change in functionality, thus no new tests.

* LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations:
* LayoutTests/platform/mac-wk2/TestExpectations:
* LayoutTests/platform/mac/TestExpectations:
* LayoutTests/svg/clip-path/clip-opacity.html:
* LayoutTests/svg/transforms/transformed-text-fill-pattern.html:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] bbebc5: [LBSE] Unbreak clipping (last minute regression)

2023-11-05 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bbebc59051261365a348725daf9abd23e75f
  
https://github.com/WebKit/WebKit/commit/bbebc59051261365a348725daf9abd23e75f
  Author: Nikolas Zimmermann 
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
M Source/WebCore/rendering/RenderLayer.cpp

  Log Message:
  ---
  [LBSE] Unbreak clipping (last minute regression)
https://bugs.webkit.org/show_bug.cgi?id=264224

Reviewed by Rob Buis.

SVG clipping is broken, due to a last minute change in RenderLayer.

The intention to check if a renderer inherits from either 
RenderSVGResourceContainer
or RenderSVGHiddenContainer was tested using only one 
"dynamicDowncast,
as RenderSVGResourceContainer also inherits from RenderSVGHiddenContainer.

However, the is<> mechanism, implemented using the RenderObject::isXYZ() 
methods, does not
work anymore like this, due to the introduction of the non-virtual type() 
method. Nowadays
is boils down to:

bool isSVGHiddenContainer() const { return type() == 
Type::SVGHiddenContainer; }

Any renderer that inherits from RenderSVGHiddenContainer, e.g. 
RenderSVGResourceClipper,
therefore returns 'false' for is(), because 
RenderSVGResourceClipper
carries a different type() - here 'Type::SVGResourceClipper'.

--> One explicitly needs to check both is() || 
is())
to check if a renderer inherits from RenderSVGResourceClipper or 
RenderSVGResourceContainer -- not possible
with a single check, given the way isRenderSVGResourceContainer() is currently 
implemented.

Let's first fix this regression for now, and then discuss the correct future 
mechanism. Whether
we should respect the base-class hierarchy in is<> or not.

Covered by existing tests, when LBSE is activated.

* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateAncestorDependentState):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 82d4fe: [LBSE] Rename RenderSVGResource -> LegacyRenderSVG...

2023-10-25 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 82d4fe5d16c8fa17f5960a7f1c8f29fd2f462bc5
  
https://github.com/WebKit/WebKit/commit/82d4fe5d16c8fa17f5960a7f1c8f29fd2f462bc5
  Author: Nikolas Zimmermann 
  Date:   2023-10-25 (Wed, 25 Oct 2023)

  Changed paths:
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/svg/RenderSVGBlock.cpp
M Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp
M Source/WebCore/rendering/svg/RenderSVGImage.cpp
M Source/WebCore/rendering/svg/RenderSVGInline.cpp
M Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
R Source/WebCore/rendering/svg/RenderSVGResource.cpp
R Source/WebCore/rendering/svg/RenderSVGResource.h
M Source/WebCore/rendering/svg/RenderSVGResourceClipper.h
M Source/WebCore/rendering/svg/RenderSVGResourceContainer.h
M Source/WebCore/rendering/svg/RenderSVGResourceFilter.h
M Source/WebCore/rendering/svg/RenderSVGResourceLinearGradient.h
M Source/WebCore/rendering/svg/RenderSVGResourceMarker.h
M Source/WebCore/rendering/svg/RenderSVGResourceMasker.h
M Source/WebCore/rendering/svg/RenderSVGResourcePattern.h
M Source/WebCore/rendering/svg/RenderSVGResourceRadialGradient.h
M Source/WebCore/rendering/svg/RenderSVGResourceSolidColor.h
M Source/WebCore/rendering/svg/RenderSVGRoot.cpp
M Source/WebCore/rendering/svg/RenderSVGShape.cpp
M Source/WebCore/rendering/svg/RenderSVGShape.h
M Source/WebCore/rendering/svg/RenderSVGText.cpp
M Source/WebCore/rendering/svg/SVGInlineTextBox.cpp
M Source/WebCore/rendering/svg/SVGInlineTextBox.h
M Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp
M Source/WebCore/rendering/svg/SVGResourcesCache.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGForeignObject.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGImage.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGModelObject.cpp
A Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResource.cpp
A Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResource.h
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceClipper.h
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.h
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGRoot.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGShape.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGShape.h
M Source/WebCore/rendering/updating/RenderTreeUpdater.cpp
M Source/WebCore/svg/SVGAnimateMotionElement.cpp
M Source/WebCore/svg/SVGCircleElement.cpp
M Source/WebCore/svg/SVGEllipseElement.cpp
M Source/WebCore/svg/SVGFEImageElement.cpp
M Source/WebCore/svg/SVGFELightElement.cpp
M Source/WebCore/svg/SVGFEMergeNodeElement.cpp
M Source/WebCore/svg/SVGForeignObjectElement.cpp
M Source/WebCore/svg/SVGGElement.cpp
M Source/WebCore/svg/SVGGeometryElement.cpp
M Source/WebCore/svg/SVGGraphicsElement.cpp
M Source/WebCore/svg/SVGImageElement.cpp
M Source/WebCore/svg/SVGLineElement.cpp
M Source/WebCore/svg/SVGPathElement.cpp
M Source/WebCore/svg/SVGPolyElement.cpp
M Source/WebCore/svg/SVGRectElement.cpp
M Source/WebCore/svg/SVGSVGElement.cpp
M Source/WebCore/svg/SVGStopElement.cpp
M Source/WebCore/svg/SVGTRefElement.cpp
M Source/WebCore/svg/SVGTextContentElement.cpp
M Source/WebCore/svg/SVGTextElement.cpp
M Source/WebCore/svg/SVGTextPathElement.cpp
M Source/WebCore/svg/SVGTextPositioningElement.cpp
M Source/WebCore/svg/SVGUseElement.cpp
M Source/WebCore/svg/SVGViewElement.cpp

  Log Message:
  ---
  [LBSE] Rename RenderSVGResource -> LegacyRenderSVGResource
https://bugs.webkit.org/show_bug.cgi?id=263595

Reviewed by Rob Buis.

Begin reworking SVG resource system for LBSE. The goal is to handle 
invalidations
of resources, without (ab-)using the layout() system of the render tree for 
this.

Begin by renaming RenderSVGResource to LegacyRenderSVGResource.

Covered by existing tests.

* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupClipPath):
* Source/WebCore/rendering/svg/RenderSVGBlock.cpp:
* Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp:
* Source/WebCore/rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::imageChanged):
* Source/WebCore/rendering/svg/RenderSVGInline.cpp:
* Source/WebCore/rendering/svg/RenderSVGModelObject.cpp:
* Source/WebCore/rendering/svg/RenderSVGResourceClipper.h:
* Source/WebCore/rendering/svg/RenderSVGResourceContainer.h:
* Source/WebCore/rendering/svg/RenderSVGResourceFilter.h:
(isType):
* Source/WebCore/rendering/svg/RenderSVGResourceLinearGradient.h:
* Source/WebCore/rendering/

[webkit-changes] [WebKit/WebKit] 57393b: [LBSE] Add RenderSVGResourceClipper

2023-10-22 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 57393b599e9588c477ffce15a7a729ddbeceea61
  
https://github.com/WebKit/WebKit/commit/57393b599e9588c477ffce15a7a729ddbeceea61
  Author: Nikolas Zimmermann 
  Date:   2023-10-22 (Sun, 22 Oct 2023)

  Changed paths:
M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-01-b-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-05-t-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-06-t-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/batik/text/textEffect2-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/batik/text/textProperties-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/carto.net/textbox-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/embedding-external-svgs-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/path-moveto-only-rendering-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/subpaths-moveto-only-rendering-expected.txt
A 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/text-clip-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/text-clip-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/use-on-symbol-inside-pattern-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/filters/filter-clip-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/foreignObject/clip-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/mask-clip-target-transform-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/text-align-01-b-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/text-text-05-t-expected.txt
M LayoutTests/svg/clip-path/clip-opacity.html
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/dom/TreeScope.cpp
M Source/WebCore/dom/TreeScope.h
M Source/WebCore/rendering/PaintPhase.h
M Source/WebCore/rendering/RenderBox.cpp
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayer.h
M Source/WebCore/rendering/RenderLayerInlines.h
M Source/WebCore/rendering/RenderObject.h
M Source/WebCore/rendering/svg/RenderSVGContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGImage.cpp
M Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
M Source/WebCore/rendering/svg/RenderSVGModelObject.h
M Source/WebCore/rendering/svg/RenderSVGResource.cpp
A Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp
A Source/WebCore/rendering/svg/RenderSVGResourceClipper.h
A Source/WebCore/rendering/svg/RenderSVGResourceClipperInlines.h
M Source/WebCore/rendering/svg/RenderSVGResourceSolidColor.cpp
M Source/WebCore/rendering/svg/RenderSVGRoot.cpp
M Source/WebCore/rendering/svg/RenderSVGShape.cpp
M Source/WebCore/rendering/svg/RenderSVGText.cpp
M Source/WebCore/rendering/svg/SVGInlineTextBox.cpp
M Source/WebCore/rendering/svg/SVGRenderSupport.cpp
M Source/WebCore/rendering/svg/SVGRenderSupport.h
M Source/WebCore/rendering/svg/SVGRenderingContext.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceClipper.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceClipper.h
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.h
M Source/WebCore/svg/SVGClipPathElement.cpp
M Source/WebCore/svg/SVGClipPathElement.h
M Source/WebCore/svg

[webkit-changes] [WebKit/WebKit] 7df9f6: [LBSE] Incorrect clipping for non-opaque, outermos...

2023-10-16 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7df9f6186a3b0f0341ef887829fc8b1f33dbdda2
  
https://github.com/WebKit/WebKit/commit/7df9f6186a3b0f0341ef887829fc8b1f33dbdda2
  Author: Nikolas Zimmermann 
  Date:   2023-10-16 (Mon, 16 Oct 2023)

  Changed paths:
M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
R 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/render-groups-01-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/as-background-image/svg-as-background-6-expected.png
R 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/batik/text/textAnchor-expected.png
R 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/container-opacity-clip-viewBox-expected.png
R 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/js-update-bounce-expected.png
R 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/svg/RenderSVGRoot.cpp
M Source/WebCore/rendering/svg/RenderSVGRoot.h

  Log Message:
  ---
  [LBSE] Incorrect clipping for non-opaque, outermost  elements
https://bugs.webkit.org/show_bug.cgi?id=262843

Reviewed by Rob Buis.

RenderLayer::beginTransparencyLayers() pixel snaps the clip rect before
clipping, which shouldn't be done for SVG elements. Other places already
use 'snapRectToDevicePixelsIfNeeded()', this one was still using
'snapRectToDevicePixels()' unconditionally.

Removes the need for a bunch of LBSE specific pixel test results (where the
tests pass, except for opacity clipping related glitches that are now fixed).

Covered by existing tests.

* LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/render-groups-01-b-expected.png:
 Removed.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/as-background-image/svg-as-background-6-expected.png:
 Removed.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/batik/text/textAnchor-expected.png:
 Removed.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/container-opacity-clip-viewBox-expected.png:
 Removed.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/js-update-bounce-expected.png:
 Removed.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
 Removed.
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/as-background-image/svg-as-background-6-expected.png:
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::beginTransparencyLayers): Only pixel snap the clip rect, 
if needed.
* Source/WebCore/rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::clippedOverflowRect const): Deleted. No longer needed, 
use the RenderReplaced variant.
* Source/WebCore/rendering/svg/RenderSVGRoot.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 5b8daf: [LBSE] Garden mac-ventura-wk2-pixel / mac-ventura-...

2023-10-07 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5b8daf40c78ea220d85f2495dd7c071a443000a0
  
https://github.com/WebKit/WebKit/commit/5b8daf40c78ea220d85f2495dd7c071a443000a0
  Author: Nikolas Zimmermann 
  Date:   2023-10-07 (Sat, 07 Oct 2023)

  Changed paths:
M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
A 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/carto.net/tabgroup-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/container-opacity-clip-viewBox-expected.png
A 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/overflow/overflow-on-foreignObject-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/coords-units-01-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/carto.net/tabgroup-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/css/text-shadow-multiple-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/non-scaling-stroke-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/overflow/overflow-on-foreignObject-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/transforms/animated-path-inside-transformed-html-expected.png

  Log Message:
  ---
  [LBSE] Garden mac-ventura-wk2-pixel / mac-ventura-wk2-lbse-text pixel test 
baselines"
https://bugs.webkit.org/show_bug.cgi?id=262851

Unreviewed gardening.

Update mac-ventura-wk2-pixel which hasn't been done in a while, and as 
consequence
also the mac-ventura-wk2-lbse-text baseline, and assure following passes:

1. Run tests against legacy SVG engine
   $ run-webkit-tests 
--additional-platform-directory=$PWD/LayoutTests/platform/mac-ventura-wk2-pixel 
\
  --pixel-tests --tolerance=0 svg

2. Run tests against LBSE
   $ run-webkit-tests 
--additional-platform-directory=$PWD/LayoutTests/platform/mac-ventura-wk2-lbse-text
 \
  
--additional-platform-directory=$PWD/LayoutTests/platform/mac-ventura-wk2-pixel 
\
  
--additional-expectations=$PWD/LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
 \
  --pixel-tests --tolerance=0 
--internal-feature=LayerBasedSVGEngineEnabled=true svg

* LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/carto.net/tabgroup-expected.png:
 Copied from 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/carto.net/tabgroup-expected.png.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/container-opacity-clip-viewBox-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/overflow/overflow-on-foreignObject-expected.png:
 Copied from 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/overflow/overflow-on-foreignObject-expected.png.
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/coords-units-01-b-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/carto.net/tabgroup-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/css/text-shadow-multiple-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/non-scaling-stroke-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/overflow/overflow-on-foreignObject-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/transforms/animated-path-inside-transformed-html-expected.png:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] af30a9: [LBSE] Errorous/unnecessary repainting when viewBo...

2023-10-07 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: af30a9bb6eef26b7e5f32b8311ecc0d9ac7df8c1
  
https://github.com/WebKit/WebKit/commit/af30a9bb6eef26b7e5f32b8311ecc0d9ac7df8c1
  Author: Nikolas Zimmermann 
  Date:   2023-10-07 (Sat, 07 Oct 2023)

  Changed paths:
A 
LayoutTests/platform/ios/svg/compositing/anonymous-RenderSVGViewportContainer-no-repaints-expected.txt
A 
LayoutTests/platform/mac-wk1/svg/compositing/transform-change-repainting-no-viewBox-repaintRects-expected.txt
A 
LayoutTests/platform/mac-wk1/svg/compositing/transform-change-repainting-viewBox-repaintRects-expected.txt
A 
LayoutTests/svg/compositing/anonymous-RenderSVGViewportContainer-no-repaints-expected.txt
A 
LayoutTests/svg/compositing/anonymous-RenderSVGViewportContainer-no-repaints.html
A 
LayoutTests/svg/compositing/transform-change-repainting-no-viewBox-expected.html
A 
LayoutTests/svg/compositing/transform-change-repainting-no-viewBox-repaintRects-expected.txt
A 
LayoutTests/svg/compositing/transform-change-repainting-no-viewBox-repaintRects.html
A LayoutTests/svg/compositing/transform-change-repainting-no-viewBox.html
A 
LayoutTests/svg/compositing/transform-change-repainting-viewBox-expected.html
A 
LayoutTests/svg/compositing/transform-change-repainting-viewBox-repaintRects-expected.txt
A 
LayoutTests/svg/compositing/transform-change-repainting-viewBox-repaintRects.html
A LayoutTests/svg/compositing/transform-change-repainting-viewBox.html
M Source/WebCore/rendering/RenderLayer.cpp

  Log Message:
  ---
  [LBSE] Errorous/unnecessary repainting when viewBox is used on  elements
https://bugs.webkit.org/show_bug.cgi?id=258351

Reviewed by Rob Buis.

The anonymous RenderSVGViewportContainer, that encloses the entire SVG render 
tree,
caused errorous repaints whenever the outermost  specified a viewBox 
attribute.

RenderLayerBacking::isSimpleContainerCompositingLayer() returned 'false' for the
anyonmous RenderSVGViewportContainer, as it advertized itself as 
'paintsContents()=true',
which is incorrect, since it does not paint on its own.

Alter RenderLayer::computeHasVisibleContent() to return false for the anonymous
RenderSVGViewportContainer, similar to the existing condition, that prevents
repaints for layers that have a 'RenderSVGHiddenContainer' ancestor in the 
render
tree hierarchy.

Covered by new tests (graphics layer tree dump will showed 'drawsContent 1' 
before and
'contentsVisible 0' after this change for the anonymous 
RenderSVGViewportContainer layer).

* 
LayoutTests/platform/ios/svg/compositing/anonymous-RenderSVGViewportContainer-no-repaints-expected.txt:
 Added.
  Taken from iOS 16 Simulator EWS build -- scrollbars on iOS influence the 
GraphicsLayer tree dump, so this needs
  a platform specific result.
* 
LayoutTests/platform/mac-wk1/svg/compositing/transform-change-repainting-no-viewBox-repaintRects-expected.txt:
 Added.
* 
LayoutTests/platform/mac-wk1/svg/compositing/transform-change-repainting-viewBox-repaintRects-expected.txt:
 Added.
  Legacy WK1 exposes individual repainting bugs -- add an exception instead of 
skipping to document this.
* 
LayoutTests/svg/compositing/anonymous-RenderSVGViewportContainer-no-repaints-expected.txt:
 Added.
* 
LayoutTests/svg/compositing/anonymous-RenderSVGViewportContainer-no-repaints.html:
 Added.
* 
LayoutTests/svg/compositing/transform-change-repainting-no-viewBox-expected.html:
 Added.
* 
LayoutTests/svg/compositing/transform-change-repainting-no-viewBox-repaintRects-expected.txt:
 Added.
* 
LayoutTests/svg/compositing/transform-change-repainting-no-viewBox-repaintRects.html:
 Added.
* LayoutTests/svg/compositing/transform-change-repainting-no-viewBox.html: 
Added.
* 
LayoutTests/svg/compositing/transform-change-repainting-viewBox-expected.html: 
Added.
* 
LayoutTests/svg/compositing/transform-change-repainting-viewBox-repaintRects-expected.txt:
 Added.
* 
LayoutTests/svg/compositing/transform-change-repainting-viewBox-repaintRects.html:
 Added.
* LayoutTests/svg/compositing/transform-change-repainting-viewBox.html: Added.
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::computeHasVisibleContent const):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 5a8f69: Fix reset to baseVal after animation end for SVGTr...

2023-10-06 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5a8f69dc67ce414cca0c9575080c73d858a603bc
  
https://github.com/WebKit/WebKit/commit/5a8f69dc67ce414cca0c9575080c73d858a603bc
  Author: Nikolas Zimmermann 
  Date:   2023-10-06 (Fri, 06 Oct 2023)

  Changed paths:
M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
M Source/WebCore/svg/properties/SVGAnimatedPropertyAnimator.h

  Log Message:
  ---
  Fix reset to baseVal after animation end for SVGTransformList
https://bugs.webkit.org/show_bug.cgi?id=249140

Reviewed by Rob Buis.

Partly revert the fix from webkit.org/b/198576 (REGRESSION (r243121): Load event
should not be fired while animating the 'externalResourcesRequired' attribute),
that landed in https://commits.webkit.org/212621@main.

First of all, externalResourcesRequired support is gone from WebKit, therefore
SMIL animations of that property are no longer possible: the workaround is 
obsolete.

More importantly, the applied workaround is harmful for SVGTransformList 
animations,
which go through the same SVGAnimatedPropertyAnimator code paths to apply 
changes,
when  animations are active.

The now-reverted patch changed the order of two calls, when applying property
animations. Before the patch, stopAnimation() was called first, then
applyAnimatedPropertyChange() (which calls svgAttributeChanged()).

SVGAnimatedPropertyList::stopAnimation() first calls 
SVGAnimatedProperty::stopAnimation(),
and then resets m_animVal to m_baseVal (#). The 
SVGAnimatedProperty::stopAnimation() code
removes the 'SVGAttributeAnimator' object from the m_animators hash set. If 
there was
only one animation running, isAnimating() would now return false. Thus when 
calling
stopAnimation() first and applyAnimatedPropertyChanged() afterwards, one cannot 
query
anymore if the svgAttributeChanged() origin is a SMIL animation or not (that 
kind of
information was needed by SVGExternalResourcesRequired support, and nowhere 
else).

However it is guaranteed that the "m_animVal" is reset to the "m_baseVal" 
_BEFORE_
calling svgAttributeChanged(), which potentially triggers repaints / relayouts 
etc.

For the legacy SVG engine this imposes no problem: svgAttributeChanged() _marks_
the renderer for a transform update (renderer()->setNeedsTransformUpdate()) and 
triggers
an async relayout. Next time layout is updated, the correct values are used to 
update
and render the scene (property now reflect 'baseVal' visually, animVal was 
reset).

For LBSE we only want to update the layer transform and repaint, avoiding any 
relayout.
Therefore the current behaviour in ToT, first calling 
applyAnimatedPropertyChange()
(which calls svgAttributeChanged()) and then stopAnimation() is harmful.
When svgAttributeChanged() is called, the SVGTransformList state reflects the 
_LAST_
animation progress value that was calculated. That state is used to update the 
layer
transform and trigger a repaint. Just afterwards stopAnimation() reset the 
animVal
to the baseVal (e.g. back to identity matrix, ...) -- but since we no longer 
trigger
any async relayout from svgAttributeChanged(), nobody is going to pick up that 
change
and redraw the scene.

The fix is simple: revert the order again, and things are fine.
Solves the recently induced regression in 
svg/animations/list-wrapper-assertion.svg.

* LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations: Remove 
svg/animations/list-wrapper-assertion.svg failure expectation.
* Source/WebCore/svg/properties/SVGAnimatedPropertyAnimator.h: Call 
stopAnimation() before applyAnimatedPropertyChange().

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 6c8fe3: [LBSE] Fix visual overflow computation

2023-10-06 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6c8fe3a7b838afa10d1655859e8515e8ed034fa7
  
https://github.com/WebKit/WebKit/commit/6c8fe3a7b838afa10d1655859e8515e8ed034fa7
  Author: Nikolas Zimmermann 
  Date:   2023-10-06 (Fri, 06 Oct 2023)

  Changed paths:
M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-03-b-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/foreign-object-skew-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/foreignObject-crash-on-hover-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/use-on-disallowed-foreign-object-1-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/use-on-disallowed-foreign-object-2-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/use-on-disallowed-foreign-object-4-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/use-on-disallowed-foreign-object-5-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/use-on-disallowed-foreign-object-6-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/use-on-non-svg-namespaced-element-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/foreignObject/body-background-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/foreignObject/multiple-foreign-objects-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/foreignObject/svg-document-as-direct-child-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/hixie/mixed/008-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/overflow/overflow-on-foreignObject-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/mask-clip-target-transform-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/foreignObject-repaint-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/foreignObject-text-clipping-bug-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/text-rescale-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-foreignObject-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-hixie-mixed-008-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/text/zoom-foreignObject-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/text/zoom-hixie-mixed-008-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/overflow/overflow-on-foreignObject-expected.png
M LayoutTests/svg/overflow/overflow-on-foreignObject.svg
M Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp
M Source/WebCore/rendering/svg/RenderSVGForeignObject.h
M Source/WebCore/rendering/svg/SVGBoundingBoxComputation.h

  Log Message:
  ---
  [LBSE] Fix visual overflow computation
https://bugs.webkit.org/show_bug.cgi?id=262694

Reviewed by Rob Buis.

Fix computation of visual overflow rect in SVGBoundingBoxComputation.
Stop taking transformations into account -- the layout related geometry excludes
transformations (CSS/HTML transformations do not influence layout, only paint).

LBSE was changed in 2022 to follow that 
(https://trac.webkit.org/changeset/293504/webkit)
but we failed to adapt visual overflow handling after this change.

Fixing computeVisualOverflowRect() resolve the issue in general, but broke 

repainting in LBSE. This only uncovered that overflow handling in general is 
broken for
 (and has always been in WebKit since its introduction in 2010). 
Stop handling
x/y via transformations, but instead move the block itself along x/y direction.

This change therefore fixes both visual overflow in general, and specifically 
for .

Covered by existing tests (svg/overflow/overflow-on-foreignObject.svg fixed in 
LBSE only).

* LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-03-b-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/foreign-object-skew-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/foreignObject-crash-on-hover-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/use-on-disallowed-foreign-object-1-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse

[webkit-changes] [WebKit/WebKit] bde602: [LBSE] Enable accelerated transform animations for...

2023-09-19 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bde602f47049d0712b479d925ea19e0962e05f7f
  
https://github.com/WebKit/WebKit/commit/bde602f47049d0712b479d925ea19e0962e05f7f
  Author: Nikolas Zimmermann 
  Date:   2023-09-19 (Tue, 19 Sep 2023)

  Changed paths:
M Source/WebCore/rendering/RenderLayerBacking.cpp

  Log Message:
  ---
  [LBSE] Enable accelerated transform animations for SVG renderers
https://bugs.webkit.org/show_bug.cgi?id=258122

Reviewed by Rob Buis.

Accelerated transform animations were not active for SVG renderers
in LBSE. RenderLayerBacking::startAnimation() only used accelerated
mode for RenderBoxModelObject derived renderers -- extend that to
all SVG layer awarerenderers. Forgot to upstream this half a year
ago :-(

Also make sure that 'transform-box' is respected, when calculating
the bounding box, against which e.g. 'transform-origin' percentage
values are resolved. This needs more testing to verify this outside
of SVG content in future -- need to coordinate with WPT.

Covered by existing tests, performance difference is significant.

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] a7b2e6: [LBSE] Gardening, update pixel+text results

2023-09-17 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a7b2e63b6c2a25adcb825a74ff073460e6dc04df
  
https://github.com/WebKit/WebKit/commit/a7b2e63b6c2a25adcb825a74ff073460e6dc04df
  Author: Nikolas Zimmermann 
  Date:   2023-09-17 (Sun, 17 Sep 2023)

  Changed paths:
M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/g-dirLTR-ubNone-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/g-dirLTR-ubOverride-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/g-dirRTL-ubNone-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/g-dirRTL-ubOverride-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirLTR-anchorEnd-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirLTR-anchorStart-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirNone-anchorEnd-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirNone-anchorMiddle-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirNone-anchorStart-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirRTL-anchorEnd-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirRTL-anchorStart-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-anchor-no-markup-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-dirLTR-ubNone-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-dirLTR-ubOverride-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-dirRTL-ubNone-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/text-dirRTL-ubOverride-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-default-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-ltr-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirRTL-ubNone-in-default-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirRTL-ubNone-in-ltr-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-I18N/tspan-direction-ltr-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt
M 
LayoutTests

[webkit-changes] [WebKit/WebKit] efcd01: [GLib] Tweak LLD detection (unbreak e.g. Ubuntu 23...

2023-08-27 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: efcd01c4d0c08251f6a785e5686234a21bb1c15d
  
https://github.com/WebKit/WebKit/commit/efcd01c4d0c08251f6a785e5686234a21bb1c15d
  Author: Nikolas Zimmermann 
  Date:   2023-08-27 (Sun, 27 Aug 2023)

  Changed paths:
M Source/cmake/OptionsCommon.cmake

  Log Message:
  ---
  [GLib] Tweak LLD detection (unbreak e.g. Ubuntu 23.04) for GTK/WPE ports
https://bugs.webkit.org/show_bug.cgi?id=260518

Reviewed by Adrian Perez de Castro and Michael Catanzaro.

Adapt LLD detection, to handle the vendor-specific version strings such as 
"Ubuntu LLD...".
Vanilla LLD reports "LLD..." when invoked with --version - the Ubuntu ones are 
customized.

* Source/cmake/OptionsCommon.cmake:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] df1483: Mask clipping determination insufficient for ...

2023-06-16 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: df148384b18a40059f52a6ad13f05f7c0612ade9
  
https://github.com/WebKit/WebKit/commit/df148384b18a40059f52a6ad13f05f7c0612ade9
  Author: Nikolas Zimmermann 
  Date:   2023-06-16 (Fri, 16 Jun 2023)

  Changed paths:
A 
LayoutTests/svg/clip-path/clip-path-use-referencing-clipped-text-expected.html
A LayoutTests/svg/clip-path/clip-path-use-referencing-clipped-text.html
A LayoutTests/svg/clip-path/clip-path-use-referencing-text-expected.html
A LayoutTests/svg/clip-path/clip-path-use-referencing-text.html
M Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp

  Log Message:
  ---
  Mask clipping determination insufficient for  elements
https://bugs.webkit.org/show_bug.cgi?id=258168

Reviewed by Rob Buis.

To determine if we need mask clipping or can use path clipping,
the renderer is queried for certain information. This is not
sufficient for  renderers -- the logic needs to extend to
the referenced renderer as well.

Previously when referencing e.g. a  element that is itself
clipped, from an  element (that is a child of )
we determined that path clipping is possible, leading to a
fully clipped object (net result: nothing visible).

Fix that issue, and handle  elements in the clip mask determination.

Covered by two new tests, exercising the  clipping peculiarities.

* 
LayoutTests/svg/clip-path/clip-path-use-referencing-clipped-text-expected.html: 
Added.
* LayoutTests/svg/clip-path/clip-path-use-referencing-clipped-text.html: Added.
* LayoutTests/svg/clip-path/clip-path-use-referencing-text-expected.html: Added.
* LayoutTests/svg/clip-path/clip-path-use-referencing-text.html: Added.
Imported from Blink.

* Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::pathOnlyClipping):

Refactor the mask clipping determination logic into a helper lambda.
Re-use that lambda to check if the  referenced clip renderer
is required to use mask clipping, or if path clipping is possible.

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 988fed: [LBSE] Computation of on-screen font scaling facto...

2023-06-15 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 988fed7a75892691e5cde2a30da154fbdcc61091
  
https://github.com/WebKit/WebKit/commit/988fed7a75892691e5cde2a30da154fbdcc61091
  Author: Nikolas Zimmermann 
  Date:   2023-06-15 (Thu, 15 Jun 2023)

  Changed paths:
R LayoutTests/platform/glib/svg/zoom/page/zoom-zoom-coords-expected.txt
R 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-zoom-coords-expected.txt
R LayoutTests/platform/mac/svg/zoom/page/zoom-zoom-coords-expected.txt
M LayoutTests/svg/zoom/page/zoom-zoom-coords-expected.txt
M LayoutTests/svg/zoom/page/zoom-zoom-coords.xhtml
M Source/WebCore/rendering/svg/SVGLayerTransformComputation.h

  Log Message:
  ---
  [LBSE] Computation of on-screen font scaling factor ignores page zoom
https://bugs.webkit.org/show_bug.cgi?id=258120

Reviewed by Rob Buis.

For standalone SVG documents the page zoom has to be taken into account when 
computing the
on-screen font scaling factor. Currently we ignore the effective zoom factor 
and thus select
a sub-optimal font.

Non-scaling-stroke (webkit.org/b/139322) works properly in LBSE, if this fix is 
applied as well.
Two tests fail in LBSE without this patch: 
svg/text/non-scaling-stroke-textRendering-default.svg
and svg/text/non-scaling-stroke-textRendering-geometricPrecision.svg).

Covered by new tests added by webkit.org/b/139322 -- easy to test with 
non-scaling-stroke.
Without non-scaling-stroke, this is most noticeable in zoom-zoom-coords.html 
which now
exposes slighly different metrics for  since the internal font-size 
scaling factor
changed (now taking zoom into account, as the legacy SVG engine already does).

zoom-zoom-coords.xhtml now delivers correct results across all platforms and is 
identical
for legacy SVG engine and LBSE -- get rid of platform specific results, finally.

* LayoutTests/platform/glib/svg/zoom/page/zoom-zoom-coords-expected.txt: 
Removed.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-zoom-coords-expected.txt:
 Removed.
* LayoutTests/platform/mac/svg/zoom/page/zoom-zoom-coords-expected.txt: Removed.
* LayoutTests/svg/zoom/page/zoom-zoom-coords-expected.txt:
Finally a single non-LBSE/LBSE result for all platforms.
* LayoutTests/svg/zoom/page/zoom-zoom-coords.xhtml:
* Source/WebCore/rendering/svg/SVGLayerTransformComputation.h:
(WebCore::SVGLayerTransformComputation::calculateScreenFontSizeScalingFactor 
const):
Multiply scaling factor by effectiveZoom() (which includes page zoom), but only 
for non-standalone
SVG documents. For standalone SVG documents the page-zoom induced scaling is 
already part of the CTM.

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 7eeb61: Setting the "vector-effect" attribute in the SVG <...

2023-06-15 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7eeb61cf4db43f5580bb7cc0b7df42128ee7a22e
  
https://github.com/WebKit/WebKit/commit/7eeb61cf4db43f5580bb7cc0b7df42128ee7a22e
  Author: Nikolas Zimmermann 
  Date:   2023-06-15 (Thu, 15 Jun 2023)

  Changed paths:
A LayoutTests/fast/repaint/resources/async-text-based-repaint.js
M LayoutTests/platform/glib/TestExpectations
A 
LayoutTests/platform/glib/svg/repaint/repaint-non-scaling-stroke-text-decoration-expected.txt
A 
LayoutTests/platform/glib/svg/repaint/repaint-non-scaling-stroke-text-expected.txt
A 
LayoutTests/platform/ios/svg/repaint/repaint-non-scaling-stroke-text-decoration-expected.txt
A 
LayoutTests/platform/ios/svg/repaint/repaint-non-scaling-stroke-text-expected.txt
A 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/repaint-non-scaling-stroke-text-decoration-expected.txt
A 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/repaint-non-scaling-stroke-text-expected.txt
A 
LayoutTests/svg/repaint/repaint-non-scaling-stroke-text-decoration-expected.txt
A LayoutTests/svg/repaint/repaint-non-scaling-stroke-text-decoration.html
A LayoutTests/svg/repaint/repaint-non-scaling-stroke-text-expected.txt
A LayoutTests/svg/repaint/repaint-non-scaling-stroke-text.html
A LayoutTests/svg/stroke/non-scaling-stroke-gradient-text-expected.html
A LayoutTests/svg/stroke/non-scaling-stroke-gradient-text.html
A LayoutTests/svg/stroke/non-scaling-stroke-text-decoration-expected.html
A LayoutTests/svg/stroke/non-scaling-stroke-text-decoration.html
A LayoutTests/svg/stroke/non-scaling-stroke-text-expected.html
A LayoutTests/svg/stroke/non-scaling-stroke-text.html
A LayoutTests/svg/text/non-scaling-stroke-textRendering-default-expected.svg
A LayoutTests/svg/text/non-scaling-stroke-textRendering-default.svg
A 
LayoutTests/svg/text/non-scaling-stroke-textRendering-geometricPrecision-expected.svg
A 
LayoutTests/svg/text/non-scaling-stroke-textRendering-geometricPrecision.svg
A 
LayoutTests/svg/zoom/page/non-scaling-stroke-textRendering-default-expected.svg
A LayoutTests/svg/zoom/page/non-scaling-stroke-textRendering-default.svg
A 
LayoutTests/svg/zoom/page/non-scaling-stroke-textRendering-geometricPrecision-expected.svg
A 
LayoutTests/svg/zoom/page/non-scaling-stroke-textRendering-geometricPrecision.svg
A LayoutTests/svg/zoom/page/text-with-non-scaling-stroke-expected.html
A LayoutTests/svg/zoom/page/text-with-non-scaling-stroke.html
M Source/WebCore/rendering/svg/RenderSVGInlineText.cpp
M Source/WebCore/rendering/svg/RenderSVGInlineText.h
M Source/WebCore/rendering/svg/SVGInlineTextBox.cpp

  Log Message:
  ---
  Setting the "vector-effect" attribute in the SVG  tag to 
"non-scaling-stroke" has no effect
https://bugs.webkit.org/show_bug.cgi?id=139322

Reviewed by Rob Buis.

Add missing  support for vector-effect: non-scaling-stroke.
Take into account deviceScaleFactor / pageZoomFactor / text-rendering: 
geometricPrecision.

This brings us on-par with Gecko, which had excellent support for this feature,
and a bit further than Blink (which is broken when applying text-rendering: 
geometricPrecision
and vector-effect: non-scaling-stroke at the same time).

Cover all corner cases with tests: repaint rects, page zoom handling, 
gradients-on-text,
text decoration, etc.

* LayoutTests/fast/repaint/resources/async-text-based-repaint.js: Added.
(runRepaintTest):
(finishRepaintTest):
Like text-based-repaint.js, but supporting async execution.

* LayoutTests/platform/glib/TestExpectations:
* 
LayoutTests/platform/glib/svg/repaint/repaint-non-scaling-stroke-text-decoration-expected.txt:
 Added.
* 
LayoutTests/platform/glib/svg/repaint/repaint-non-scaling-stroke-text-expected.txt:
 Added.
* 
LayoutTests/platform/ios/svg/repaint/repaint-non-scaling-stroke-text-decoration-expected.txt:
 Added.
* 
LayoutTests/platform/ios/svg/repaint/repaint-non-scaling-stroke-text-expected.txt:
 Added.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/repaint-non-scaling-stroke-text-decoration-expected.txt:
 Added.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/repaint-non-scaling-stroke-text-expected.txt:
 Added.
Updated expectations / add new results based on EWS run.

* 
LayoutTests/svg/repaint/repaint-non-scaling-stroke-text-decoration-expected.txt:
 Added.
* LayoutTests/svg/repaint/repaint-non-scaling-stroke-text-decoration.html: 
Added.
* LayoutTests/svg/repaint/repaint-non-scaling-stroke-text-expected.txt: Added.
* LayoutTests/svg/repaint/repaint-non-scaling-stroke-text.html: Added.
Imported from Blink -- modified to use 'async-text-based-repaint.js'.

* LayoutTests/svg/stroke/non-scaling-stroke-gradient-text-expected.html: Added.
* LayoutTests/svg/stroke/non-scaling-stroke-gradient-text.html: Added.
* LayoutTests/svg/stroke/non-scaling-stroke-text-de

[webkit-changes] [WebKit/WebKit] ff37f0: [LBSE] Gardening, update pixel+text results

2023-06-14 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ff37f05dc092c3b4d693a1836ea874e2b1765aac
  
https://github.com/WebKit/WebKit/commit/ff37f05dc092c3b4d693a1836ea874e2b1765aac
  Author: Nikolas Zimmermann 
  Date:   2023-06-14 (Wed, 14 Jun 2023)

  Changed paths:
M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/circular-marker-reference-3-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/svg-fonts-in-html-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/use-on-symbol-inside-pattern-expected.txt
A 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/getcharnumatposition-multiple-fragments-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/text-text-08-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-22-b-expected.png

  Log Message:
  ---
  [LBSE] Gardening, update pixel+text results
https://bugs.webkit.org/show_bug.cgi?id=258067

Unreviewed gardening.

Update LBSE pixel/test results -- now all tests pass again in LBSE.

* LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/circular-marker-reference-3-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/svg-fonts-in-html-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/use-on-symbol-inside-pattern-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/getcharnumatposition-multiple-fragments-expected.txt:
 Added.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/text-text-08-b-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-22-b-expected.png:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 036085: REGRESSION: SVGMaskElement maskUnits/maskContentUn...

2023-06-13 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 03608538134cc6a2bf14ca5359ad1d6ae020fcf6
  
https://github.com/WebKit/WebKit/commit/03608538134cc6a2bf14ca5359ad1d6ae020fcf6
  Author: Nikolas Zimmermann 
  Date:   2023-06-13 (Tue, 13 Jun 2023)

  Changed paths:
M Source/WebCore/svg/SVGMaskElement.cpp

  Log Message:
  ---
  REGRESSION: SVGMaskElement maskUnits/maskContentUnits dynamic updates broken
https://bugs.webkit.org/show_bug.cgi?id=258020

Reviewed by Chris Dumez.

Fix the last two remaining issues with tests in svg/dynamic-updates:
SVGMaskElement maskUnits/maskContentUnits updates did not cause any visual 
effect.

Remove early returns, to assure SVGElement::attributeChanged() gets called
in SVGMaskElement::attributeChanged().

Covered by existing tests.

* Source/WebCore/svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::attributeChanged):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 708f13: Update 'mac-ventura-wk2-pixel' test baseline

2023-06-13 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 708f1326df9c5680178a0ff89e9cb13fd0a5f79e
  
https://github.com/WebKit/WebKit/commit/708f1326df9c5680178a0ff89e9cb13fd0a5f79e
  Author: Nikolas Zimmermann 
  Date:   2023-06-13 (Tue, 13 Jun 2023)

  Changed paths:
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEComponentTransferElement-dom-tableValues-attr-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues-prop-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEDropShadowElement-svgdom-stdDeviation-prop-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-call-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGUseElement-dom-requiredFeatures-expected.png

  Log Message:
  ---
  Update 'mac-ventura-wk2-pixel' test baseline
https://bugs.webkit.org/show_bug.cgi?id=258019

Unreviewed gardening.

Update test baselines using latests macOS Ventura, that could not be udpated 
last time,
because of the attributeChanged() regression, that broke dynamic updates for 
many kinds
of DOM attributes/SVG DOM properties. Now that 
https://commits.webkit.org/265069@main
fixed the regression, we can update the baseline.

No change in behavior, no new tests.

* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEComponentTransferElement-dom-tableValues-attr-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues-prop-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEDropShadowElement-svgdom-stdDeviation-prop-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-call-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGUseElement-dom-requiredFeatures-expected.png:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] a0c0c1: REGRESSION: Dynamic attribute updates partly broke...

2023-06-12 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a0c0c14bfa2185765e469bdbcdf06ca79cddbf6f
  
https://github.com/WebKit/WebKit/commit/a0c0c14bfa2185765e469bdbcdf06ca79cddbf6f
  Author: Nikolas Zimmermann 
  Date:   2023-06-12 (Mon, 12 Jun 2023)

  Changed paths:
M Source/WebCore/svg/SVGAElement.cpp
M Source/WebCore/svg/SVGAnimateMotionElement.cpp
M Source/WebCore/svg/SVGAnimateTransformElement.cpp
M Source/WebCore/svg/SVGAnimationElement.cpp
M Source/WebCore/svg/SVGClipPathElement.cpp
M Source/WebCore/svg/SVGFEComponentTransferElement.cpp
M Source/WebCore/svg/SVGFEImageElement.cpp
M Source/WebCore/svg/SVGFEMergeNodeElement.cpp
M Source/WebCore/svg/SVGFEOffsetElement.cpp
M Source/WebCore/svg/SVGFETileElement.cpp
M Source/WebCore/svg/SVGFontFaceElement.cpp
M Source/WebCore/svg/SVGFontFaceUriElement.cpp
M Source/WebCore/svg/SVGGeometryElement.cpp
M Source/WebCore/svg/SVGGlyphRefElement.cpp
M Source/WebCore/svg/SVGGradientElement.cpp
M Source/WebCore/svg/SVGGraphicsElement.cpp
M Source/WebCore/svg/SVGImageElement.cpp
M Source/WebCore/svg/SVGMarkerElement.cpp
M Source/WebCore/svg/SVGMaskElement.cpp
M Source/WebCore/svg/SVGPathElement.cpp
M Source/WebCore/svg/SVGPatternElement.cpp
M Source/WebCore/svg/SVGPolyElement.cpp
M Source/WebCore/svg/SVGSVGElement.cpp
M Source/WebCore/svg/SVGStopElement.cpp
M Source/WebCore/svg/SVGStyleElement.cpp

  Log Message:
  ---
  REGRESSION: Dynamic attribute updates partly broken for SVG
https://bugs.webkit.org/show_bug.cgi?id=257900

[LBSE] REGRESSION: Transform repainting/relayout broken
https://bugs.webkit.org/show_bug.cgi?id=257692

Reviewed by Rob Buis.

SVGElement::attributeChanged() need to be called _after_ changing
the class and/or base class members. attributeChanged() calls
svgAttributeChanged(), which assumes the class members have been
updated due to an attribute change before.

This also fixes the regression seen in LBSE, where 'transform'
updates no longer have any effect.

Covered by existing tests.

* Source/WebCore/svg/SVGAElement.cpp:
(WebCore::SVGAElement::attributeChanged):
* Source/WebCore/svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::attributeChanged):
* Source/WebCore/svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::attributeChanged):
* Source/WebCore/svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::attributeChanged):
* Source/WebCore/svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::attributeChanged):
* Source/WebCore/svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::attributeChanged):
* Source/WebCore/svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::attributeChanged):
* Source/WebCore/svg/SVGFEMergeNodeElement.cpp:
(WebCore::SVGFEMergeNodeElement::attributeChanged):
* Source/WebCore/svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::attributeChanged):
* Source/WebCore/svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::attributeChanged):
* Source/WebCore/svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::attributeChanged):
* Source/WebCore/svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::attributeChanged):
* Source/WebCore/svg/SVGGeometryElement.cpp:
(WebCore::SVGGeometryElement::attributeChanged):
* Source/WebCore/svg/SVGGlyphRefElement.cpp:
(WebCore::SVGGlyphRefElement::attributeChanged):
* Source/WebCore/svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::attributeChanged):
* Source/WebCore/svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::attributeChanged):
* Source/WebCore/svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::attributeChanged):
* Source/WebCore/svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::attributeChanged):
* Source/WebCore/svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::attributeChanged):
* Source/WebCore/svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::attributeChanged):
* Source/WebCore/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::attributeChanged):
* Source/WebCore/svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::attributeChanged):
* Source/WebCore/svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::attributeChanged):
* Source/WebCore/svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::attributeChanged):
* Source/WebCore/svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::attributeChanged):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 03d330: REGRESSION: svg/dynamic-updates/SVGFE* tests no lo...

2023-05-30 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 03d330e0fe9b5202ff63c5e4472ca6184b3bb3df
  
https://github.com/WebKit/WebKit/commit/03d330e0fe9b5202ff63c5e4472ca6184b3bb3df
  Author: Nikolas Zimmermann 
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
M LayoutTests/platform/mac/TestExpectations

  Log Message:
  ---
  REGRESSION: svg/dynamic-updates/SVGFE* tests no longer react on changes
https://bugs.webkit.org/show_bug.cgi?id=257485

Unreviewed gardening, mark LayoutTests/svg/dynamic-updates/SVGFE* tests
as 'ImageOnlyFailure'. Using 'run-webkit-tests svg' the regression is
not visible -- the svg/dynamic-updates tests still rely on pixel testing :-(

* LayoutTests/platform/mac/TestExpectations:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 27580c: [LBSE] Update 'mac-ventura-wk2-pixel' test baseline

2023-05-30 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 27580cefe867c50e5adc8e2658f65f19df1bcb49
  
https://github.com/WebKit/WebKit/commit/27580cefe867c50e5adc8e2658f65f19df1bcb49
  Author: Nikolas Zimmermann 
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-22-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/filters-color-01-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/filters-light-01-f-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/filters-light-04-f-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/filters-turb-01-f-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/masking-path-04-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/painting-render-01-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/text-fonts-01-t-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/text-text-08-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/as-background-image/svg-as-background-5-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/as-image/svg-image-change-content-size-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/batik/filters/filterRegions-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/coords-relative-units-transforms-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/feComponentTransfer-Discrete-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/feComponentTransfer-Gamma-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/feComponentTransfer-Linear-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/feComponentTransfer-Table-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/foreign-object-skew-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/inline-svg-in-xhtml-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/js-late-gradient-and-object-creation-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/svg-fonts-in-html-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGTextElement-dom-lengthAdjust-attr-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGUseElement-dom-requiredFeatures-expected.png
M LayoutTests/platform/mac-ventura-wk2-pixel/svg/hixie/perf/001-expected.png
M LayoutTests/platform/mac-ventura-wk2-pixel/svg/hixie/perf/002-expected.png
M LayoutTests/platform/mac-ventura-wk2-pixel/svg/hixie/perf/007-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/repaint/image-with-clip-path-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/selection-styles-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/text-fonts-01-t-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/text-text-08-b-expected.png

  Log Message:
  ---
  [LBSE] Update 'mac-ventura-wk2-pixel' test baseline
https://bugs.webkit.org/show_bug.cgi?id=257484

Unreviewed gardening.

Update pixel test results for custom 'mac-ventura-wk2-pixel'
baseline -- generated on an M1 machine, using macOS Ventura 13.4.

Same purpose as before: ease LBSE testing, allowing to compare pixel
results between LBSE-enabled / LBSE-disabled builds.

No change in behavior, thus no new tests.

* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-22-b-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/filters-light-01-f-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/filters-light-04-f-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/filters-turb-01-f-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG

[webkit-changes] [WebKit/WebKit] a9ba14: 'textLength' support for 'tspan' elements is incom...

2023-05-30 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a9ba148c1a1793210f451e03e94ee71a359c94b0
  
https://github.com/WebKit/WebKit/commit/a9ba148c1a1793210f451e03e94ee71a359c94b0
  Author: Nikolas Zimmermann 
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
A LayoutTests/svg/text/textLength-tspan-1-expected.html
A LayoutTests/svg/text/textLength-tspan-1.html
A LayoutTests/svg/text/textLength-tspan-2-expected.html
A LayoutTests/svg/text/textLength-tspan-2.html
M Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp
M Source/WebCore/rendering/svg/SVGTextLayoutEngine.h

  Log Message:
  ---
  'textLength' support for 'tspan' elements is incomplete
https://bugs.webkit.org/show_bug.cgi?id=257160

Reviewed by Rob Buis.

WebKit issue #171805 contained an imported fix from Chromium
to properly compute the inter-character spacing (off-by-one).

Continue the work to make textLength fully functional on 
elements, in a few edge cases related to whitespace/text chunk handling.

Prior to this patch, non-collapsed whitespace remnants between
flow boxes ended up contributing to the size of a text chunk -- this
goes unnoticed as long as textLength support isn't used. If textLength
is used on  elements, the extra characters, lead to wrong
inter-character space computation (as the number of characters is
larger than expected).

Add new reftests to cover the new logic - see 
LayoutTests/svg/text/textLength-tspan-{1|2}.html.

* LayoutTests/svg/text/textLength-tspan-1-expected.html: Added.
* LayoutTests/svg/text/textLength-tspan-1.html: Added.
* LayoutTests/svg/text/textLength-tspan-2-expected.html: Added.
* LayoutTests/svg/text/textLength-tspan-2.html: Added.
* Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
* Source/WebCore/rendering/svg/SVGTextLayoutEngine.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 459f81: Make debug mode in SVGTextLayoutEngine functional ...

2023-05-27 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 459f81b38481aff16323a2fa88756fe2cbd28abe
  
https://github.com/WebKit/WebKit/commit/459f81b38481aff16323a2fa88756fe2cbd28abe
  Author: Nikolas Zimmermann 
  Date:   2023-05-27 (Sat, 27 May 2023)

  Changed paths:
M Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp

  Log Message:
  ---
  Make debug mode in SVGTextLayoutEngine functional again
https://bugs.webkit.org/show_bug.cgi?id=257155

Reviewed by Rob Buis.

Make debug mode 'DUMP_TEXT_FRAGMENTS' > 0, work again.
It wasn't adapted to the changes in the surrounding code since
a few years, since the code isn't compiled, usually.

Rename to DUMP_SVG_TEXT_LAYOUT_FRAGMENTS for clarity.
No change in functionality, thus no new tests.

* Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::dumpTextBoxes): Fix build issues.

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 835136: SVGTextLayoutEngine m_textPathStartOffset is unini...

2023-05-26 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 835136aa12f7848edb9abdc3e8d0d11500172ad2
  
https://github.com/WebKit/WebKit/commit/835136aa12f7848edb9abdc3e8d0d11500172ad2
  Author: Nikolas Zimmermann 
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
M Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp
M Source/WebCore/rendering/svg/SVGTextLayoutEngine.h

  Log Message:
  ---
  SVGTextLayoutEngine m_textPathStartOffset is uninitialized
https://bugs.webkit.org/show_bug.cgi?id=257156

Reviewed by Rob Buis.

Initialize all SVGTextLayoutEngine members using brace initializaation
in the header, to avoid uninitialized variables, like m_textPathStartOffset.

It has no practical consequences, as it's always set before entering
path-layout mode - however we should clean it up to avoid this in future.

Covered by existing tests.

* Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
* Source/WebCore/rendering/svg/SVGTextLayoutEngine.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 2364ff: [glib] Cog doesn't launch when built/started withi...

2023-04-28 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2364ff02346a5906d103bfc02c341ca8bc9b5ecb
  
https://github.com/WebKit/WebKit/commit/2364ff02346a5906d103bfc02c341ca8bc9b5ecb
  Author: Nikolas Zimmermann 
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
M Source/WTF/wtf/glib/Sandbox.cpp
M Source/WTF/wtf/glib/Sandbox.h
M Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp

  Log Message:
  ---
  [glib] Cog doesn't launch when built/started within podman container
https://bugs.webkit.org/show_bug.cgi?id=255975

Reviewed by Adrian Perez de Castro.

We intent to disable bubblewrap sandboxing when e.g. Cog is launched
within a container -- however we only handle docker -- extend that to
all OCI-compatible container execution engines (podman!).

No new tests -- not testable within our CI/CD environment.

* Source/WTF/wtf/glib/Sandbox.cpp:
(WTF::isInsideContainer):
(WTF::isInsideDocker): Deleted.
* Source/WTF/wtf/glib/Sandbox.h:
* Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
(WebKit::ProcessLauncher::launchProcess):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


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

2023-01-23 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c417abc93c3b16d7e504bf27e1e3b4839820a6e6
  
https://github.com/WebKit/WebKit/commit/c417abc93c3b16d7e504bf27e1e3b4839820a6e6
  Author: Nikolas Zimmermann 
  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

[webkit-changes] [WebKit/WebKit] b348ce: [LBSE] Do not relayout on dynamic transform change...

2023-01-20 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b348ce7635b6efa824493df9ac2b67716a4c95c6
  
https://github.com/WebKit/WebKit/commit/b348ce7635b6efa824493df9ac2b67716a4c95c6
  Author: Nikolas Zimmermann 
  Date:   2023-01-20 (Fri, 20 Jan 2023)

  Changed paths:
M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
M Source/WebCore/rendering/RenderLayerModelObject.cpp
M Source/WebCore/rendering/RenderLayerModelObject.h
M Source/WebCore/svg/SVGGraphicsElement.cpp

  Log Message:
  ---
  [LBSE] Do not relayout on dynamic transform changes, if necessary.
https://bugs.webkit.org/show_bug.cgi?id=249141

Reviewed by Rob Buis.

The legacy SVG engine always had to perform relayouts when the transform
of an element changed (up to the containing block, stopping at RenderSVGRoot
boundary in case of mixed SVG/HTML documents). Container position and sizes
were affected by the transformations of the descendants. That's no longer the
case in LBSE, which follows CSS/HTML style of making transformations a paint
effect, not inducing costly relayouts.

However this only works if SVG  elements are not involved: SVG text
always needs a relayout, as the "screen font size scaling factor" depends on
the CTM of the transformed element (all transformations from target element
up to RenderSVGRoot enter the calculation).

Therefore add the necessary code to figure out if a relayout is unavoidable
('xScale()' / 'yScale()' of involved matrices changed --> relayout text).
For translations, etc. a relayout is unncessary, as the scaling factor cannot
change. That's the only optimization we can apply for text at present.

For all other shapes, images, etc. this is an important optimization.

Covered by existing tests, introduces one regression, marked in 
TestExpectations.
Currently this change Breaks svg/animations/list-wrapper-assertion.svg in LBSE,
webkit.org/b/249140 will fix it in a follow-up patch.

* LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations:
 Mark svg/animations/list-wrapper-assertion.svg as failing for the moment.
* Source/WebCore/rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::repaintOrRelayoutAfterSVGTransformChange):
Introduce helper function for SVG either update transform and repaint or 
relayout
* Source/WebCore/rendering/RenderLayerModelObject.h:
* Source/WebCore/svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::svgAttributeChanged):
Use new repaintOrRelayoutAfterSVGTransformChange() method, when LBSE is 
activated.

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 1ae964: [LBSE] Update 'mac-ventura-wk2-lbse-text' test bas...

2023-01-18 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1ae9648a69edbe2a7deda71c92d240a27a2fb65c
  
https://github.com/WebKit/WebKit/commit/1ae9648a69edbe2a7deda71c92d240a27a2fb65c
  Author: Nikolas Zimmermann 
  Date:   2023-01-18 (Wed, 18 Jan 2023)

  Changed paths:
M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-01-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-01-b-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/batik/text/textLayout-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/batik/text/textLayout-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/batik/text/textOnPathSpaces-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/alignment-baseline-modes-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/dominant-baseline-modes-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/svg-float-border-padding-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/text-text-01-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/text-text-01-b-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-svg-float-border-padding-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/text/zoom-svg-float-border-padding-expected.txt

  Log Message:
  ---
  [LBSE] Update 'mac-ventura-wk2-lbse-text' test baseline
https://bugs.webkit.org/show_bug.cgi?id=250804

Unreviewed gardening.

Update a few pixel test results that need a rebaseline due to changes in text 
rendering.
Update test expectations to cover two more new expectations since the last 
month.

No new tests, doesn't affect behavior.

* LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-01-b-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-01-b-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/batik/text/textLayout-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/batik/text/textLayout-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/batik/text/textOnPathSpaces-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/alignment-baseline-modes-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/dominant-baseline-modes-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/svg-float-border-padding-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/text-text-01-b-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/text-text-01-b-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-svg-float-border-padding-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/text/zoom-svg-float-border-padding-expected.txt:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 89f367: [LBSE] Update 'mac-ventura-wk2-pixel' pixel test b...

2023-01-18 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 89f3671ffa36888761dfc9b19c9df4606d95da61
  
https://github.com/WebKit/WebKit/commit/89f3671ffa36888761dfc9b19c9df4606d95da61
  Author: Nikolas Zimmermann 
  Date:   2023-01-18 (Wed, 18 Jan 2023)

  Changed paths:
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/text-text-01-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/as-image/svg-non-integer-scaled-image-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/batik/text/textLayout-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/batik/text/textOnPathSpaces-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/css/shape-rendering-parsing-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/alignment-baseline-modes-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/dominant-baseline-modes-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/object-sizing-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEBlendElement-svgdom-mode-prop-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGTextElement-dom-textLength-attr-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGTextElement-svgdom-textLength-prop-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/select-textLength-spacing-squeeze-1-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/select-textLength-spacing-squeeze-2-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/select-textLength-spacing-squeeze-3-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/select-textLength-spacing-squeeze-4-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/select-textLength-spacing-stretch-1-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/select-textLength-spacing-stretch-2-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/select-textLength-spacing-stretch-3-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/select-textLength-spacing-stretch-4-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/text-text-01-b-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/transforms/animated-path-inside-transformed-html-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/zoom/page/zoom-background-images-expected.png

  Log Message:
  ---
  [LBSE] Update 'mac-ventura-wk2-pixel' pixel test baseline
https://bugs.webkit.org/show_bug.cgi?id=250793

Unreviewed gardening.

Update a few pixel test results that changed in the legacy SVG engine in the 
past month.
textLength support / *baseline removal for SVG text etc.

No new tests, doesn't affect behavior.

* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/W3C-SVG-1.1/text-text-01-b-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/as-image/svg-non-integer-scaled-image-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/batik/text/textLayout-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/batik/text/textOnPathSpaces-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/css/shape-rendering-parsing-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/alignment-baseline-modes-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/dominant-baseline-modes-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/custom/object-sizing-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEBlendElement-svgdom-mode-prop-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGTextElement-dom-textLength-attr-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/dynamic-updates/SVGTextElement-svgdom-textLength-prop-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/select-textLength-spacing-squeeze-1-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/select-textLength-spacing-squeeze-2-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/select-textLength-spacing-squeeze-3-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/select-textLength-spacing-squeeze-4-expected.png:
* 
LayoutTests/platform/mac-ventura-wk2-pixel/svg/text/select-textLength-spacing-stretch-1-expected.png:

[webkit-changes] [WebKit/WebKit] 9b508c: Cleanup SVGContainerLayout::layoutSizeOfNearestVie...

2022-12-20 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9b508cf38c09ef26b0a0627a81801e42cef01fcd
  
https://github.com/WebKit/WebKit/commit/9b508cf38c09ef26b0a0627a81801e42cef01fcd
  Author: Nikolas Zimmermann 
  Date:   2022-12-20 (Tue, 20 Dec 2022)

  Changed paths:
M Source/WebCore/rendering/svg/SVGContainerLayout.cpp

  Log Message:
  ---
  Cleanup SVGContainerLayout::layoutSizeOfNearestViewportChanged
https://bugs.webkit.org/show_bug.cgi?id=249139

Reviewed by Rob Buis.

- Avoid pointer dereferencing when using is().
- Use dynamicDowncast<> instead of is<> + downcast<> pairs

No change in functionality, covered by existing tests.

* Source/WebCore/rendering/svg/SVGContainerLayout.cpp:
(WebCore::SVGContainerLayout::layoutSizeOfNearestViewportChanged const):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 8468fb: Remove orphaned function definition from RenderLay...

2022-12-15 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8468fb4ebae203c699e28110b1986c51123bb9a6
  
https://github.com/WebKit/WebKit/commit/8468fb4ebae203c699e28110b1986c51123bb9a6
  Author: Nikolas Zimmermann 
  Date:   2022-12-15 (Thu, 15 Dec 2022)

  Changed paths:
M Source/WebCore/rendering/RenderLayerModelObject.h

  Log Message:
  ---
  Remove orphaned function definition from RenderLayerModelObject
https://bugs.webkit.org/show_bug.cgi?id=249137

Unreviewed -- only removes a no longer used method from a header.

No change in functionality, covered by existing tests.

* Source/WebCore/rendering/RenderLayerModelObject.h: Remove 
updateHasSVGTransformFlags(bool).

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 7fd975: [LBSE] Assure HTML descendants cre...

2022-11-22 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7fd975ae74272051463b1f88a67cffdf7c5dfcc4
  
https://github.com/WebKit/WebKit/commit/7fd975ae74272051463b1f88a67cffdf7c5dfcc4
  Author: Nikolas Zimmermann 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M LayoutTests/platform/glib/TestExpectations
M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/hixie/mixed/009-expected.txt
M LayoutTests/platform/win/TestExpectations
M LayoutTests/svg/custom/display-table-caption-foreignObject.svg
M LayoutTests/svg/custom/display-table-caption-inherit-foreignObject.xhtml
M LayoutTests/svg/custom/use-on-use-with-child.svg
M LayoutTests/svg/dom/SVGScriptElement/script-async-attr.svg
M LayoutTests/svg/dom/SVGScriptElement/script-load-and-error-events.svg
M LayoutTests/svg/dom/SVGScriptElement/script-onerror-bubbling.svg
M LayoutTests/svg/dom/SVGScriptElement/script-reexecution.svg
M LayoutTests/svg/dom/SVGScriptElement/script-type-attribute.svg
M LayoutTests/svg/dom/smil-methods.svg
A LayoutTests/svg/foreignObject/respect-block-margin-expected.html
A LayoutTests/svg/foreignObject/respect-block-margin.html
M LayoutTests/svg/hittest/svg-standalone-tooltip.svg
M LayoutTests/svg/hixie/mixed/009.xml
M Source/WebCore/rendering/RenderElement.cpp
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderObject.h

  Log Message:
  ---
  [LBSE] Assure  HTML descendants create a new formatting context
https://bugs.webkit.org/show_bug.cgi?id=245908

Reviewed by Simon Fraser.

Fix mistake in svg/hixie/mixed/009.xml and its copies. A style sheet
applied a certain 'margin' value to all  elements, including the
one inside the , which was unintentional. Now the testcase
behaves as expected in Firefox/Chrome, but is broken in Safari. With LBSE
the test works correctly: 'margin' is respected as intended on block-level
children that are direct children of .

->  needs to create a new formatting context for its descendants.
This finally fixes margin handling for block-children of  which
was broken since forever (at least 15 years) in WebKit.

Some further fixes are necessary to correctly compute clip rects for 
.
 should behaves like an absolutely positioned object -- but we failed
to honor that SVG2 requirement, when comuting clip rects in RenderLayer - fix 
that.

Enable some tests that were skipped because of bugs in the testcases themselves,
such as missing width/height attributes on  elements.

Covered by existing tests, and a specific new test that enforce LBSE usage so we
get coverage for this in EWS layout test runs, where LBSE is not explicitely
turned out (similar to the tests in svg/z-index, svg/compositing).

* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/hixie/mixed/009-expected.txt:
* LayoutTests/platform/win/TestExpectations:
* LayoutTests/svg/custom/display-table-caption-foreignObject.svg:
* LayoutTests/svg/custom/display-table-caption-inherit-foreignObject.xhtml:
* LayoutTests/svg/custom/use-on-use-with-child.svg:
* LayoutTests/svg/dom/SVGScriptElement/script-async-attr.svg:
* LayoutTests/svg/dom/SVGScriptElement/script-load-and-error-events.svg:
* LayoutTests/svg/dom/SVGScriptElement/script-onerror-bubbling.svg:
* LayoutTests/svg/dom/SVGScriptElement/script-reexecution.svg:
* LayoutTests/svg/dom/SVGScriptElement/script-type-attribute.svg:
* LayoutTests/svg/dom/smil-methods.svg:
* LayoutTests/svg/foreignObject/respect-block-margin-expected.html: Added.
* LayoutTests/svg/foreignObject/respect-block-margin.html: Added.
* LayoutTests/svg/hittest/svg-standalone-tooltip.svg:
* LayoutTests/svg/hixie/mixed/009.xml:
* Source/WebCore/rendering/RenderElement.cpp:
(WebCore::RenderElement::createsNewFormattingContext const):
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateAncestorDependentState):
(WebCore::RenderLayer::calculateClipRects const):
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::shouldUsePositionedClipping const):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 4b0374: [LBSE] Add transform related tests from LBSE downs...

2022-11-22 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4b037413854dfa4e198e32cf46e9a653bbf67724
  
https://github.com/WebKit/WebKit/commit/4b037413854dfa4e198e32cf46e9a653bbf67724
  Author: Nikolas Zimmermann 
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
M LayoutTests/platform/glib/TestExpectations
M LayoutTests/platform/ios-wk2/TestExpectations
M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
M LayoutTests/platform/mac/TestExpectations
M LayoutTests/platform/win/TestExpectations
A LayoutTests/svg/custom/circle-move-invalidation-small-viewBox-expected.svg
A LayoutTests/svg/custom/circle-move-invalidation-small-viewBox.svg
A LayoutTests/svg/transforms/layout-tiny-elements-expected.svg
A 
LayoutTests/svg/transforms/layout-tiny-elements-in-scaled-group-expected.svg
A LayoutTests/svg/transforms/layout-tiny-elements-in-scaled-group.svg
A LayoutTests/svg/transforms/layout-tiny-elements.svg
A LayoutTests/svg/transforms/nested-containers-expected.svg
A LayoutTests/svg/transforms/nested-containers.svg
A LayoutTests/svg/transforms/nested-transforms-rotation-origin-expected.svg
A 
LayoutTests/svg/transforms/nested-transforms-rotation-origin-with-viewBox-expected.svg
A 
LayoutTests/svg/transforms/nested-transforms-rotation-origin-with-viewBox.svg
A LayoutTests/svg/transforms/nested-transforms-rotation-origin.svg
A LayoutTests/svg/transforms/rotation-origin-in-small-units-expected.svg
A LayoutTests/svg/transforms/rotation-origin-in-small-units.svg
A LayoutTests/svg/transforms/rotation-tiny-element-expected.svg
A LayoutTests/svg/transforms/rotation-tiny-element-in-group-expected.svg
A LayoutTests/svg/transforms/rotation-tiny-element-in-group.svg
A LayoutTests/svg/transforms/rotation-tiny-element.svg
A LayoutTests/svg/transforms/transform-origin-and-box-expected.svg
A LayoutTests/svg/transforms/transform-origin-and-box-getCTM-expected.txt
A LayoutTests/svg/transforms/transform-origin-and-box-getCTM.html
A LayoutTests/svg/transforms/transform-origin-and-box.svg
A LayoutTests/svg/transforms/transformed-child-in-container-expected.svg
A 
LayoutTests/svg/transforms/transformed-child-in-container-small-units-expected.svg
A LayoutTests/svg/transforms/transformed-child-in-container-small-units.svg
A LayoutTests/svg/transforms/transformed-child-in-container.svg
A LayoutTests/svg/transforms/transformed-container-expected.svg
A LayoutTests/svg/transforms/transformed-container-small-units-expected.svg
A LayoutTests/svg/transforms/transformed-container-small-units.svg
A LayoutTests/svg/transforms/transformed-container.svg
A LayoutTests/svg/transforms/translation-tiny-element-expected.svg
A LayoutTests/svg/transforms/translation-tiny-element.svg

  Log Message:
  ---
  [LBSE] Add transform related tests from LBSE downstream
https://bugs.webkit.org/show_bug.cgi?id=247668

Reviewed by Rob Buis.

Add more tests that were written in the past years and haven't
been upstreamed yet. They mostly cover laying out objects with tiny
dimensions, to assure LBSE renderers these kind of documents properly.
In fact it improves over the legacy engine, which had issues with these
kind of documents (see discussion of test results below).

svg/transforms/transform-origin-and-box-getCTM.html deserves to be a
WPT test, since currently all browser deviate. To my understanding
LBSE handles all combinations correctly, whereas the legacy engine
performed worst before.

Test discussion:

- svg/custom/circle-move-invalidation-small-viewBox.svg
  1) Purpose
  Copy from circle-move-invalidation.svg, but with a user coordinate system
  that is two orders of magnitudes smaller -- verify repainting works fine.

  2) Results
  Works fine across FF/Chrome/SafariLegacy/SafariLBSE.
  (Used to have a LBSE-only regression, that's why the test got added)

- svg/transforms/layout-tiny-elements-in-scaled-group.svg
  1) Purpose
  Verifies that using small numbers for e.g. rect dimensions works as expected.
  The test uses four rectangles, with a width/height of 0.0015 - which is an 
order
  of magnitude smaller than the LayoutUnit epsilon (~1/64 ~ 0.015625), enclosed
  by a group that scales the content by a factor 1.

  2) Results
o FF: Layout/rendering is broken - the blue rect covers the whole viewport.
o Chrome: Works as expected.
o SafariLegacy: Empty document, nothing rendered.
o SafariLBSE: Works as expected.

- svg/transforms/layout-tiny-elements.svg, and
  svg/transforms/rotation-tiny-element.svg
  1) Purpose
  Same as layout-tiny-elements-in-scaled-group.svg, however not enclosing the
  rectangles in a scaled group, but transforming the rects themselves.

  2) Results
  Works fine across Chrome/SafariLegacy/SafariLBSE. FF shows the same
  broken behavior as for layout-tiny-elements-in-scaled-group.svg

- svg/transfo

[webkit-changes] [WebKit/WebKit] 6eebc8: Cleanup RenderLayer::updateLayerPosition()

2022-11-19 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6eebc817120bbd8feeccb4d7fd74c5d948cfb908
  
https://github.com/WebKit/WebKit/commit/6eebc817120bbd8feeccb4d7fd74c5d948cfb908
  Author: Nikolas Zimmermann 
  Date:   2022-11-19 (Sat, 19 Nov 2022)

  Changed paths:
M Source/WebCore/rendering/RenderBox.cpp
M Source/WebCore/rendering/RenderBox.h
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/svg/RenderSVGModelObject.h

  Log Message:
  ---
  Cleanup RenderLayer::updateLayerPosition()
https://bugs.webkit.org/show_bug.cgi?id=245363

Reviewed by Simon Fraser.

Apply several cleanups in RenderLayer:

- Use dynamicDowncast<> instead of if<>/downcast<> pairs, where possible.
- Re-use logic from RenderLayerCompositor to determine if a RenderWidget
  requires accelerated compositing or not, instead of duplicating the check.

- Get rid of unused 'inlineBoundingBoxOffset' bookkeeping in 
updateLayerPosition().
  'localPoint' needed this adjustment in the past to support multi-column 
related
  computations, that are no longer present in updateLayerPosition(), thus the
  special handling for inlines is obsolete.

- Move code that computes the layer location and layer size into its own helper
  method, to make the code more readable and less error-prone.

- Remove the applyTopLeftLocationOffset() method from RenderBox, which was used
  by RenderLayer::updateLayerPosition() to apply the box top-left location 
offset
  to compute the layer location. Unlike topLeftLocation() / 
topLeftLocationOffset()
  the applyTopLeftLocationOffset() method is used in a hot code-path, and 
therefore
  inlined the most common case: returning frameRect().location(), if no 
coordinate
  flipping due to writing-mode is necessary.

  Extend that idea to the other accessors, and remove the need for
  applyTopLeftLocationOffset() alltogther. One slow-path for both 
topLeftLocation()
  and topLeftLocationOffset() is enough, as topLeftLocationOffsetWithFlipping() 
is
  equal to toLayoutSize(topLeftLocationWithFlipping) -- the additional 
round-trip
  is negligble compared to the work done for the coordinate flipping, so it's 
fine
  to stay with one slow-path for both topLeftLocation() / 
topLeftLocationOffset().

No change in functionality, covered by existing tests

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 5c3443: [LBSE] Unify all SVG geometry/transform computatio...

2022-11-18 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5c3443a0ab7a7fdeaeeb20c104da59b55de0e265
  
https://github.com/WebKit/WebKit/commit/5c3443a0ab7a7fdeaeeb20c104da59b55de0e265
  Author: Nikolas Zimmermann 
  Date:   2022-11-18 (Fri, 18 Nov 2022)

  Changed paths:
M LayoutTests/platform/gtk/svg/zoom/page/zoom-zoom-coords-expected.txt
M LayoutTests/platform/ios-wk2/svg/custom/getClientRects-expected.txt
M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt
A 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/container-opacity-clip-viewBox-expected.png
A 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/getTransformToElement-expected.txt
A 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/getscreenctm-in-mixed-content-expected.txt
A 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/getscreenctm-in-scrollable-div-area-expected.txt
A 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.txt
A 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/getscreenctm-in-scrollable-svg-area-expected.txt
A 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/text-ctm-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/selection-doubleclick-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/text-rescale-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt
A 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-zoom-coords-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt
M LayoutTests/platform/mac/svg/zoom/page/zoom-zoom-coords-expected.txt
M LayoutTests/svg/custom/getClientRects-expected.txt
M LayoutTests/svg/zoom/page/zoom-zoom-coords.xhtml
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/dom/Element.cpp
M Source/WebCore/rendering/RenderLayerModelObject.cpp
M Source/WebCore/rendering/RenderLayerModelObject.h
M Source/WebCore/rendering/svg/RenderSVGBlock.cpp
M Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
M Source/WebCore/rendering/svg/RenderSVGRoot.cpp
M Source/WebCore/rendering/svg/SVGBoundingBoxComputation.cpp
M Source/WebCore/rendering/svg/SVGLayerTransformComputation.h
M Source/WebCore/svg/SVGLocatable.cpp
M Source/WebCore/svg/SVGSVGElement.cpp
M Source/WebCore/svg/SVGUseElement.cpp

  Log Message:
  ---
  [LBSE] Unify all SVG geometry/transform computations with CSS
https://bugs.webkit.org/show_bug.cgi?id=247672

Reviewed by Rob Buis.

Consistently use SVGLayerTranformComputation whenever transformations
need to be computed in the SVG render tree, utilizing 'TransformState'
and 'mapLocalToContainer', which were previously extended for SVGs
needs (TransformState::TransformMatrixTracking).

This assures that the very same transformation matrices / code paths
are used for the following items:

- Query SVG CTM (e.g. from JS), via SVGLocatable interface
  getCTM() / getScreenCTM() / (getTransformToElement()).

- Painting layers for SVG renderers
  RenderLayer::paintLayerByApplyingTransform() uses the 4x4 3D aware
  m_transform matrix previously computed in RenderLayer::updateTransform().

- DOM geometry API (getBoundingClientRect / getClientRect / etc.)
...

Covered by existing tests, fixes a bunch of tests in LBSE related to
getCTM & friends. One test - svg/zoom/page/zoom-zoom-coords.xhtml was
wrong in all browsers -- fix that, now legacy fails it and LBSE passes
as all others (no change in behavior for legacy, only the test changed).

* LayoutTests/platform/ios-wk2/svg/custom/getClientRects-expected.txt:
* LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/container-opacity-clip-viewBox-expected.png:
 Added.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/getTransformToElement-expected.txt:
 Added.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/getscreenctm-in-mixed-content-expected.txt:
 Added.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/getscreenctm-in-scrollable-div-area-expected.txt:
 Added.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.txt:
 Added.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/getscreenctm-in-scrollable-svg-area-expected.txt:
 Added.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/text-ctm-expected.txt:
 Added.
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/text/selection-

[webkit-changes] [WebKit/WebKit] 6b5b34: [LBSE] Transform update handling is unreliable

2022-11-17 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6b5b349b0390030413d11288faf13659fd76ec5d
  
https://github.com/WebKit/WebKit/commit/6b5b349b0390030413d11288faf13659fd76ec5d
  Author: Nikolas Zimmermann 
  Date:   2022-11-17 (Thu, 17 Nov 2022)

  Changed paths:
M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
R 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/missing-xlink-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/repaint/mask-clip-target-transform-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-hixie-mixed-008-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-hixie-mixed-009-expected.png
R 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-hixie-rendering-model-004-expected.png
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/page/zoom-svg-float-border-padding-expected.png
R 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/text/zoom-hixie-mixed-008-expected.png
R 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/text/zoom-hixie-rendering-model-004-expected.png
R 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/zoom/text/zoom-svg-float-border-padding-expected.png
M Source/WebCore/rendering/RenderLayerModelObject.cpp
M Source/WebCore/rendering/RenderLayerModelObject.h
M Source/WebCore/rendering/svg/RenderSVGBlock.cpp
M Source/WebCore/rendering/svg/RenderSVGBlock.h
M Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp
M Source/WebCore/rendering/svg/RenderSVGForeignObject.h
M Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h
M Source/WebCore/rendering/svg/RenderSVGImage.cpp
M Source/WebCore/rendering/svg/RenderSVGImage.h
M Source/WebCore/rendering/svg/RenderSVGInline.cpp
M Source/WebCore/rendering/svg/RenderSVGInline.h
M Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
M Source/WebCore/rendering/svg/RenderSVGRoot.cpp
M Source/WebCore/rendering/svg/RenderSVGRoot.h
M Source/WebCore/rendering/svg/RenderSVGShape.cpp
M Source/WebCore/rendering/svg/RenderSVGShape.h
M Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGTransformableContainer.h
M Source/WebCore/rendering/svg/RenderSVGViewportContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGViewportContainer.h
M Source/WebCore/rendering/updating/RenderTreeBuilderSVG.cpp
M Source/WebCore/svg/SVGAnimateMotionElement.cpp
M Source/WebCore/svg/SVGGraphicsElement.cpp
M Source/WebCore/svg/SVGSVGElement.cpp
M Source/WebCore/svg/SVGSVGElement.h

  Log Message:
  ---
  [LBSE] Transform update handling is unreliable
https://bugs.webkit.org/show_bug.cgi?id=247671

Reviewed by Rob Buis.

If a SVG renderer does not have a transformation and 
adds a non-identity supplementalTransform() no visual effect is observed.
Only when e.g. zooming in/out (-> style invalidation) the animation starts
to be visible.

If e.g. the 'transform' attribute changes SVG*Element::svgAttributeChanged()
needs to notify the renderer to re-evaluate the 'HasSVGTransform' and
'HasTransformRelatedProperty' flags, since the renderer might have gained
or lost a transformation due to the attribute change. Therefore explicitely
call updateHasSVGTransformFlags() instead of either updateFromStyle() or
updateFromElement(). This avoids unnecessary extra work, and will allow us
to handle transformation changes without performing relayouts, soon.

SVGAnimateMotionElement was lacking similar logic to communicate
transformation changes -- the aforementioned flags were out of sync,
and thus only if the element was already transformed one could observe
the animation -- that's fixed now in general.

Revisit all renderers to enforce that updateFromStyle() is only called
from one place (RenderLayerModelObject::styleDidChange) except for one
exception: RenderSVGRoot needs to forward updateFromStyle() calls to
its anonymous child, the RenderSVGViewportContainer. RenderSVGRoot
no longer stores a pointer to the RenderSVGViewportContainer, but instead
grabs it from the render tree hierarchy (firstChild()). This allows to
ink the anonymous RenderSVGViewportContainer to its owning RenderSVGRoot,
simplifying the render tree building (see RenderTreeBuilderSVG).
updateFromElement() is no longer needed for SVG.

Transform change handling is now handled consistenly for CSS transforms,
SVG transforms, SMIL transforms, SVG "generated" / "induced" transforms
such as viewBox, x/y translation for  elements, etc. share the same logic.

Covered by existing tests - 25 tests are fixed by this patch in LBSE.

* LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/missing-xlink-expected.png:
 Removed.
* 
Layou

[webkit-changes] [WebKit/WebKit] e633ef: [LBSE] Allow to query supplementalTransform() with...

2022-11-17 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e633ef2c414eb2708df4f5b58b19ca72b20dfa0b
  
https://github.com/WebKit/WebKit/commit/e633ef2c414eb2708df4f5b58b19ca72b20dfa0b
  Author: Nikolas Zimmermann 
  Date:   2022-11-17 (Thu, 17 Nov 2022)

  Changed paths:
M Source/WebCore/svg/SVGAnimateMotionElement.cpp
M Source/WebCore/svg/SVGElement.h
M Source/WebCore/svg/SVGGraphicsElement.cpp
M Source/WebCore/svg/SVGGraphicsElement.h

  Log Message:
  ---
  [LBSE] Allow to query supplementalTransform() without creation
https://bugs.webkit.org/show_bug.cgi?id=247670

Reviewed by Rob Buis.

There is no way to check for the presence of SMIL supplementalTransform() 
instances,
since calling that method implicitly creates it. Split it up into another
ensureSupplementalTransform() method, that forces creation and another 
supplementalTransform()
method that simply returns the object, if present.

Covered by existing tests.

* Source/WebCore/svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::startAnimation):
(WebCore::SVGAnimateMotionElement::stopAnimation):
(WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
(WebCore::SVGAnimateMotionElement::applyResultsToTarget):
* Source/WebCore/svg/SVGElement.h:
(WebCore::SVGElement::ensureSupplementalTransform):
(WebCore::SVGElement::supplementalTransform const):
(WebCore::SVGElement::supplementalTransform): Deleted.
* Source/WebCore/svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::ensureSupplementalTransform):
(WebCore::SVGGraphicsElement::svgAttributeChanged):
(WebCore::SVGGraphicsElement::toClipPath):
(WebCore::SVGGraphicsElement::supplementalTransform): Deleted.
* Source/WebCore/svg/SVGGraphicsElement.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] e9c7df: [LBSE] Enforce presence of a RenderSVGViewportCont...

2022-11-12 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e9c7dfad5a10d4706ea2fa2bdbc50e9d736186dd
  
https://github.com/WebKit/WebKit/commit/e9c7dfad5a10d4706ea2fa2bdbc50e9d736186dd
  Author: Nikolas Zimmermann 
  Date:   2022-11-12 (Sat, 12 Nov 2022)

  Changed paths:
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-01-t-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/svg-root-background-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/hixie/intrinsic/003-expected.txt
M Source/WebCore/rendering/updating/RenderTreeBuilder.cpp
M Source/WebCore/rendering/updating/RenderTreeBuilderSVG.cpp
M Source/WebCore/rendering/updating/RenderTreeBuilderSVG.h

  Log Message:
  ---
  [LBSE] Enforce presence of a RenderSVGViewportContainer, even if the  
has no children
https://bugs.webkit.org/show_bug.cgi?id=247669

Reviewed by Rob Buis.

The anonymous RenderSVGViewportContainer, enclosing all descendants of the 
outermost
 element, is usually created when the first child is supposed to be added 
to
the  element. This logic fails, if there is no descendant.

However zooming/panning/viewBox coordinate transformations are applied to the
RenderSVGViewportContainer, not the RenderSVGRoot. For rendering/hit-testing 
there
is no issue, since no content is rendered/testable. But it does matter for 
getCTM(),
getScreenCTM() etc. since they just walk the render tree -- the asence of a
RenderSVGViewportContainer will mean that viewBox transformations aren't 
included
in the resulting matrices -- fix that.

This patch is a pre-requisite for implementing getCTM() / getScreenCTM() in 
LBSE.

Covered by existing tests, that need a rebaseline for a few cases that failed 
to create
a RenderSVGViewportContainer before.

* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-01-t-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/svg-root-background-expected.txt:
* 
LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/hixie/intrinsic/003-expected.txt:
* Source/WebCore/rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::updateAfterDescendants):
* Source/WebCore/rendering/updating/RenderTreeBuilderSVG.cpp:
(WebCore::RenderTreeBuilder::SVG::attach):
(WebCore::RenderTreeBuilder::SVG::findOrCreateParentForChild):
(WebCore::RenderTreeBuilder::SVG::createViewportContainer):
(WebCore::RenderTreeBuilder::SVG::updateAfterDescendants):
* Source/WebCore/rendering/updating/RenderTreeBuilderSVG.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 69d1ed: [LBSE] Add remaining compositing tests from LBSE d...

2022-11-09 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 69d1edc2e19666330bb9511b2d2d60725c309c6c
  
https://github.com/WebKit/WebKit/commit/69d1edc2e19666330bb9511b2d2d60725c309c6c
  Author: Nikolas Zimmermann 
  Date:   2022-11-09 (Wed, 09 Nov 2022)

  Changed paths:
A LayoutTests/svg/compositing/container-after-composited-child-expected.svg
A LayoutTests/svg/compositing/container-after-composited-child.svg
A LayoutTests/svg/compositing/container-before-composited-child-expected.svg
A LayoutTests/svg/compositing/container-before-composited-child.svg
M 
LayoutTests/svg/compositing/outermost-svg-directly-composited-group-child-overflow-hidden.html
A LayoutTests/svg/compositing/rect-as-container-child-1-expected.svg
A LayoutTests/svg/compositing/rect-as-container-child-1.svg
A LayoutTests/svg/compositing/rect-as-container-child-2-expected.svg
A LayoutTests/svg/compositing/rect-as-container-child-2.svg
A LayoutTests/svg/compositing/rect-as-container-child-3-expected.svg
A LayoutTests/svg/compositing/rect-as-container-child-3.svg
A 
LayoutTests/svg/compositing/rect-as-transformed-container-child-expected.svg
A LayoutTests/svg/compositing/rect-as-transformed-container-child.svg
A LayoutTests/svg/compositing/rect-direct-svg-root-child-expected.svg
A LayoutTests/svg/compositing/rect-direct-svg-root-child.svg
A 
LayoutTests/svg/compositing/rect-in-nested-transformed-container-1-expected.svg
A LayoutTests/svg/compositing/rect-in-nested-transformed-container-1.svg
A 
LayoutTests/svg/compositing/rect-in-nested-transformed-container-2-expected.svg
A LayoutTests/svg/compositing/rect-in-nested-transformed-container-2.svg
A 
LayoutTests/svg/compositing/rect-in-nested-transformed-container-3-expected.svg
A LayoutTests/svg/compositing/rect-in-nested-transformed-container-3.svg
A 
LayoutTests/svg/compositing/rect-in-nested-transformed-container-4-expected.svg
A LayoutTests/svg/compositing/rect-in-nested-transformed-container-4.svg
A 
LayoutTests/svg/compositing/rect-in-nested-transformed-container-5-expected.svg
A LayoutTests/svg/compositing/rect-in-nested-transformed-container-5.svg
A 
LayoutTests/svg/compositing/rect-in-nested-transformed-container-6-expected.svg
A LayoutTests/svg/compositing/rect-in-nested-transformed-container-6.svg
A 
LayoutTests/svg/compositing/transformed-container-after-composited-child-expected.svg
A 
LayoutTests/svg/compositing/transformed-container-after-composited-child.svg
A 
LayoutTests/svg/compositing/transformed-container-before-composited-child-expected.svg
A 
LayoutTests/svg/compositing/transformed-container-before-composited-child.svg
A 
LayoutTests/svg/compositing/transformed-rect-as-container-child-expected.svg
A LayoutTests/svg/compositing/transformed-rect-as-container-child.svg
A 
LayoutTests/svg/compositing/transformed-rect-as-transformed-container-child-1-expected.svg
A 
LayoutTests/svg/compositing/transformed-rect-as-transformed-container-child-1.svg
A 
LayoutTests/svg/compositing/transformed-rect-as-transformed-container-child-2-expected.svg
A 
LayoutTests/svg/compositing/transformed-rect-as-transformed-container-child-2.svg
A 
LayoutTests/svg/compositing/transformed-rect-as-transformed-container-child-3-expected.svg
A 
LayoutTests/svg/compositing/transformed-rect-as-transformed-container-child-3.svg
A 
LayoutTests/svg/compositing/transformed-rect-direct-svg-root-child-expected.svg
A LayoutTests/svg/compositing/transformed-rect-direct-svg-root-child.svg

  Log Message:
  ---
  [LBSE] Add remaining compositing tests from LBSE downstream
https://bugs.webkit.org/show_bug.cgi?id=247667

Reviewed by Rob Buis.

Upstream remaining compositing tests - most of them are basic and helped
brining up compositing in LBSE. All tests pass in LBSE already.

No change in functionality, only adding new tests.

* LayoutTests/svg/compositing/container-after-composited-child-expected.svg: 
Added.
* LayoutTests/svg/compositing/container-after-composited-child.svg: Added.
* LayoutTests/svg/compositing/container-before-composited-child-expected.svg: 
Added.
* LayoutTests/svg/compositing/container-before-composited-child.svg: Added.
* 
LayoutTests/svg/compositing/outermost-svg-directly-composited-group-child-overflow-hidden.html:
* LayoutTests/svg/compositing/rect-as-container-child-1-expected.svg: Added.
* LayoutTests/svg/compositing/rect-as-container-child-1.svg: Added.
* LayoutTests/svg/compositing/rect-as-container-child-2-expected.svg: Added.
* LayoutTests/svg/compositing/rect-as-container-child-2.svg: Added.
* LayoutTests/svg/compositing/rect-as-container-child-3-expected.svg: Added.
* LayoutTests/svg/compositing/rect-as-container-child-3.svg: Added.
* LayoutTests/svg/compositing/rect-as-transformed-container-child-expected.svg: 
Added.
* LayoutTests/svg/compositing/rect-as-transformed-container

[webkit-changes] [WebKit/WebKit] 0c33f2: [LBSE] Fix transform support for SVG elements

2022-10-20 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0c33f22a764e207a6818f558211b2b0d833df4b3
  
https://github.com/WebKit/WebKit/commit/0c33f22a764e207a6818f558211b2b0d833df4b3
  Author: Nikolas Zimmermann 
  Date:   2022-10-20 (Thu, 20 Oct 2022)

  Changed paths:
M LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/batik/text/smallFonts-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/batik/text/textFeatures-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/custom/SVGPoint-matrixTransform-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/text/append-text-node-to-tspan-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/text/font-size-below-point-five-2-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/text/modify-text-node-in-tspan-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/text/remove-text-node-from-tspan-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/text/remove-tspan-from-text-expected.txt
M Source/WebCore/rendering/RenderBox.h
M Source/WebCore/rendering/RenderLayerModelObject.cpp
M Source/WebCore/rendering/svg/RenderSVGBlock.cpp
M Source/WebCore/rendering/svg/RenderSVGBlock.h
M Source/WebCore/rendering/svg/RenderSVGText.cpp
M Source/WebCore/rendering/svg/RenderSVGText.h
M Source/WebCore/svg/SVGGraphicsElement.cpp
M Source/WebCore/svg/SVGGraphicsElement.h
M Source/WebCore/svg/SVGUseElement.cpp

  Log Message:
  ---
  [LBSE] Fix transform support for SVG  elements
https://bugs.webkit.org/show_bug.cgi?id=245508

Reviewed by Rob Buis.

RenderSVGBlock::referenceBoxRect() was missing (affecting RenderSVGText), thus 
the
refeferenceBoxRect() for a RenderSVGText renderer was computed according to CSS 
rules,
see RenderBox::referenceBoxRect(), and not according to the SVG rules, 
implemented in
RenderLayerModelObject::referenceBoxRect() -- fix that.

This also uncovered a LBSE specific isssue with SMIL  - they were
post- instead of pre-multiplied, fix that as well, while I'm at it.

Covered by numerous existing tests that now function properly in LBSE.

* LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/batik/text/smallFonts-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/batik/text/textFeatures-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/custom/SVGPoint-matrixTransform-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/text/append-text-node-to-tspan-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/text/font-size-below-point-five-2-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/text/modify-text-node-in-tspan-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/text/remove-text-node-from-tspan-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/text/remove-tspan-from-text-expected.txt:
* Source/WebCore/rendering/RenderBox.h:
* Source/WebCore/rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::applySVGTransform const):
(WebCore::RenderLayerModelObject::updateHasSVGTransformFlags):
* Source/WebCore/rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::referenceBoxRect const):
* Source/WebCore/rendering/svg/RenderSVGBlock.h:
* Source/WebCore/rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::applyTransform const):
* Source/WebCore/rendering/svg/RenderSVGText.h:
* Source/WebCore/svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::toClipPath):
* Source/WebCore/svg/SVGGraphicsElement.h:
(WebCore::SVGGraphicsElement::hasTransformRelatedAttributes const):
* Source/WebCore/svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::toClipPath):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] f2385c: [LBSE] Fix/enable zooming & panning - improve interop

2022-10-19 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f2385c386d5eaaab21f8a97cf49835827af1f259
  
https://github.com/WebKit/WebKit/commit/f2385c386d5eaaab21f8a97cf49835827af1f259
  Author: Nikolas Zimmermann 
  Date:   2022-10-19 (Wed, 19 Oct 2022)

  Changed paths:
M LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/custom/pan-direction-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/absolute-sized-document-scrollbars-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/relative-sized-document-scrollbars-expected.png
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/relative-sized-document-scrollbars-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-foreign-content-expected.png
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-foreign-content-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-foreignObject-expected.png
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-foreignObject-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-hixie-mixed-008-expected.png
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-hixie-mixed-008-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-hixie-mixed-009-expected.png
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-hixie-mixed-009-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-hixie-rendering-model-004-expected.png
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-hixie-rendering-model-004-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-svg-as-object-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-svg-float-border-padding-expected.png
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-svg-float-border-padding-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/text/zoom-hixie-mixed-008-expected.png
M Source/WebCore/rendering/svg/RenderSVGRoot.cpp
M Source/WebCore/rendering/svg/RenderSVGRoot.h
M Source/WebCore/rendering/svg/RenderSVGViewportContainer.cpp
M Source/WebCore/rendering/svg/RenderSVGViewportContainer.h
M Source/WebCore/svg/SVGSVGElement.cpp

  Log Message:
  ---
  [LBSE] Fix/enable zooming & panning - improve interop
https://bugs.webkit.org/show_bug.cgi?id=245507

Reviewed by Rob Buis.

Zooming/panning is entirely broken and unprecdictable if LBSE is activated.
It often shows no immediate effect, or painting artefacts upon scrolling.

Fix panning by implementing RenderSVGRoot::updateFromElement() and using
it from SVGSVGElement::updateCurrentTranslate() to request pan updates.
Forward updateFromElement() calls to the viewportContainer() (the anonymous
RenderSVGViewportContainer wrapping the rest of the SVG render tree) to
update the layer transform.

Enforce 'HasSVGTransform' flag to be set on thew viewportContainer() if
it gained a SVG transform due to full page zoom or panning. It only used
to work if other means caused the flag to be set (e.g. viewBox transform).

This also improves interop with Blink/Gecko, resolving a 15+ year old issue.
SVGs with relative sized width/height cannot be zoomed (stroke-width enlarges,
but document stays at the same size, scrollbars never appear).
RenderSVGRoot::computeReplacedLogicalWidth() now multiples the result by the
effectiveZoom() if the document has no intrinsic width (e.g. % units!).
Likewise computeReplacedLogicalHeight() now also respects the zoom.

The other code paths in computeReplacedLogicalWidh() already implicitely took 
the
zoom into account, e.g. if isEmbeddedThroughFrameContainingSVGDocument() = 
true, the
c

[webkit-changes] [WebKit/WebKit] 912165: [LBSE] Assure HTML descendants cre...

2022-10-17 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 912165516f6affad851ae15b53e5f350d5490b64
  
https://github.com/WebKit/WebKit/commit/912165516f6affad851ae15b53e5f350d5490b64
  Author: Nikolas Zimmermann 
  Date:   2022-10-17 (Mon, 17 Oct 2022)

  Changed paths:
M LayoutTests/platform/glib/TestExpectations
M LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/hixie/mixed/009-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/text/zoom-hixie-mixed-009-expected.txt
M LayoutTests/platform/win/TestExpectations
M LayoutTests/svg/custom/display-table-caption-foreignObject.svg
M LayoutTests/svg/custom/display-table-caption-inherit-foreignObject.xhtml
M LayoutTests/svg/custom/use-on-use-with-child.svg
M LayoutTests/svg/dom/SVGScriptElement/script-async-attr.svg
M LayoutTests/svg/dom/SVGScriptElement/script-load-and-error-events.svg
M LayoutTests/svg/dom/SVGScriptElement/script-onerror-bubbling.svg
M LayoutTests/svg/dom/SVGScriptElement/script-reexecution.svg
M LayoutTests/svg/dom/SVGScriptElement/script-type-attribute.svg
M LayoutTests/svg/dom/smil-methods.svg
A LayoutTests/svg/foreignObject/respect-block-margin-expected.html
A LayoutTests/svg/foreignObject/respect-block-margin.html
M LayoutTests/svg/hittest/svg-standalone-tooltip.svg
M LayoutTests/svg/hixie/mixed/009.xml
M LayoutTests/svg/zoom/page/zoom-hixie-mixed-009.xml
M LayoutTests/svg/zoom/text/zoom-hixie-mixed-009.xml
M Source/WebCore/rendering/RenderElement.cpp
M Source/WebCore/rendering/RenderLayer.cpp

  Log Message:
  ---
  [LBSE] Assure  HTML descendants create a new formatting context
https://bugs.webkit.org/show_bug.cgi?id=245908

Reviewed by Rob Buis.

Fix mistake in svg/hixie/mixed/009.xml and its copies. A style sheet
applied a certain 'margin' value to all  elements, including the
one inside the , which was unintentional. Now the testcase
behaves as expected in Firefox/Chrome, but is broken in Safari. With LBSE
the test works correctly: 'margin' is respected as intended on block-level
children that are direct children of .

->  needs to create a new formatting context for its descendants.
This finally fixes margin handling for block-children of  which
was broken since forever (at least 15 years) in WebKit.

Some further fixes are necessary to correctly compute clip rects for 
.
 should behaves like an absolutely positioned object -- but we failed
to honor that SVG2 requirement, when comuting clip rects in RenderLayer - fix 
that.

Enable some tests that were skipped because of bugs in the testcases themselves,
such as missing width/height attributes on  elements.

Covered by existing tests -- some tests will be fully fixed once zooming works, 
too.

* LayoutTests/platform/glib/TestExpectations: Skip new test (needs LBSE).
* LayoutTests/platform/win/TestExpectations: Ditto.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/hixie/mixed/009-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/text/zoom-hixie-mixed-009-expected.txt:
* LayoutTests/svg/custom/display-table-caption-foreignObject.svg:
* LayoutTests/svg/custom/display-table-caption-inherit-foreignObject.xhtml:
* LayoutTests/svg/custom/use-on-use-with-child.svg:
* LayoutTests/svg/dom/SVGScriptElement/script-async-attr.svg:
* LayoutTests/svg/dom/SVGScriptElement/script-load-and-error-events.svg:
* LayoutTests/svg/dom/SVGScriptElement/script-onerror-bubbling.svg:
* LayoutTests/svg/dom/SVGScriptElement/script-reexecution.svg:
* LayoutTests/svg/dom/SVGScriptElement/script-type-attribute.svg:
* LayoutTests/svg/dom/smil-methods.svg:
* LayoutTests/svg/foreignObject/respect-block-margin-expected.html: Added.
* LayoutTests/svg/foreignObject/respect-block-margin.html: Added. Always run 
this test with LBSE, broken in legacy.
* LayoutTests/svg/hittest/svg-standalone-tooltip.svg:
* LayoutTests/svg/hixie/mixed/009.xml:
* LayoutTests/svg/zoom/page/zoom-hixie-mixed-009.xml:
* LayoutTests/svg/zoom/text/zoom-hixie-mixed-009.xml:
* Source/WebCore/rendering/RenderElement.cpp:
(WebCore::RenderElement::createsNewFormattingContext const):
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateAncestorDependentState):
(WebCore::RenderLayer::calculateClipRects const):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 3c9c02: [LBSE] Fix SVGImage container size propagation

2022-10-17 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3c9c0209a07833427073f05c89566ef30cf1b243
  
https://github.com/WebKit/WebKit/commit/3c9c0209a07833427073f05c89566ef30cf1b243
  Author: Nikolas Zimmermann 
  Date:   2022-10-17 (Mon, 17 Oct 2022)

  Changed paths:
M LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-background-image/svg-as-background-6-expected.png
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-image/svg-non-integer-scaled-image-expected.png
A 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-background-images-expected.png
M Source/WebCore/loader/cache/CachedImage.cpp
M Source/WebCore/loader/cache/CachedImage.h
M Source/WebCore/platform/graphics/ImageObserver.h
M Source/WebCore/svg/graphics/SVGImage.cpp

  Log Message:
  ---
  [LBSE] Fix SVGImage container size propagation
https://bugs.webkit.org/show_bug.cgi?id=246034

Reviewed by Rob Buis.

Propagate container size in SVGImage also for RenderSVGRoot, not only 
LegacyRenderSVGRoot.
This requires to enable SVGImage to actually use LBSE for its documents, if the 
host document
has LBSE turned on.

This requires plumbing the 'layerBasedSVGEngineEnabled' flag from Settings 
(reachable via Document)
down to CachedImage / ImageObserver so that we can set the flag, if necessary, 
before constructing
the document from the network data. Otherwise SVGImage in LBSE will continue to 
use the legacy
SVG engine.

Update TestExpectations now that SVGImage uses LBSE as well.

* LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-background-image/svg-as-background-6-expected.png:
 Added.
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-image/svg-non-integer-scaled-image-expected.png:
 Added.
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/zoom/page/zoom-background-images-expected.png:
 Added.
* Source/WebCore/loader/cache/CachedImage.cpp:
(WebCore::CachedImage::load):
* Source/WebCore/loader/cache/CachedImage.h:
* Source/WebCore/platform/graphics/ImageObserver.h:
(WebCore::ImageObserver::layerBasedSVGEngineEnabled const):
* Source/WebCore/svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::containerSize const):
(WebCore::SVGImage::dataChanged):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] f02cb2: [LBSE] Enable size negotiation logic for ...

2022-10-07 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f02cb2246d5b4b081cc8d127fb1aadfdfa2bedac
  
https://github.com/WebKit/WebKit/commit/f02cb2246d5b4b081cc8d127fb1aadfdfa2bedac
  Author: Nikolas Zimmermann 
  Date:   2022-10-07 (Fri, 07 Oct 2022)

  Changed paths:
M LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-image/img-preserveAspectRatio-support-2-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-object/embedded-svg-size-changes-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-object/embedded-svg-size-changes-no-layout-triggers-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/hixie/intrinsic/003-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/hixie/text/003-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/wicd/sizing-flakiness-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/wicd/test-rightsizing-b-expected.txt
M Source/WebCore/page/FrameView.cpp

  Log Message:
  ---
  [LBSE] Enable size negotiation logic for  + RenderSVGRoot in LBSE
https://bugs.webkit.org/show_bug.cgi?id=245907

Reviewed by Adrian Perez de Castro.

The  size negotiation logic is only activated for the legacy engine.
Fix that --> mark 17 more tests as passing in LBSE.

* LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-image/img-preserveAspectRatio-support-2-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-object/embedded-svg-size-changes-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-object/embedded-svg-size-changes-no-layout-triggers-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/hixie/intrinsic/003-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/hixie/text/003-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/wicd/sizing-flakiness-expected.txt:
* 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/wicd/test-rightsizing-b-expected.txt:
* Source/WebCore/page/FrameView.cpp:
(WebCore::FrameView::forceLayoutParentViewIfNeeded):
(WebCore::FrameView::embeddedContentBox const):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] ff2588: [LBSE] Cleanup SVGSVGElements svgAttributeChanged(...

2022-10-07 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ff25888b2eef782128acebdc87e973415f7d82d4
  
https://github.com/WebKit/WebKit/commit/ff25888b2eef782128acebdc87e973415f7d82d4
  Author: Nikolas Zimmermann 
  Date:   2022-10-07 (Fri, 07 Oct 2022)

  Changed paths:
M Source/WebCore/svg/SVGSVGElement.cpp

  Log Message:
  ---
  [LBSE] Cleanup SVGSVGElements svgAttributeChanged() / currentViewBoxRect()
https://bugs.webkit.org/show_bug.cgi?id=246017

Reviewed by Alejandro G. Castro.

Modernize the code and clean it up.

* Source/WebCore/svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::svgAttributeChanged):
(WebCore::SVGSVGElement::currentViewBoxRect const):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 025747: Rename SVGSVGElement::currentViewportSize() -> cur...

2022-10-06 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0257470cd80158d053c210da65dca09b6d256b24
  
https://github.com/WebKit/WebKit/commit/0257470cd80158d053c210da65dca09b6d256b24
  Author: Nikolas Zimmermann 
  Date:   2022-10-06 (Thu, 06 Oct 2022)

  Changed paths:
M Source/WebCore/svg/SVGLengthContext.cpp
M Source/WebCore/svg/SVGSVGElement.cpp
M Source/WebCore/svg/SVGSVGElement.h
M Source/WebCore/svg/graphics/SVGImage.cpp

  Log Message:
  ---
  Rename SVGSVGElement::currentViewportSize() -> 
currentViewportSizeExcludingZoom() for clarity
https://bugs.webkit.org/show_bug.cgi?id=246016

Reviewed by Alejandro G. Castro.

SVGSVGElement::currentViewportSize() needs to exclude the 'zoom' induced 
scaling.
Rename the function to currentViewportSizeExcludingZoom() for clarity.

* Source/WebCore/svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::computeViewportSize const):
* Source/WebCore/svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::localCoordinateSpaceTransform const):
(WebCore::SVGSVGElement::currentViewportSizeExcludingZoom const):
(WebCore::SVGSVGElement::currentViewportSize const): Deleted.
* Source/WebCore/svg/SVGSVGElement.h:
* Source/WebCore/svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::containerSize const):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] d2c029: [LBSE] Pixel snapping logic is incorrect for SVG, ...

2022-09-26 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d2c0299eb83a36da49226c4c3696e8ae7382c39b
  
https://github.com/WebKit/WebKit/commit/d2c0299eb83a36da49226c4c3696e8ae7382c39b
  Author: Nikolas Zimmermann 
  Date:   2022-09-26 (Mon, 26 Sep 2022)

  Changed paths:
A 
LayoutTests/svg/compositing/inline-svg-non-integer-position-display-block-composited-expected.html
A 
LayoutTests/svg/compositing/inline-svg-non-integer-position-display-block-composited.html
A 
LayoutTests/svg/compositing/inline-svg-non-integer-position-display-inline-composited-expected.html
A 
LayoutTests/svg/compositing/inline-svg-non-integer-position-display-inline-composited.html
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayerBacking.cpp

  Log Message:
  ---
  [LBSE] Pixel snapping logic is incorrect for SVG, when elements are composited
https://bugs.webkit.org/show_bug.cgi?id=245416

Reviewed by Rob Buis.

In bug webkit.org/b/244966 ("[LBSE] Outermost  elements are not 
device-pixel aligned")
the rendering was adapted in such a way that the outermost  element is the 
only element
in the SVG subtree that is pixel snapped, delivering consistent results between 
e.g. HTML
 elements and SVG  elements, embedded in a CSS formatting context. 
The  will
get pixel snapped upon painting -- the same was enforced for the outermost 
, however
without propagating/accumulating sub-pixel errors for the descendant layers, 
since no pixel
snapping is applied within the SVG subtree.

When elements are composited another logic is used (RenderLayerBacking), and 
the device-pixel
alignment is applied for all SVG layers -- effectively breaking content. By 
fixing that, the
pixel snapping logic is consistent for all painting modes we have, no matter if 
the outer
 is composited, or any of its descendants.

Added two new reftests covering LBSE + compositing + sub-pixel locations in 
different display modes.
Doesn't affect any other existing tests.

* 
LayoutTests/svg/compositing/inline-svg-non-integer-position-display-block-composited-expected.html:
 Added.
* 
LayoutTests/svg/compositing/inline-svg-non-integer-position-display-block-composited.html:
 Added.
* 
LayoutTests/svg/compositing/inline-svg-non-integer-position-display-inline-composited-expected.html:
 Added.
* 
LayoutTests/svg/compositing/inline-svg-non-integer-position-display-inline-composited.html:
 Added.
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::convertToLayerCoords const):
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::snappedGraphicsLayer):
(WebCore::RenderLayerBacking::computeParentGraphicsLayerRect const):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::adjustOverflowControlsPositionRelativeToAncestor):
(WebCore::RenderLayerBacking::updateMaskingLayerGeometry):
(WebCore::RenderLayerBacking::updateContentsRects):
(WebCore::RenderLayerBacking::updateClippingStackLayerGeometry):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] dfd977: [LBSE] Activate sub-pixel precision for render tre...

2022-09-23 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dfd977a53df92b942281a0d8e593bfa4cb87e4b4
  
https://github.com/WebKit/WebKit/commit/dfd977a53df92b942281a0d8e593bfa4cb87e4b4
  Author: Nikolas Zimmermann 
  Date:   2022-09-23 (Fri, 23 Sep 2022)

  Changed paths:
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/g-dirLTR-ubNone-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/g-dirLTR-ubOverride-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/g-dirRTL-ubNone-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/g-dirRTL-ubOverride-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirLTR-anchorEnd-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirLTR-anchorStart-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirNone-anchorEnd-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirNone-anchorMiddle-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirNone-anchorStart-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirRTL-anchorEnd-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-dirRTL-anchorStart-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-anchor-no-markup-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-dirLTR-ubNone-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-dirLTR-ubOverride-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-dirRTL-ubNone-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/text-dirRTL-ubOverride-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-default-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-ltr-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirRTL-ubNone-in-default-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirRTL-ubNone-in-ltr-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-I18N/tspan-direction-ltr-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt
M 
LayoutTests/platform/mac-monterey-wk2-lbse

[webkit-changes] [WebKit/WebKit] 70029f: Cleanup RenderLayer::paintLayerByApplyingTransform()

2022-09-21 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 70029f0e8b7879694b521c7871a0f86afd662f9f
  
https://github.com/WebKit/WebKit/commit/70029f0e8b7879694b521c7871a0f86afd662f9f
  Author: Nikolas Zimmermann 
  Date:   2022-09-21 (Wed, 21 Sep 2022)

  Changed paths:
M Source/WebCore/rendering/RenderLayer.cpp

  Log Message:
  ---
  Cleanup RenderLayer::paintLayerByApplyingTransform()
https://bugs.webkit.org/show_bug.cgi?id=245397

Reviewed by Rob Buis.

The lambda 'usesSVGSubtreeTransformRules' is identical
to '!rendererNeedsPixelSnapping()' from RenderLayerModelObject.
Get rid of the former, as it is more descriptive to talk
about pixel snapping enabled/disabled, than "SVG subtree
transform rules", which needs further explaination.

Covered by existing tests.

* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerByApplyingTransform):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] ae09dd: Cleanup / micro-optimize RenderLayers accumulateOf...

2022-09-20 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ae09dde3f987f7d22a753377fb2a371d84da7549
  
https://github.com/WebKit/WebKit/commit/ae09dde3f987f7d22a753377fb2a371d84da7549
  Author: Nikolas Zimmermann 
  Date:   2022-09-20 (Tue, 20 Sep 2022)

  Changed paths:
M Source/WebCore/rendering/RenderLayer.cpp

  Log Message:
  ---
  Cleanup / micro-optimize RenderLayers accumulateOffsetTowardsAncestor helper
https://bugs.webkit.org/show_bug.cgi?id=245395

Reviewed by Rob Buis.

Avoid unnecessary LayoutPoint -> LayoutSize conversions (e.g. when applying
scroll offset, or when moving 'location' by the result of 'localToAbsolute').

Use auto in a few more places, where it helps readability.

Covered by existing tests.

* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::accumulateOffsetTowardsAncestor):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] cfb088: Use dynamicDowncast() in RenderBox::offsetFromCont...

2022-09-19 Thread Nikolas Zimmermann
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cfb088fd56631a371a89d06697cfba363583d33d
  
https://github.com/WebKit/WebKit/commit/cfb088fd56631a371a89d06697cfba363583d33d
  Author: Nikolas Zimmermann 
  Date:   2022-09-19 (Mon, 19 Sep 2022)

  Changed paths:
M Source/WebCore/rendering/RenderBox.cpp

  Log Message:
  ---
  Use dynamicDowncast() in RenderBox::offsetFromContainer()
https://bugs.webkit.org/show_bug.cgi?id=245362

Reviewed by Tim Nguyen.

* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::offsetFromContainer const):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [292706] trunk/Source/WebCore

2022-04-11 Thread zimmermann
Title: [292706] trunk/Source/WebCore








Revision 292706
Author zimmerm...@webkit.org
Date 2022-04-11 05:53:53 -0700 (Mon, 11 Apr 2022)


Log Message
[LBSE] Activate SVG transform support through layers
https://bugs.webkit.org/show_bug.cgi?id=237711

Reviewed by Rob Buis.

Activate transforms for SVG layers.

Use the flag to keep track of the presence of SVG transformations
on a renderer. CSS/HTML renderers can rely only on the RenderStyle
to determine if transformations are applied, whereas SVG has to
consult additional sources, such as the SVG 'transform' attribute.

A SVG renderer with the 'HasSVGTransform' flag set should behave
like any SVG/HTML renderer that has CSS transformations applied.

With this patch applied SVG transform and CSS transforms can
be applied to  /  elements in LBSE.

Covered by existing tests, no change in behaviour.

* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::multiplyAffineTransform):
* platform/graphics/transforms/TransformationMatrix.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::updateLayerTransform): Deleted.
* rendering/RenderBox.h:
* rendering/RenderLayer.cpp:
(WebCore::canCreateStackingContext):
(WebCore::RenderLayer::currentTransform const):
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::updateLayerTransform):
(WebCore::RenderLayerModelObject::applySVGTransform const):
* rendering/RenderLayerModelObject.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setHasSVGTransform):
* rendering/RenderObject.h:
(WebCore::RenderObject::hasSVGTransform const):
(WebCore::RenderObject::hasTransform const):
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::SVGLayerTransformUpdater::SVGLayerTransformUpdater):
(WebCore::SVGLayerTransformUpdater::~SVGLayerTransformUpdater):
(WebCore::RenderSVGContainer::layout):
* rendering/svg/RenderSVGContainer.h:
(WebCore::RenderSVGContainer::updateLayerInformation): Deleted.
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::updateFromStyle):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::updateFromStyle):
* rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::layout):
(WebCore::RenderSVGShape::applyTransform const):
* rendering/svg/RenderSVGShape.h:
* rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::updateFromStyle):
(WebCore::RenderSVGTransformableContainer::applyTransform const):
* svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::animatedLocalTransform const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h
trunk/Source/WebCore/rendering/RenderBox.cpp
trunk/Source/WebCore/rendering/RenderBox.h
trunk/Source/WebCore/rendering/RenderLayer.cpp
trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp
trunk/Source/WebCore/rendering/RenderLayerModelObject.h
trunk/Source/WebCore/rendering/RenderObject.cpp
trunk/Source/WebCore/rendering/RenderObject.h
trunk/Source/WebCore/rendering/svg/RenderSVGContainer.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGContainer.h
trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGShape.h
trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp
trunk/Source/WebCore/svg/SVGGraphicsElement.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (292705 => 292706)

--- trunk/Source/WebCore/ChangeLog	2022-04-11 08:29:51 UTC (rev 292705)
+++ trunk/Source/WebCore/ChangeLog	2022-04-11 12:53:53 UTC (rev 292706)
@@ -1,3 +1,63 @@
+2022-04-11  Nikolas Zimmermann  
+
+[LBSE] Activate SVG transform support through layers
+https://bugs.webkit.org/show_bug.cgi?id=237711
+
+Reviewed by Rob Buis.
+
+Activate transforms for SVG layers.
+
+Use the flag to keep track of the presence of SVG transformations
+on a renderer. CSS/HTML renderers can rely only on the RenderStyle
+to determine if transformations are applied, whereas SVG has to
+consult additional sources, such as the SVG 'transform' attribute.
+
+A SVG renderer with the 'HasSVGTransform' flag set should behave
+like any SVG/HTML renderer that has CSS transformations applied.
+
+With this patch applied SVG transform and CSS transforms can
+be applied to  /  elements in LBSE.
+
+Covered by existing tests, no change in behaviour.
+
+* platform/graphics/transforms/TransformationMatrix.cpp:
+(WebCore::TransformationMatrix::multiplyAffineTransform):
+* platform/graphics/transforms/TransformationMatrix.h:
+* rendering/RenderBox.cpp:
+(WebCore::RenderBox::updateLayerTransform): Deleted.
+* 

[webkit-changes] [292690] trunk/Source/WebCore

2022-04-10 Thread zimmermann
Title: [292690] trunk/Source/WebCore








Revision 292690
Author zimmerm...@webkit.org
Date 2022-04-10 15:51:52 -0700 (Sun, 10 Apr 2022)


Log Message
[LBSE] Activate SVG transform support through layers
https://bugs.webkit.org/show_bug.cgi?id=237711

Reviewed by Rob Buis.

Activate transforms for SVG layers.

Use the flag to keep track of the presence of SVG transformations
on a renderer. CSS/HTML renderers can rely only on the RenderStyle
to determine if transformations are applied, whereas SVG has to
consult additional sources, such as the SVG 'transform' attribute.

A SVG renderer with the 'HasSVGTransform' flag set should behave
like any SVG/HTML renderer that has CSS transformations applied.

With this patch applied SVG transform and CSS transforms can
be applied to  /  elements in LBSE. However, the order
of the matrix multiplication is not correct yet for SVG -- that
will be adressed in a follow-up patch.

Covered by existing tests, no change in behaviour.

* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::multiplyAffineTransform):
* platform/graphics/transforms/TransformationMatrix.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::updateLayerTransform): Deleted.
* rendering/RenderBox.h:
* rendering/RenderLayer.cpp:
(WebCore::canCreateStackingContext):
(WebCore::RenderLayer::currentTransform const):
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::updateLayerTransform):
(WebCore::RenderLayerModelObject::applySVGTransform const):
* rendering/RenderLayerModelObject.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setHasSVGTransform):
* rendering/RenderObject.h:
(WebCore::RenderObject::hasSVGTransform const):
(WebCore::RenderObject::hasTransform const):
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::SVGLayerTransformUpdater::SVGLayerTransformUpdater):
(WebCore::SVGLayerTransformUpdater::~SVGLayerTransformUpdater):
(WebCore::RenderSVGContainer::layout):
* rendering/svg/RenderSVGContainer.h:
(WebCore::RenderSVGContainer::updateLayerInformation): Deleted.
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::updateFromStyle):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::updateFromStyle):
* rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::layout):
(WebCore::RenderSVGShape::applyTransform const):
* rendering/svg/RenderSVGShape.h:
* rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::updateFromStyle):
(WebCore::RenderSVGTransformableContainer::applyTransform const):
* svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::animatedLocalTransform const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h
trunk/Source/WebCore/rendering/RenderBox.cpp
trunk/Source/WebCore/rendering/RenderBox.h
trunk/Source/WebCore/rendering/RenderLayer.cpp
trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp
trunk/Source/WebCore/rendering/RenderLayerModelObject.h
trunk/Source/WebCore/rendering/RenderObject.cpp
trunk/Source/WebCore/rendering/RenderObject.h
trunk/Source/WebCore/rendering/svg/RenderSVGContainer.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGContainer.h
trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGShape.h
trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp
trunk/Source/WebCore/svg/SVGGraphicsElement.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (292689 => 292690)

--- trunk/Source/WebCore/ChangeLog	2022-04-10 21:56:21 UTC (rev 292689)
+++ trunk/Source/WebCore/ChangeLog	2022-04-10 22:51:52 UTC (rev 292690)
@@ -1,3 +1,65 @@
+2022-04-10  Nikolas Zimmermann  
+
+[LBSE] Activate SVG transform support through layers
+https://bugs.webkit.org/show_bug.cgi?id=237711
+
+Reviewed by Rob Buis.
+
+Activate transforms for SVG layers.
+
+Use the flag to keep track of the presence of SVG transformations
+on a renderer. CSS/HTML renderers can rely only on the RenderStyle
+to determine if transformations are applied, whereas SVG has to
+consult additional sources, such as the SVG 'transform' attribute.
+
+A SVG renderer with the 'HasSVGTransform' flag set should behave
+like any SVG/HTML renderer that has CSS transformations applied.
+
+With this patch applied SVG transform and CSS transforms can
+be applied to  /  elements in LBSE. However, the order
+of the matrix multiplication is not correct yet for SVG -- that
+will be adressed in a follow-up patch.
+
+Covered by existing tests, no change in behaviour.
+
+* platform/graphics/transforms/

[webkit-changes] [292575] trunk/Source/WebCore

2022-04-07 Thread zimmermann
Title: [292575] trunk/Source/WebCore








Revision 292575
Author zimmerm...@webkit.org
Date 2022-04-07 15:56:25 -0700 (Thu, 07 Apr 2022)


Log Message
Unify reference box / CTM computation in RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=237701

Reviewed by Rob Buis.

Extract the code in RenderLayer that computes the reference box, obtains the CTM,
applies pixel snapping, etc. into a shared updateTransformFromStyle() helper function.
Use that helper to de-duplicate code between updateTransform() / currentTransform()
(and RenderLayerBacking::updateTransform() in follow-up patches).

currentTransform() needs to compute the CTM, based on a non-default RenderStyle (!= renderer().style()),
namely the aninmatedStyle(), if an accelerated transform animation is running. Therefore extend
RenderLayerModelObject::applyTransform() to take an additional RenderStyle parameter,
that is used to access the CSS transform operations, instead of always querying renderer().style().
RenderLayer::updateTransform() continues to pass 'renderer().style()' to updateTransformFromStyle(),
whereas RenderLayer::currentTransform() passes the elements animatedStyle().

Covered by existing tests, no change in behaviour.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::applyTransform const):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::applyTransform const):
* rendering/RenderBoxModelObject.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateTransformFromStyle const):
(WebCore::RenderLayer::updateTransform):
(WebCore::RenderLayer::currentTransform const):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateTransform):
* rendering/RenderLayerModelObject.h:
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::applyTransform const): Deleted.
* rendering/svg/RenderSVGModelObject.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::applyTransform const): Deleted.
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::applyTransform const):
* rendering/svg/RenderSVGShape.h:
* rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::applyTransform const):
* rendering/svg/RenderSVGTransformableContainer.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderBox.cpp
trunk/Source/WebCore/rendering/RenderBox.h
trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp
trunk/Source/WebCore/rendering/RenderBoxModelObject.h
trunk/Source/WebCore/rendering/RenderLayer.cpp
trunk/Source/WebCore/rendering/RenderLayer.h
trunk/Source/WebCore/rendering/RenderLayerBacking.cpp
trunk/Source/WebCore/rendering/RenderLayerModelObject.h
trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h
trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGRoot.h
trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGShape.h
trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (292574 => 292575)

--- trunk/Source/WebCore/ChangeLog	2022-04-07 22:50:19 UTC (rev 292574)
+++ trunk/Source/WebCore/ChangeLog	2022-04-07 22:56:25 UTC (rev 292575)
@@ -1,3 +1,51 @@
+2022-04-07  Nikolas Zimmermann  
+
+Unify reference box / CTM computation in RenderLayer
+https://bugs.webkit.org/show_bug.cgi?id=237701
+
+Reviewed by Rob Buis.
+
+Extract the code in RenderLayer that computes the reference box, obtains the CTM,
+applies pixel snapping, etc. into a shared updateTransformFromStyle() helper function.
+Use that helper to de-duplicate code between updateTransform() / currentTransform()
+(and RenderLayerBacking::updateTransform() in follow-up patches).
+
+currentTransform() needs to compute the CTM, based on a non-default RenderStyle (!= renderer().style()),
+namely the aninmatedStyle(), if an accelerated transform animation is running. Therefore extend
+RenderLayerModelObject::applyTransform() to take an additional RenderStyle parameter,
+that is used to access the CSS transform operations, instead of always querying renderer().style().
+RenderLayer::updateTransform() continues to pass 'renderer().style()' to updateTransformFromStyle(),
+whereas RenderLayer::currentTransform() passes the elements animatedStyle().
+
+Covered by existing tests, no change in behaviour.
+
+* rendering/RenderBox.cpp:
+(WebCore::RenderBox::applyTransform const):
+* rendering/RenderBox.h:
+* rendering/RenderBoxModelObject.cpp:
+(WebCore::RenderBoxModelObject::applyTransform const):
+* rendering

[webkit-changes] [292526] trunk/Source/WebCore

2022-04-07 Thread zimmermann
Title: [292526] trunk/Source/WebCore








Revision 292526
Author zimmerm...@webkit.org
Date 2022-04-07 03:11:54 -0700 (Thu, 07 Apr 2022)


Log Message
Unreviewed build fix after r292525.

Silence an unused parameter warning in vanilla builds (w/o --layer-based-svg-engine).

* rendering/RenderLayerModelObject.cpp:
(WebCore::rendererNeedsPixelSnapping):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (292525 => 292526)

--- trunk/Source/WebCore/ChangeLog	2022-04-07 10:06:46 UTC (rev 292525)
+++ trunk/Source/WebCore/ChangeLog	2022-04-07 10:11:54 UTC (rev 292526)
@@ -1,5 +1,14 @@
 2022-04-07  Nikolas Zimmermann  
 
+Unreviewed build fix after r292525.
+
+Silence an unused parameter warning in vanilla builds (w/o --layer-based-svg-engine).
+
+* rendering/RenderLayerModelObject.cpp:
+(WebCore::rendererNeedsPixelSnapping):
+
+2022-04-07  Nikolas Zimmermann  
+
 Unify 'transform-box' reference box computation
 https://bugs.webkit.org/show_bug.cgi?id=237554
 


Modified: trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp (292525 => 292526)

--- trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp	2022-04-07 10:06:46 UTC (rev 292525)
+++ trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp	2022-04-07 10:11:54 UTC (rev 292526)
@@ -323,7 +323,10 @@
 #if ENABLE(LAYER_BASED_SVG_ENGINE)
 if (renderer.document().settings().layerBasedSVGEngineEnabled() && renderer.isSVGLayerAwareRenderer() && !renderer.isSVGRoot())
 return false;
+#else
+UNUSED_PARAM(renderer);
 #endif
+
 return true;
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


  1   2   3   4   >