Bug 256408

Summary: [GPU Process] Cache all RenderingResources as one type
Product: WebKit Reporter: Said Abou-Hallawa <sabouhallawa>
Component: Layout and RenderingAssignee: Said Abou-Hallawa <sabouhallawa>
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   
Bug Depends on:    
Bug Blocks: 232845    

Description Said Abou-Hallawa 2023-05-05 19:39:17 PDT
This makes adding a new RenderingResource less pervasive. RenderingResources are mainly cached to control their lifetime between WebProcess and GPUProcess. Their concrete types are rarely used especially in WebProcess. So replace the pointers to NativeImage, DecomposedGlyphs and Gradient to just a pointer to RenderingResource. Add to these classes traits so RenderingResource can be casted to any of them.
Comment 1 Radar WebKit Bug Importer 2023-05-05 19:42:32 PDT
<rdar://problem/108977457>
Comment 2 Said Abou-Hallawa 2023-05-05 19:44:42 PDT
Pull request: https://github.com/WebKit/WebKit/pull/13530
Comment 3 EWS 2023-05-08 14:19:39 PDT
Committed 263824@main (d67761f1060a): <https://commits.webkit.org/263824@main>

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