Commit 059da51
committed
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@main1 parent 8984da7 commit 059da51
1 file changed
+1
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
332 | 332 | | |
333 | 333 | | |
334 | 334 | | |
335 | | - | |
| 335 | + | |
336 | 336 | | |
337 | 337 | | |
338 | 338 | | |
| |||
0 commit comments