Bug 218588

Summary: Add new display list item types in preparation for webkit.org/b/218426
Product: WebKit Reporter: Wenson Hsieh <wenson_hsieh>
Component: WebCore Misc.Assignee: Wenson Hsieh <wenson_hsieh>
Status: RESOLVED FIXED    
Severity: Normal CC: sabouhallawa, simon.fraser, thorton, webkit-bug-importer
Priority: P2 Keywords: DoNotImportToRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=218589
Bug Depends on: 218586    
Bug Blocks: 218426, 218675    
Attachments:
Description Flags
Patch
none
Depends on #218586
none
Patch
none
Rename + add FIXME
none
Rename + add FIXME
simon.fraser: review+
For EWS none

Description Wenson Hsieh 2020-11-04 14:51:32 PST
• FlushContext
• SwitchToBuffer
• StrokeLine (though maybe this should be separated out..)
Comment 1 Wenson Hsieh 2020-11-04 15:10:45 PST Comment hidden (obsolete)
Comment 2 Wenson Hsieh 2020-11-05 16:12:33 PST Comment hidden (obsolete)
Comment 3 Wenson Hsieh 2020-11-06 12:49:22 PST
Created attachment 413468 [details]
Patch
Comment 4 Wenson Hsieh 2020-11-06 13:16:12 PST
Comment on attachment 413468 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=413468&action=review

> Source/WebCore/ChangeLog:40
> +        (WebCore::DisplayList::SwitchToBuffer::SwitchToBuffer):

(As smfr pointed out —) if we want to go this route, SwitchToBuffer should probably be renamed to SwitchToItemBuffer or something to avoid confusing w.r.t. ImageBuffers.
Comment 5 Wenson Hsieh 2020-11-06 13:57:32 PST Comment hidden (obsolete)
Comment 6 Wenson Hsieh 2020-11-06 14:06:29 PST
Created attachment 413478 [details]
Rename + add FIXME
Comment 7 Simon Fraser (smfr) 2020-11-06 14:10:15 PST
Comment on attachment 413478 [details]
Rename + add FIXME

View in context: https://bugs.webkit.org/attachment.cgi?id=413478&action=review

> Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp:238
> +        get<MetaCommandSwitchTo>().apply(context);

Or not?

> Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:988
> +    // Handled by client.

Can't we flush via GraphicsContext?

> Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:999
> +    // Handled by client.

ASSERT_NOT_REACHED()?
Comment 8 Wenson Hsieh 2020-11-06 14:17:21 PST
Comment on attachment 413478 [details]
Rename + add FIXME

View in context: https://bugs.webkit.org/attachment.cgi?id=413478&action=review

>> Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp:238
>> +        get<MetaCommandSwitchTo>().apply(context);
> 
> Or not?

Yep, removed!

>> Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:988
>> +    // Handled by client.
> 
> Can't we flush via GraphicsContext?

My understanding is that context flushes are something handled at the ImageBuffer layer, rather than the GraphicsContext…though GraphicsContext::flush() does seem to be present for the USE(DIRECT2D) build.

>> Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:999
>> +    // Handled by client.
> 
> ASSERT_NOT_REACHED()?

(I ended up just deleting `MetaCommandSwitchTo::apply` altogether)
Comment 9 Wenson Hsieh 2020-11-06 14:31:44 PST
Created attachment 413485 [details]
For EWS
Comment 10 EWS 2020-11-06 16:40:22 PST
Committed r269551: <https://trac.webkit.org/changeset/269551>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413485 [details].