Closed
Bug 590525
Opened 14 years ago
Closed 12 years ago
Add a drawWindow() special case for <browser remote> that sources its shadow-layer tree
Categories
(Core :: Graphics: Canvas2D, defect)
Core
Graphics: Canvas2D
Tracking
()
RESOLVED
FIXED
People
(Reporter: cjones, Unassigned)
References
Details
The fennec frontend will want to take a snapshot of the current content window before switching to another tab (and maybe in other situations). There's currently no way to do that for <browser remote> because drawWindow() always re-renders content using a temporary layer manager, but that approach falls over with shadow layers.
Rob has discussed a generic API for drawing an arbitrary layer subtree into a context, but it might be easier to somehow special-case <browser remote> initially, since we can assume a lot about its configuration and it has a simple mapping from DOM --> layer tree.
All the required pieces are in place to implement this now, although bug 590294 will make things a bit trickier because drawWindow() will probably want to honor the view transform.
Comment 1•14 years ago
|
||
If we have to do this, why aren't we using asyncDrawXULElement like we did in tile-manager Fennec?
Reporter | ||
Comment 2•14 years ago
|
||
Oh, should have mentioned that that's a temporary workaround until we have drawWindow support.
asyncDrawXULElement() is a slow hard-to-maintain ugly duckling that has the guillotine millimeters away from its neck. Making drawWindow() aware of (shadow) layers will result in a maximally-efficient, synchronous API that will give WSIWYG results (arguably that's an advantage over even drawWindow() of an in-process content window, in the current implementation).
Reporter | ||
Comment 3•12 years ago
|
||
Fixed.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•