Bug 252003

Summary: [GPU Process] [FormControls] Make it possible to draw a viewless NSCell
Product: WebKit Reporter: Said Abou-Hallawa <sabouhallawa>
Component: Layout and RenderingAssignee: Ryosuke Niwa <rniwa>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=252427
https://bugs.webkit.org/show_bug.cgi?id=252723
Bug Depends on:    
Bug Blocks: 249168    

Description Said Abou-Hallawa 2023-02-09 12:09:20 PST
AppKit crashes if [NSCell drawWithFrame] is called out of the main thread with a non-nil NSView. And this is why a hack was added to WebControlWindow to silence this crash in 257981@main. To fix the crash and to remove the hack, a nil NSView will be passed to [NSCell drawWithFrame] instead of passing the fake one. 

To provide the [NSCell drawWithFrame] with the settings that it used to get from the fake NSView, new AppKit SPIs will be used to explicitly set them from the drawing. An NSCell can be drawn without an NSView only if these SPIs are available.
Comment 1 Radar WebKit Bug Importer 2023-02-09 12:10:20 PST
<rdar://problem/105233927>
Comment 2 Said Abou-Hallawa 2023-02-09 12:28:42 PST
Pull request: https://github.com/WebKit/WebKit/pull/9882
Comment 3 EWS 2023-02-13 11:13:58 PST
Committed 260210@main (b8b3d9929d7d): <https://commits.webkit.org/260210@main>

Reviewed commits have been landed. Closing PR #9882 and removing active labels.
Comment 4 Ryosuke Niwa 2023-02-13 12:22:16 PST
Re-opening for pull request https://github.com/WebKit/WebKit/pull/10052
Comment 5 EWS 2023-02-13 12:25:51 PST
Committed 260216@main (efa69875810d): <https://commits.webkit.org/260216@main>

Reviewed commits have been landed. Closing PR #10052 and removing active labels.