Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 56228eb9e468099a3911378ebe048443ffd5c44d
https://github.com/WebKit/WebKit/commit/56228eb9e468099a3911378ebe048443ffd5c44d
Author: Fujii Hironori <[email protected]>
Date: 2026-01-23 (Fri, 23 Jan 2026)
Changed paths:
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.h
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.h
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositorPlayStation.cpp
Log Message:
-----------
[GTK][WPE][CoordinatedGraphics] AcceleratedSurface should clear the viewport
with an opaque background color only if the composition reason is AsyncScrolling
https://bugs.webkit.org/show_bug.cgi?id=305560
Reviewed by Carlos Garcia Campos.
There is an API webkit_web_view_set_background_color to set web view's
background color. If a non-opaque color is specified, AcceleratedSurface clears
the viewport with the black transparent color. But, if an opaque color is
specified, AcceleratedSurface didn't clear the viewport for rendering
performance.
Coordinated Graphics supports async scrolling. It scrolls a page even while the
main thread is blocked. If it scrolled to the outside of coverage area
meanwhile, there were no tiles to paint. Since AcceleratedSurface didn't clear
the viewport, it showed rendering glitches for the area without tiles.
Clear the viewport with the opaque background color only if the composition
reason is AsyncScrolling.
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.cpp:
(WebKit::isColorOpaque):
(WebKit::AcceleratedSurface::AcceleratedSurface):
(WebKit::AcceleratedSurface::preferredBufferFormatsDidChange):
(WebKit::AcceleratedSurface::backgroundColorDidChange):
(WebKit::AcceleratedSurface::clear):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.h:
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::paintToCurrentGLContext):
(WebKit::ThreadedCompositor::renderLayerTree):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.h:
*
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositorPlayStation.cpp:
(WebKit::ThreadedCompositor::paintToCurrentGLContext):
Canonical link: https://commits.webkit.org/306119@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications