Bug 239829

Summary: DisplayList::Recorder should lazily create the DrawGlyphsRecorder
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Layout and RenderingAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, mmaxfield, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Simon Fraser (smfr)
Reported 2022-04-27 15:37:11 PDT
DisplayList::Recorder should lazily create the DrawGlyphsRecorder
Attachments
Patch (4.34 KB, patch)
2022-04-27 15:38 PDT, Simon Fraser (smfr)
no flags
Simon Fraser (smfr)
Comment 1 2022-04-27 15:38:25 PDT
Myles C. Maxfield
Comment 2 2022-04-27 15:42:16 PDT
Comment on attachment 458475 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=458475&action=review > Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:166 > + if (!m_drawGlyphsRecorder) > + m_drawGlyphsRecorder = makeUnique<DrawGlyphsRecorder>(*this, m_initialScale, m_deconstructDrawGlyphs); Can we pull this out into an ensure() function? > Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h:275 > + float m_initialScale { 1 }; > + DrawGlyphsRecorder::DeconstructDrawGlyphs m_deconstructDrawGlyphs { DrawGlyphsRecorder::DeconstructDrawGlyphs::No }; Should these be batched up into a struct? Are we polluting the contents of the Recorder object?
Simon Fraser (smfr)
Comment 3 2022-04-27 15:53:52 PDT
(In reply to Myles C. Maxfield from comment #2) > Comment on attachment 458475 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=458475&action=review > > > Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:166 > > + if (!m_drawGlyphsRecorder) > > + m_drawGlyphsRecorder = makeUnique<DrawGlyphsRecorder>(*this, m_initialScale, m_deconstructDrawGlyphs); > > Can we pull this out into an ensure() function? > > > Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h:275 > > + float m_initialScale { 1 }; > > + DrawGlyphsRecorder::DeconstructDrawGlyphs m_deconstructDrawGlyphs { DrawGlyphsRecorder::DeconstructDrawGlyphs::No }; > > Should these be batched up into a struct? Are we polluting the contents of > the Recorder object? Both true, but I'm not sure either are worth it.
Radar WebKit Bug Importer
Comment 4 2022-04-27 21:21:15 PDT
EWS
Comment 5 2022-04-28 08:13:33 PDT
Committed r293572 (250086@main): <https://commits.webkit.org/250086@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 458475 [details].
Note You need to log in before you can comment on or make changes to this bug.