void Layer::removeAllSublayers() { for(const LayerPtr& layer : sublayers) { removeSublayer(layer); } }
void WKCACFLayer::replaceSublayer(WKCACFLayer* reference, PassRefPtr<WKCACFLayer> newLayer) { ASSERT_ARG(reference, reference); ASSERT_ARG(reference, reference->superlayer() == this); if (reference == newLayer) return; if (!newLayer) { removeSublayer(reference); return; } newLayer->removeFromSuperlayer(); int referenceIndex = indexOfSublayer(reference); ASSERT(referenceIndex != -1); if (referenceIndex == -1) return; // FIXME: Can we make this more efficient? The current CACF API doesn't seem to give us a way to do so. reference->removeFromSuperlayer(); insertSublayer(newLayer, referenceIndex); }