Closed Bug 1421087 Opened 7 years ago Closed 3 years ago

Rasterize native theme widgets on the WebRender side

Categories

(Core :: Graphics: WebRender, enhancement, P3)

enhancement

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox59 --- affected

People

(Reporter: mstange, Unassigned)

References

Details

(Whiteboard: [wr-reserve])

At the moment we push native theme widgets to WebRender as images. The rasterization happens on the main thread. We also rasterize them at their unclipped size, and the clip gets applied by WebRender. It would be nice to use the blob image infrastructure to rasterize native theme widgets on the WebRender side. This frees up the main thread and means that WebRender can request to rasterize just the parts of the widget that are visible. In order to achieve this, nsITheme::DrawWidgetBackground will need to be split into two parts: One part that gathers all the information from the nsIFrame* that needs to be known in order to draw the widget, and one part that renders the widget based on the gathered information.
Depends on: 1421088
Whiteboard: [wr-mvp] [triage]
Whiteboard: [wr-mvp] [triage] → [wr-reserve]
Blocks: stage-wr-next
No longer blocks: stage-wr-trains

I think this is no longer relevant, please reopen otherwise.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.