Closed Bug 568041 Opened 10 years ago Closed 10 years ago

More layer API needed for retained layers


(Core :: Graphics, defect)

Not set





(Reporter: roc, Assigned: roc)




(2 files)

Also fixes a few trivial build warnings in the GL backend.

Right now the retained layer code only stores rects in the visible region, but if I want to change that later I'll need to be able to round-trip the regions that I store.
Attachment #447342 - Flags: superreview?(vladimir)
Attachment #447342 - Flags: review?(bas.schouten)
Simplifies BasicContainerLayer::~BasicContainerLayer and ContainerLayerD3D9::~ContainerLayerD3D9 by having them call RemoveLayer.

Also ContainerLayerD3D9::RemoveChild needs to null out the parent/prev-sibling/next-sibling links in all cases. Retained layers depends on us being able to remove a layer and re-add it elsewhere in the layer tree without anything getting confused. It might work with dangling pointers in those fields, but they are confusing.

ContainerLayerOGL needs to be fixed too, but that's harder since it still has the problem of LayerOGL::mNextSibling shadowing Layer::mNextSibling. So I haven't touched it here, I'm hoping someone else will fix that :-).
Attachment #447343 - Flags: review?
Attachment #447343 - Flags: review? → review?(bas.schouten)
Attachment #447343 - Flags: review?(bas.schouten) → review+
Attachment #447342 - Flags: review?(bas.schouten) → review+
Comment on attachment 447342 [details] [diff] [review]
Part 1: add user-data API and GetRoot to LayerManager, add mVisibleRegion to Layer

Good stuff!
Attachment #447342 - Flags: superreview?(vladimir) → superreview+
Whiteboard: [needs landing]
Closed: 10 years ago
Resolution: --- → FIXED
Whiteboard: [needs landing]
You need to log in before you can comment on or make changes to this bug.