willDetachRenderer method
A render object previously associated with this Node will be / has been removed from the tree. The given RenderObject will be of the same type as returned by this object's createRenderer.
Implementation
@override
void willDetachRenderer() {
  super.willDetachRenderer();
  // Cancel running transition.
  renderStyle.cancelRunningTransition();
  // Cancel running animation.
  renderStyle.cancelRunningAnimation();
  ownerView.window.unwatchViewportSizeChangeForElement(this);
  RenderBoxModel? renderBoxModel = this.renderBoxModel;
  if (renderBoxModel != null) {
    // Remove all intersection change listeners.
    renderBoxModel.clearIntersectionChangeListeners();
    // Remove fixed children from root when element disposed.
    if (ownerDocument.viewport != null && renderStyle.position == CSSPositionType.fixed) {
      _removeFixedChild(renderBoxModel, ownerDocument);
    }
    // Remove renderBox.
    renderBoxModel.detachFromContainingBlock();
    // Clear pointer listener
    clearEventResponder(renderBoxModel);
    // Remove scrollable
    renderBoxModel.disposeScrollable();
    disposeScrollable();
  }
}