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

Reply via email to