addStyleSheetCandidateNode method

void addStyleSheetCandidateNode(
  1. Node node
)

Implementation

void addStyleSheetCandidateNode(Node node) {
  if (!node.isConnected) {
    return;
  }
  if (_styleSheetCandidateNodes.isEmpty) {
    _styleSheetCandidateNodes.add(node);
    _isStyleSheetCandidateNodeChanged = true;
    return;
  }

  // Determine an appropriate insertion point.
  for (int i = _styleSheetCandidateNodes.length - 1; i >= 0; i--) {
    DocumentPosition position = _styleSheetCandidateNodes[i].compareDocumentPosition(node);
    if (position == DocumentPosition.FOLLOWING) {
      _styleSheetCandidateNodes.insert(i + 1, node);
      _isStyleSheetCandidateNodeChanged = true;
      return;
    }
  }

  _styleSheetCandidateNodes.insert(0, node);
  _isStyleSheetCandidateNodeChanged = true;
}