Bug 252003 - [GPU Process] [FormControls] Make it possible to draw a viewless NSCell
Summary: [GPU Process] [FormControls] Make it possible to draw a viewless NSCell
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Ryosuke Niwa
URL:
Keywords: InRadar
Depends on:
Blocks: 249168
  Show dependency treegraph
 
Reported: 2023-02-09 12:09 PST by Said Abou-Hallawa
Modified: 2023-02-21 21:52 PST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.