void CSSSelectorParser::consumeComplexSelectorList(CSSParserTokenRange& range, CSSSelectorList& output) { Vector<OwnPtr<CSSParserSelector>> selectorList; OwnPtr<CSSParserSelector> selector = consumeComplexSelector(range); if (!selector) return; selectorList.append(selector.release()); while (!range.atEnd() && range.peek().type() == CommaToken) { range.consumeIncludingWhitespace(); selector = consumeComplexSelector(range); if (!selector) return; selectorList.append(selector.release()); } if (!m_failedParsing) output.adoptSelectorVector(selectorList); }
CSSSelectorList CSSSelectorParser::consumeComplexSelectorList( CSSParserTokenRange& range) { Vector<std::unique_ptr<CSSParserSelector>> selectorList; std::unique_ptr<CSSParserSelector> selector = consumeComplexSelector(range); if (!selector) return CSSSelectorList(); selectorList.append(std::move(selector)); while (!range.atEnd() && range.peek().type() == CommaToken) { range.consumeIncludingWhitespace(); selector = consumeComplexSelector(range); if (!selector) return CSSSelectorList(); selectorList.append(std::move(selector)); } if (m_failedParsing) return CSSSelectorList(); return CSSSelectorList::adoptSelectorVector(selectorList); }