ensureEventResponderBound method

void ensureEventResponderBound()
inherited

Implementation

void ensureEventResponderBound() {
  everyRenderObjectByTypeAndMatch(RenderObjectGetType.self, (renderObject, _) {
    if (renderObject is! RenderBoxModel) return true;
    // Must bind event responder on render box model whatever there is no event listener.

    if (target.hasIntersectionObserverEvent()) {
      renderObject.addIntersectionChangeListener(target.handleIntersectionChange);
      // Mark the compositing state for this render object as dirty
      // cause it will create new layer.
      renderObject.markNeedsCompositingBitsUpdate();
    } else {
      // Remove listener when no intersection related event
      renderObject.removeIntersectionChangeListener(target.handleIntersectionChange);
    }
    if (target.hasResizeObserverEvent()) {
      renderObject.addResizeListener(target.handleResizeChange);
    } else {
      renderObject.removeResizeListener(target.handleResizeChange);
    }

    return true;
  });
}