childrenChanged method

  1. @override
void childrenChanged(
  1. ChildrenChange change
)
override

Implementation

@override
void childrenChanged(ChildrenChange change) {
  // Coalesce stylesheet-related updates when batching is enabled.
  if (DebugFlags.enableCssBatchStyleUpdates) {
    final Node? node = change.siblingChanged;
    final bool isStyleNode = node is StyleElementMixin || node is LinkElement;
    final bool isStyleText = change.type == ChildrenChangeType.TEXT_CHANGE &&
        node != null && node.parentNode is StyleElementMixin;
    if (isStyleNode || isStyleText || change.isChildElementChange()) {
      if (DebugFlags.enableCssMultiStyleTrace) {
        cssLogger.info('[trace][multi-style][head] childrenChanged type=${change.type} scheduling style update');
      }
      ownerDocument.scheduleStyleUpdate();
      return;
    }
  }
  super.childrenChanged(change);
}