[webkit-changes] [WebKit/WebKit] 5bcf0b: WebProcess hung on main thread in WebPage::platfor...

Per Arne Vollan noreply at github.com
Tue Jun 20 15:13:00 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5bcf0b7db2735a8090596c182615150e5d1c9f03
      https://github.com/WebKit/WebKit/commit/5bcf0b7db2735a8090596c182615150e5d1c9f03
  Author: Per Arne Vollan <pvollan at apple.com>
  Date:   2023-06-20 (Tue, 20 Jun 2023)

  Changed paths:
    M Source/WTF/wtf/PlatformHave.h
    M Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm
    M Source/WebKit/WebProcess/WebProcess.h
    M Source/WebKit/WebProcess/cocoa/LaunchServicesDatabaseManager.h
    M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm

  Log Message:
  -----------
  WebProcess hung on main thread in WebPage::platformInitializeAccessibility
https://bugs.webkit.org/show_bug.cgi?id=258140
rdar://110191499

Reviewed by Brent Fulgham.

The WebProcess can hang on the main thread in WebPage::platformInitializeAccessibility for several seconds.
This appears to be caused by the call to [NSApplication _accessibilityInitialize] trying to connect to the
Launch Services daemon. At this point, the daemon is blocked in the sandbox. Fix this by extending the time
holding the sandbox extension to the daemon, which has been revoked.

* Source/WTF/wtf/PlatformHave.h:
* Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::platformInitializeAccessibility):
* Source/WebKit/WebProcess/WebProcess.h:
* Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::revokeLaunchServicesSandboxExtension):
* Source/WebKit/WebProcess/cocoa/LaunchServicesDatabaseManager.h:
(WebKit::LaunchServicesDatabaseManager::hasReceivedLaunchServicesDatabase const):

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




More information about the webkit-changes mailing list