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