void RenderCounter::rendererRemovedFromTree(RenderObject* removedRenderer) { RenderObject* currentRenderer = removedRenderer->lastLeafChild(); if (!currentRenderer) currentRenderer = removedRenderer; while (true) { destroyCounterNodes(currentRenderer); if (currentRenderer == removedRenderer) break; currentRenderer = currentRenderer->previousInPreOrder(); } }
void RenderCounter::rendererRemovedFromTree(RenderObject& renderer) { if (!renderer.view().hasRenderCounters()) return; RenderObject* currentRenderer = renderer.lastLeafChild(); if (!currentRenderer) currentRenderer = &renderer; while (true) { destroyCounterNodes(currentRenderer); if (currentRenderer == &renderer) break; currentRenderer = currentRenderer->previousInPreOrder(); } }
void LayoutCounter::layoutObjectSubtreeWillBeDetached(LayoutObject* layoutObject) { ASSERT(layoutObject->view()); if (!layoutObject->view()->hasLayoutCounters()) return; LayoutObject* currentLayoutObject = layoutObject->lastLeafChild(); if (!currentLayoutObject) currentLayoutObject = layoutObject; while (true) { destroyCounterNodes(*currentLayoutObject); if (currentLayoutObject == layoutObject) break; currentLayoutObject = currentLayoutObject->previousInPreOrder(); } }