Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 059da518e6c00d18d6305e7864251f16eeefac87 https://github.com/WebKit/WebKit/commit/059da518e6c00d18d6305e7864251f16eeefac87 Author: Tyler Wilcock <tyle...@apple.com> Date: 2023-01-20 (Fri, 20 Jan 2023)
Changed paths: M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp Log Message: ----------- AX: VoiceOver hangs in Safari when selecting "Sign in with Apple" on kickstarter.com and elsewhere https://bugs.webkit.org/show_bug.cgi?id=250867 rdar://problem/104449619 Reviewed by Chris Fleizach. "Sign in with Apple" on kickstarter.com triggers sync IPC through WebChromeClient::createWindow. Depending on how the client handles this request, this IPC may not return for an arbitrary amount of time. In this case, Safari opens a native dialog, and the sync IPC does not return until the dialog is closed. This causes web content to become unresponsive to VoiceOver because the main-thread is hung. This patch fixes this by using IPC::SendSyncOption::InformPlatformProcessWillSuspend to tell VoiceOver we will become unresponsive until the IPC completes. I couldn't find a good way to test this in an automated fashion. * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::createWindow): Canonical link: https://commits.webkit.org/259147@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes