Bug 187385

Summary: [Nicosia] Add a platform layer concept
Product: WebKit Reporter: Zan Dobersek <zan>
Component: New BugsAssignee: Zan Dobersek <zan>
Status: RESOLVED FIXED    
Severity: Normal CC: aperez, basuke, cadubentzen, jonasvdb_5, magomez, yoshiaki.jitsukawa
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 187514, 187693, 187749, 187751, 187899, 187901, 187941, 187946, 188158, 188340, 188341, 188344, 188348, 188405, 188548, 188550, 188693, 188847, 188849, 188850, 188881    
Bug Blocks: 198475, 184143    
Attachments:
Description Flags
WIP
none
WIP
none
WIP
none
WIP
none
WIP
none
WIP none

Zan Dobersek
Reported 2018-07-06 04:33:41 PDT
Platform layer objects should be used to back GraphicsLayer objects for the ports leveraging the Nicosia facilities. These facilities are currently used exclusively through CoordinatedGraphics, which means CoordinatedGraphicsLayer implementation would start using a platform layer for all its state management before applying it to the rendering pipeline, compared to the current way where all this state is being managed through CoordinatedGraphicsState objects that are then combined-and-applied in CoordinatedGraphicsScene and applied to the rendering pipeline. When the state mutations are made thread-safe, this can be further extended to integrate with features like asynchronous scrolling or threaded painting. Regarding applications to the rendering pipeline, while TextureMapper-specific implementations will have to exist, the platform layering work in principle shouldn't be tied to TextureMapper. It's just nothing else exists at the moment.
Attachments
WIP (116.42 KB, patch)
2018-07-06 04:35 PDT, Zan Dobersek
no flags
WIP (158.26 KB, patch)
2018-08-03 03:37 PDT, Zan Dobersek
no flags
WIP (114.88 KB, patch)
2018-08-09 23:23 PDT, Zan Dobersek
no flags
WIP (110.37 KB, patch)
2018-08-16 10:50 PDT, Zan Dobersek
no flags
WIP (108.06 KB, patch)
2018-08-22 09:19 PDT, Zan Dobersek
no flags
WIP (57.01 KB, patch)
2018-10-02 05:54 PDT, Zan Dobersek
no flags
Zan Dobersek
Comment 1 2018-07-06 04:35:57 PDT
Zan Dobersek
Comment 2 2018-08-03 03:37:11 PDT
Zan Dobersek
Comment 3 2018-08-09 23:23:52 PDT
Zan Dobersek
Comment 4 2018-08-16 10:50:55 PDT
Zan Dobersek
Comment 5 2018-08-22 09:19:49 PDT
Created attachment 347805 [details] WIP Now with some more code removal.
Zan Dobersek
Comment 6 2018-10-02 05:54:02 PDT
Created attachment 351378 [details] WIP Includes the remaining set of changes that enable asynchronous scrolling (modulo bugs). Doesn't yet add kinetic scrolling capabilities.
Jonas
Comment 7 2019-07-05 06:14:30 PDT
Is there any update about this issue ?
Zan Dobersek
Comment 8 2019-08-23 04:02:09 PDT
The platform layer structures are now in use, so this bug can be closed.
Note You need to log in before you can comment on or make changes to this bug.