void RenderFrameParent::Destroy() { size_t numChildren = ManagedPLayersParent().Length(); NS_ABORT_IF_FALSE(0 == numChildren || 1 == numChildren, "render frame must only have 0 or 1 layer manager"); if (numChildren) { ShadowLayersParent* layers = static_cast<ShadowLayersParent*>(ManagedPLayersParent()[0]); layers->Destroy(); } mFrameLoaderDestroyed = true; }
void CompositorParent::Destroy() { NS_ABORT_IF_FALSE(ManagedPLayersParent().Length() == 0, "CompositorParent destroyed before managed PLayersParent"); // Ensure that the layer manager is destructed on the compositor thread. mLayerManager = NULL; }
ShadowLayersParent* RenderFrameParent::GetShadowLayers() const { const nsTArray<PLayersParent*>& shadowParents = ManagedPLayersParent(); NS_ABORT_IF_FALSE(shadowParents.Length() <= 1, "can only support at most 1 ShadowLayersParent"); return (shadowParents.Length() == 1) ? static_cast<ShadowLayersParent*>(shadowParents[0]) : nsnull; }
void CompositorParent::ShadowLayersUpdated(bool isFirstPaint) { mIsFirstPaint = mIsFirstPaint || isFirstPaint; mLayersUpdated = true; const nsTArray<PLayersParent*>& shadowParents = ManagedPLayersParent(); NS_ABORT_IF_FALSE(shadowParents.Length() <= 1, "can only support at most 1 ShadowLayersParent"); if (shadowParents.Length()) { Layer* root = static_cast<ShadowLayersParent*>(shadowParents[0])->GetRoot(); mLayerManager->SetRoot(root); SetShadowProperties(root); } ScheduleComposition(); }