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

Side by Side Diff: Source/core/css/parser/BisonCSSParser-in.cpp

Issue 209433004: Do not zero-initialize RawPtr. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix compilation on gcc and msvc Created 6 years, 9 months 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/css/StyleRule.cpp ('k') | Source/core/css/parser/CSSPropertyParser.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2003 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) 3 * Copyright (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved.
5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com>
6 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> 6 * Copyright (C) 2008 Eric Seidel <eric@webkit.org>
7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
8 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. 8 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved.
9 * Copyright (C) 2012 Intel Corporation. All rights reserved. 9 * Copyright (C) 2012 Intel Corporation. All rights reserved.
10 * 10 *
(...skipping 844 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 return false; 855 return false;
856 } 856 }
857 857
858 CSSParserString cssString; 858 CSSParserString cssString;
859 cssString.init(string); 859 cssString.init(string);
860 CSSValueID valueID = cssValueKeywordID(cssString); 860 CSSValueID valueID = cssValueKeywordID(cssString);
861 861
862 if (!valueID) 862 if (!valueID)
863 return false; 863 return false;
864 864
865 RefPtrWillBeRawPtr<CSSValue> value; 865 RefPtrWillBeRawPtr<CSSValue> value = nullptr;
866 if (valueID == CSSValueInherit) 866 if (valueID == CSSValueInherit)
867 value = cssValuePool().createInheritedValue(); 867 value = cssValuePool().createInheritedValue();
868 else if (valueID == CSSValueInitial) 868 else if (valueID == CSSValueInitial)
869 value = cssValuePool().createExplicitInitialValue(); 869 value = cssValuePool().createExplicitInitialValue();
870 else if (isValidKeywordPropertyAndValue(propertyId, valueID, parserContext)) 870 else if (isValidKeywordPropertyAndValue(propertyId, valueID, parserContext))
871 value = cssValuePool().createIdentifierValue(valueID); 871 value = cssValuePool().createIdentifierValue(valueID);
872 else 872 else
873 return false; 873 return false;
874 874
875 declaration->addParsedProperty(CSSProperty(propertyId, value.release(), impo rtant)); 875 declaration->addParsedProperty(CSSProperty(propertyId, value.release(), impo rtant));
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
940 940
941 RefPtrWillBeRawPtr<CSSTransformValue> transformValue = CSSTransformValue::cr eate(transformType); 941 RefPtrWillBeRawPtr<CSSTransformValue> transformValue = CSSTransformValue::cr eate(transformType);
942 if (!parseTransformTranslateArguments(pos, end, expectedArgumentCount, trans formValue.get())) 942 if (!parseTransformTranslateArguments(pos, end, expectedArgumentCount, trans formValue.get()))
943 return nullptr; 943 return nullptr;
944 return transformValue.release(); 944 return transformValue.release();
945 } 945 }
946 946
947 template <typename CharType> 947 template <typename CharType>
948 static PassRefPtrWillBeRawPtr<CSSValueList> parseTranslateTransformList(CharType *& pos, CharType* end) 948 static PassRefPtrWillBeRawPtr<CSSValueList> parseTranslateTransformList(CharType *& pos, CharType* end)
949 { 949 {
950 RefPtrWillBeRawPtr<CSSValueList> transformList; 950 RefPtrWillBeRawPtr<CSSValueList> transformList = nullptr;
951 while (pos < end) { 951 while (pos < end) {
952 while (pos < end && isCSSSpace(*pos)) 952 while (pos < end && isCSSSpace(*pos))
953 ++pos; 953 ++pos;
954 RefPtrWillBeRawPtr<CSSTransformValue> transformValue = parseTranslateTra nsformValue(pos, end); 954 RefPtrWillBeRawPtr<CSSTransformValue> transformValue = parseTranslateTra nsformValue(pos, end);
955 if (!transformValue) 955 if (!transformValue)
956 return nullptr; 956 return nullptr;
957 if (!transformList) 957 if (!transformList)
958 transformList = CSSValueList::createSpaceSeparated(); 958 transformList = CSSValueList::createSpaceSeparated();
959 transformList->append(transformValue.release()); 959 transformList->append(transformValue.release());
960 if (pos < end) { 960 if (pos < end) {
961 if (isCSSSpace(*pos)) 961 if (isCSSSpace(*pos))
962 return nullptr; 962 return nullptr;
963 } 963 }
964 } 964 }
965 return transformList.release(); 965 return transformList.release();
966 } 966 }
967 967
968 static bool parseTranslateTransform(MutableStylePropertySet* properties, CSSProp ertyID propertyID, const String& string, bool important) 968 static bool parseTranslateTransform(MutableStylePropertySet* properties, CSSProp ertyID propertyID, const String& string, bool important)
969 { 969 {
970 if (propertyID != CSSPropertyWebkitTransform) 970 if (propertyID != CSSPropertyWebkitTransform)
971 return false; 971 return false;
972 if (string.isEmpty()) 972 if (string.isEmpty())
973 return false; 973 return false;
974 RefPtrWillBeRawPtr<CSSValueList> transformList; 974 RefPtrWillBeRawPtr<CSSValueList> transformList = nullptr;
975 if (string.is8Bit()) { 975 if (string.is8Bit()) {
976 const LChar* pos = string.characters8(); 976 const LChar* pos = string.characters8();
977 const LChar* end = pos + string.length(); 977 const LChar* end = pos + string.length();
978 transformList = parseTranslateTransformList(pos, end); 978 transformList = parseTranslateTransformList(pos, end);
979 if (!transformList) 979 if (!transformList)
980 return false; 980 return false;
981 } else { 981 } else {
982 const UChar* pos = string.characters16(); 982 const UChar* pos = string.characters16();
983 const UChar* end = pos + string.length(); 983 const UChar* end = pos + string.length();
984 transformList = parseTranslateTransformList(pos, end); 984 transformList = parseTranslateTransformList(pos, end);
(...skipping 670 matching lines...) Expand 10 before | Expand all | Expand 10 after
1655 return 0; 1655 return 0;
1656 RefPtrWillBeRawPtr<StyleRuleImport> rule = StyleRuleImport::create(url, medi a); 1656 RefPtrWillBeRawPtr<StyleRuleImport> rule = StyleRuleImport::create(url, medi a);
1657 StyleRuleImport* result = rule.get(); 1657 StyleRuleImport* result = rule.get();
1658 m_parsedRules.append(rule.release()); 1658 m_parsedRules.append(rule.release());
1659 return result; 1659 return result;
1660 } 1660 }
1661 1661
1662 StyleRuleBase* BisonCSSParser::createMediaRule(MediaQuerySet* media, RuleList* r ules) 1662 StyleRuleBase* BisonCSSParser::createMediaRule(MediaQuerySet* media, RuleList* r ules)
1663 { 1663 {
1664 m_allowImportRules = m_allowNamespaceDeclarations = false; 1664 m_allowImportRules = m_allowNamespaceDeclarations = false;
1665 RefPtrWillBeRawPtr<StyleRuleMedia> rule; 1665 RefPtrWillBeRawPtr<StyleRuleMedia> rule = nullptr;
1666 if (rules) { 1666 if (rules) {
1667 rule = StyleRuleMedia::create(media ? media : MediaQuerySet::create().ge t(), *rules); 1667 rule = StyleRuleMedia::create(media ? media : MediaQuerySet::create().ge t(), *rules);
1668 } else { 1668 } else {
1669 RuleList emptyRules; 1669 RuleList emptyRules;
1670 rule = StyleRuleMedia::create(media ? media : MediaQuerySet::create().ge t(), emptyRules); 1670 rule = StyleRuleMedia::create(media ? media : MediaQuerySet::create().ge t(), emptyRules);
1671 } 1671 }
1672 StyleRuleMedia* result = rule.get(); 1672 StyleRuleMedia* result = rule.get();
1673 m_parsedRules.append(rule.release()); 1673 m_parsedRules.append(rule.release());
1674 return result; 1674 return result;
1675 } 1675 }
1676 1676
1677 StyleRuleBase* BisonCSSParser::createSupportsRule(bool conditionIsSupported, Rul eList* rules) 1677 StyleRuleBase* BisonCSSParser::createSupportsRule(bool conditionIsSupported, Rul eList* rules)
1678 { 1678 {
1679 m_allowImportRules = m_allowNamespaceDeclarations = false; 1679 m_allowImportRules = m_allowNamespaceDeclarations = false;
1680 1680
1681 RefPtr<CSSRuleSourceData> data = popSupportsRuleData(); 1681 RefPtr<CSSRuleSourceData> data = popSupportsRuleData();
1682 RefPtrWillBeRawPtr<StyleRuleSupports> rule; 1682 RefPtrWillBeRawPtr<StyleRuleSupports> rule = nullptr;
1683 String conditionText; 1683 String conditionText;
1684 unsigned conditionOffset = data->ruleHeaderRange.start + 9; 1684 unsigned conditionOffset = data->ruleHeaderRange.start + 9;
1685 unsigned conditionLength = data->ruleHeaderRange.length() - 9; 1685 unsigned conditionLength = data->ruleHeaderRange.length() - 9;
1686 1686
1687 if (m_tokenizer.is8BitSource()) 1687 if (m_tokenizer.is8BitSource())
1688 conditionText = String(m_tokenizer.m_dataStart8.get() + conditionOffset, conditionLength).stripWhiteSpace(); 1688 conditionText = String(m_tokenizer.m_dataStart8.get() + conditionOffset, conditionLength).stripWhiteSpace();
1689 else 1689 else
1690 conditionText = String(m_tokenizer.m_dataStart16.get() + conditionOffset , conditionLength).stripWhiteSpace(); 1690 conditionText = String(m_tokenizer.m_dataStart16.get() + conditionOffset , conditionLength).stripWhiteSpace();
1691 1691
1692 if (rules) { 1692 if (rules) {
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after
2205 rule->setProperties(createStylePropertySet()); 2205 rule->setProperties(createStylePropertySet());
2206 clearProperties(); 2206 clearProperties();
2207 2207
2208 StyleRuleViewport* result = rule.get(); 2208 StyleRuleViewport* result = rule.get();
2209 m_parsedRules.append(rule.release()); 2209 m_parsedRules.append(rule.release());
2210 2210
2211 return result; 2211 return result;
2212 } 2212 }
2213 2213
2214 } 2214 }
OLDNEW
« no previous file with comments | « Source/core/css/StyleRule.cpp ('k') | Source/core/css/parser/CSSPropertyParser.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698