Creating new layer types for each display type we want a webrender display item
Dig into layout, find out what information you want to paint, collecting and packing them into the format they want
The draw yourself of a display item, gets data from a bunch of random places, then it draws itself
Might be kind of slow because packing the data can be slow.
For text, created a recording draw target, call the old paint text, instead created a recording, if it's just text, then package it up and send it to webrender
Could just replay the recording rather than redo everything
Borders already have an nsBorderRender that just pulls the value out
For a lot of these, collect data, then see if it is in the subset of webrender supports
Text layers, border layers we already create layers, but don't convert them to webrender yet
Shadows, clipping - need to make gecko create these layers and webrender already supports these display items
Can create some tool that is a spec for a display item that webrender / gecko would conform to.
Gecko has display items that are aggregations of other display items - see - https://public.etherpad-mozilla.org/p/wr-plan
TODO: sort the list base on easiness - https://public.etherpad-mozilla.org/p/wr-plan
Possible added webrender display items - SVG and Path, paths are things that can be dashed, stroked, etc.
Might be worth to see what items needs to be converted to something versus just fallback to gecko and upload as an image
Text layers - http://searchfox.org/mozilla-central/source/layout/generic/nsTextFrame.cpp#4984
Border - http://searchfox.org/mozilla-central/source/layout/painting/nsDisplayList.cpp#4135