Bug 252335 - AX: Scrolling a PDF with VoiceOver enabled causes a crash
Summary: AX: Scrolling a PDF with VoiceOver enabled causes a crash
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Tyler Wilcock
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-02-15 12:23 PST by Tyler Wilcock
Modified: 2023-02-17 10:12 PST (History)
10 users (show)

See Also:


Attachments
Patch (141.36 KB, patch)
2023-02-15 12:40 PST, Tyler Wilcock
no flags Details | Formatted Diff | Diff
Patch (141.40 KB, patch)
2023-02-15 13:22 PST, Tyler Wilcock
no flags Details | Formatted Diff | Diff
Patch (141.43 KB, patch)
2023-02-15 13:28 PST, Tyler Wilcock
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tyler Wilcock 2023-02-15 12:23:48 PST
Scrolling a PDF with VoiceOver enabled causes a crash.
Comment 1 Radar WebKit Bug Importer 2023-02-15 12:24:00 PST
<rdar://problem/105509452>
Comment 2 Tyler Wilcock 2023-02-15 12:40:49 PST
Created attachment 465009 [details]
Patch
Comment 3 Tyler Wilcock 2023-02-15 12:41:20 PST
rdar://105470972
Comment 4 chris fleizach 2023-02-15 12:47:33 PST
Comment on attachment 465009 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=465009&action=review

> Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:451
> +    callOnMainRunLoopAndWait([&] {

do we need to wait for this?
Comment 5 Tyler Wilcock 2023-02-15 13:10:01 PST
(In reply to chris fleizach from comment #4)
> Comment on attachment 465009 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=465009&action=review
> 
> > Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:451
> > +    callOnMainRunLoopAndWait([&] {
> 
> do we need to wait for this?
Perhaps not, but this function is called from non-accessibility codepaths too, and I thought it might be safer to preserve the synchronous behavior in case some caller depends on that.
Comment 6 Tyler Wilcock 2023-02-15 13:22:10 PST
Created attachment 465011 [details]
Patch
Comment 7 Tyler Wilcock 2023-02-15 13:25:45 PST
Actually I believe these other non-accessibility codepaths will be going through the main runloop, meaning `callOnMainRunLoop` (without the andWait) would be sync. Uploaded a new patch using callOnMainRunLoop, please re-review when you get a moment.
Comment 8 Tyler Wilcock 2023-02-15 13:28:41 PST
Created attachment 465012 [details]
Patch
Comment 9 EWS 2023-02-17 10:12:57 PST
Committed 260451@main (83013c6d19eb): <https://commits.webkit.org/260451@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 465012 [details].