Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fffc878c1ff95c36680f4faf0732f99af0ce0d43
      
https://github.com/WebKit/WebKit/commit/fffc878c1ff95c36680f4faf0732f99af0ce0d43
  Author: Abrar Rahman Protyasha <a_protya...@apple.com>
  Date:   2025-08-01 (Fri, 01 Aug 2025)

  Changed paths:
    M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm

  Log Message:
  -----------
  REGRESSION(297499@main): Clients may hang under -[WKWebView 
_didStopDeferringGeometryUpdates] after overriding layout parameters
https://bugs.webkit.org/show_bug.cgi?id=296818
rdar://157211434

Reviewed by Megan Gardner and Tim Horton.

In 297499@main, we stopped deferring geometry updates too eagerly. The
intention was to dispatch view layout size and unobscured size updates
for the overriden layout parameters but _didStopDeferringGeometryUpdates
would get stuck trying to clear out the callbacks deferred during resize
because _restorePageScrollPosition:... would keep enqueueing itself in
the deferred callback set. An unsurprising outcome given we failed to
respect _shouldDeferGeometryUpdates.

To prevent these hangs, we drop our _didStopDeferringGeometryUpdates
call. Instead, we only do the subsets that we cared about, namely
dispatching view layout size and updating unobscured sizes if there are
overriden layout parameters. This restores status quo to respecting
_shouldDeferGeometryUpdates.

* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _didCommitLayerTree:]):

Canonical link: https://commits.webkit.org/298142@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

Reply via email to