Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 440bbe7ece45a1785375439f45c89e8de2ce1725
https://github.com/WebKit/WebKit/commit/440bbe7ece45a1785375439f45c89e8de2ce1725
Author: Wenson Hsieh <[email protected]>
Date: 2026-10-06 (Tue, 06 Oct 2026)
Changed paths:
M Source/WebKit/UIProcess/mac/WebViewImpl.mm
M Tools/TestWebKitAPI/Helpers/mac/AppKitSPI.h
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ProcessSuspension.mm
Log Message:
-----------
[macOS] [Liquid Glass] Scroll pocket capture layer may disappear from layer
hierarchy when the page is suspended
https://bugs.webkit.org/show_bug.cgi?id=326451
rdar://188201769
Reviewed by Abrar Rahman Protyasha and Aditya Keerthi.
The logic in `setAcceleratedCompositingRootLayer()`, which is called when the
web view is suspended
and in the background, currently replaces the sublayers of the
`m_layerHostingView`'s layers with
only the root layer.
This is a problem for the scroll pocket's capture layer, which needs to remain
a sublayer of the
layer hosting view layer in order for the scroll pocket to properly render (by
capturing and
sampling content visually below the pocket). To fix this, we make sure to
restore the capture layer
alongside the root layer, when swapping root layers.
Test: ProcessSuspension.TopScrollPocketCaptureViewAfterResuming
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::setAcceleratedCompositingRootLayer):
* Tools/TestWebKitAPI/Helpers/mac/AppKitSPI.h:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ProcessSuspension.mm:
(TEST(ProcessSuspension, TopScrollPocketCaptureViewAfterResuming)):
Canonical link: https://commits.webkit.org/322847@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications