| Index: sky/engine/core/rendering/RenderLayerModelObject.cpp
|
| diff --git a/sky/engine/core/rendering/RenderLayerModelObject.cpp b/sky/engine/core/rendering/RenderLayerModelObject.cpp
|
| index 3540286b1d2c76f87f08bcc10f080b2664023b6d..27943e538445d610a9a004f2e34cc5e7f23753e5 100644
|
| --- a/sky/engine/core/rendering/RenderLayerModelObject.cpp
|
| +++ b/sky/engine/core/rendering/RenderLayerModelObject.cpp
|
| @@ -62,6 +62,21 @@ bool RenderLayerModelObject::hasSelfPaintingLayer() const
|
| return m_layer && m_layer->isSelfPaintingLayer();
|
| }
|
|
|
| +void RenderLayerModelObject::collectSelfPaintingLayers(Vector<RenderBox*>& layers)
|
| +{
|
| + for (RenderObject* child = slowFirstChild(); child; child = child->nextSibling()) {
|
| + if (child->isBox()) {
|
| + RenderBox* childBox = toRenderBox(child);
|
| + if (childBox->hasSelfPaintingLayer())
|
| + layers.append(childBox);
|
| + else
|
| + childBox->collectSelfPaintingLayers(layers);
|
| + } else if (child->isLayerModelObject()) {
|
| + toRenderLayerModelObject(child)->collectSelfPaintingLayers(layers);
|
| + }
|
| + }
|
| +}
|
| +
|
| void RenderLayerModelObject::willBeDestroyed()
|
| {
|
| RenderObject::willBeDestroyed();
|
|
|