Gecko:LayerPlanning
Jump to navigation
Jump to search
Planning For Gecko:Layers Layers And Related Features in 1.9.3
Aggressive goals for 1.9.3:
- One platform widget per toplevel window, with no child Gecko widgets (only child widgets belong to plugins)
- All view managers integrated into a single hierarchy rooted at the toplevel window
- The toplevel browser window can be transparent (optionally with an Aero Glass background)
- Provide D3D and OpenGL layer system implementations to be used for layer compositing when suitable hardware is available
- WebGL and video layers supported by hardware acceleration
- Layout retains a layer tree between paints
- The layer system can be configured to tile-cache scrolled-out-of-view content (for Fennec)
- Using image layers to render plugins on Fennec
- A layer tree can be exported from a content process to the master process (if multi-process Fennec or Jetpacks are scope for 1.9.3)
Additional layers work that would be "nice to have" for 1.9.3, but not required:
- Off-main-thread layer compositing
- Pushing animation into the layer system for off-main-thread animation
- CSS 3D transforms via layers
Commentary
The hardest, riskiest items are "retain layer tree", "one widget", and "integrated view managers". They are the top priorities to tackle immediately. I'm bad at schedule estimation, but I'll estimate two months to get reviewable code, and a few more months of fixing bugs. I think shipping this work by October is possible but not certain.