Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Side by Side Diff: third_party/WebKit/Source/core/css/parser/CSSParserImpl.cpp

Issue 2566403003: Migrate WTF::Vector::append() to ::push_back() [part 3 of N] (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/css/parser/CSSParserImpl.h" 5 #include "core/css/parser/CSSParserImpl.h"
6 6
7 #include "core/css/CSSCustomIdentValue.h" 7 #include "core/css/CSSCustomIdentValue.h"
8 #include "core/css/CSSCustomPropertyDeclaration.h" 8 #include "core/css/CSSCustomPropertyDeclaration.h"
9 #include "core/css/CSSKeyframesRule.h" 9 #include "core/css/CSSKeyframesRule.h"
10 #include "core/css/CSSStyleSheet.h" 10 #include "core/css/CSSStyleSheet.h"
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 return CSSSelectorList(); 271 return CSSSelectorList();
272 } 272 }
273 if (!typeSelector.isNull()) { 273 if (!typeSelector.isNull()) {
274 selector->prependTagSelector(QualifiedName( 274 selector->prependTagSelector(QualifiedName(
275 nullAtom, typeSelector, styleSheet->defaultNamespace())); 275 nullAtom, typeSelector, styleSheet->defaultNamespace()));
276 } 276 }
277 } 277 }
278 278
279 selector->setForPage(); 279 selector->setForPage();
280 Vector<std::unique_ptr<CSSParserSelector>> selectorVector; 280 Vector<std::unique_ptr<CSSParserSelector>> selectorVector;
281 selectorVector.append(std::move(selector)); 281 selectorVector.push_back(std::move(selector));
282 CSSSelectorList selectorList = 282 CSSSelectorList selectorList =
283 CSSSelectorList::adoptSelectorVector(selectorVector); 283 CSSSelectorList::adoptSelectorVector(selectorVector);
284 return selectorList; 284 return selectorList;
285 } 285 }
286 286
287 ImmutableStylePropertySet* CSSParserImpl::parseCustomPropertySet( 287 ImmutableStylePropertySet* CSSParserImpl::parseCustomPropertySet(
288 CSSParserTokenRange range) { 288 CSSParserTokenRange range) {
289 range.consumeWhitespace(); 289 range.consumeWhitespace();
290 if (range.peek().type() != LeftBraceToken) 290 if (range.peek().type() != LeftBraceToken)
291 return nullptr; 291 return nullptr;
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 m_observerWrapper->observer().endRuleHeader( 575 m_observerWrapper->observer().endRuleHeader(
576 m_observerWrapper->endOffset(prelude)); 576 m_observerWrapper->endOffset(prelude));
577 m_observerWrapper->observer().startRuleBody( 577 m_observerWrapper->observer().startRuleBody(
578 m_observerWrapper->previousTokenStartOffset(block)); 578 m_observerWrapper->previousTokenStartOffset(block));
579 } 579 }
580 580
581 if (m_styleSheet) 581 if (m_styleSheet)
582 m_styleSheet->setHasMediaQueries(); 582 m_styleSheet->setHasMediaQueries();
583 583
584 consumeRuleList(block, RegularRuleList, 584 consumeRuleList(block, RegularRuleList,
585 [&rules](StyleRuleBase* rule) { rules.append(rule); }); 585 [&rules](StyleRuleBase* rule) { rules.push_back(rule); });
586 586
587 if (m_observerWrapper) 587 if (m_observerWrapper)
588 m_observerWrapper->observer().endRuleBody( 588 m_observerWrapper->observer().endRuleBody(
589 m_observerWrapper->endOffset(block)); 589 m_observerWrapper->endOffset(block));
590 590
591 return StyleRuleMedia::create(MediaQueryParser::parseMediaQuerySet(prelude), 591 return StyleRuleMedia::create(MediaQueryParser::parseMediaQuerySet(prelude),
592 rules); 592 rules);
593 } 593 }
594 594
595 StyleRuleSupports* CSSParserImpl::consumeSupportsRule( 595 StyleRuleSupports* CSSParserImpl::consumeSupportsRule(
596 CSSParserTokenRange prelude, 596 CSSParserTokenRange prelude,
597 CSSParserTokenRange block) { 597 CSSParserTokenRange block) {
598 CSSSupportsParser::SupportsResult supported = 598 CSSSupportsParser::SupportsResult supported =
599 CSSSupportsParser::supportsCondition(prelude, *this); 599 CSSSupportsParser::supportsCondition(prelude, *this);
600 if (supported == CSSSupportsParser::Invalid) 600 if (supported == CSSSupportsParser::Invalid)
601 return nullptr; // Parse error, invalid @supports condition 601 return nullptr; // Parse error, invalid @supports condition
602 602
603 if (m_observerWrapper) { 603 if (m_observerWrapper) {
604 m_observerWrapper->observer().startRuleHeader( 604 m_observerWrapper->observer().startRuleHeader(
605 StyleRule::Supports, m_observerWrapper->startOffset(prelude)); 605 StyleRule::Supports, m_observerWrapper->startOffset(prelude));
606 m_observerWrapper->observer().endRuleHeader( 606 m_observerWrapper->observer().endRuleHeader(
607 m_observerWrapper->endOffset(prelude)); 607 m_observerWrapper->endOffset(prelude));
608 m_observerWrapper->observer().startRuleBody( 608 m_observerWrapper->observer().startRuleBody(
609 m_observerWrapper->previousTokenStartOffset(block)); 609 m_observerWrapper->previousTokenStartOffset(block));
610 } 610 }
611 611
612 HeapVector<Member<StyleRuleBase>> rules; 612 HeapVector<Member<StyleRuleBase>> rules;
613 consumeRuleList(block, RegularRuleList, 613 consumeRuleList(block, RegularRuleList,
614 [&rules](StyleRuleBase* rule) { rules.append(rule); }); 614 [&rules](StyleRuleBase* rule) { rules.push_back(rule); });
615 615
616 if (m_observerWrapper) 616 if (m_observerWrapper)
617 m_observerWrapper->observer().endRuleBody( 617 m_observerWrapper->observer().endRuleBody(
618 m_observerWrapper->endOffset(block)); 618 m_observerWrapper->endOffset(block));
619 619
620 return StyleRuleSupports::create(prelude.serialize().stripWhiteSpace(), 620 return StyleRuleSupports::create(prelude.serialize().stripWhiteSpace(),
621 supported, rules); 621 supported, rules);
622 } 622 }
623 623
624 StyleRuleViewport* CSSParserImpl::consumeViewportRule( 624 StyleRuleViewport* CSSParserImpl::consumeViewportRule(
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
733 std::move(selectorList), 733 std::move(selectorList),
734 createStylePropertySet(m_parsedProperties, m_context.mode())); 734 createStylePropertySet(m_parsedProperties, m_context.mode()));
735 } 735 }
736 736
737 void CSSParserImpl::consumeApplyRule(CSSParserTokenRange prelude) { 737 void CSSParserImpl::consumeApplyRule(CSSParserTokenRange prelude) {
738 ASSERT(RuntimeEnabledFeatures::cssApplyAtRulesEnabled()); 738 ASSERT(RuntimeEnabledFeatures::cssApplyAtRulesEnabled());
739 739
740 const CSSParserToken& ident = prelude.consumeIncludingWhitespace(); 740 const CSSParserToken& ident = prelude.consumeIncludingWhitespace();
741 if (!prelude.atEnd() || !CSSVariableParser::isValidVariableName(ident)) 741 if (!prelude.atEnd() || !CSSVariableParser::isValidVariableName(ident))
742 return; // Parse error, expected a single custom property name 742 return; // Parse error, expected a single custom property name
743 m_parsedProperties.append(CSSProperty( 743 m_parsedProperties.push_back(CSSProperty(
744 CSSPropertyApplyAtRule, 744 CSSPropertyApplyAtRule,
745 *CSSCustomIdentValue::create(ident.value().toAtomicString()))); 745 *CSSCustomIdentValue::create(ident.value().toAtomicString())));
746 } 746 }
747 747
748 StyleRuleKeyframe* CSSParserImpl::consumeKeyframeStyleRule( 748 StyleRuleKeyframe* CSSParserImpl::consumeKeyframeStyleRule(
749 CSSParserTokenRange prelude, 749 CSSParserTokenRange prelude,
750 CSSParserTokenRange block) { 750 CSSParserTokenRange block) {
751 std::unique_ptr<Vector<double>> keyList = consumeKeyframeKeyList(prelude); 751 std::unique_ptr<Vector<double>> keyList = consumeKeyframeKeyList(prelude);
752 if (!keyList) 752 if (!keyList)
753 return nullptr; 753 return nullptr;
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
927 } 927 }
928 } 928 }
929 929
930 void CSSParserImpl::consumeVariableValue(CSSParserTokenRange range, 930 void CSSParserImpl::consumeVariableValue(CSSParserTokenRange range,
931 const AtomicString& variableName, 931 const AtomicString& variableName,
932 bool important, 932 bool important,
933 bool isAnimationTainted) { 933 bool isAnimationTainted) {
934 if (CSSCustomPropertyDeclaration* value = 934 if (CSSCustomPropertyDeclaration* value =
935 CSSVariableParser::parseDeclarationValue(variableName, range, 935 CSSVariableParser::parseDeclarationValue(variableName, range,
936 isAnimationTainted)) 936 isAnimationTainted))
937 m_parsedProperties.append( 937 m_parsedProperties.push_back(
938 CSSProperty(CSSPropertyVariable, *value, important)); 938 CSSProperty(CSSPropertyVariable, *value, important));
939 } 939 }
940 940
941 void CSSParserImpl::consumeDeclarationValue(CSSParserTokenRange range, 941 void CSSParserImpl::consumeDeclarationValue(CSSParserTokenRange range,
942 CSSPropertyID unresolvedProperty, 942 CSSPropertyID unresolvedProperty,
943 bool important, 943 bool important,
944 StyleRule::RuleType ruleType) { 944 StyleRule::RuleType ruleType) {
945 CSSPropertyParser::parseValue(unresolvedProperty, important, range, m_context, 945 CSSPropertyParser::parseValue(unresolvedProperty, important, range, m_context,
946 m_parsedProperties, ruleType); 946 m_parsedProperties, ruleType);
947 } 947 }
948 948
949 std::unique_ptr<Vector<double>> CSSParserImpl::consumeKeyframeKeyList( 949 std::unique_ptr<Vector<double>> CSSParserImpl::consumeKeyframeKeyList(
950 CSSParserTokenRange range) { 950 CSSParserTokenRange range) {
951 std::unique_ptr<Vector<double>> result = WTF::wrapUnique(new Vector<double>); 951 std::unique_ptr<Vector<double>> result = WTF::wrapUnique(new Vector<double>);
952 while (true) { 952 while (true) {
953 range.consumeWhitespace(); 953 range.consumeWhitespace();
954 const CSSParserToken& token = range.consumeIncludingWhitespace(); 954 const CSSParserToken& token = range.consumeIncludingWhitespace();
955 if (token.type() == PercentageToken && token.numericValue() >= 0 && 955 if (token.type() == PercentageToken && token.numericValue() >= 0 &&
956 token.numericValue() <= 100) 956 token.numericValue() <= 100)
957 result->append(token.numericValue() / 100); 957 result->push_back(token.numericValue() / 100);
958 else if (token.type() == IdentToken && 958 else if (token.type() == IdentToken &&
959 equalIgnoringASCIICase(token.value(), "from")) 959 equalIgnoringASCIICase(token.value(), "from"))
960 result->append(0); 960 result->push_back(0);
961 else if (token.type() == IdentToken && 961 else if (token.type() == IdentToken &&
962 equalIgnoringASCIICase(token.value(), "to")) 962 equalIgnoringASCIICase(token.value(), "to"))
963 result->append(1); 963 result->push_back(1);
964 else 964 else
965 return nullptr; // Parser error, invalid value in keyframe selector 965 return nullptr; // Parser error, invalid value in keyframe selector
966 if (range.atEnd()) 966 if (range.atEnd())
967 return result; 967 return result;
968 if (range.consume().type() != CommaToken) 968 if (range.consume().type() != CommaToken)
969 return nullptr; // Parser error 969 return nullptr; // Parser error
970 } 970 }
971 } 971 }
972 972
973 } // namespace blink 973 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698