Bug 261406

Summary: GraphicsContext::createImageBuffer should not create ImageBuffers that are backed by display lists
Product: WebKit Reporter: Kimmo Kinnunen <kkinnunen>
Component: CanvasAssignee: Kimmo Kinnunen <kkinnunen>
Status: RESOLVED FIXED    
Severity: Normal CC: dino, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   

Description Kimmo Kinnunen 2023-09-11 05:18:44 PDT
GraphicsContext::createImageBuffer should not create ImageBuffers that are backed by display lists

The calling code which creates ImageBuffers is never agnostic to whether the created buffer is backed by a display list or not.

If the calling code intends to use the display list as display list, it needs to access the list. This is done by creating DisplayList::Recorder explicitly.

Even if the target GraphicsContext would be a DisplayList::Recorder, creating a new image buffer as a display list and drawing that to the target would end up resulting a bitmap drawn to the target.
Comment 1 Radar WebKit Bug Importer 2023-09-11 05:19:04 PDT
<rdar://problem/115283169>
Comment 2 Kimmo Kinnunen 2023-09-11 05:39:41 PDT
Pull request: https://github.com/WebKit/WebKit/pull/17649
Comment 3 EWS 2023-09-20 04:49:01 PDT
Committed 268193@main (afbd4f014569): <https://commits.webkit.org/268193@main>

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