<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[176719] trunk/Source/WebCore</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/176719">176719</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2014-12-03 06:21:24 -0800 (Wed, 03 Dec 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Modernize the CSSParser code
https://bugs.webkit.org/show_bug.cgi?id=139209

Reviewed by Antti Koivisto.

Modernize the CSSParser code by:
- Using more references instead of pointers
- Using nullptr instead of 0

No new tests, no behavior change.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssCSSParsercpp">trunk/Source/WebCore/css/CSSParser.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSParserh">trunk/Source/WebCore/css/CSSParser.h</a></li>
<li><a href="#trunkSourceWebCorecssSVGCSSParsercpp">trunk/Source/WebCore/css/SVGCSSParser.cpp</a></li>
<li><a href="#trunkSourceWebCorecssSourceSizeListcpp">trunk/Source/WebCore/css/SourceSizeList.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (176718 => 176719)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-12-03 13:32:01 UTC (rev 176718)
+++ trunk/Source/WebCore/ChangeLog        2014-12-03 14:21:24 UTC (rev 176719)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2014-12-03  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Modernize the CSSParser code
+        https://bugs.webkit.org/show_bug.cgi?id=139209
+
+        Reviewed by Antti Koivisto.
+
+        Modernize the CSSParser code by:
+        - Using more references instead of pointers
+        - Using nullptr instead of 0
+
+        No new tests, no behavior change.
+
</ins><span class="cx"> 2014-12-03  David Kilzer  &lt;ddkilzer@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [iOS] REGRESSION (r176622): WebCore fails to link
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSParser.cpp (176718 => 176719)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSParser.cpp        2014-12-03 13:32:01 UTC (rev 176718)
+++ trunk/Source/WebCore/css/CSSParser.cpp        2014-12-03 14:21:24 UTC (rev 176719)
</span><span class="lines">@@ -130,19 +130,19 @@
</span><span class="cx"> class ImplicitScope {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(ImplicitScope);
</span><span class="cx"> public:
</span><del>-    ImplicitScope(WebCore::CSSParser* parser, PropertyType propertyType)
</del><ins>+    ImplicitScope(WebCore::CSSParser&amp; parser, PropertyType propertyType)
</ins><span class="cx">         : m_parser(parser)
</span><span class="cx">     {
</span><del>-        m_parser-&gt;m_implicitShorthand = propertyType == PropertyImplicit;
</del><ins>+        m_parser.m_implicitShorthand = propertyType == PropertyImplicit;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ~ImplicitScope()
</span><span class="cx">     {
</span><del>-        m_parser-&gt;m_implicitShorthand = false;
</del><ins>+        m_parser.m_implicitShorthand = false;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    WebCore::CSSParser* m_parser;
</del><ins>+    WebCore::CSSParser&amp; m_parser;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace
</span><span class="lines">@@ -173,10 +173,10 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template &lt;unsigned N&gt;
</span><del>-static bool equalIgnoringCase(CSSParserValue* value, const char (&amp;b)[N])
</del><ins>+static bool equalIgnoringCase(CSSParserValue&amp; value, const char (&amp;b)[N])
</ins><span class="cx"> {
</span><del>-    ASSERT(value-&gt;unit == CSSPrimitiveValue::CSS_IDENT || value-&gt;unit == CSSPrimitiveValue::CSS_STRING);
-    return equalIgnoringCase(value-&gt;string, b);
</del><ins>+    ASSERT(value.unit == CSSPrimitiveValue::CSS_IDENT || value.unit == CSSPrimitiveValue::CSS_STRING);
+    return equalIgnoringCase(value.string, b);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static bool hasPrefix(const char* string, unsigned length, const char* prefix)
</span><span class="lines">@@ -300,9 +300,9 @@
</span><span class="cx">     : m_context(context)
</span><span class="cx">     , m_important(false)
</span><span class="cx">     , m_id(CSSPropertyInvalid)
</span><del>-    , m_styleSheet(0)
</del><ins>+    , m_styleSheet(nullptr)
</ins><span class="cx">     , m_supportsCondition(false)
</span><del>-    , m_selectorListForParseSelector(0)
</del><ins>+    , m_selectorListForParseSelector(nullptr)
</ins><span class="cx">     , m_numParsedPropertiesBeforeMarginBox(INVALID_NUM_PARSED_PROPERTIES)
</span><span class="cx">     , m_inParseShorthand(0)
</span><span class="cx">     , m_currentShorthand(CSSPropertyInvalid)
</span><span class="lines">@@ -315,11 +315,11 @@
</span><span class="cx">     , m_parsedTextPrefixLength(0)
</span><span class="cx">     , m_nestedSelectorLevel(0)
</span><span class="cx">     , m_propertyRange(UINT_MAX, UINT_MAX)
</span><del>-    , m_ruleSourceDataResult(0)
</del><ins>+    , m_ruleSourceDataResult(nullptr)
</ins><span class="cx">     , m_parsingMode(NormalMode)
</span><span class="cx">     , m_is8BitSource(false)
</span><del>-    , m_currentCharacter8(0)
-    , m_currentCharacter16(0)
</del><ins>+    , m_currentCharacter8(nullptr)
+    , m_currentCharacter16(nullptr)
</ins><span class="cx">     , m_length(0)
</span><span class="cx">     , m_token(0)
</span><span class="cx">     , m_lineNumber(0)
</span><span class="lines">@@ -334,7 +334,7 @@
</span><span class="cx"> #if YYDEBUG &gt; 0
</span><span class="cx">     cssyydebug = 1;
</span><span class="cx"> #endif
</span><del>-    m_tokenStart.ptr8 = 0;
</del><ins>+    m_tokenStart.ptr8 = nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CSSParser::~CSSParser()
</span><span class="lines">@@ -352,10 +352,10 @@
</span><span class="cx"> 
</span><span class="cx">     if (charactersAreAllASCII(input, length)) {
</span><span class="cx">         // Fast case for all-ASCII.
</span><del>-        for (unsigned i = 0; i &lt; length; i++)
</del><ins>+        for (unsigned i = 0; i &lt; length; ++i)
</ins><span class="cx">             output[i] = toASCIILower(input[i]);
</span><span class="cx">     } else {
</span><del>-        for (unsigned i = 0; i &lt; length; i++) {
</del><ins>+        for (unsigned i = 0; i &lt; length; ++i) {
</ins><span class="cx">             ASSERT(u_tolower(input[i]) &lt;= 0xFFFF);
</span><span class="cx">             output[i] = u_tolower(input[i]);
</span><span class="cx">         }
</span><span class="lines">@@ -381,7 +381,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (!stringLength || string.is8Bit()) {
</span><span class="cx">         m_dataStart8 = std::make_unique&lt;LChar[]&gt;(length);
</span><del>-        for (unsigned i = 0; i &lt; m_parsedTextPrefixLength; i++)
</del><ins>+        for (unsigned i = 0; i &lt; m_parsedTextPrefixLength; ++i)
</ins><span class="cx">             m_dataStart8[i] = prefix[i];
</span><span class="cx"> 
</span><span class="cx">         if (stringLength)
</span><span class="lines">@@ -392,18 +392,18 @@
</span><span class="cx">         for (unsigned i = start; i &lt; end; i++)
</span><span class="cx">             m_dataStart8[i] = suffix[i - start];
</span><span class="cx"> 
</span><del>-        m_dataStart8[length - 1] = 0;
</del><ins>+        m_dataStart8[length - 1] = '\0';
</ins><span class="cx"> 
</span><span class="cx">         m_is8BitSource = true;
</span><span class="cx">         m_currentCharacter8 = m_dataStart8.get();
</span><del>-        m_currentCharacter16 = 0;
</del><ins>+        m_currentCharacter16 = nullptr;
</ins><span class="cx">         setTokenStart&lt;LChar&gt;(m_currentCharacter8);
</span><span class="cx">         m_lexFunc = &amp;CSSParser::realLex&lt;LChar&gt;;
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_dataStart16 = std::make_unique&lt;UChar[]&gt;(length);
</span><del>-    for (unsigned i = 0; i &lt; m_parsedTextPrefixLength; i++)
</del><ins>+    for (unsigned i = 0; i &lt; m_parsedTextPrefixLength; ++i)
</ins><span class="cx">         m_dataStart16[i] = prefix[i];
</span><span class="cx"> 
</span><span class="cx">     ASSERT(stringLength);
</span><span class="lines">@@ -414,10 +414,10 @@
</span><span class="cx">     for (unsigned i = start; i &lt; end; i++)
</span><span class="cx">         m_dataStart16[i] = suffix[i - start];
</span><span class="cx"> 
</span><del>-    m_dataStart16[length - 1] = 0;
</del><ins>+    m_dataStart16[length - 1] = '\0';
</ins><span class="cx"> 
</span><span class="cx">     m_is8BitSource = false;
</span><del>-    m_currentCharacter8 = 0;
</del><ins>+    m_currentCharacter8 = nullptr;
</ins><span class="cx">     m_currentCharacter16 = m_dataStart16.get();
</span><span class="cx">     setTokenStart&lt;UChar&gt;(m_currentCharacter16);
</span><span class="cx">     m_lexFunc = &amp;CSSParser::realLex&lt;UChar&gt;;
</span><span class="lines">@@ -438,8 +438,8 @@
</span><span class="cx">     cssyyparse(this);
</span><span class="cx">     sheet-&gt;shrinkToFit();
</span><span class="cx">     m_currentRuleDataStack.reset();
</span><del>-    m_ruleSourceDataResult = 0;
-    m_rule = 0;
</del><ins>+    m_ruleSourceDataResult = nullptr;
+    m_rule = nullptr;
</ins><span class="cx">     m_ignoreErrorsInDeclaration = false;
</span><span class="cx">     m_logErrors = false;
</span><span class="cx"> }
</span><span class="lines">@@ -1198,7 +1198,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template &lt;typename CharacterType&gt;
</span><del>-static bool parseTransformTranslateArguments(WebKitCSSTransformValue* transformValue, CharacterType* characters, unsigned length, unsigned start, unsigned expectedCount)
</del><ins>+static bool parseTransformTranslateArguments(WebKitCSSTransformValue&amp; transformValue, CharacterType* characters, unsigned length, unsigned start, unsigned expectedCount)
</ins><span class="cx"> {
</span><span class="cx">     while (expectedCount) {
</span><span class="cx">         size_t end = WTF::find(characters, length, expectedCount == 1 ? ')' : ',', start);
</span><span class="lines">@@ -1211,7 +1211,7 @@
</span><span class="cx">             return false;
</span><span class="cx">         if (unit != CSSPrimitiveValue::CSS_PX &amp;&amp; (number || unit != CSSPrimitiveValue::CSS_NUMBER))
</span><span class="cx">             return false;
</span><del>-        transformValue-&gt;append(cssValuePool().createValue(number, CSSPrimitiveValue::CSS_PX));
</del><ins>+        transformValue.append(cssValuePool().createValue(number, CSSPrimitiveValue::CSS_PX));
</ins><span class="cx">         start = end + 1;
</span><span class="cx">         --expectedCount;
</span><span class="cx">     }
</span><span class="lines">@@ -1254,9 +1254,9 @@
</span><span class="cx">     RefPtr&lt;WebKitCSSTransformValue&gt; transformValue = WebKitCSSTransformValue::create(transformType);
</span><span class="cx">     bool success;
</span><span class="cx">     if (string.is8Bit())
</span><del>-        success = parseTransformTranslateArguments(transformValue.get(), string.characters8(), string.length(), argumentStart, expectedArgumentCount);
</del><ins>+        success = parseTransformTranslateArguments(*transformValue, string.characters8(), string.length(), argumentStart, expectedArgumentCount);
</ins><span class="cx">     else
</span><del>-        success = parseTransformTranslateArguments(transformValue.get(), string.characters16(), string.length(), argumentStart, expectedArgumentCount);
</del><ins>+        success = parseTransformTranslateArguments(*transformValue, string.characters16(), string.length(), argumentStart, expectedArgumentCount);
</ins><span class="cx">     if (!success)
</span><span class="cx">         return false;
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; result = CSSValueList::createSpaceSeparated();
</span><span class="lines">@@ -1268,14 +1268,14 @@
</span><span class="cx"> PassRefPtr&lt;CSSValueList&gt; CSSParser::parseFontFaceValue(const AtomicString&amp; string)
</span><span class="cx"> {
</span><span class="cx">     if (string.isEmpty())
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     RefPtr&lt;MutableStyleProperties&gt; dummyStyle = MutableStyleProperties::create();
</span><del>-    if (!parseValue(dummyStyle.get(), CSSPropertyFontFamily, string, false, CSSQuirksMode, 0))
-        return 0;
</del><ins>+    if (!parseValue(dummyStyle.get(), CSSPropertyFontFamily, string, false, CSSQuirksMode, nullptr))
+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSValue&gt; fontFamily = dummyStyle-&gt;getPropertyCSSValue(CSSPropertyFontFamily);
</span><span class="cx">     if (!fontFamily-&gt;isValueList())
</span><del>-        return 0; // FIXME: &quot;initial&quot; and &quot;inherit&quot; should be parsed as font names in the face attribute.
</del><ins>+        return nullptr; // FIXME: &quot;initial&quot; and &quot;inherit&quot; should be parsed as font names in the face attribute.
</ins><span class="cx">     return static_pointer_cast&lt;CSSValueList&gt;(fontFamily.release());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1313,7 +1313,7 @@
</span><span class="cx"> 
</span><span class="cx">     cssyyparse(this);
</span><span class="cx"> 
</span><del>-    m_rule = 0;
</del><ins>+    m_rule = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     bool ok = false;
</span><span class="cx">     if (m_hasFontFaceOnlyValues)
</span><span class="lines">@@ -1341,11 +1341,11 @@
</span><span class="cx">     if (!parser.parseColor(string))
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    CSSValue* value = parser.m_parsedProperties.first().value();
-    if (!is&lt;CSSPrimitiveValue&gt;(*value))
</del><ins>+    CSSValue&amp; value = *parser.m_parsedProperties.first().value();
+    if (!is&lt;CSSPrimitiveValue&gt;(value))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    CSSPrimitiveValue&amp; primitiveValue = downcast&lt;CSSPrimitiveValue&gt;(*value);
</del><ins>+    CSSPrimitiveValue&amp; primitiveValue = downcast&lt;CSSPrimitiveValue&gt;(value);
</ins><span class="cx">     if (!primitiveValue.isRGBColor())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="lines">@@ -1357,7 +1357,7 @@
</span><span class="cx"> {
</span><span class="cx">     setupParser(&quot;@-webkit-decls{color:&quot;, string, &quot;} &quot;);
</span><span class="cx">     cssyyparse(this);
</span><del>-    m_rule = 0;
</del><ins>+    m_rule = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     return !m_parsedProperties.isEmpty() &amp;&amp; m_parsedProperties.first().id() == CSSPropertyColor;
</span><span class="cx"> }
</span><span class="lines">@@ -1389,7 +1389,7 @@
</span><span class="cx"> 
</span><span class="cx">     cssyyparse(this);
</span><span class="cx"> 
</span><del>-    m_selectorListForParseSelector = 0;
</del><ins>+    m_selectorListForParseSelector = nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRef&lt;ImmutableStyleProperties&gt; CSSParser::parseInlineStyleDeclaration(const String&amp; string, Element* element)
</span><span class="lines">@@ -1405,7 +1405,7 @@
</span><span class="cx"> 
</span><span class="cx">     setupParser(&quot;@-webkit-decls{&quot;, string, &quot;} &quot;);
</span><span class="cx">     cssyyparse(this);
</span><del>-    m_rule = 0;
</del><ins>+    m_rule = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (m_hasFontFaceOnlyValues)
</span><span class="cx">         deleteFontFaceOnlyValues();
</span><span class="lines">@@ -1431,7 +1431,7 @@
</span><span class="cx"> 
</span><span class="cx">     setupParser(&quot;@-webkit-decls{&quot;, string, &quot;} &quot;);
</span><span class="cx">     cssyyparse(this);
</span><del>-    m_rule = 0;
</del><ins>+    m_rule = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     bool ok = false;
</span><span class="cx">     if (m_hasFontFaceOnlyValues)
</span><span class="lines">@@ -1581,7 +1581,7 @@
</span><span class="cx">     return completeURL(m_context, url);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::validCalculationUnit(CSSParserValue* value, Units unitflags, ReleaseParsedCalcValueCondition releaseCalc)
</del><ins>+bool CSSParser::validCalculationUnit(CSSParserValue&amp; value, Units unitflags, ReleaseParsedCalcValueCondition releaseCalc)
</ins><span class="cx"> {
</span><span class="cx">     bool mustBeNonNegative = unitflags &amp; FNonNeg;
</span><span class="cx"> 
</span><span class="lines">@@ -1628,29 +1628,29 @@
</span><span class="cx">     return b;    
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline bool CSSParser::shouldAcceptUnitLessValues(CSSParserValue* value, Units unitflags, CSSParserMode cssParserMode)
</del><ins>+inline bool CSSParser::shouldAcceptUnitLessValues(CSSParserValue&amp; value, Units unitflags, CSSParserMode cssParserMode)
</ins><span class="cx"> {
</span><span class="cx">     // Qirks mode and svg presentation attributes accept unit less values.
</span><del>-    return (unitflags &amp; (FLength | FAngle | FTime)) &amp;&amp; (!value-&gt;fValue || cssParserMode == CSSQuirksMode || cssParserMode == SVGAttributeMode);
</del><ins>+    return (unitflags &amp; (FLength | FAngle | FTime)) &amp;&amp; (!value.fValue || cssParserMode == CSSQuirksMode || cssParserMode == SVGAttributeMode);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::validUnit(CSSParserValue* value, Units unitflags, CSSParserMode cssParserMode, ReleaseParsedCalcValueCondition releaseCalc)
</del><ins>+bool CSSParser::validUnit(CSSParserValue&amp; value, Units unitflags, CSSParserMode cssParserMode, ReleaseParsedCalcValueCondition releaseCalc)
</ins><span class="cx"> {
</span><span class="cx">     if (isCalculation(value))
</span><span class="cx">         return validCalculationUnit(value, unitflags, releaseCalc);
</span><span class="cx">         
</span><span class="cx">     bool b = false;
</span><del>-    switch (value-&gt;unit) {
</del><ins>+    switch (value.unit) {
</ins><span class="cx">     case CSSPrimitiveValue::CSS_NUMBER:
</span><span class="cx">         b = (unitflags &amp; FNumber);
</span><span class="cx">         if (!b &amp;&amp; shouldAcceptUnitLessValues(value, unitflags, cssParserMode)) {
</span><del>-            value-&gt;unit = (unitflags &amp; FLength) ? CSSPrimitiveValue::CSS_PX :
</del><ins>+            value.unit = (unitflags &amp; FLength) ? CSSPrimitiveValue::CSS_PX :
</ins><span class="cx">                           ((unitflags &amp; FAngle) ? CSSPrimitiveValue::CSS_DEG : CSSPrimitiveValue::CSS_MS);
</span><span class="cx">             b = true;
</span><span class="cx">         }
</span><del>-        if (!b &amp;&amp; (unitflags &amp; FInteger) &amp;&amp; value-&gt;isInt)
</del><ins>+        if (!b &amp;&amp; (unitflags &amp; FInteger) &amp;&amp; value.isInt)
</ins><span class="cx">             b = true;
</span><del>-        if (!b &amp;&amp; (unitflags &amp; FPositiveInteger) &amp;&amp; value-&gt;isInt &amp;&amp; value-&gt;fValue &gt; 0)
</del><ins>+        if (!b &amp;&amp; (unitflags &amp; FPositiveInteger) &amp;&amp; value.isInt &amp;&amp; value.fValue &gt; 0)
</ins><span class="cx">             b = true;
</span><span class="cx">         break;
</span><span class="cx">     case CSSPrimitiveValue::CSS_PERCENTAGE:
</span><span class="lines">@@ -1696,14 +1696,14 @@
</span><span class="cx">     default:
</span><span class="cx">         break;
</span><span class="cx">     }
</span><del>-    if (b &amp;&amp; unitflags &amp; FNonNeg &amp;&amp; value-&gt;fValue &lt; 0)
</del><ins>+    if (b &amp;&amp; unitflags &amp; FNonNeg &amp;&amp; value.fValue &lt; 0)
</ins><span class="cx">         b = false;
</span><del>-    if (b &amp;&amp; std::isinf(value-&gt;fValue))
</del><ins>+    if (b &amp;&amp; std::isinf(value.fValue))
</ins><span class="cx">         b = false;
</span><span class="cx">     return b;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline PassRef&lt;CSSPrimitiveValue&gt; CSSParser::createPrimitiveNumericValue(CSSParserValue* value)
</del><ins>+inline PassRef&lt;CSSPrimitiveValue&gt; CSSParser::createPrimitiveNumericValue(CSSParserValue&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     if (m_parsedCalculation) {
</span><span class="cx">         ASSERT(isCalculation(value));
</span><span class="lines">@@ -1711,22 +1711,22 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_IMAGE_RESOLUTION) || ENABLE(RESOLUTION_MEDIA_QUERY)
</span><del>-    ASSERT((value-&gt;unit &gt;= CSSPrimitiveValue::CSS_NUMBER &amp;&amp; value-&gt;unit &lt;= CSSPrimitiveValue::CSS_KHZ)
-        || (value-&gt;unit &gt;= CSSPrimitiveValue::CSS_TURN &amp;&amp; value-&gt;unit &lt;= CSSPrimitiveValue::CSS_CHS)
-        || (value-&gt;unit &gt;= CSSPrimitiveValue::CSS_VW &amp;&amp; value-&gt;unit &lt;= CSSPrimitiveValue::CSS_VMAX)
-        || (value-&gt;unit &gt;= CSSPrimitiveValue::CSS_DPPX &amp;&amp; value-&gt;unit &lt;= CSSPrimitiveValue::CSS_DPCM));
</del><ins>+    ASSERT((value.unit &gt;= CSSPrimitiveValue::CSS_NUMBER &amp;&amp; value.unit &lt;= CSSPrimitiveValue::CSS_KHZ)
+        || (value.unit &gt;= CSSPrimitiveValue::CSS_TURN &amp;&amp; value.unit &lt;= CSSPrimitiveValue::CSS_CHS)
+        || (value.unit &gt;= CSSPrimitiveValue::CSS_VW &amp;&amp; value.unit &lt;= CSSPrimitiveValue::CSS_VMAX)
+        || (value.unit &gt;= CSSPrimitiveValue::CSS_DPPX &amp;&amp; value.unit &lt;= CSSPrimitiveValue::CSS_DPCM));
</ins><span class="cx"> #else
</span><del>-    ASSERT((value-&gt;unit &gt;= CSSPrimitiveValue::CSS_NUMBER &amp;&amp; value-&gt;unit &lt;= CSSPrimitiveValue::CSS_KHZ)
-        || (value-&gt;unit &gt;= CSSPrimitiveValue::CSS_TURN &amp;&amp; value-&gt;unit &lt;= CSSPrimitiveValue::CSS_CHS)
-        || (value-&gt;unit &gt;= CSSPrimitiveValue::CSS_VW &amp;&amp; value-&gt;unit &lt;= CSSPrimitiveValue::CSS_VMAX));
</del><ins>+    ASSERT((value.unit &gt;= CSSPrimitiveValue::CSS_NUMBER &amp;&amp; value.unit &lt;= CSSPrimitiveValue::CSS_KHZ)
+        || (value.unit &gt;= CSSPrimitiveValue::CSS_TURN &amp;&amp; value.unit &lt;= CSSPrimitiveValue::CSS_CHS)
+        || (value.unit &gt;= CSSPrimitiveValue::CSS_VW &amp;&amp; value.unit &lt;= CSSPrimitiveValue::CSS_VMAX));
</ins><span class="cx"> #endif
</span><del>-    return cssValuePool().createValue(value-&gt;fValue, static_cast&lt;CSSPrimitiveValue::UnitTypes&gt;(value-&gt;unit));
</del><ins>+    return cssValuePool().createValue(value.fValue, static_cast&lt;CSSPrimitiveValue::UnitTypes&gt;(value.unit));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline PassRef&lt;CSSPrimitiveValue&gt; CSSParser::createPrimitiveStringValue(CSSParserValue* value)
</del><ins>+inline PassRef&lt;CSSPrimitiveValue&gt; CSSParser::createPrimitiveStringValue(CSSParserValue&amp; value)
</ins><span class="cx"> {
</span><del>-    ASSERT(value-&gt;unit == CSSPrimitiveValue::CSS_STRING || value-&gt;unit == CSSPrimitiveValue::CSS_IDENT);
-    return cssValuePool().createValue(value-&gt;string, CSSPrimitiveValue::CSS_STRING);
</del><ins>+    ASSERT(value.unit == CSSPrimitiveValue::CSS_STRING || value.unit == CSSPrimitiveValue::CSS_IDENT);
+    return cssValuePool().createValue(value.string, CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline bool isComma(CSSParserValue* value)
</span><span class="lines">@@ -1734,51 +1734,50 @@
</span><span class="cx">     return value &amp;&amp; value-&gt;unit == CSSParserValue::Operator &amp;&amp; value-&gt;iValue == ','; 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline bool isForwardSlashOperator(CSSParserValue* value)
</del><ins>+static inline bool isForwardSlashOperator(CSSParserValue&amp; value)
</ins><span class="cx"> {
</span><del>-    ASSERT(value);
-    return value-&gt;unit == CSSParserValue::Operator &amp;&amp; value-&gt;iValue == '/';
</del><ins>+    return value.unit == CSSParserValue::Operator &amp;&amp; value.iValue == '/';
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::validWidth(CSSParserValue* value)
</del><ins>+bool CSSParser::validWidth(CSSParserValue&amp; value)
</ins><span class="cx"> {
</span><del>-    int id = value-&gt;id;
</del><ins>+    int id = value.id;
</ins><span class="cx">     if (id == CSSValueIntrinsic || id == CSSValueMinIntrinsic || id == CSSValueWebkitMinContent || id == CSSValueWebkitMaxContent || id == CSSValueWebkitFillAvailable || id == CSSValueWebkitFitContent)
</span><span class="cx">         return true;
</span><span class="cx">     return !id &amp;&amp; validUnit(value, FLength | FPercent | FNonNeg);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: Combine this with validWidth when we support fit-content, et al, for heights.
</span><del>-bool CSSParser::validHeight(CSSParserValue* value)
</del><ins>+bool CSSParser::validHeight(CSSParserValue&amp; value)
</ins><span class="cx"> {
</span><del>-    int id = value-&gt;id;
</del><ins>+    int id = value.id;
</ins><span class="cx">     if (id == CSSValueIntrinsic || id == CSSValueMinIntrinsic)
</span><span class="cx">         return true;
</span><span class="cx">     return !id &amp;&amp; validUnit(value, FLength | FPercent | FNonNeg);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline PassRefPtr&lt;CSSPrimitiveValue&gt; CSSParser::parseValidPrimitive(CSSValueID identifier, CSSParserValue* value)
</del><ins>+inline PassRefPtr&lt;CSSPrimitiveValue&gt; CSSParser::parseValidPrimitive(CSSValueID identifier, CSSParserValue&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     if (identifier)
</span><span class="cx">         return cssValuePool().createIdentifierValue(identifier);
</span><del>-    if (value-&gt;unit == CSSPrimitiveValue::CSS_STRING)
</del><ins>+    if (value.unit == CSSPrimitiveValue::CSS_STRING)
</ins><span class="cx">         return createPrimitiveStringValue(value);
</span><del>-    if (value-&gt;unit &gt;= CSSPrimitiveValue::CSS_NUMBER &amp;&amp; value-&gt;unit &lt;= CSSPrimitiveValue::CSS_KHZ)
</del><ins>+    if (value.unit &gt;= CSSPrimitiveValue::CSS_NUMBER &amp;&amp; value.unit &lt;= CSSPrimitiveValue::CSS_KHZ)
</ins><span class="cx">         return createPrimitiveNumericValue(value);
</span><del>-    if (value-&gt;unit &gt;= CSSPrimitiveValue::CSS_TURN &amp;&amp; value-&gt;unit &lt;= CSSPrimitiveValue::CSS_CHS)
</del><ins>+    if (value.unit &gt;= CSSPrimitiveValue::CSS_TURN &amp;&amp; value.unit &lt;= CSSPrimitiveValue::CSS_CHS)
</ins><span class="cx">         return createPrimitiveNumericValue(value);
</span><del>-    if (value-&gt;unit &gt;= CSSPrimitiveValue::CSS_VW &amp;&amp; value-&gt;unit &lt;= CSSPrimitiveValue::CSS_VMAX)
</del><ins>+    if (value.unit &gt;= CSSPrimitiveValue::CSS_VW &amp;&amp; value.unit &lt;= CSSPrimitiveValue::CSS_VMAX)
</ins><span class="cx">         return createPrimitiveNumericValue(value);
</span><span class="cx"> #if ENABLE(CSS_IMAGE_RESOLUTION) || ENABLE(RESOLUTION_MEDIA_QUERY)
</span><del>-    if (value-&gt;unit &gt;= CSSPrimitiveValue::CSS_DPPX &amp;&amp; value-&gt;unit &lt;= CSSPrimitiveValue::CSS_DPCM)
</del><ins>+    if (value.unit &gt;= CSSPrimitiveValue::CSS_DPPX &amp;&amp; value.unit &lt;= CSSPrimitiveValue::CSS_DPCM)
</ins><span class="cx">         return createPrimitiveNumericValue(value);
</span><span class="cx"> #endif
</span><del>-    if (value-&gt;unit &gt;= CSSParserValue::Q_EMS)
-        return CSSPrimitiveValue::createAllowingMarginQuirk(value-&gt;fValue, CSSPrimitiveValue::CSS_EMS);
</del><ins>+    if (value.unit &gt;= CSSParserValue::Q_EMS)
+        return CSSPrimitiveValue::createAllowingMarginQuirk(value.fValue, CSSPrimitiveValue::CSS_EMS);
</ins><span class="cx">     if (isCalculation(value))
</span><span class="cx">         return CSSPrimitiveValue::create(m_parsedCalculation.release());
</span><span class="cx"> 
</span><del>-    return 0;
</del><ins>+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CSSParser::addExpandedPropertyForValue(CSSPropertyID propId, PassRefPtr&lt;CSSValue&gt; prpValue, bool important)
</span><span class="lines">@@ -1933,7 +1932,7 @@
</span><span class="cx">     }
</span><span class="cx">     case CSSPropertyWebkitBorderHorizontalSpacing:
</span><span class="cx">     case CSSPropertyWebkitBorderVerticalSpacing:
</span><del>-        validPrimitive = validUnit(value, FLength | FNonNeg);
</del><ins>+        validPrimitive = validUnit(*value, FLength | FNonNeg);
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyOutlineColor:        // &lt;color&gt; | invert | inherit
</span><span class="cx">         // Outline color has &quot;invert&quot; as additional keyword.
</span><span class="lines">@@ -1987,7 +1986,7 @@
</span><span class="cx">         // -webkit-zoom-out ] ] | inherit
</span><span class="cx">         RefPtr&lt;CSSValueList&gt; list;
</span><span class="cx">         while (value) {
</span><del>-            RefPtr&lt;CSSValue&gt; image = 0;
</del><ins>+            RefPtr&lt;CSSValue&gt; image;
</ins><span class="cx">             if (value-&gt;unit == CSSPrimitiveValue::CSS_URI) {
</span><span class="cx">                 String uri = value-&gt;string;
</span><span class="cx">                 if (!uri.isNull())
</span><span class="lines">@@ -2117,8 +2116,8 @@
</span><span class="cx">         } else if (value-&gt;unit == CSSPrimitiveValue::CSS_URI) {
</span><span class="cx">             parsedValue = CSSImageValue::create(completeURL(value-&gt;string));
</span><span class="cx">             m_valueList-&gt;next();
</span><del>-        } else if (isGeneratedImageValue(value)) {
-            if (parseGeneratedImage(m_valueList.get(), parsedValue))
</del><ins>+        } else if (isGeneratedImageValue(*value)) {
+            if (parseGeneratedImage(*m_valueList, parsedValue))
</ins><span class="cx">                 m_valueList-&gt;next();
</span><span class="cx">             else
</span><span class="cx">                 return false;
</span><span class="lines">@@ -2147,21 +2146,21 @@
</span><span class="cx">         if (id == CSSValueThin || id == CSSValueMedium || id == CSSValueThick)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = validUnit(value, FLength | FNonNeg);
</del><ins>+            validPrimitive = validUnit(*value, FLength | FNonNeg);
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyLetterSpacing:       // normal | &lt;length&gt; | inherit
</span><span class="cx">         if (id == CSSValueNormal)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = validUnit(value, FLength);
</del><ins>+            validPrimitive = validUnit(*value, FLength);
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyWordSpacing:         // normal | &lt;length&gt; | &lt;percentage&gt; | inherit
</span><span class="cx">         if (id == CSSValueNormal)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = validUnit(value, FLength | FPercent);
</del><ins>+            validPrimitive = validUnit(*value, FLength | FPercent);
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyTextIndent:
</span><span class="lines">@@ -2176,37 +2175,37 @@
</span><span class="cx">     case CSSPropertyWebkitPaddingEnd:
</span><span class="cx">     case CSSPropertyWebkitPaddingBefore:
</span><span class="cx">     case CSSPropertyWebkitPaddingAfter:
</span><del>-        validPrimitive = (!id &amp;&amp; validUnit(value, FLength | FPercent | FNonNeg));
</del><ins>+        validPrimitive = (!id &amp;&amp; validUnit(*value, FLength | FPercent | FNonNeg));
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyMaxWidth:
</span><span class="cx">     case CSSPropertyWebkitMaxLogicalWidth:
</span><del>-        validPrimitive = (id == CSSValueNone || validWidth(value));
</del><ins>+        validPrimitive = (id == CSSValueNone || validWidth(*value));
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyMinWidth:
</span><span class="cx">     case CSSPropertyWebkitMinLogicalWidth:
</span><del>-        validPrimitive = validWidth(value);
</del><ins>+        validPrimitive = validWidth(*value);
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyWidth:
</span><span class="cx">     case CSSPropertyWebkitLogicalWidth:
</span><del>-        validPrimitive = (id == CSSValueAuto || validWidth(value));
</del><ins>+        validPrimitive = (id == CSSValueAuto || validWidth(*value));
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyMaxHeight:
</span><span class="cx">     case CSSPropertyWebkitMaxLogicalHeight:
</span><del>-        validPrimitive = (id == CSSValueNone || validHeight(value));
</del><ins>+        validPrimitive = (id == CSSValueNone || validHeight(*value));
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyMinHeight:
</span><span class="cx">     case CSSPropertyWebkitMinLogicalHeight:
</span><del>-        validPrimitive = validHeight(value);
</del><ins>+        validPrimitive = validHeight(*value);
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyHeight:
</span><span class="cx">     case CSSPropertyWebkitLogicalHeight:
</span><del>-        validPrimitive = (id == CSSValueAuto || validHeight(value));
</del><ins>+        validPrimitive = (id == CSSValueAuto || validHeight(*value));
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyFontSize:
</span><span class="lines">@@ -2222,7 +2221,7 @@
</span><span class="cx">         if (id &gt;= CSSValueBaseline &amp;&amp; id &lt;= CSSValueWebkitBaselineMiddle)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = (!id &amp;&amp; validUnit(value, FLength | FPercent));
</del><ins>+            validPrimitive = (!id &amp;&amp; validUnit(*value, FLength | FPercent));
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyBottom:               // &lt;length&gt; | &lt;percentage&gt; | auto | inherit
</span><span class="lines">@@ -2240,14 +2239,14 @@
</span><span class="cx">         if (id == CSSValueAuto)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = (!id &amp;&amp; validUnit(value, FLength | FPercent));
</del><ins>+            validPrimitive = (!id &amp;&amp; validUnit(*value, FLength | FPercent));
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyZIndex:              // auto | &lt;integer&gt; | inherit
</span><span class="cx">         if (id == CSSValueAuto)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = (!id &amp;&amp; validUnit(value, FInteger, CSSQuirksMode));
</del><ins>+            validPrimitive = (!id &amp;&amp; validUnit(*value, FInteger, CSSQuirksMode));
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyOrphans: // &lt;integer&gt; | inherit | auto (We've added support for auto for backwards compatibility)
</span><span class="lines">@@ -2255,7 +2254,7 @@
</span><span class="cx">         if (id == CSSValueAuto)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = (!id &amp;&amp; validUnit(value, FPositiveInteger, CSSQuirksMode));
</del><ins>+            validPrimitive = (!id &amp;&amp; validUnit(*value, FPositiveInteger, CSSQuirksMode));
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyLineHeight:
</span><span class="lines">@@ -2305,7 +2304,7 @@
</span><span class="cx">         if (id == CSSValueNormal || id == CSSValueReset || id == CSSValueDocument)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = (!id &amp;&amp; validUnit(value, FNumber | FPercent | FNonNeg, CSSStrictMode));
</del><ins>+            validPrimitive = (!id &amp;&amp; validUnit(*value, FNumber | FPercent | FNonNeg, CSSStrictMode));
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertySrc: // Only used within @font-face and @-webkit-filter, so cannot use inherit | initial or be !important. This is a list of urls or local references.
</span><span class="lines">@@ -2371,17 +2370,17 @@
</span><span class="cx">     case CSSPropertyBorderBottomRightRadius: {
</span><span class="cx">         if (num != 1 &amp;&amp; num != 2)
</span><span class="cx">             return false;
</span><del>-        validPrimitive = validUnit(value, FLength | FPercent | FNonNeg);
</del><ins>+        validPrimitive = validUnit(*value, FLength | FPercent | FNonNeg);
</ins><span class="cx">         if (!validPrimitive)
</span><span class="cx">             return false;
</span><del>-        RefPtr&lt;CSSPrimitiveValue&gt; parsedValue1 = createPrimitiveNumericValue(value);
</del><ins>+        RefPtr&lt;CSSPrimitiveValue&gt; parsedValue1 = createPrimitiveNumericValue(*value);
</ins><span class="cx">         RefPtr&lt;CSSPrimitiveValue&gt; parsedValue2;
</span><span class="cx">         if (num == 2) {
</span><span class="cx">             value = m_valueList-&gt;next();
</span><del>-            validPrimitive = validUnit(value, FLength | FPercent | FNonNeg);
</del><ins>+            validPrimitive = validUnit(*value, FLength | FPercent | FNonNeg);
</ins><span class="cx">             if (!validPrimitive)
</span><span class="cx">                 return false;
</span><del>-            parsedValue2 = createPrimitiveNumericValue(value);
</del><ins>+            parsedValue2 = createPrimitiveNumericValue(*value);
</ins><span class="cx">         } else
</span><span class="cx">             parsedValue2 = parsedValue1;
</span><span class="cx"> 
</span><span class="lines">@@ -2389,7 +2388,7 @@
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx">     case CSSPropertyTabSize:
</span><del>-        validPrimitive = validUnit(value, FInteger | FNonNeg);
</del><ins>+        validPrimitive = validUnit(*value, FInteger | FNonNeg);
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyWebkitAspectRatio:
</span><span class="cx">         return parseAspectRatio(important);
</span><span class="lines">@@ -2397,7 +2396,7 @@
</span><span class="cx">     case CSSPropertyWebkitBorderRadius:
</span><span class="cx">         return parseBorderRadius(propId, important);
</span><span class="cx">     case CSSPropertyOutlineOffset:
</span><del>-        validPrimitive = validUnit(value, FLength);
</del><ins>+        validPrimitive = validUnit(*value, FLength);
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyTextShadow: // CSS2 property, dropped in CSS2.1, back in CSS3, so treat as CSS3
</span><span class="cx">     case CSSPropertyBoxShadow:
</span><span class="lines">@@ -2405,7 +2404,7 @@
</span><span class="cx">         if (id == CSSValueNone)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else {
</span><del>-            RefPtr&lt;CSSValueList&gt; shadowValueList = parseShadow(m_valueList.get(), propId);
</del><ins>+            RefPtr&lt;CSSValueList&gt; shadowValueList = parseShadow(*m_valueList, propId);
</ins><span class="cx">             if (shadowValueList) {
</span><span class="cx">                 addProperty(propId, shadowValueList.release(), important);
</span><span class="cx">                 m_valueList-&gt;next();
</span><span class="lines">@@ -2420,17 +2419,17 @@
</span><span class="cx">         else {
</span><span class="cx">             if (num != 1 &amp;&amp; num != 2)
</span><span class="cx">                 return false;
</span><del>-            validPrimitive = validUnit(value, FPositiveInteger);
</del><ins>+            validPrimitive = validUnit(*value, FPositiveInteger);
</ins><span class="cx">             if (!validPrimitive)
</span><span class="cx">                 return false;
</span><del>-            RefPtr&lt;CSSPrimitiveValue&gt; parsedValue1 = createPrimitiveNumericValue(value);
</del><ins>+            RefPtr&lt;CSSPrimitiveValue&gt; parsedValue1 = createPrimitiveNumericValue(*value);
</ins><span class="cx">             RefPtr&lt;CSSPrimitiveValue&gt; parsedValue2;
</span><span class="cx">             if (num == 2) {
</span><span class="cx">                 value = m_valueList-&gt;next();
</span><del>-                validPrimitive = validUnit(value, FPositiveInteger);
</del><ins>+                validPrimitive = validUnit(*value, FPositiveInteger);
</ins><span class="cx">                 if (!validPrimitive)
</span><span class="cx">                     return false;
</span><del>-                parsedValue2 = createPrimitiveNumericValue(value);
</del><ins>+                parsedValue2 = createPrimitiveNumericValue(*value);
</ins><span class="cx">             } else
</span><span class="cx">                 parsedValue2 = parsedValue1;
</span><span class="cx">             addProperty(propId, createPrimitiveValuePair(parsedValue1.release(), parsedValue2.release()), important);
</span><span class="lines">@@ -2445,16 +2444,16 @@
</span><span class="cx">             return parseReflect(propId, important);
</span><span class="cx">         break;
</span><span class="cx">     case CSSPropertyOpacity:
</span><del>-        validPrimitive = validUnit(value, FNumber);
</del><ins>+        validPrimitive = validUnit(*value, FNumber);
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyWebkitBoxFlex:
</span><del>-        validPrimitive = validUnit(value, FNumber);
</del><ins>+        validPrimitive = validUnit(*value, FNumber);
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyWebkitBoxFlexGroup:
</span><del>-        validPrimitive = validUnit(value, FInteger | FNonNeg, CSSStrictMode);
</del><ins>+        validPrimitive = validUnit(*value, FInteger | FNonNeg, CSSStrictMode);
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyWebkitBoxOrdinalGroup:
</span><del>-        validPrimitive = validUnit(value, FInteger | FNonNeg, CSSStrictMode) &amp;&amp; value-&gt;fValue;
</del><ins>+        validPrimitive = validUnit(*value, FInteger | FNonNeg, CSSStrictMode) &amp;&amp; value-&gt;fValue;
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyWebkitFilter:
</span><span class="cx"> #if ENABLE(FILTERS_LEVEL_2)
</span><span class="lines">@@ -2464,7 +2463,7 @@
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else {
</span><span class="cx">             RefPtr&lt;CSSValue&gt; currValue;
</span><del>-            if (!parseFilter(m_valueList.get(), currValue))
</del><ins>+            if (!parseFilter(*m_valueList, currValue))
</ins><span class="cx">                 return false;
</span><span class="cx">             addProperty(propId, currValue, important);
</span><span class="cx">             return true;
</span><span class="lines">@@ -2488,21 +2487,21 @@
</span><span class="cx">             addProperty(CSSPropertyFlexBasis, cssValuePool().createIdentifierValue(CSSValueAuto), important);
</span><span class="cx">             return true;
</span><span class="cx">         }
</span><del>-        return parseFlex(m_valueList.get(), important);
</del><ins>+        return parseFlex(*m_valueList, important);
</ins><span class="cx">     }
</span><span class="cx">     case CSSPropertyFlexBasis:
</span><span class="cx">         // FIXME: Support intrinsic dimensions too.
</span><span class="cx">         if (id == CSSValueAuto)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = (!id &amp;&amp; validUnit(value, FLength | FPercent | FNonNeg));
</del><ins>+            validPrimitive = (!id &amp;&amp; validUnit(*value, FLength | FPercent | FNonNeg));
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyFlexGrow:
</span><span class="cx">     case CSSPropertyFlexShrink:
</span><del>-        validPrimitive = validUnit(value, FNumber | FNonNeg);
</del><ins>+        validPrimitive = validUnit(*value, FNumber | FNonNeg);
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyOrder:
</span><del>-        if (validUnit(value, FInteger, CSSStrictMode)) {
</del><ins>+        if (validUnit(*value, FInteger, CSSStrictMode)) {
</ins><span class="cx">             // We restrict the smallest value to int min + 2 because we use int min and int min + 1 as special values in a hash set.
</span><span class="cx">             double result = std::max&lt;double&gt;(std::numeric_limits&lt;int&gt;::min() + 2, parsedDouble(*value, ReleaseParsedCalcValue));
</span><span class="cx">             parsedValue = cssValuePool().createValue(result, CSSPrimitiveValue::CSS_NUMBER);
</span><span class="lines">@@ -2515,19 +2514,19 @@
</span><span class="cx">         if (id == CSSValueSmall || id == CSSValueLarge || id == CSSValueMedium)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = validUnit(value, FLength | FPercent);
</del><ins>+            validPrimitive = validUnit(*value, FLength | FPercent);
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyWebkitMarqueeRepetition:
</span><span class="cx">         if (id == CSSValueInfinite)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = validUnit(value, FInteger | FNonNeg);
</del><ins>+            validPrimitive = validUnit(*value, FInteger | FNonNeg);
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyWebkitMarqueeSpeed:
</span><span class="cx">         if (id == CSSValueNormal || id == CSSValueSlow || id == CSSValueFast)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = validUnit(value, FTime | FInteger | FNonNeg);
</del><ins>+            validPrimitive = validUnit(*value, FTime | FInteger | FNonNeg);
</ins><span class="cx">         break;
</span><span class="cx"> #if ENABLE(CSS_REGIONS)
</span><span class="cx">     case CSSPropertyWebkitFlowInto:
</span><span class="lines">@@ -2574,8 +2573,8 @@
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else {
</span><span class="cx">             // Accepting valueless numbers is a quirk of the -webkit prefixed version of the property.
</span><del>-            if (validUnit(value, FNumber | FLength | FNonNeg)) {
-                RefPtr&lt;CSSValue&gt; val = createPrimitiveNumericValue(value);
</del><ins>+            if (validUnit(*value, FNumber | FLength | FNonNeg)) {
+                RefPtr&lt;CSSValue&gt; val = createPrimitiveNumericValue(*value);
</ins><span class="cx">                 if (val) {
</span><span class="cx">                     addProperty(propId, val.release(), important);
</span><span class="cx">                     return true;
</span><span class="lines">@@ -2695,19 +2694,19 @@
</span><span class="cx">             id == CSSValueMedium || id == CSSValueThick)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = !id &amp;&amp; validUnit(value, FNumber | FLength | FPercent);
</del><ins>+            validPrimitive = !id &amp;&amp; validUnit(*value, FNumber | FLength | FPercent);
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyColumnCount:
</span><span class="cx">         if (id == CSSValueAuto)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = !id &amp;&amp; validUnit(value, FPositiveInteger, CSSQuirksMode);
</del><ins>+            validPrimitive = !id &amp;&amp; validUnit(*value, FPositiveInteger, CSSQuirksMode);
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyColumnGap: // normal | &lt;length&gt;
</span><span class="cx">         if (id == CSSValueNormal)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = validUnit(value, FLength | FNonNeg);
</del><ins>+            validPrimitive = validUnit(*value, FLength | FNonNeg);
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyWebkitColumnAxis:
</span><span class="cx">         if (id == CSSValueHorizontal || id == CSSValueVertical || id == CSSValueAuto)
</span><span class="lines">@@ -2720,7 +2719,7 @@
</span><span class="cx">     case CSSPropertyColumnSpan: // none | all | 1 (will be dropped in the unprefixed property)
</span><span class="cx">         if (id == CSSValueAll || id == CSSValueNone)
</span><span class="cx">             validPrimitive = true;
</span><del>-        else if (validUnit(value, FNumber | FNonNeg) &amp;&amp; parsedDouble(*value, ReleaseParsedCalcValue) == 1) {
</del><ins>+        else if (validUnit(*value, FNumber | FNonNeg) &amp;&amp; parsedDouble(*value, ReleaseParsedCalcValue) == 1) {
</ins><span class="cx">             addProperty(CSSPropertyColumnSpan, cssValuePool().createValue(1, CSSPrimitiveValue::CSS_NUMBER), important);
</span><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="lines">@@ -2730,7 +2729,7 @@
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else {
</span><span class="cx">             // Always parse this property in strict mode, since it would be ambiguous otherwise when used in the 'columns' shorthand property.
</span><del>-            validPrimitive = validUnit(value, FLength | FNonNeg, CSSStrictMode) &amp;&amp; parsedDouble(*value);
</del><ins>+            validPrimitive = validUnit(*value, FLength | FNonNeg, CSSStrictMode) &amp;&amp; parsedDouble(*value);
</ins><span class="cx">             if (!validPrimitive)
</span><span class="cx">                 m_parsedCalculation.clear();
</span><span class="cx">         }
</span><span class="lines">@@ -2742,7 +2741,7 @@
</span><span class="cx">     case CSSPropertyWebkitLineClamp:
</span><span class="cx">         // When specifying number of lines, don't allow 0 as a valid value
</span><span class="cx">         // When specifying either type of unit, require non-negative integers
</span><del>-        validPrimitive = (!id &amp;&amp; (value-&gt;unit == CSSPrimitiveValue::CSS_PERCENTAGE || value-&gt;fValue) &amp;&amp; validUnit(value, FInteger | FPercent | FNonNeg, CSSQuirksMode));
</del><ins>+        validPrimitive = (!id &amp;&amp; (value-&gt;unit == CSSPrimitiveValue::CSS_PERCENTAGE || value-&gt;fValue) &amp;&amp; validUnit(*value, FInteger | FPercent | FNonNeg, CSSQuirksMode));
</ins><span class="cx">         break;
</span><span class="cx"> #if ENABLE(IOS_TEXT_AUTOSIZING)
</span><span class="cx">     case CSSPropertyWebkitTextSizeAdjust:
</span><span class="lines">@@ -2750,13 +2749,13 @@
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else {
</span><span class="cx">             // FIXME: Handle multilength case where we allow relative units.
</span><del>-            validPrimitive = (!id &amp;&amp; validUnit(value, FPercent | FNonNeg, CSSStrictMode));
</del><ins>+            validPrimitive = (!id &amp;&amp; validUnit(*value, FPercent | FNonNeg, CSSStrictMode));
</ins><span class="cx">         }
</span><span class="cx">         break;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyWebkitFontSizeDelta:           // &lt;length&gt;
</span><del>-        validPrimitive = validUnit(value, FLength);
</del><ins>+        validPrimitive = validUnit(*value, FLength);
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyWebkitHyphenateCharacter:
</span><span class="lines">@@ -2766,12 +2765,12 @@
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyWebkitHyphenateLimitBefore:
</span><span class="cx">     case CSSPropertyWebkitHyphenateLimitAfter:
</span><del>-        if (id == CSSValueAuto || validUnit(value, FInteger | FNonNeg, CSSStrictMode))
</del><ins>+        if (id == CSSValueAuto || validUnit(*value, FInteger | FNonNeg, CSSStrictMode))
</ins><span class="cx">             validPrimitive = true;
</span><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyWebkitHyphenateLimitLines:
</span><del>-        if (id == CSSValueNoLimit || validUnit(value, FInteger | FNonNeg, CSSStrictMode))
</del><ins>+        if (id == CSSValueNoLimit || validUnit(*value, FInteger | FNonNeg, CSSStrictMode))
</ins><span class="cx">             validPrimitive = true;
</span><span class="cx">         break;
</span><span class="cx"> 
</span><span class="lines">@@ -2957,15 +2956,15 @@
</span><span class="cx">         parsedValue = parseShapeProperty(propId);
</span><span class="cx">         break;
</span><span class="cx">     case CSSPropertyWebkitShapeMargin:
</span><del>-        validPrimitive = (RuntimeEnabledFeatures::sharedFeatures().cssShapesEnabled() &amp;&amp; !id &amp;&amp; validUnit(value, FLength | FPercent | FNonNeg));
</del><ins>+        validPrimitive = (RuntimeEnabledFeatures::sharedFeatures().cssShapesEnabled() &amp;&amp; !id &amp;&amp; validUnit(*value, FLength | FPercent | FNonNeg));
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyWebkitShapeImageThreshold:
</span><del>-        validPrimitive = (RuntimeEnabledFeatures::sharedFeatures().cssShapesEnabled() &amp;&amp; !id &amp;&amp; validUnit(value, FNumber));
</del><ins>+        validPrimitive = (RuntimeEnabledFeatures::sharedFeatures().cssShapesEnabled() &amp;&amp; !id &amp;&amp; validUnit(*value, FNumber));
</ins><span class="cx">         break;
</span><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(CSS_IMAGE_ORIENTATION)
</span><span class="cx">     case CSSPropertyImageOrientation:
</span><del>-        validPrimitive = !id &amp;&amp; validUnit(value, FAngle);
</del><ins>+        validPrimitive = !id &amp;&amp; validUnit(*value, FAngle);
</ins><span class="cx">         break;
</span><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(CSS_IMAGE_RESOLUTION)
</span><span class="lines">@@ -3115,7 +3114,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (validPrimitive) {
</span><del>-        parsedValue = parseValidPrimitive(id, value);
</del><ins>+        parsedValue = parseValidPrimitive(id, *value);
</ins><span class="cx">         m_valueList-&gt;next();
</span><span class="cx">     }
</span><span class="cx">     ASSERT(!m_parsedCalculation);
</span><span class="lines">@@ -3169,8 +3168,8 @@
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;CSSPrimitiveValue&gt; position = 0;
-    RefPtr&lt;CSSPrimitiveValue&gt; overflowAlignmentKeyword = 0;
</del><ins>+    RefPtr&lt;CSSPrimitiveValue&gt; position;
+    RefPtr&lt;CSSPrimitiveValue&gt; overflowAlignmentKeyword;
</ins><span class="cx">     if (isItemPositionKeyword(value-&gt;id)) {
</span><span class="cx">         position = cssValuePool().createIdentifierValue(value-&gt;id);
</span><span class="cx">         value = m_valueList-&gt;next();
</span><span class="lines">@@ -3202,11 +3201,11 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static bool parseBackgroundClip(CSSParserValue* parserValue, RefPtr&lt;CSSValue&gt;&amp; cssValue)
</del><ins>+static bool parseBackgroundClip(CSSParserValue&amp; parserValue, RefPtr&lt;CSSValue&gt;&amp; cssValue)
</ins><span class="cx"> {
</span><del>-    if (parserValue-&gt;id == CSSValueBorderBox || parserValue-&gt;id == CSSValuePaddingBox
-        || parserValue-&gt;id == CSSValueContentBox || parserValue-&gt;id == CSSValueWebkitText) {
-        cssValue = cssValuePool().createIdentifierValue(parserValue-&gt;id);
</del><ins>+    if (parserValue.id == CSSValueBorderBox || parserValue.id == CSSValuePaddingBox
+        || parserValue.id == CSSValueContentBox || parserValue.id == CSSValueWebkitText) {
+        cssValue = cssValuePool().createIdentifierValue(parserValue.id);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx">     return false;
</span><span class="lines">@@ -3222,13 +3221,13 @@
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; values = CSSValueList::createSpaceSeparated();
</span><span class="cx">     while (CSSParserValue* val = m_valueList-&gt;current()) {
</span><del>-        if (validUnit(val, FPercent | FLength))
-            values-&gt;append(createPrimitiveNumericValue(val));
</del><ins>+        if (validUnit(*val, FPercent | FLength))
+            values-&gt;append(createPrimitiveNumericValue(*val));
</ins><span class="cx">         else if (val-&gt;unit == CSSParserValue::Function
</span><del>-            &amp;&amp; val-&gt;function-&gt;args != 0
</del><ins>+            &amp;&amp; val-&gt;function-&gt;args
</ins><span class="cx">             &amp;&amp; val-&gt;function-&gt;args-&gt;size() == 1
</span><span class="cx">             &amp;&amp; equalIgnoringCase(val-&gt;function-&gt;name, &quot;repeat(&quot;)) {
</span><del>-            CSSParserValue* parserVal = val-&gt;function-&gt;args.get()-&gt;current();
</del><ins>+            CSSParserValue&amp; parserVal = *val-&gt;function-&gt;args.get()-&gt;current();
</ins><span class="cx">             if (validUnit(parserVal, FLength | FPercent)) {
</span><span class="cx">                 values-&gt;append(cssValuePool().createValue(LengthRepeat::create(createPrimitiveNumericValue(parserVal))));
</span><span class="cx">                 m_valueList-&gt;next();
</span><span class="lines">@@ -3254,14 +3253,14 @@
</span><span class="cx">     if (m_valueList-&gt;size() != 2)
</span><span class="cx">         return false;
</span><span class="cx">     CSSParserValue* curParserVal = m_valueList-&gt;current();
</span><del>-    if (!validUnit(curParserVal, FPercent | FLength))
</del><ins>+    if (!validUnit(*curParserVal, FPercent | FLength))
</ins><span class="cx">         return false;
</span><del>-    RefPtr&lt;CSSValue&gt; cssValueX = createPrimitiveNumericValue(curParserVal);
</del><ins>+    RefPtr&lt;CSSValue&gt; cssValueX = createPrimitiveNumericValue(*curParserVal);
</ins><span class="cx">     m_valueList-&gt;next();
</span><span class="cx">     curParserVal = m_valueList-&gt;current();
</span><del>-    if (!validUnit(curParserVal, FPercent | FLength))
</del><ins>+    if (!validUnit(*curParserVal, FPercent | FLength))
</ins><span class="cx">         return false;
</span><del>-    RefPtr&lt;CSSValue&gt; cssValueY = createPrimitiveNumericValue(curParserVal);
</del><ins>+    RefPtr&lt;CSSValue&gt; cssValueY = createPrimitiveNumericValue(*curParserVal);
</ins><span class="cx">     position-&gt;append(cssValueX.releaseNonNull());
</span><span class="cx">     position-&gt;append(cssValueY.releaseNonNull());
</span><span class="cx">     addProperty(propId, position, important);
</span><span class="lines">@@ -3273,11 +3272,11 @@
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; positions = CSSValueList::createSpaceSeparated();
</span><span class="cx">     while (m_valueList-&gt;current()) {
</span><del>-        CSSParserValue* parsedValueX = m_valueList-&gt;current();
</del><ins>+        CSSParserValue&amp; parsedValueX = *m_valueList-&gt;current();
</ins><span class="cx">         // Don't accept odd-length lists of coordinates.
</span><span class="cx">         if (!m_valueList-&gt;next())
</span><span class="cx">             return false;
</span><del>-        CSSParserValue* parsedValueY = m_valueList-&gt;current();
</del><ins>+        CSSParserValue&amp; parsedValueY = *m_valueList-&gt;current();
</ins><span class="cx">         if (!validUnit(parsedValueX, FPercent | FLength) || !validUnit(parsedValueY, FPercent | FLength))
</span><span class="cx">             return false;
</span><span class="cx">         positions-&gt;append(createPrimitiveNumericValue(parsedValueX));
</span><span class="lines">@@ -3312,8 +3311,8 @@
</span><span class="cx">     bool foundPositionCSSProperty = false;
</span><span class="cx"> 
</span><span class="cx">     while (m_valueList-&gt;current()) {
</span><del>-        CSSParserValue* val = m_valueList-&gt;current();
-        if (val-&gt;unit == CSSParserValue::Operator &amp;&amp; val-&gt;iValue == ',') {
</del><ins>+        CSSParserValue&amp; currentValue = *m_valueList-&gt;current();
+        if (currentValue.unit == CSSParserValue::Operator &amp;&amp; currentValue.iValue == ',') {
</ins><span class="cx">             // We hit the end.  Fill in all remaining values with the initial value.
</span><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">             for (i = 0; i &lt; numProperties; ++i) {
</span><span class="lines">@@ -3340,7 +3339,7 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         bool sizeCSSPropertyExpected = false;
</span><del>-        if (isForwardSlashOperator(val) &amp;&amp; foundPositionCSSProperty) {
</del><ins>+        if (isForwardSlashOperator(currentValue) &amp;&amp; foundPositionCSSProperty) {
</ins><span class="cx">             sizeCSSPropertyExpected = true;
</span><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">         }
</span><span class="lines">@@ -3358,7 +3357,7 @@
</span><span class="cx">                 RefPtr&lt;CSSValue&gt; val1;
</span><span class="cx">                 RefPtr&lt;CSSValue&gt; val2;
</span><span class="cx">                 CSSPropertyID propId1, propId2;
</span><del>-                CSSParserValue* parserValue = m_valueList-&gt;current();
</del><ins>+                CSSParserValue&amp; parserValue = *m_valueList-&gt;current();
</ins><span class="cx">                 if (parseFillProperty(properties[i], propId1, propId2, val1, val2)) {
</span><span class="cx">                     parsedProperty[i] = found = true;
</span><span class="cx">                     addFillValue(values[i], val1.releaseNonNull());
</span><span class="lines">@@ -3388,7 +3387,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Now add all of the properties we found.
</span><del>-    for (i = 0; i &lt; numProperties; i++) {
</del><ins>+    for (i = 0; i &lt; numProperties; ++i) {
</ins><span class="cx">         // Fill in any remaining properties with the initial value.
</span><span class="cx">         if (!parsedProperty[i]) {
</span><span class="cx">             addFillValue(values[i], cssValuePool().createImplicitInitialValue());
</span><span class="lines">@@ -3578,7 +3577,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Now add all of the properties we found.
</span><del>-    for (i = 0; i &lt; numProperties; i++)
</del><ins>+    for (i = 0; i &lt; numProperties; ++i)
</ins><span class="cx">         addPropertyWithPrefixingVariant(shorthand.properties()[i], values[i].release(), important);
</span><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="lines">@@ -3614,7 +3613,7 @@
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     // Fill in any remaining properties with the initial value.
</span><del>-    ImplicitScope implicitScope(this, PropertyImplicit);
</del><ins>+    ImplicitScope implicitScope(*this, PropertyImplicit);
</ins><span class="cx">     const StylePropertyShorthand* propertiesForInitialization = shorthand.propertiesForInitialization();
</span><span class="cx">     for (unsigned i = 0; i &lt; shorthand.length(); ++i) {
</span><span class="cx">         if (propertyFound[i])
</span><span class="lines">@@ -3651,7 +3650,7 @@
</span><span class="cx">             if (!parseValue(properties[0], important))
</span><span class="cx">                 return false;
</span><span class="cx">             CSSValue* value = m_parsedProperties.last().value();
</span><del>-            ImplicitScope implicitScope(this, PropertyImplicit);
</del><ins>+            ImplicitScope implicitScope(*this, PropertyImplicit);
</ins><span class="cx">             addProperty(properties[1], value, important);
</span><span class="cx">             addProperty(properties[2], value, important);
</span><span class="cx">             addProperty(properties[3], value, important);
</span><span class="lines">@@ -3661,7 +3660,7 @@
</span><span class="cx">             if (!parseValue(properties[0], important) || !parseValue(properties[1], important))
</span><span class="cx">                 return false;
</span><span class="cx">             CSSValue* value = m_parsedProperties[m_parsedProperties.size() - 2].value();
</span><del>-            ImplicitScope implicitScope(this, PropertyImplicit);
</del><ins>+            ImplicitScope implicitScope(*this, PropertyImplicit);
</ins><span class="cx">             addProperty(properties[2], value, important);
</span><span class="cx">             value = m_parsedProperties[m_parsedProperties.size() - 2].value();
</span><span class="cx">             addProperty(properties[3], value, important);
</span><span class="lines">@@ -3671,7 +3670,7 @@
</span><span class="cx">             if (!parseValue(properties[0], important) || !parseValue(properties[1], important) || !parseValue(properties[2], important))
</span><span class="cx">                 return false;
</span><span class="cx">             CSSValue* value = m_parsedProperties[m_parsedProperties.size() - 2].value();
</span><del>-            ImplicitScope implicitScope(this, PropertyImplicit);
</del><ins>+            ImplicitScope implicitScope(*this, PropertyImplicit);
</ins><span class="cx">             addProperty(properties[3], value, important);
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="lines">@@ -3705,7 +3704,7 @@
</span><span class="cx">         addProperty(propId, cssValuePool().createIdentifierValue(value-&gt;id), important);
</span><span class="cx">         return true;
</span><span class="cx">     } else if (value-&gt;id == 0 &amp;&amp; value-&gt;unit == CSSPrimitiveValue::CSS_IDENT) {
</span><del>-        addProperty(propId, createPrimitiveStringValue(value), important);
</del><ins>+        addProperty(propId, createPrimitiveStringValue(*value), important);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx">     return false;
</span><span class="lines">@@ -3726,14 +3725,14 @@
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; parsedValues = CSSValueList::createSpaceSeparated();
</span><span class="cx"> 
</span><span class="cx">     // First parameter.
</span><del>-    SizeParameterType paramType = parseSizeParameter(parsedValues.get(), value, None);
</del><ins>+    SizeParameterType paramType = parseSizeParameter(*parsedValues, *value, None);
</ins><span class="cx">     if (paramType == None)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     // Second parameter, if any.
</span><span class="cx">     value = m_valueList-&gt;next();
</span><span class="cx">     if (value) {
</span><del>-        paramType = parseSizeParameter(parsedValues.get(), value, paramType);
</del><ins>+        paramType = parseSizeParameter(*parsedValues, *value, paramType);
</ins><span class="cx">         if (paramType == None)
</span><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="lines">@@ -3742,19 +3741,19 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-CSSParser::SizeParameterType CSSParser::parseSizeParameter(CSSValueList* parsedValues, CSSParserValue* value, SizeParameterType prevParamType)
</del><ins>+CSSParser::SizeParameterType CSSParser::parseSizeParameter(CSSValueList&amp; parsedValues, CSSParserValue&amp; value, SizeParameterType prevParamType)
</ins><span class="cx"> {
</span><del>-    switch (value-&gt;id) {
</del><ins>+    switch (value.id) {
</ins><span class="cx">     case CSSValueAuto:
</span><span class="cx">         if (prevParamType == None) {
</span><del>-            parsedValues-&gt;append(cssValuePool().createIdentifierValue(value-&gt;id));
</del><ins>+            parsedValues.append(cssValuePool().createIdentifierValue(value.id));
</ins><span class="cx">             return Auto;
</span><span class="cx">         }
</span><span class="cx">         return None;
</span><span class="cx">     case CSSValueLandscape:
</span><span class="cx">     case CSSValuePortrait:
</span><span class="cx">         if (prevParamType == None || prevParamType == PageSize) {
</span><del>-            parsedValues-&gt;append(cssValuePool().createIdentifierValue(value-&gt;id));
</del><ins>+            parsedValues.append(cssValuePool().createIdentifierValue(value.id));
</ins><span class="cx">             return Orientation;
</span><span class="cx">         }
</span><span class="cx">         return None;
</span><span class="lines">@@ -3769,13 +3768,13 @@
</span><span class="cx">         if (prevParamType == None || prevParamType == Orientation) {
</span><span class="cx">             // Normalize to Page Size then Orientation order by prepending.
</span><span class="cx">             // This is not specified by the CSS3 Paged Media specification, but for simpler processing later (StyleResolver::applyPageSizeProperty).
</span><del>-            parsedValues-&gt;prepend(cssValuePool().createIdentifierValue(value-&gt;id));
</del><ins>+            parsedValues.prepend(cssValuePool().createIdentifierValue(value.id));
</ins><span class="cx">             return PageSize;
</span><span class="cx">         }
</span><span class="cx">         return None;
</span><del>-    case 0:
</del><ins>+    case CSSValueInvalid:
</ins><span class="cx">         if (validUnit(value, FLength | FNonNeg) &amp;&amp; (prevParamType == None || prevParamType == Length)) {
</span><del>-            parsedValues-&gt;append(createPrimitiveNumericValue(value));
</del><ins>+            parsedValues.append(createPrimitiveNumericValue(value));
</ins><span class="cx">             return Length;
</span><span class="cx">         }
</span><span class="cx">         return None;
</span><span class="lines">@@ -3789,10 +3788,10 @@
</span><span class="cx"> bool CSSParser::parseQuotes(CSSPropertyID propId, bool important)
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; values = CSSValueList::createCommaSeparated();
</span><del>-    while (CSSParserValue* val = m_valueList-&gt;current()) {
-        if (val-&gt;unit != CSSPrimitiveValue::CSS_STRING)
</del><ins>+    while (CSSParserValue* value = m_valueList-&gt;current()) {
+        if (value-&gt;unit != CSSPrimitiveValue::CSS_STRING)
</ins><span class="cx">             break;
</span><del>-        values-&gt;append(CSSPrimitiveValue::create(val-&gt;string, CSSPrimitiveValue::CSS_STRING));
</del><ins>+        values-&gt;append(CSSPrimitiveValue::create(value-&gt;string, CSSPrimitiveValue::CSS_STRING));
</ins><span class="cx">         m_valueList-&gt;next();
</span><span class="cx">     }
</span><span class="cx">     if (values-&gt;length()) {
</span><span class="lines">@@ -3805,17 +3804,17 @@
</span><span class="cx"> 
</span><span class="cx"> bool CSSParser::parseAlt(CSSPropertyID propID, bool important)
</span><span class="cx"> {
</span><del>-    CSSParserValue* val = m_valueList-&gt;current();
</del><ins>+    CSSParserValue&amp; currentValue = *m_valueList-&gt;current();
</ins><span class="cx">     RefPtr&lt;CSSValue&gt; parsedValue;
</span><span class="cx"> 
</span><del>-    if (val-&gt;unit == CSSPrimitiveValue::CSS_STRING)
-        parsedValue = createPrimitiveStringValue(val);
-    else if (val-&gt;unit == CSSParserValue::Function) {
-        CSSParserValueList* args = val-&gt;function-&gt;args.get();
</del><ins>+    if (currentValue.unit == CSSPrimitiveValue::CSS_STRING)
+        parsedValue = createPrimitiveStringValue(currentValue);
+    else if (currentValue.unit == CSSParserValue::Function) {
+        CSSParserValueList* args = currentValue.function-&gt;args.get();
</ins><span class="cx">         if (!args)
</span><span class="cx">             return false;
</span><del>-        if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;attr(&quot;))
-            parsedValue = parseAttr(args);
</del><ins>+        if (equalIgnoringCase(currentValue.function-&gt;name, &quot;attr(&quot;))
+            parsedValue = parseAttr(*args);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     if (parsedValue) {
</span><span class="lines">@@ -3834,40 +3833,40 @@
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; values = CSSValueList::createCommaSeparated();
</span><span class="cx"> 
</span><del>-    while (CSSParserValue* val = m_valueList-&gt;current()) {
</del><ins>+    while (CSSParserValue* value = m_valueList-&gt;current()) {
</ins><span class="cx">         RefPtr&lt;CSSValue&gt; parsedValue;
</span><del>-        if (val-&gt;unit == CSSPrimitiveValue::CSS_URI) {
</del><ins>+        if (value-&gt;unit == CSSPrimitiveValue::CSS_URI) {
</ins><span class="cx">             // url
</span><del>-            parsedValue = CSSImageValue::create(completeURL(val-&gt;string));
-        } else if (val-&gt;unit == CSSParserValue::Function) {
</del><ins>+            parsedValue = CSSImageValue::create(completeURL(value-&gt;string));
+        } else if (value-&gt;unit == CSSParserValue::Function) {
</ins><span class="cx">             // attr(X) | counter(X [,Y]) | counters(X, Y, [,Z]) | -webkit-gradient(...)
</span><del>-            CSSParserValueList* args = val-&gt;function-&gt;args.get();
</del><ins>+            CSSParserValueList* args = value-&gt;function-&gt;args.get();
</ins><span class="cx">             if (!args)
</span><span class="cx">                 return false;
</span><del>-            if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;attr(&quot;)) {
-                parsedValue = parseAttr(args);
</del><ins>+            if (equalIgnoringCase(value-&gt;function-&gt;name, &quot;attr(&quot;)) {
+                parsedValue = parseAttr(*args);
</ins><span class="cx">                 if (!parsedValue)
</span><span class="cx">                     return false;
</span><del>-            } else if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;counter(&quot;)) {
-                parsedValue = parseCounterContent(args, false);
</del><ins>+            } else if (equalIgnoringCase(value-&gt;function-&gt;name, &quot;counter(&quot;)) {
+                parsedValue = parseCounterContent(*args, false);
</ins><span class="cx">                 if (!parsedValue)
</span><span class="cx">                     return false;
</span><del>-            } else if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;counters(&quot;)) {
-                parsedValue = parseCounterContent(args, true);
</del><ins>+            } else if (equalIgnoringCase(value-&gt;function-&gt;name, &quot;counters(&quot;)) {
+                parsedValue = parseCounterContent(*args, true);
</ins><span class="cx">                 if (!parsedValue)
</span><span class="cx">                     return false;
</span><span class="cx"> #if ENABLE(CSS_IMAGE_SET)
</span><del>-            } else if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-image-set(&quot;)) {
</del><ins>+            } else if (equalIgnoringCase(value-&gt;function-&gt;name, &quot;-webkit-image-set(&quot;)) {
</ins><span class="cx">                 parsedValue = parseImageSet();
</span><span class="cx">                 if (!parsedValue)
</span><span class="cx">                     return false;
</span><span class="cx"> #endif
</span><del>-            } else if (isGeneratedImageValue(val)) {
-                if (!parseGeneratedImage(m_valueList.get(), parsedValue))
</del><ins>+            } else if (isGeneratedImageValue(*value)) {
+                if (!parseGeneratedImage(*m_valueList, parsedValue))
</ins><span class="cx">                     return false;
</span><span class="cx">             } else
</span><span class="cx">                 return false;
</span><del>-        } else if (val-&gt;unit == CSSPrimitiveValue::CSS_IDENT) {
</del><ins>+        } else if (value-&gt;unit == CSSPrimitiveValue::CSS_IDENT) {
</ins><span class="cx">             // open-quote
</span><span class="cx">             // close-quote
</span><span class="cx">             // no-open-quote
</span><span class="lines">@@ -3876,20 +3875,20 @@
</span><span class="cx">             // FIXME: These are not yet implemented (http://bugs.webkit.org/show_bug.cgi?id=6503).
</span><span class="cx">             // none
</span><span class="cx">             // normal
</span><del>-            switch (val-&gt;id) {
</del><ins>+            switch (value-&gt;id) {
</ins><span class="cx">             case CSSValueOpenQuote:
</span><span class="cx">             case CSSValueCloseQuote:
</span><span class="cx">             case CSSValueNoOpenQuote:
</span><span class="cx">             case CSSValueNoCloseQuote:
</span><span class="cx">             case CSSValueNone:
</span><span class="cx">             case CSSValueNormal:
</span><del>-                parsedValue = cssValuePool().createIdentifierValue(val-&gt;id);
</del><ins>+                parsedValue = cssValuePool().createIdentifierValue(value-&gt;id);
</ins><span class="cx">                 break;
</span><span class="cx">             default:
</span><span class="cx">                 break;
</span><span class="cx">             }
</span><del>-        } else if (val-&gt;unit == CSSPrimitiveValue::CSS_STRING) {
-            parsedValue = createPrimitiveStringValue(val);
</del><ins>+        } else if (value-&gt;unit == CSSPrimitiveValue::CSS_STRING) {
+            parsedValue = createPrimitiveStringValue(*value);
</ins><span class="cx">         }
</span><span class="cx">         if (!parsedValue)
</span><span class="cx">             break;
</span><span class="lines">@@ -3906,22 +3905,22 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;CSSValue&gt; CSSParser::parseAttr(CSSParserValueList* args)
</del><ins>+PassRefPtr&lt;CSSValue&gt; CSSParser::parseAttr(CSSParserValueList&amp; args)
</ins><span class="cx"> {
</span><del>-    if (args-&gt;size() != 1)
-        return 0;
</del><ins>+    if (args.size() != 1)
+        return nullptr;
</ins><span class="cx"> 
</span><del>-    CSSParserValue* a = args-&gt;current();
</del><ins>+    CSSParserValue&amp; argument = *args.current();
</ins><span class="cx"> 
</span><del>-    if (a-&gt;unit != CSSPrimitiveValue::CSS_IDENT)
-        return 0;
</del><ins>+    if (argument.unit != CSSPrimitiveValue::CSS_IDENT)
+        return nullptr;
</ins><span class="cx"> 
</span><del>-    String attrName = a-&gt;string;
</del><ins>+    String attrName = argument.string;
</ins><span class="cx">     // CSS allows identifiers with &quot;-&quot; at the start, like &quot;-webkit-mask-image&quot;.
</span><span class="cx">     // But HTML attribute names can't have those characters, and we should not
</span><span class="cx">     // even parse them inside attr().
</span><span class="cx">     if (attrName[0] == '-')
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (m_context.isHTMLDocument)
</span><span class="cx">         attrName = attrName.lower();
</span><span class="lines">@@ -3938,22 +3937,22 @@
</span><span class="cx">     return parseColor();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseFillImage(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; value)
</del><ins>+bool CSSParser::parseFillImage(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; value)
</ins><span class="cx"> {
</span><del>-    if (valueList-&gt;current()-&gt;id == CSSValueNone) {
</del><ins>+    if (valueList.current()-&gt;id == CSSValueNone) {
</ins><span class="cx">         value = cssValuePool().createIdentifierValue(CSSValueNone);
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><del>-    if (valueList-&gt;current()-&gt;unit == CSSPrimitiveValue::CSS_URI) {
-        value = CSSImageValue::create(completeURL(valueList-&gt;current()-&gt;string));
</del><ins>+    if (valueList.current()-&gt;unit == CSSPrimitiveValue::CSS_URI) {
+        value = CSSImageValue::create(completeURL(valueList.current()-&gt;string));
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (isGeneratedImageValue(valueList-&gt;current()))
</del><ins>+    if (isGeneratedImageValue(*valueList.current()))
</ins><span class="cx">         return parseGeneratedImage(valueList, value);
</span><span class="cx">     
</span><span class="cx"> #if ENABLE(CSS_IMAGE_SET)
</span><del>-    if (valueList-&gt;current()-&gt;unit == CSSParserValue::Function &amp;&amp; equalIgnoringCase(valueList-&gt;current()-&gt;function-&gt;name, &quot;-webkit-image-set(&quot;)) {
</del><ins>+    if (valueList.current()-&gt;unit == CSSParserValue::Function &amp;&amp; equalIgnoringCase(valueList.current()-&gt;function-&gt;name, &quot;-webkit-image-set(&quot;)) {
</ins><span class="cx">         value = parseImageSet();
</span><span class="cx">         if (value)
</span><span class="cx">             return true;
</span><span class="lines">@@ -3963,9 +3962,9 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;CSSValue&gt; CSSParser::parseFillPositionX(CSSParserValueList* valueList)
</del><ins>+PassRefPtr&lt;CSSValue&gt; CSSParser::parseFillPositionX(CSSParserValueList&amp; valueList)
</ins><span class="cx"> {
</span><del>-    int id = valueList-&gt;current()-&gt;id;
</del><ins>+    int id = valueList.current()-&gt;id;
</ins><span class="cx">     if (id == CSSValueLeft || id == CSSValueRight || id == CSSValueCenter) {
</span><span class="cx">         int percent = 0;
</span><span class="cx">         if (id == CSSValueRight)
</span><span class="lines">@@ -3974,14 +3973,14 @@
</span><span class="cx">             percent = 50;
</span><span class="cx">         return cssValuePool().createValue(percent, CSSPrimitiveValue::CSS_PERCENTAGE);
</span><span class="cx">     }
</span><del>-    if (validUnit(valueList-&gt;current(), FPercent | FLength))
-        return createPrimitiveNumericValue(valueList-&gt;current());
-    return 0;
</del><ins>+    if (validUnit(*valueList.current(), FPercent | FLength))
+        return createPrimitiveNumericValue(*valueList.current());
+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;CSSValue&gt; CSSParser::parseFillPositionY(CSSParserValueList* valueList)
</del><ins>+PassRefPtr&lt;CSSValue&gt; CSSParser::parseFillPositionY(CSSParserValueList&amp; valueList)
</ins><span class="cx"> {
</span><del>-    int id = valueList-&gt;current()-&gt;id;
</del><ins>+    int id = valueList.current()-&gt;id;
</ins><span class="cx">     if (id == CSSValueTop || id == CSSValueBottom || id == CSSValueCenter) {
</span><span class="cx">         int percent = 0;
</span><span class="cx">         if (id == CSSValueBottom)
</span><span class="lines">@@ -3990,14 +3989,14 @@
</span><span class="cx">             percent = 50;
</span><span class="cx">         return cssValuePool().createValue(percent, CSSPrimitiveValue::CSS_PERCENTAGE);
</span><span class="cx">     }
</span><del>-    if (validUnit(valueList-&gt;current(), FPercent | FLength))
-        return createPrimitiveNumericValue(valueList-&gt;current());
-    return 0;
</del><ins>+    if (validUnit(*valueList.current(), FPercent | FLength))
+        return createPrimitiveNumericValue(*valueList.current());
+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;CSSPrimitiveValue&gt; CSSParser::parseFillPositionComponent(CSSParserValueList* valueList, unsigned&amp; cumulativeFlags, FillPositionFlag&amp; individualFlag, FillPositionParsingMode parsingMode)
</del><ins>+PassRefPtr&lt;CSSPrimitiveValue&gt; CSSParser::parseFillPositionComponent(CSSParserValueList&amp; valueList, unsigned&amp; cumulativeFlags, FillPositionFlag&amp; individualFlag, FillPositionParsingMode parsingMode)
</ins><span class="cx"> {
</span><del>-    CSSValueID id = valueList-&gt;current()-&gt;id;
</del><ins>+    CSSValueID id = valueList.current()-&gt;id;
</ins><span class="cx">     if (id == CSSValueLeft || id == CSSValueTop || id == CSSValueRight || id == CSSValueBottom || id == CSSValueCenter) {
</span><span class="cx">         int percent = 0;
</span><span class="cx">         if (id == CSSValueLeft || id == CSSValueRight) {
</span><span class="lines">@@ -4027,7 +4026,7 @@
</span><span class="cx"> 
</span><span class="cx">         return cssValuePool().createValue(percent, CSSPrimitiveValue::CSS_PERCENTAGE);
</span><span class="cx">     }
</span><del>-    if (validUnit(valueList-&gt;current(), FPercent | FLength)) {
</del><ins>+    if (validUnit(*valueList.current(), FPercent | FLength)) {
</ins><span class="cx">         if (!cumulativeFlags) {
</span><span class="cx">             cumulativeFlags |= XFillPosition;
</span><span class="cx">             individualFlag = XFillPosition;
</span><span class="lines">@@ -4039,7 +4038,7 @@
</span><span class="cx">                 m_parsedCalculation = nullptr;
</span><span class="cx">             return nullptr;
</span><span class="cx">         }
</span><del>-        return createPrimitiveNumericValue(valueList-&gt;current());
</del><ins>+        return createPrimitiveNumericValue(*valueList.current());
</ins><span class="cx">     }
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="lines">@@ -4060,7 +4059,7 @@
</span><span class="cx">     return value == CSSValueLeft || value == CSSValueTop || value == CSSValueBottom || value == CSSValueRight || value == CSSValueCenter;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CSSParser::parse4ValuesFillPosition(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; value1, RefPtr&lt;CSSValue&gt;&amp; value2, PassRefPtr&lt;CSSPrimitiveValue&gt; parsedValue1, PassRefPtr&lt;CSSPrimitiveValue&gt; parsedValue2)
</del><ins>+void CSSParser::parse4ValuesFillPosition(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; value1, RefPtr&lt;CSSValue&gt;&amp; value2, PassRefPtr&lt;CSSPrimitiveValue&gt; parsedValue1, PassRefPtr&lt;CSSPrimitiveValue&gt; parsedValue2)
</ins><span class="cx"> {
</span><span class="cx">     // [ left | right ] [ &lt;percentage] | &lt;length&gt; ] &amp;&amp; [ top | bottom ] [ &lt;percentage&gt; | &lt;length&gt; ]
</span><span class="cx">     // In the case of 4 values &lt;position&gt; requires the second value to be a length or a percentage.
</span><span class="lines">@@ -4088,7 +4087,7 @@
</span><span class="cx">     if (isValueConflictingWithCurrentEdge(ident1, ident3))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    valueList-&gt;next();
</del><ins>+    valueList.next();
</ins><span class="cx"> 
</span><span class="cx">     cumulativeFlags = 0;
</span><span class="cx">     FillPositionFlag value4Flag = InvalidFillPosition;
</span><span class="lines">@@ -4106,9 +4105,9 @@
</span><span class="cx">     if (ident1 == CSSValueTop || ident1 == CSSValueBottom)
</span><span class="cx">         value1.swap(value2);
</span><span class="cx"> 
</span><del>-    valueList-&gt;next();
</del><ins>+    valueList.next();
</ins><span class="cx"> }
</span><del>-void CSSParser::parse3ValuesFillPosition(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; value1, RefPtr&lt;CSSValue&gt;&amp; value2, PassRefPtr&lt;CSSPrimitiveValue&gt; parsedValue1, PassRefPtr&lt;CSSPrimitiveValue&gt; parsedValue2)
</del><ins>+void CSSParser::parse3ValuesFillPosition(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; value1, RefPtr&lt;CSSValue&gt;&amp; value2, PassRefPtr&lt;CSSPrimitiveValue&gt; parsedValue1, PassRefPtr&lt;CSSPrimitiveValue&gt; parsedValue2)
</ins><span class="cx"> {
</span><span class="cx">     unsigned cumulativeFlags = 0;
</span><span class="cx">     FillPositionFlag value3Flag = InvalidFillPosition;
</span><span class="lines">@@ -4118,7 +4117,7 @@
</span><span class="cx">     if (!value3)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    valueList-&gt;next();
</del><ins>+    valueList.next();
</ins><span class="cx"> 
</span><span class="cx">     bool swapNeeded = false;
</span><span class="cx">     CSSValueID ident1 = parsedValue1-&gt;getValueID();
</span><span class="lines">@@ -4199,17 +4198,17 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline bool CSSParser::isPotentialPositionValue(CSSParserValue* value)
</del><ins>+inline bool CSSParser::isPotentialPositionValue(CSSParserValue&amp; value)
</ins><span class="cx"> {
</span><del>-    return isFillPositionKeyword(value-&gt;id) || validUnit(value, FPercent | FLength, ReleaseParsedCalcValue);
</del><ins>+    return isFillPositionKeyword(value.id) || validUnit(value, FPercent | FLength, ReleaseParsedCalcValue);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CSSParser::parseFillPosition(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; value1, RefPtr&lt;CSSValue&gt;&amp; value2)
</del><ins>+void CSSParser::parseFillPosition(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; value1, RefPtr&lt;CSSValue&gt;&amp; value2)
</ins><span class="cx"> {
</span><span class="cx">     unsigned numberOfValues = 0;
</span><del>-    for (unsigned i = valueList-&gt;currentIndex(); i &lt; valueList-&gt;size(); ++i, ++numberOfValues) {
-        CSSParserValue* current = valueList-&gt;valueAt(i);
-        if (isComma(current) || !current || isForwardSlashOperator(current) || !isPotentialPositionValue(current))
</del><ins>+    for (unsigned i = valueList.currentIndex(); i &lt; valueList.size(); ++i, ++numberOfValues) {
+        CSSParserValue* current = valueList.valueAt(i);
+        if (!current || isComma(current) || isForwardSlashOperator(*current) || !isPotentialPositionValue(*current))
</ins><span class="cx">             break;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -4224,7 +4223,7 @@
</span><span class="cx"> 
</span><span class="cx">     ASSERT(numberOfValues &gt; 2 &amp;&amp; numberOfValues &lt;= 4);
</span><span class="cx"> 
</span><del>-    CSSParserValue* value = valueList-&gt;current();
</del><ins>+    CSSParserValue* value = valueList.current();
</ins><span class="cx"> 
</span><span class="cx">     // &lt;position&gt; requires the first value to be a background keyword.
</span><span class="cx">     if (!isFillPositionKeyword(value-&gt;id))
</span><span class="lines">@@ -4238,14 +4237,14 @@
</span><span class="cx">     if (!value1)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    value = valueList-&gt;next();
</del><ins>+    value = valueList.next();
</ins><span class="cx"> 
</span><span class="cx">     // In case we are parsing more than two values, relax the check inside of parseFillPositionComponent. top 20px is
</span><span class="cx">     // a valid start for &lt;position&gt;.
</span><span class="cx">     cumulativeFlags = AmbiguousFillPosition;
</span><span class="cx">     value2 = parseFillPositionComponent(valueList, cumulativeFlags, value2Flag, ResolveValuesAsKeyword);
</span><span class="cx">     if (value2)
</span><del>-        valueList-&gt;next();
</del><ins>+        valueList.next();
</ins><span class="cx">     else {
</span><span class="cx">         value1.clear();
</span><span class="cx">         return;
</span><span class="lines">@@ -4267,9 +4266,9 @@
</span><span class="cx">         parse4ValuesFillPosition(valueList, value1, value2, parsedValue1.release(), parsedValue2.release());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CSSParser::parse2ValuesFillPosition(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; value1, RefPtr&lt;CSSValue&gt;&amp; value2)
</del><ins>+void CSSParser::parse2ValuesFillPosition(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; value1, RefPtr&lt;CSSValue&gt;&amp; value2)
</ins><span class="cx"> {
</span><del>-    CSSParserValue* value = valueList-&gt;current();
</del><ins>+    CSSParserValue* value = valueList.current();
</ins><span class="cx"> 
</span><span class="cx">     // Parse the first value.  We're just making sure that it is one of the valid keywords or a percentage/length.
</span><span class="cx">     unsigned cumulativeFlags = 0;
</span><span class="lines">@@ -4282,16 +4281,16 @@
</span><span class="cx">     // It only takes one value for background-position to be correctly parsed if it was specified in a shorthand (since we
</span><span class="cx">     // can assume that any other values belong to the rest of the shorthand).  If we're not parsing a shorthand, though, the
</span><span class="cx">     // value was explicitly specified for our property.
</span><del>-    value = valueList-&gt;next();
</del><ins>+    value = valueList.next();
</ins><span class="cx"> 
</span><span class="cx">     // First check for the comma.  If so, we are finished parsing this value or value pair.
</span><span class="cx">     if (isComma(value))
</span><del>-        value = 0;
</del><ins>+        value = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (value) {
</span><span class="cx">         value2 = parseFillPositionComponent(valueList, cumulativeFlags, value2Flag);
</span><span class="cx">         if (value2)
</span><del>-            valueList-&gt;next();
</del><ins>+            valueList.next();
</ins><span class="cx">         else {
</span><span class="cx">             if (!inShorthand()) {
</span><span class="cx">                 value1.clear();
</span><span class="lines">@@ -4331,7 +4330,7 @@
</span><span class="cx">     if (id == CSSValueRepeat || id == CSSValueNoRepeat || id == CSSValueRound || id == CSSValueSpace)
</span><span class="cx">         value1 = cssValuePool().createIdentifierValue(id);
</span><span class="cx">     else {
</span><del>-        value1 = 0;
</del><ins>+        value1 = nullptr;
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -4365,9 +4364,9 @@
</span><span class="cx">     if (value-&gt;id == CSSValueAuto)
</span><span class="cx">         parsedValue1 = cssValuePool().createIdentifierValue(CSSValueAuto);
</span><span class="cx">     else {
</span><del>-        if (!validUnit(value, FLength | FPercent))
-            return 0;
-        parsedValue1 = createPrimitiveNumericValue(value);
</del><ins>+        if (!validUnit(*value, FLength | FPercent))
+            return nullptr;
+        parsedValue1 = createPrimitiveNumericValue(*value);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; parsedValue2;
</span><span class="lines">@@ -4375,13 +4374,13 @@
</span><span class="cx">         if (value-&gt;unit == CSSParserValue::Operator &amp;&amp; value-&gt;iValue == ',')
</span><span class="cx">             allowComma = false;
</span><span class="cx">         else if (value-&gt;id != CSSValueAuto) {
</span><del>-            if (!validUnit(value, FLength | FPercent)) {
</del><ins>+            if (!validUnit(*value, FLength | FPercent)) {
</ins><span class="cx">                 if (!inShorthand())
</span><del>-                    return 0;
</del><ins>+                    return nullptr;
</ins><span class="cx">                 // We need to rewind the value list, so that when it is advanced we'll end up back at this value.
</span><span class="cx">                 m_valueList-&gt;previous();
</span><span class="cx">             } else
</span><del>-                parsedValue2 = createPrimitiveNumericValue(value);
</del><ins>+                parsedValue2 = createPrimitiveNumericValue(*value);
</ins><span class="cx">         }
</span><span class="cx">     } else if (!parsedValue2 &amp;&amp; propId == CSSPropertyWebkitBackgroundSize) {
</span><span class="cx">         // For backwards compatibility we set the second value to the first if it is omitted.
</span><span class="lines">@@ -4400,13 +4399,13 @@
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; values;
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; values2;
</span><del>-    CSSParserValue* val;
</del><ins>+    CSSParserValue* currentValue;
</ins><span class="cx">     RefPtr&lt;CSSValue&gt; value;
</span><span class="cx">     RefPtr&lt;CSSValue&gt; value2;
</span><span class="cx"> 
</span><span class="cx">     bool allowComma = false;
</span><span class="cx"> 
</span><del>-    retValue1 = retValue2 = 0;
</del><ins>+    retValue1 = retValue2 = nullptr;
</ins><span class="cx">     propId1 = propId;
</span><span class="cx">     propId2 = propId;
</span><span class="cx">     if (propId == CSSPropertyBackgroundPosition) {
</span><span class="lines">@@ -4423,12 +4422,12 @@
</span><span class="cx">         propId2 = CSSPropertyWebkitMaskRepeatY;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    while ((val = m_valueList-&gt;current())) {
</del><ins>+    while ((currentValue = m_valueList-&gt;current())) {
</ins><span class="cx">         RefPtr&lt;CSSValue&gt; currValue;
</span><span class="cx">         RefPtr&lt;CSSValue&gt; currValue2;
</span><span class="cx"> 
</span><span class="cx">         if (allowComma) {
</span><del>-            if (!isComma(val))
</del><ins>+            if (!isComma(currentValue))
</ins><span class="cx">                 return false;
</span><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">             allowComma = false;
</span><span class="lines">@@ -4441,14 +4440,14 @@
</span><span class="cx">                         m_valueList-&gt;next();
</span><span class="cx">                     break;
</span><span class="cx">                 case CSSPropertyBackgroundAttachment:
</span><del>-                    if (val-&gt;id == CSSValueScroll || val-&gt;id == CSSValueFixed || val-&gt;id == CSSValueLocal) {
-                        currValue = cssValuePool().createIdentifierValue(val-&gt;id);
</del><ins>+                    if (currentValue-&gt;id == CSSValueScroll || currentValue-&gt;id == CSSValueFixed || currentValue-&gt;id == CSSValueLocal) {
+                        currValue = cssValuePool().createIdentifierValue(currentValue-&gt;id);
</ins><span class="cx">                         m_valueList-&gt;next();
</span><span class="cx">                     }
</span><span class="cx">                     break;
</span><span class="cx">                 case CSSPropertyBackgroundImage:
</span><span class="cx">                 case CSSPropertyWebkitMaskImage:
</span><del>-                    if (parseFillImage(m_valueList.get(), currValue))
</del><ins>+                    if (parseFillImage(*m_valueList, currValue))
</ins><span class="cx">                         m_valueList-&gt;next();
</span><span class="cx">                     break;
</span><span class="cx">                 case CSSPropertyWebkitBackgroundClip:
</span><span class="lines">@@ -4457,57 +4456,57 @@
</span><span class="cx">                 case CSSPropertyWebkitMaskOrigin:
</span><span class="cx">                     // The first three values here are deprecated and do not apply to the version of the property that has
</span><span class="cx">                     // the -webkit- prefix removed.
</span><del>-                    if (val-&gt;id == CSSValueBorder || val-&gt;id == CSSValuePadding || val-&gt;id == CSSValueContent ||
-                        val-&gt;id == CSSValueBorderBox || val-&gt;id == CSSValuePaddingBox || val-&gt;id == CSSValueContentBox ||
-                        ((propId == CSSPropertyWebkitBackgroundClip || propId == CSSPropertyWebkitMaskClip) &amp;&amp;
-                         (val-&gt;id == CSSValueText || val-&gt;id == CSSValueWebkitText))) {
-                        currValue = cssValuePool().createIdentifierValue(val-&gt;id);
</del><ins>+                    if (currentValue-&gt;id == CSSValueBorder || currentValue-&gt;id == CSSValuePadding || currentValue-&gt;id == CSSValueContent
+                        || currentValue-&gt;id == CSSValueBorderBox || currentValue-&gt;id == CSSValuePaddingBox || currentValue-&gt;id == CSSValueContentBox
+                        || ((propId == CSSPropertyWebkitBackgroundClip || propId == CSSPropertyWebkitMaskClip)
+                        &amp;&amp; (currentValue-&gt;id == CSSValueText || currentValue-&gt;id == CSSValueWebkitText))) {
+                        currValue = cssValuePool().createIdentifierValue(currentValue-&gt;id);
</ins><span class="cx">                         m_valueList-&gt;next();
</span><span class="cx">                     }
</span><span class="cx">                     break;
</span><span class="cx">                 case CSSPropertyBackgroundClip:
</span><del>-                    if (parseBackgroundClip(val, currValue))
</del><ins>+                    if (parseBackgroundClip(*currentValue, currValue))
</ins><span class="cx">                         m_valueList-&gt;next();
</span><span class="cx">                     break;
</span><span class="cx">                 case CSSPropertyBackgroundOrigin:
</span><del>-                    if (val-&gt;id == CSSValueBorderBox || val-&gt;id == CSSValuePaddingBox || val-&gt;id == CSSValueContentBox) {
-                        currValue = cssValuePool().createIdentifierValue(val-&gt;id);
</del><ins>+                    if (currentValue-&gt;id == CSSValueBorderBox || currentValue-&gt;id == CSSValuePaddingBox || currentValue-&gt;id == CSSValueContentBox) {
+                        currValue = cssValuePool().createIdentifierValue(currentValue-&gt;id);
</ins><span class="cx">                         m_valueList-&gt;next();
</span><span class="cx">                     }
</span><span class="cx">                     break;
</span><span class="cx">                 case CSSPropertyBackgroundPosition:
</span><span class="cx">                 case CSSPropertyWebkitMaskPosition:
</span><del>-                    parseFillPosition(m_valueList.get(), currValue, currValue2);
</del><ins>+                    parseFillPosition(*m_valueList, currValue, currValue2);
</ins><span class="cx">                     // parseFillPosition advances the m_valueList pointer.
</span><span class="cx">                     break;
</span><span class="cx">                 case CSSPropertyBackgroundPositionX:
</span><span class="cx">                 case CSSPropertyWebkitMaskPositionX: {
</span><del>-                    currValue = parseFillPositionX(m_valueList.get());
</del><ins>+                    currValue = parseFillPositionX(*m_valueList);
</ins><span class="cx">                     if (currValue)
</span><span class="cx">                         m_valueList-&gt;next();
</span><span class="cx">                     break;
</span><span class="cx">                 }
</span><span class="cx">                 case CSSPropertyBackgroundPositionY:
</span><span class="cx">                 case CSSPropertyWebkitMaskPositionY: {
</span><del>-                    currValue = parseFillPositionY(m_valueList.get());
</del><ins>+                    currValue = parseFillPositionY(*m_valueList);
</ins><span class="cx">                     if (currValue)
</span><span class="cx">                         m_valueList-&gt;next();
</span><span class="cx">                     break;
</span><span class="cx">                 }
</span><span class="cx">                 case CSSPropertyWebkitBackgroundComposite:
</span><span class="cx">                 case CSSPropertyWebkitMaskComposite:
</span><del>-                    if (val-&gt;id &gt;= CSSValueClear &amp;&amp; val-&gt;id &lt;= CSSValuePlusLighter) {
-                        currValue = cssValuePool().createIdentifierValue(val-&gt;id);
</del><ins>+                    if (currentValue-&gt;id &gt;= CSSValueClear &amp;&amp; currentValue-&gt;id &lt;= CSSValuePlusLighter) {
+                        currValue = cssValuePool().createIdentifierValue(currentValue-&gt;id);
</ins><span class="cx">                         m_valueList-&gt;next();
</span><span class="cx">                     }
</span><span class="cx">                     break;
</span><span class="cx">                 case CSSPropertyBackgroundBlendMode:
</span><del>-                    if (cssCompositingEnabled() &amp;&amp; (val-&gt;id == CSSValueNormal || val-&gt;id == CSSValueMultiply
-                        || val-&gt;id == CSSValueScreen || val-&gt;id == CSSValueOverlay || val-&gt;id == CSSValueDarken
-                        || val-&gt;id == CSSValueLighten ||  val-&gt;id == CSSValueColorDodge || val-&gt;id == CSSValueColorBurn
-                        || val-&gt;id == CSSValueHardLight || val-&gt;id == CSSValueSoftLight || val-&gt;id == CSSValueDifference
-                        || val-&gt;id == CSSValueExclusion)) {
-                        currValue = cssValuePool().createIdentifierValue(val-&gt;id);
</del><ins>+                    if (cssCompositingEnabled() &amp;&amp; (currentValue-&gt;id == CSSValueNormal || currentValue-&gt;id == CSSValueMultiply
+                        || currentValue-&gt;id == CSSValueScreen || currentValue-&gt;id == CSSValueOverlay || currentValue-&gt;id == CSSValueDarken
+                        || currentValue-&gt;id == CSSValueLighten ||  currentValue-&gt;id == CSSValueColorDodge || currentValue-&gt;id == CSSValueColorBurn
+                        || currentValue-&gt;id == CSSValueHardLight || currentValue-&gt;id == CSSValueSoftLight || currentValue-&gt;id == CSSValueDifference
+                        || currentValue-&gt;id == CSSValueExclusion)) {
+                        currValue = cssValuePool().createIdentifierValue(currentValue-&gt;id);
</ins><span class="cx">                         m_valueList-&gt;next();
</span><span class="cx">                     }
</span><span class="cx">                     break;
</span><span class="lines">@@ -4525,11 +4524,11 @@
</span><span class="cx">                     break;
</span><span class="cx">                 }
</span><span class="cx">                 case CSSPropertyWebkitMaskSourceType: {
</span><del>-                    if (val-&gt;id == CSSValueAuto || val-&gt;id == CSSValueAlpha || val-&gt;id == CSSValueLuminance) {
-                        currValue = cssValuePool().createIdentifierValue(val-&gt;id);
</del><ins>+                    if (currentValue-&gt;id == CSSValueAuto || currentValue-&gt;id == CSSValueAlpha || currentValue-&gt;id == CSSValueLuminance) {
+                        currValue = cssValuePool().createIdentifierValue(currentValue-&gt;id);
</ins><span class="cx">                         m_valueList-&gt;next();
</span><span class="cx">                     } else
</span><del>-                        currValue = 0;
</del><ins>+                        currValue = nullptr;
</ins><span class="cx">                     break;
</span><span class="cx">                 }
</span><span class="cx">                 default:
</span><span class="lines">@@ -4582,10 +4581,10 @@
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;CSSValue&gt; CSSParser::parseAnimationDelay()
</span><span class="cx"> {
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
</ins><span class="cx">     if (validUnit(value, FTime))
</span><span class="cx">         return createPrimitiveNumericValue(value);
</span><del>-    return 0;
</del><ins>+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;CSSValue&gt; CSSParser::parseAnimationDirection()
</span><span class="lines">@@ -4593,15 +4592,15 @@
</span><span class="cx">     CSSParserValue* value = m_valueList-&gt;current();
</span><span class="cx">     if (value-&gt;id == CSSValueNormal || value-&gt;id == CSSValueAlternate || value-&gt;id == CSSValueReverse || value-&gt;id == CSSValueAlternateReverse)
</span><span class="cx">         return cssValuePool().createIdentifierValue(value-&gt;id);
</span><del>-    return 0;
</del><ins>+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;CSSValue&gt; CSSParser::parseAnimationDuration()
</span><span class="cx"> {
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
</ins><span class="cx">     if (validUnit(value, FTime | FNonNeg))
</span><span class="cx">         return createPrimitiveNumericValue(value);
</span><del>-    return 0;
</del><ins>+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;CSSValue&gt; CSSParser::parseAnimationFillMode()
</span><span class="lines">@@ -4609,46 +4608,45 @@
</span><span class="cx">     CSSParserValue* value = m_valueList-&gt;current();
</span><span class="cx">     if (value-&gt;id == CSSValueNone || value-&gt;id == CSSValueForwards || value-&gt;id == CSSValueBackwards || value-&gt;id == CSSValueBoth)
</span><span class="cx">         return cssValuePool().createIdentifierValue(value-&gt;id);
</span><del>-    return 0;
</del><ins>+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;CSSValue&gt; CSSParser::parseAnimationIterationCount()
</span><span class="cx"> {
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
-    if (value-&gt;id == CSSValueInfinite)
-        return cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
+    if (value.id == CSSValueInfinite)
+        return cssValuePool().createIdentifierValue(value.id);
</ins><span class="cx">     if (validUnit(value, FNumber | FNonNeg))
</span><span class="cx">         return createPrimitiveNumericValue(value);
</span><del>-    return 0;
</del><ins>+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;CSSValue&gt; CSSParser::parseAnimationName()
</span><span class="cx"> {
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
-    if (value-&gt;unit == CSSPrimitiveValue::CSS_STRING || value-&gt;unit == CSSPrimitiveValue::CSS_IDENT) {
-        if (value-&gt;id == CSSValueNone || (value-&gt;unit == CSSPrimitiveValue::CSS_STRING &amp;&amp; equalIgnoringCase(value, &quot;none&quot;))) {
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
+    if (value.unit == CSSPrimitiveValue::CSS_STRING || value.unit == CSSPrimitiveValue::CSS_IDENT) {
+        if (value.id == CSSValueNone || (value.unit == CSSPrimitiveValue::CSS_STRING &amp;&amp; equalIgnoringCase(value, &quot;none&quot;))) {
</ins><span class="cx">             return cssValuePool().createIdentifierValue(CSSValueNone);
</span><del>-        } else {
-            return createPrimitiveStringValue(value);
</del><span class="cx">         }
</span><ins>+        return createPrimitiveStringValue(value);
</ins><span class="cx">     }
</span><del>-    return 0;
</del><ins>+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;CSSValue&gt; CSSParser::parseAnimationPlayState()
</span><span class="cx"> {
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
-    if (value-&gt;id == CSSValueRunning || value-&gt;id == CSSValuePaused)
-        return cssValuePool().createIdentifierValue(value-&gt;id);
-    return 0;
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
+    if (value.id == CSSValueRunning || value.id == CSSValuePaused)
+        return cssValuePool().createIdentifierValue(value.id);
+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;CSSValue&gt; CSSParser::parseAnimationProperty(AnimationParseContext&amp; context)
</span><span class="cx"> {
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
-    if (value-&gt;unit != CSSPrimitiveValue::CSS_IDENT)
-        return 0;
-    CSSPropertyID result = cssPropertyID(value-&gt;string);
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
+    if (value.unit != CSSPrimitiveValue::CSS_IDENT)
+        return nullptr;
+    CSSPropertyID result = cssPropertyID(value.string);
</ins><span class="cx">     if (result)
</span><span class="cx">         return cssValuePool().createIdentifierValue(result);
</span><span class="cx">     if (equalIgnoringCase(value, &quot;all&quot;)) {
</span><span class="lines">@@ -4660,17 +4658,17 @@
</span><span class="cx">         context.sawAnimationPropertyKeyword();
</span><span class="cx">         return cssValuePool().createIdentifierValue(CSSValueNone);
</span><span class="cx">     }
</span><del>-    return 0;
</del><ins>+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool CSSParser::parseTransformOriginShorthand(RefPtr&lt;CSSValue&gt;&amp; value1, RefPtr&lt;CSSValue&gt;&amp; value2, RefPtr&lt;CSSValue&gt;&amp; value3)
</span><span class="cx"> {
</span><del>-    parse2ValuesFillPosition(m_valueList.get(), value1, value2);
</del><ins>+    parse2ValuesFillPosition(*m_valueList, value1, value2);
</ins><span class="cx"> 
</span><span class="cx">     // now get z
</span><span class="cx">     if (m_valueList-&gt;current()) {
</span><del>-        if (validUnit(m_valueList-&gt;current(), FLength)) {
-            value3 = createPrimitiveNumericValue(m_valueList-&gt;current());
</del><ins>+        if (validUnit(*m_valueList-&gt;current(), FLength)) {
+            value3 = createPrimitiveNumericValue(*m_valueList-&gt;current());
</ins><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="lines">@@ -4680,91 +4678,91 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseCubicBezierTimingFunctionValue(CSSParserValueList*&amp; args, double&amp; result)
</del><ins>+bool CSSParser::parseCubicBezierTimingFunctionValue(CSSParserValueList&amp; args, double&amp; result)
</ins><span class="cx"> {
</span><del>-    CSSParserValue* value = args-&gt;current();
-    if (!validUnit(value, FNumber))
</del><ins>+    CSSParserValue* value = args.current();
+    if (!validUnit(*value, FNumber))
</ins><span class="cx">         return false;
</span><span class="cx">     result = parsedDouble(*value, ReleaseParsedCalcValue);
</span><del>-    value = args-&gt;next();
</del><ins>+    value = args.next();
</ins><span class="cx">     if (!value) {
</span><span class="cx">         // The last number in the function has no comma after it, so we're done.
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx">     if (!isComma(value))
</span><span class="cx">         return false;
</span><del>-    args-&gt;next();
</del><ins>+    args.next();
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;CSSValue&gt; CSSParser::parseAnimationTimingFunction()
</span><span class="cx"> {
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
-    if (value-&gt;id == CSSValueEase || value-&gt;id == CSSValueLinear || value-&gt;id == CSSValueEaseIn || value-&gt;id == CSSValueEaseOut
-        || value-&gt;id == CSSValueEaseInOut || value-&gt;id == CSSValueStepStart || value-&gt;id == CSSValueStepEnd)
-        return cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
+    if (value.id == CSSValueEase || value.id == CSSValueLinear || value.id == CSSValueEaseIn || value.id == CSSValueEaseOut
+        || value.id == CSSValueEaseInOut || value.id == CSSValueStepStart || value.id == CSSValueStepEnd)
+        return cssValuePool().createIdentifierValue(value.id);
</ins><span class="cx"> 
</span><span class="cx">     // We must be a function.
</span><del>-    if (value-&gt;unit != CSSParserValue::Function)
-        return 0;
</del><ins>+    if (value.unit != CSSParserValue::Function)
+        return nullptr;
</ins><span class="cx"> 
</span><del>-    CSSParserValueList* args = value-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* args = value.function-&gt;args.get();
</ins><span class="cx"> 
</span><del>-    if (equalIgnoringCase(value-&gt;function-&gt;name, &quot;steps(&quot;)) {
</del><ins>+    if (equalIgnoringCase(value.function-&gt;name, &quot;steps(&quot;)) {
</ins><span class="cx">         // For steps, 1 or 2 params must be specified (comma-separated)
</span><span class="cx">         if (!args || (args-&gt;size() != 1 &amp;&amp; args-&gt;size() != 3))
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         // There are two values.
</span><span class="cx">         int numSteps;
</span><span class="cx">         bool stepAtStart = false;
</span><span class="cx"> 
</span><del>-        CSSParserValue* v = args-&gt;current();
-        if (!validUnit(v, FInteger))
-            return 0;
-        numSteps = clampToInteger(v-&gt;fValue);
</del><ins>+        CSSParserValue* currentValue = args-&gt;current();
+        if (!validUnit(*currentValue, FInteger))
+            return nullptr;
+        numSteps = clampToInteger(currentValue-&gt;fValue);
</ins><span class="cx">         if (numSteps &lt; 1)
</span><del>-            return 0;
-        v = args-&gt;next();
</del><ins>+            return nullptr;
+        currentValue = args-&gt;next();
</ins><span class="cx"> 
</span><del>-        if (v) {
</del><ins>+        if (currentValue) {
</ins><span class="cx">             // There is a comma so we need to parse the second value
</span><del>-            if (!isComma(v))
-                return 0;
-            v = args-&gt;next();
-            if (v-&gt;id != CSSValueStart &amp;&amp; v-&gt;id != CSSValueEnd)
-                return 0;
-            stepAtStart = v-&gt;id == CSSValueStart;
</del><ins>+            if (!isComma(currentValue))
+                return nullptr;
+            currentValue = args-&gt;next();
+            if (currentValue-&gt;id != CSSValueStart &amp;&amp; currentValue-&gt;id != CSSValueEnd)
+                return nullptr;
+            stepAtStart = currentValue-&gt;id == CSSValueStart;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         return CSSStepsTimingFunctionValue::create(numSteps, stepAtStart);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (equalIgnoringCase(value-&gt;function-&gt;name, &quot;cubic-bezier(&quot;)) {
</del><ins>+    if (equalIgnoringCase(value.function-&gt;name, &quot;cubic-bezier(&quot;)) {
</ins><span class="cx">         // For cubic bezier, 4 values must be specified.
</span><span class="cx">         if (!args || args-&gt;size() != 7)
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         // There are two points specified. The x values must be between 0 and 1 but the y values can exceed this range.
</span><span class="cx">         double x1, y1, x2, y2;
</span><span class="cx"> 
</span><del>-        if (!parseCubicBezierTimingFunctionValue(args, x1))
-            return 0;
</del><ins>+        if (!parseCubicBezierTimingFunctionValue(*args, x1))
+            return nullptr;
</ins><span class="cx">         if (x1 &lt; 0 || x1 &gt; 1)
</span><del>-            return 0;
-        if (!parseCubicBezierTimingFunctionValue(args, y1))
-            return 0;
-        if (!parseCubicBezierTimingFunctionValue(args, x2))
-            return 0;
</del><ins>+            return nullptr;
+        if (!parseCubicBezierTimingFunctionValue(*args, y1))
+            return nullptr;
+        if (!parseCubicBezierTimingFunctionValue(*args, x2))
+            return nullptr;
</ins><span class="cx">         if (x2 &lt; 0 || x2 &gt; 1)
</span><del>-            return 0;
-        if (!parseCubicBezierTimingFunctionValue(args, y2))
-            return 0;
</del><ins>+            return nullptr;
+        if (!parseCubicBezierTimingFunctionValue(*args, y2))
+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         return CSSCubicBezierTimingFunctionValue::create(x1, y1, x2, y2);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return 0;
</del><ins>+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool CSSParser::parseAnimationProperty(CSSPropertyID propId, RefPtr&lt;CSSValue&gt;&amp; result, AnimationParseContext&amp; context)
</span><span class="lines">@@ -4774,7 +4772,7 @@
</span><span class="cx">     RefPtr&lt;CSSValue&gt; value;
</span><span class="cx">     bool allowComma = false;
</span><span class="cx"> 
</span><del>-    result = 0;
</del><ins>+    result = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     while ((val = m_valueList-&gt;current())) {
</span><span class="cx">         RefPtr&lt;CSSValue&gt; currValue;
</span><span class="lines">@@ -4896,21 +4894,21 @@
</span><span class="cx"> bool CSSParser::parseIntegerOrCustomIdentFromGridPosition(RefPtr&lt;CSSPrimitiveValue&gt;&amp; numericValue, RefPtr&lt;CSSPrimitiveValue&gt;&amp; gridLineName)
</span><span class="cx"> {
</span><span class="cx">     CSSParserValue* value = m_valueList-&gt;current();
</span><del>-    if (validUnit(value, FInteger) &amp;&amp; value-&gt;fValue) {
-        numericValue = createPrimitiveNumericValue(value);
</del><ins>+    if (validUnit(*value, FInteger) &amp;&amp; value-&gt;fValue) {
+        numericValue = createPrimitiveNumericValue(*value);
</ins><span class="cx">         value = m_valueList-&gt;next();
</span><span class="cx">         if (value &amp;&amp; isValidCustomIdent(*value)) {
</span><del>-            gridLineName = createPrimitiveStringValue(m_valueList-&gt;current());
</del><ins>+            gridLineName = createPrimitiveStringValue(*m_valueList-&gt;current());
</ins><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">         }
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (isValidCustomIdent(*value)) {
</span><del>-        gridLineName = createPrimitiveStringValue(m_valueList-&gt;current());
</del><ins>+        gridLineName = createPrimitiveStringValue(*m_valueList-&gt;current());
</ins><span class="cx">         value = m_valueList-&gt;next();
</span><del>-        if (value &amp;&amp; validUnit(value, FInteger) &amp;&amp; value-&gt;fValue) {
-            numericValue = createPrimitiveNumericValue(value);
</del><ins>+        if (value &amp;&amp; validUnit(*value, FInteger) &amp;&amp; value-&gt;fValue) {
+            numericValue = createPrimitiveNumericValue(*value);
</ins><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">         }
</span><span class="cx">         return true;
</span><span class="lines">@@ -4934,7 +4932,7 @@
</span><span class="cx">     if (value-&gt;id == CSSValueSpan) {
</span><span class="cx">         hasSeenSpanKeyword = true;
</span><span class="cx">         if (auto* nextValue = m_valueList-&gt;next()) {
</span><del>-            if (!isForwardSlashOperator(nextValue) &amp;&amp; !parseIntegerOrCustomIdentFromGridPosition(numericValue, gridLineName))
</del><ins>+            if (!isForwardSlashOperator(*nextValue) &amp;&amp; !parseIntegerOrCustomIdentFromGridPosition(numericValue, gridLineName))
</ins><span class="cx">                     return nullptr;
</span><span class="cx">         }
</span><span class="cx">     } else if (parseIntegerOrCustomIdentFromGridPosition(numericValue, gridLineName)) {
</span><span class="lines">@@ -4947,7 +4945,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Check that we have consumed all the value list. For shorthands, the parser will pass
</span><span class="cx">     // the whole value list (including the opposite position).
</span><del>-    if (m_valueList-&gt;current() &amp;&amp; !isForwardSlashOperator(m_valueList-&gt;current()))
</del><ins>+    if (m_valueList-&gt;current() &amp;&amp; !isForwardSlashOperator(*m_valueList-&gt;current()))
</ins><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     // If we didn't parse anything, this is not a valid grid position.
</span><span class="lines">@@ -4973,10 +4971,10 @@
</span><span class="cx">     return values.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;CSSValue&gt; gridMissingGridPositionValue(CSSValue* value)
</del><ins>+static PassRefPtr&lt;CSSValue&gt; gridMissingGridPositionValue(CSSValue&amp; value)
</ins><span class="cx"> {
</span><del>-    if (is&lt;CSSPrimitiveValue&gt;(*value) &amp;&amp; downcast&lt;CSSPrimitiveValue&gt;(*value).isString())
-        return value;
</del><ins>+    if (is&lt;CSSPrimitiveValue&gt;(value) &amp;&amp; downcast&lt;CSSPrimitiveValue&gt;(value).isString())
+        return &amp;value;
</ins><span class="cx"> 
</span><span class="cx">     return cssValuePool().createIdentifierValue(CSSValueAuto);
</span><span class="cx"> }
</span><span class="lines">@@ -4993,7 +4991,7 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSValue&gt; endValue;
</span><span class="cx">     if (m_valueList-&gt;current()) {
</span><del>-        if (!isForwardSlashOperator(m_valueList-&gt;current()))
</del><ins>+        if (!isForwardSlashOperator(*m_valueList-&gt;current()))
</ins><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="cx">         if (!m_valueList-&gt;next())
</span><span class="lines">@@ -5003,7 +5001,7 @@
</span><span class="cx">         if (!endValue || m_valueList-&gt;current())
</span><span class="cx">             return false;
</span><span class="cx">     } else
</span><del>-        endValue = gridMissingGridPositionValue(startValue.get());
</del><ins>+        endValue = gridMissingGridPositionValue(*startValue);
</ins><span class="cx"> 
</span><span class="cx">     addProperty(shorthand.properties()[0], startValue, important);
</span><span class="cx">     addProperty(shorthand.properties()[1], endValue, important);
</span><span class="lines">@@ -5090,7 +5088,7 @@
</span><span class="cx"> 
</span><span class="cx">     // 2- &lt;grid-template-columns&gt; / &lt;grid-template-columns&gt; syntax.
</span><span class="cx">     if (columnsValue) {
</span><del>-        if (!(m_valueList-&gt;current() &amp;&amp; isForwardSlashOperator(m_valueList-&gt;current()) &amp;&amp; m_valueList-&gt;next()))
</del><ins>+        if (!(m_valueList-&gt;current() &amp;&amp; isForwardSlashOperator(*m_valueList-&gt;current()) &amp;&amp; m_valueList-&gt;next()))
</ins><span class="cx">             return false;
</span><span class="cx">         index = m_valueList-&gt;currentIndex();
</span><span class="cx">         if (RefPtr&lt;CSSValue&gt; rowsValue = parseGridTrackList()) {
</span><span class="lines">@@ -5143,7 +5141,7 @@
</span><span class="cx">         if (!autoColumnsValue)
</span><span class="cx">             return false;
</span><span class="cx">         if (m_valueList-&gt;current()) {
</span><del>-            if (!isForwardSlashOperator(m_valueList-&gt;current()) || !m_valueList-&gt;next())
</del><ins>+            if (!isForwardSlashOperator(*m_valueList-&gt;current()) || !m_valueList-&gt;next())
</ins><span class="cx">                 return false;
</span><span class="cx">             autoRowsValue = parseGridTrackSize(*m_valueList);
</span><span class="cx">             if (!autoRowsValue)
</span><span class="lines">@@ -5195,13 +5193,13 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (!columnStartValue)
</span><del>-        columnStartValue = gridMissingGridPositionValue(rowStartValue.get());
</del><ins>+        columnStartValue = gridMissingGridPositionValue(*rowStartValue);
</ins><span class="cx"> 
</span><span class="cx">     if (!rowEndValue)
</span><del>-        rowEndValue = gridMissingGridPositionValue(rowStartValue.get());
</del><ins>+        rowEndValue = gridMissingGridPositionValue(*rowStartValue);
</ins><span class="cx"> 
</span><span class="cx">     if (!columnEndValue)
</span><del>-        columnEndValue = gridMissingGridPositionValue(columnStartValue.get());
</del><ins>+        columnEndValue = gridMissingGridPositionValue(*columnStartValue);
</ins><span class="cx"> 
</span><span class="cx">     addProperty(CSSPropertyWebkitGridRowStart, rowStartValue, important);
</span><span class="cx">     addProperty(CSSPropertyWebkitGridColumnStart, columnStartValue, important);
</span><span class="lines">@@ -5215,7 +5213,7 @@
</span><span class="cx">     if (!m_valueList-&gt;current())
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    if (!isForwardSlashOperator(m_valueList-&gt;current()))
</del><ins>+    if (!isForwardSlashOperator(*m_valueList-&gt;current()))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (!m_valueList-&gt;next())
</span><span class="lines">@@ -5229,20 +5227,20 @@
</span><span class="cx"> {
</span><span class="cx">     ASSERT(inputList.current() &amp;&amp; inputList.current()-&gt;unit == CSSParserValue::ValueList);
</span><span class="cx"> 
</span><del>-    CSSParserValueList* identList = inputList.current()-&gt;valueList;
-    if (!identList-&gt;size()) {
</del><ins>+    CSSParserValueList&amp; identList = *inputList.current()-&gt;valueList;
+    if (!identList.size()) {
</ins><span class="cx">         inputList.next();
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Need to ensure the identList is at the heading index, since the parserList might have been rewound.
</span><del>-    identList-&gt;setCurrentIndex(0);
</del><ins>+    identList.setCurrentIndex(0);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSGridLineNamesValue&gt; lineNames = previousNamedAreaTrailingLineNames ? previousNamedAreaTrailingLineNames : CSSGridLineNamesValue::create();
</span><del>-    while (CSSParserValue* identValue = identList-&gt;current()) {
</del><ins>+    while (CSSParserValue* identValue = identList.current()) {
</ins><span class="cx">         ASSERT(identValue-&gt;unit == CSSPrimitiveValue::CSS_IDENT);
</span><del>-        lineNames-&gt;append(createPrimitiveStringValue(identValue));
-        identList-&gt;next();
</del><ins>+        lineNames-&gt;append(createPrimitiveStringValue(*identValue));
+        identList.next();
</ins><span class="cx">     }
</span><span class="cx">     if (!previousNamedAreaTrailingLineNames)
</span><span class="cx">         valueList.append(lineNames.releaseNonNull());
</span><span class="lines">@@ -5267,7 +5265,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool seenTrackSizeOrRepeatFunction = false;
</span><span class="cx">     while (CSSParserValue* currentValue = m_valueList-&gt;current()) {
</span><del>-        if (isForwardSlashOperator(currentValue))
</del><ins>+        if (isForwardSlashOperator(*currentValue))
</ins><span class="cx">             break;
</span><span class="cx">         if (currentValue-&gt;unit == CSSParserValue::Function &amp;&amp; equalIgnoringCase(currentValue-&gt;function-&gt;name, &quot;repeat(&quot;)) {
</span><span class="cx">             if (!parseGridTrackRepeatFunction(*values))
</span><span class="lines">@@ -5295,7 +5293,7 @@
</span><span class="cx"> bool CSSParser::parseGridTrackRepeatFunction(CSSValueList&amp; list)
</span><span class="cx"> {
</span><span class="cx">     CSSParserValueList* arguments = m_valueList-&gt;current()-&gt;function-&gt;args.get();
</span><del>-    if (!arguments || arguments-&gt;size() &lt; 3 || !validUnit(arguments-&gt;valueAt(0), FPositiveInteger) || !isComma(arguments-&gt;valueAt(1)))
</del><ins>+    if (!arguments || arguments-&gt;size() &lt; 3 || !validUnit(*arguments-&gt;valueAt(0), FPositiveInteger) || !isComma(arguments-&gt;valueAt(1)))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     ASSERT(arguments-&gt;valueAt(0)-&gt;fValue &gt; 0);
</span><span class="lines">@@ -5346,25 +5344,25 @@
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;CSSValue&gt; CSSParser::parseGridTrackSize(CSSParserValueList&amp; inputList)
</span><span class="cx"> {
</span><del>-    CSSParserValue* currentValue = inputList.current();
</del><ins>+    CSSParserValue&amp; currentValue = *inputList.current();
</ins><span class="cx">     inputList.next();
</span><span class="cx"> 
</span><del>-    if (currentValue-&gt;id == CSSValueAuto)
</del><ins>+    if (currentValue.id == CSSValueAuto)
</ins><span class="cx">         return cssValuePool().createIdentifierValue(CSSValueAuto);
</span><span class="cx"> 
</span><del>-    if (currentValue-&gt;unit == CSSParserValue::Function &amp;&amp; equalIgnoringCase(currentValue-&gt;function-&gt;name, &quot;minmax(&quot;)) {
</del><ins>+    if (currentValue.unit == CSSParserValue::Function &amp;&amp; equalIgnoringCase(currentValue.function-&gt;name, &quot;minmax(&quot;)) {
</ins><span class="cx">         // The spec defines the following grammar: minmax( &lt;track-breadth&gt; , &lt;track-breadth&gt; )
</span><del>-        CSSParserValueList* arguments = currentValue-&gt;function-&gt;args.get();
</del><ins>+        CSSParserValueList* arguments = currentValue.function-&gt;args.get();
</ins><span class="cx">         if (!arguments || arguments-&gt;size() != 3 || !isComma(arguments-&gt;valueAt(1)))
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><del>-        RefPtr&lt;CSSPrimitiveValue&gt; minTrackBreadth = parseGridBreadth(arguments-&gt;valueAt(0));
</del><ins>+        RefPtr&lt;CSSPrimitiveValue&gt; minTrackBreadth = parseGridBreadth(*arguments-&gt;valueAt(0));
</ins><span class="cx">         if (!minTrackBreadth)
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><del>-        RefPtr&lt;CSSPrimitiveValue&gt; maxTrackBreadth = parseGridBreadth(arguments-&gt;valueAt(2));
</del><ins>+        RefPtr&lt;CSSPrimitiveValue&gt; maxTrackBreadth = parseGridBreadth(*arguments-&gt;valueAt(2));
</ins><span class="cx">         if (!maxTrackBreadth)
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         RefPtr&lt;CSSValueList&gt; parsedArguments = CSSValueList::createCommaSeparated();
</span><span class="cx">         parsedArguments-&gt;append(minTrackBreadth.releaseNonNull());
</span><span class="lines">@@ -5375,23 +5373,23 @@
</span><span class="cx">     return parseGridBreadth(currentValue);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;CSSPrimitiveValue&gt; CSSParser::parseGridBreadth(CSSParserValue* currentValue)
</del><ins>+PassRefPtr&lt;CSSPrimitiveValue&gt; CSSParser::parseGridBreadth(CSSParserValue&amp; currentValue)
</ins><span class="cx"> {
</span><del>-    if (currentValue-&gt;id == CSSValueWebkitMinContent || currentValue-&gt;id == CSSValueWebkitMaxContent)
-        return cssValuePool().createIdentifierValue(currentValue-&gt;id);
</del><ins>+    if (currentValue.id == CSSValueWebkitMinContent || currentValue.id == CSSValueWebkitMaxContent)
+        return cssValuePool().createIdentifierValue(currentValue.id);
</ins><span class="cx"> 
</span><del>-    if (currentValue-&gt;unit == CSSPrimitiveValue::CSS_FR) {
-        double flexValue = currentValue-&gt;fValue;
</del><ins>+    if (currentValue.unit == CSSPrimitiveValue::CSS_FR) {
+        double flexValue = currentValue.fValue;
</ins><span class="cx"> 
</span><span class="cx">         // Fractional unit is a non-negative dimension.
</span><span class="cx">         if (flexValue &lt;= 0)
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         return cssValuePool().createValue(flexValue, CSSPrimitiveValue::CSS_FR);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!validUnit(currentValue, FNonNeg | FLength | FPercent))
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     return createPrimitiveNumericValue(currentValue);
</span><span class="cx"> }
</span><span class="lines">@@ -5464,8 +5462,8 @@
</span><span class="cx"> {
</span><span class="cx">     if (args-&gt;size() == (DASHBOARD_REGION_NUM_PARAMETERS*2-1) ||
</span><span class="cx">          args-&gt;size() == (DASHBOARD_REGION_SHORT_NUM_PARAMETERS*2-1)) {
</span><del>-        CSSParserValue* current = args-&gt;current();
-        if (current-&gt;unit == CSSParserValue::Operator &amp;&amp; current-&gt;iValue == ',')
</del><ins>+        CSSParserValue&amp; current = *args-&gt;current();
+        if (current.unit == CSSParserValue::Operator &amp;&amp; current.iValue == ',')
</ins><span class="cx">             return args-&gt;next();
</span><span class="cx">     }
</span><span class="cx">     return args-&gt;current();
</span><span class="lines">@@ -5485,10 +5483,10 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;DashboardRegion&gt; firstRegion = DashboardRegion::create();
</span><del>-    DashboardRegion* region = 0;
</del><ins>+    DashboardRegion* region = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     while (value) {
</span><del>-        if (region == 0) {
</del><ins>+        if (!region) {
</ins><span class="cx">             region = firstRegion.get();
</span><span class="cx">         } else {
</span><span class="cx">             RefPtr&lt;DashboardRegion&gt; nextRegion = DashboardRegion::create();
</span><span class="lines">@@ -5537,9 +5535,9 @@
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        if (equalIgnoringCase(arg, &quot;circle&quot;))
</del><ins>+        if (equalIgnoringCase(*arg, &quot;circle&quot;))
</ins><span class="cx">             region-&gt;m_isCircle = true;
</span><del>-        else if (equalIgnoringCase(arg, &quot;rectangle&quot;))
</del><ins>+        else if (equalIgnoringCase(*arg, &quot;rectangle&quot;))
</ins><span class="cx">             region-&gt;m_isRectangle = true;
</span><span class="cx">         else {
</span><span class="cx">             valid = false;
</span><span class="lines">@@ -5558,18 +5556,15 @@
</span><span class="cx">             region-&gt;setLeft(amount);
</span><span class="cx">         } else {
</span><span class="cx">             // Next four arguments must be offset numbers
</span><del>-            int i;
-            for (i = 0; i &lt; 4; i++) {
</del><ins>+            for (int i = 0; i &lt; 4; ++i) {
</ins><span class="cx">                 arg = args-&gt;next();
</span><span class="cx">                 arg = skipCommaInDashboardRegion(args);
</span><span class="cx"> 
</span><del>-                valid = arg-&gt;id == CSSValueAuto || validUnit(arg, FLength);
</del><ins>+                valid = arg-&gt;id == CSSValueAuto || validUnit(*arg, FLength);
</ins><span class="cx">                 if (!valid)
</span><span class="cx">                     break;
</span><span class="cx"> 
</span><del>-                RefPtr&lt;CSSPrimitiveValue&gt; amount = arg-&gt;id == CSSValueAuto ?
-                    cssValuePool().createIdentifierValue(CSSValueAuto) :
-                    createPrimitiveNumericValue(arg);
</del><ins>+                RefPtr&lt;CSSPrimitiveValue&gt; amount = arg-&gt;id == CSSValueAuto ? cssValuePool().createIdentifierValue(CSSValueAuto) : createPrimitiveNumericValue(*arg);
</ins><span class="cx"> 
</span><span class="cx">                 if (i == 0)
</span><span class="cx">                     region-&gt;setTop(amount);
</span><span class="lines">@@ -5641,15 +5636,15 @@
</span><span class="cx">             // The following checks test that the grid area is a single filled-in rectangle.
</span><span class="cx">             // 1. The new row is adjacent to the previously parsed row.
</span><span class="cx">             if (rowCount != gridCoordinate.rows.resolvedFinalPosition.next().toInt())
</span><del>-                return 0;
</del><ins>+                return false;
</ins><span class="cx"> 
</span><span class="cx">             // 2. The new area starts at the same position as the previously parsed area.
</span><span class="cx">             if (currentColumn != gridCoordinate.columns.resolvedInitialPosition.toInt())
</span><del>-                return 0;
</del><ins>+                return false;
</ins><span class="cx"> 
</span><span class="cx">             // 3. The new area ends at the same position as the previously parsed area.
</span><span class="cx">             if (lookAheadColumn != gridCoordinate.columns.resolvedFinalPosition.toInt())
</span><del>-                return 0;
</del><ins>+                return false;
</ins><span class="cx"> 
</span><span class="cx">             ++gridCoordinate.rows.resolvedFinalPosition;
</span><span class="cx">         }
</span><span class="lines">@@ -5668,62 +5663,62 @@
</span><span class="cx"> 
</span><span class="cx">     while (m_valueList-&gt;current()) {
</span><span class="cx">         if (!parseGridTemplateAreasRow(gridAreaMap, rowCount, columnCount))
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         ++rowCount;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!rowCount || !columnCount)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     return CSSGridTemplateAreasValue::create(gridAreaMap, rowCount, columnCount);
</span><span class="cx"> }
</span><span class="cx"> #endif /* ENABLE(CSS_GRID_LAYOUT) */
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;CSSValue&gt; CSSParser::parseCounterContent(CSSParserValueList* args, bool counters)
</del><ins>+PassRefPtr&lt;CSSValue&gt; CSSParser::parseCounterContent(CSSParserValueList&amp; args, bool counters)
</ins><span class="cx"> {
</span><del>-    unsigned numArgs = args-&gt;size();
</del><ins>+    unsigned numArgs = args.size();
</ins><span class="cx">     if (counters &amp;&amp; numArgs != 3 &amp;&amp; numArgs != 5)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     if (!counters &amp;&amp; numArgs != 1 &amp;&amp; numArgs != 3)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><del>-    CSSParserValue* i = args-&gt;current();
-    if (i-&gt;unit != CSSPrimitiveValue::CSS_IDENT)
-        return 0;
-    RefPtr&lt;CSSPrimitiveValue&gt; identifier = createPrimitiveStringValue(i);
</del><ins>+    CSSParserValue* argument = args.current();
+    if (argument-&gt;unit != CSSPrimitiveValue::CSS_IDENT)
+        return nullptr;
+    RefPtr&lt;CSSPrimitiveValue&gt; identifier = createPrimitiveStringValue(*argument);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; separator;
</span><span class="cx">     if (!counters)
</span><span class="cx">         separator = cssValuePool().createValue(String(), CSSPrimitiveValue::CSS_STRING);
</span><span class="cx">     else {
</span><del>-        i = args-&gt;next();
-        if (i-&gt;unit != CSSParserValue::Operator || i-&gt;iValue != ',')
-            return 0;
</del><ins>+        argument = args.next();
+        if (argument-&gt;unit != CSSParserValue::Operator || argument-&gt;iValue != ',')
+            return nullptr;
</ins><span class="cx"> 
</span><del>-        i = args-&gt;next();
-        if (i-&gt;unit != CSSPrimitiveValue::CSS_STRING)
-            return 0;
</del><ins>+        argument = args.next();
+        if (argument-&gt;unit != CSSPrimitiveValue::CSS_STRING)
+            return nullptr;
</ins><span class="cx"> 
</span><del>-        separator = createPrimitiveStringValue(i);
</del><ins>+        separator = createPrimitiveStringValue(*argument);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; listStyle;
</span><del>-    i = args-&gt;next();
-    if (!i) // Make the list style default decimal
</del><ins>+    argument = args.next();
+    if (!argument) // Make the list style default decimal
</ins><span class="cx">         listStyle = cssValuePool().createIdentifierValue(CSSValueDecimal);
</span><span class="cx">     else {
</span><del>-        if (i-&gt;unit != CSSParserValue::Operator || i-&gt;iValue != ',')
-            return 0;
</del><ins>+        if (argument-&gt;unit != CSSParserValue::Operator || argument-&gt;iValue != ',')
+            return nullptr;
</ins><span class="cx"> 
</span><del>-        i = args-&gt;next();
-        if (i-&gt;unit != CSSPrimitiveValue::CSS_IDENT)
-            return 0;
</del><ins>+        argument = args.next();
+        if (argument-&gt;unit != CSSPrimitiveValue::CSS_IDENT)
+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         CSSValueID listStyleID = CSSValueInvalid;
</span><del>-        if (i-&gt;id == CSSValueNone || (i-&gt;id &gt;= CSSValueDisc &amp;&amp; i-&gt;id &lt;= CSSValueKatakanaIroha))
-            listStyleID = i-&gt;id;
</del><ins>+        if (argument-&gt;id == CSSValueNone || (argument-&gt;id &gt;= CSSValueDisc &amp;&amp; argument-&gt;id &lt;= CSSValueKatakanaIroha))
+            listStyleID = argument-&gt;id;
</ins><span class="cx">         else
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         listStyle = cssValuePool().createIdentifierValue(listStyleID);
</span><span class="cx">     }
</span><span class="lines">@@ -5733,10 +5728,10 @@
</span><span class="cx"> 
</span><span class="cx"> bool CSSParser::parseClipShape(CSSPropertyID propId, bool important)
</span><span class="cx"> {
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
-    CSSParserValueList* args = value-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
+    CSSParserValueList* args = value.function-&gt;args.get();
</ins><span class="cx"> 
</span><del>-    if (!equalIgnoringCase(value-&gt;function-&gt;name, &quot;rect(&quot;) || !args)
</del><ins>+    if (!equalIgnoringCase(value.function-&gt;name, &quot;rect(&quot;) || !args)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     // rect(t, r, b, l) || rect(t r b l)
</span><span class="lines">@@ -5745,14 +5740,12 @@
</span><span class="cx">     RefPtr&lt;Rect&gt; rect = Rect::create();
</span><span class="cx">     bool valid = true;
</span><span class="cx">     int i = 0;
</span><del>-    CSSParserValue* a = args-&gt;current();
-    while (a) {
-        valid = a-&gt;id == CSSValueAuto || validUnit(a, FLength);
</del><ins>+    CSSParserValue* currentValue = args-&gt;current();
+    while (currentValue) {
+        valid = currentValue-&gt;id == CSSValueAuto || validUnit(*currentValue, FLength);
</ins><span class="cx">         if (!valid)
</span><span class="cx">             break;
</span><del>-        RefPtr&lt;CSSPrimitiveValue&gt; length = a-&gt;id == CSSValueAuto ?
-            cssValuePool().createIdentifierValue(CSSValueAuto) :
-            createPrimitiveNumericValue(a);
</del><ins>+        RefPtr&lt;CSSPrimitiveValue&gt; length = currentValue-&gt;id == CSSValueAuto ? cssValuePool().createIdentifierValue(CSSValueAuto) : createPrimitiveNumericValue(*currentValue);
</ins><span class="cx">         if (i == 0)
</span><span class="cx">             rect-&gt;setTop(length);
</span><span class="cx">         else if (i == 1)
</span><span class="lines">@@ -5761,10 +5754,10 @@
</span><span class="cx">             rect-&gt;setBottom(length);
</span><span class="cx">         else
</span><span class="cx">             rect-&gt;setLeft(length);
</span><del>-        a = args-&gt;next();
-        if (a &amp;&amp; args-&gt;size() == 7) {
-            if (a-&gt;unit == CSSParserValue::Operator &amp;&amp; a-&gt;iValue == ',') {
-                a = args-&gt;next();
</del><ins>+        currentValue = args-&gt;next();
+        if (currentValue &amp;&amp; args-&gt;size() == 7) {
+            if (currentValue-&gt;unit == CSSParserValue::Operator &amp;&amp; currentValue-&gt;iValue == ',') {
+                currentValue = args-&gt;next();
</ins><span class="cx">             } else {
</span><span class="cx">                 valid = false;
</span><span class="cx">                 break;
</span><span class="lines">@@ -5794,9 +5787,9 @@
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This should be refactored with CSSParser::parseBorderRadius.
</span><span class="cx"> // CSSParser::parseBorderRadius contains support for some legacy radius construction.
</span><del>-PassRefPtr&lt;CSSBasicShape&gt; CSSParser::parseInsetRoundedCorners(PassRefPtr&lt;CSSBasicShapeInset&gt; shape, CSSParserValueList* args)
</del><ins>+PassRefPtr&lt;CSSBasicShape&gt; CSSParser::parseInsetRoundedCorners(PassRefPtr&lt;CSSBasicShapeInset&gt; shape, CSSParserValueList&amp; args)
</ins><span class="cx"> {
</span><del>-    CSSParserValue* argument = args-&gt;next();
</del><ins>+    CSSParserValue* argument = args.next();
</ins><span class="cx"> 
</span><span class="cx">     if (!argument)
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -5804,7 +5797,7 @@
</span><span class="cx">     Vector&lt;CSSParserValue*&gt; radiusArguments;
</span><span class="cx">     while (argument) {
</span><span class="cx">         radiusArguments.append(argument);
</span><del>-        argument = args-&gt;next();
</del><ins>+        argument = args.next();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     unsigned num = radiusArguments.size();
</span><span class="lines">@@ -5815,9 +5808,9 @@
</span><span class="cx"> 
</span><span class="cx">     unsigned indexAfterSlash = 0;
</span><span class="cx">     for (unsigned i = 0; i &lt; num; ++i) {
</span><del>-        CSSParserValue* value = radiusArguments.at(i);
-        if (value-&gt;unit == CSSParserValue::Operator) {
-            if (value-&gt;iValue != '/')
</del><ins>+        CSSParserValue&amp; value = *radiusArguments.at(i);
+        if (value.unit == CSSParserValue::Operator) {
+            if (value.iValue != '/')
</ins><span class="cx">                 return nullptr;
</span><span class="cx"> 
</span><span class="cx">             if (!i || indexAfterSlash || i + 1 == num || num &gt; i + 5)
</span><span class="lines">@@ -5857,13 +5850,11 @@
</span><span class="cx">     return shape;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;CSSBasicShape&gt; CSSParser::parseBasicShapeInset(CSSParserValueList* args)
</del><ins>+PassRefPtr&lt;CSSBasicShape&gt; CSSParser::parseBasicShapeInset(CSSParserValueList&amp; args)
</ins><span class="cx"> {
</span><del>-    ASSERT(args);
-
</del><span class="cx">     RefPtr&lt;CSSBasicShapeInset&gt; shape = CSSBasicShapeInset::create();
</span><span class="cx"> 
</span><del>-    CSSParserValue* argument = args-&gt;current();
</del><ins>+    CSSParserValue* argument = args.current();
</ins><span class="cx">     Vector&lt;RefPtr&lt;CSSPrimitiveValue&gt; &gt; widthArguments;
</span><span class="cx">     bool hasRoundedInset = false;
</span><span class="cx">     while (argument) {
</span><span class="lines">@@ -5873,11 +5864,11 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         Units unitFlags = FLength | FPercent;
</span><del>-        if (!validUnit(argument, unitFlags) || widthArguments.size() &gt; 4)
</del><ins>+        if (!validUnit(*argument, unitFlags) || widthArguments.size() &gt; 4)
</ins><span class="cx">             return nullptr;
</span><span class="cx"> 
</span><del>-        widthArguments.append(createPrimitiveNumericValue(argument));
-        argument = args-&gt;next();
</del><ins>+        widthArguments.append(createPrimitiveNumericValue(*argument));
+        argument = args.next();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     switch (widthArguments.size()) {
</span><span class="lines">@@ -5906,36 +5897,34 @@
</span><span class="cx">     return shape;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;CSSPrimitiveValue&gt; CSSParser::parseShapeRadius(CSSParserValue* value)
</del><ins>+PassRefPtr&lt;CSSPrimitiveValue&gt; CSSParser::parseShapeRadius(CSSParserValue&amp; value)
</ins><span class="cx"> {
</span><del>-    if (value-&gt;id == CSSValueClosestSide || value-&gt;id == CSSValueFarthestSide)
-        return cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+    if (value.id == CSSValueClosestSide || value.id == CSSValueFarthestSide)
+        return cssValuePool().createIdentifierValue(value.id);
</ins><span class="cx"> 
</span><span class="cx">     if (!validUnit(value, FLength | FPercent | FNonNeg))
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     return createPrimitiveNumericValue(value);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;CSSBasicShape&gt; CSSParser::parseBasicShapeCircle(CSSParserValueList* args)
</del><ins>+PassRefPtr&lt;CSSBasicShape&gt; CSSParser::parseBasicShapeCircle(CSSParserValueList&amp; args)
</ins><span class="cx"> {
</span><del>-    ASSERT(args);
-
</del><span class="cx">     // circle(radius)
</span><span class="cx">     // circle(radius at &lt;position&gt;)
</span><span class="cx">     // circle(at &lt;position&gt;)
</span><span class="cx">     // where position defines centerX and centerY using a CSS &lt;position&gt; data type.
</span><span class="cx">     RefPtr&lt;CSSBasicShapeCircle&gt; shape = CSSBasicShapeCircle::create();
</span><span class="cx"> 
</span><del>-    for (CSSParserValue* argument = args-&gt;current(); argument; argument = args-&gt;next()) {
</del><ins>+    for (CSSParserValue* argument = args.current(); argument; argument = args.next()) {
</ins><span class="cx">         // The call to parseFillPosition below should consume all of the
</span><span class="cx">         // arguments except the first two. Thus, and index greater than one
</span><span class="cx">         // indicates an invalid production.
</span><del>-        if (args-&gt;currentIndex() &gt; 1)
</del><ins>+        if (args.currentIndex() &gt; 1)
</ins><span class="cx">             return nullptr;
</span><span class="cx"> 
</span><del>-        if (!args-&gt;currentIndex() &amp;&amp; argument-&gt;id != CSSValueAt) {
-            if (RefPtr&lt;CSSPrimitiveValue&gt; radius = parseShapeRadius(argument)) {
</del><ins>+        if (!args.currentIndex() &amp;&amp; argument-&gt;id != CSSValueAt) {
+            if (RefPtr&lt;CSSPrimitiveValue&gt; radius = parseShapeRadius(*argument)) {
</ins><span class="cx">                 shape-&gt;setRadius(radius);
</span><span class="cx">                 continue;
</span><span class="cx">             }
</span><span class="lines">@@ -5943,11 +5932,11 @@
</span><span class="cx">             return nullptr;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        if (argument-&gt;id == CSSValueAt &amp;&amp; args-&gt;next()) {
</del><ins>+        if (argument-&gt;id == CSSValueAt &amp;&amp; args.next()) {
</ins><span class="cx">             RefPtr&lt;CSSValue&gt; centerX;
</span><span class="cx">             RefPtr&lt;CSSValue&gt; centerY;
</span><span class="cx">             parseFillPosition(args, centerX, centerY);
</span><del>-            if (centerX &amp;&amp; centerY &amp;&amp; !args-&gt;current()) {
</del><ins>+            if (centerX &amp;&amp; centerY &amp;&amp; !args.current()) {
</ins><span class="cx">                 shape-&gt;setCenterX(downcast&lt;CSSPrimitiveValue&gt;(centerX.get()));
</span><span class="cx">                 shape-&gt;setCenterY(downcast&lt;CSSPrimitiveValue&gt;(centerY.get()));
</span><span class="cx">             } else
</span><span class="lines">@@ -5959,10 +5948,8 @@
</span><span class="cx">     return shape;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;CSSBasicShape&gt; CSSParser::parseBasicShapeEllipse(CSSParserValueList* args)
</del><ins>+PassRefPtr&lt;CSSBasicShape&gt; CSSParser::parseBasicShapeEllipse(CSSParserValueList&amp; args)
</ins><span class="cx"> {
</span><del>-    ASSERT(args);
-
</del><span class="cx">     // ellipse(radiusX)
</span><span class="cx">     // ellipse(radiusX at &lt;position&gt;)
</span><span class="cx">     // ellipse(radiusX radiusY)
</span><span class="lines">@@ -5971,15 +5958,15 @@
</span><span class="cx">     // where position defines centerX and centerY using a CSS &lt;position&gt; data type.
</span><span class="cx">     RefPtr&lt;CSSBasicShapeEllipse&gt; shape = CSSBasicShapeEllipse::create();
</span><span class="cx"> 
</span><del>-    for (CSSParserValue* argument = args-&gt;current(); argument; argument = args-&gt;next()) {
</del><ins>+    for (CSSParserValue* argument = args.current(); argument; argument = args.next()) {
</ins><span class="cx">         // The call to parseFillPosition below should consume all of the
</span><span class="cx">         // arguments except the first three. Thus, an index greater than two
</span><span class="cx">         // indicates an invalid production.
</span><del>-        if (args-&gt;currentIndex() &gt; 2)
</del><ins>+        if (args.currentIndex() &gt; 2)
</ins><span class="cx">             return nullptr;
</span><span class="cx"> 
</span><del>-        if (args-&gt;currentIndex() &lt; 2 &amp;&amp; argument-&gt;id != CSSValueAt) {
-            if (RefPtr&lt;CSSPrimitiveValue&gt; radius = parseShapeRadius(argument)) {
</del><ins>+        if (args.currentIndex() &lt; 2 &amp;&amp; argument-&gt;id != CSSValueAt) {
+            if (RefPtr&lt;CSSPrimitiveValue&gt; radius = parseShapeRadius(*argument)) {
</ins><span class="cx">                 if (!shape-&gt;radiusX())
</span><span class="cx">                     shape-&gt;setRadiusX(radius);
</span><span class="cx">                 else
</span><span class="lines">@@ -5990,13 +5977,13 @@
</span><span class="cx">             return nullptr;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        if (argument-&gt;id != CSSValueAt || !args-&gt;next()) // expecting ellipse(.. at &lt;position&gt;)
</del><ins>+        if (argument-&gt;id != CSSValueAt || !args.next()) // expecting ellipse(.. at &lt;position&gt;)
</ins><span class="cx">             return nullptr;
</span><span class="cx"> 
</span><span class="cx">         RefPtr&lt;CSSValue&gt; centerX;
</span><span class="cx">         RefPtr&lt;CSSValue&gt; centerY;
</span><span class="cx">         parseFillPosition(args, centerX, centerY);
</span><del>-        if (!centerX || !centerY || args-&gt;current())
</del><ins>+        if (!centerX || !centerY || args.current())
</ins><span class="cx">             return nullptr;
</span><span class="cx"> 
</span><span class="cx">         shape-&gt;setCenterX(downcast&lt;CSSPrimitiveValue&gt;(centerX.get()));
</span><span class="lines">@@ -6006,52 +5993,50 @@
</span><span class="cx">     return shape;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;CSSBasicShape&gt; CSSParser::parseBasicShapePolygon(CSSParserValueList* args)
</del><ins>+PassRefPtr&lt;CSSBasicShape&gt; CSSParser::parseBasicShapePolygon(CSSParserValueList&amp; args)
</ins><span class="cx"> {
</span><del>-    ASSERT(args);
-
-    unsigned size = args-&gt;size();
</del><ins>+    unsigned size = args.size();
</ins><span class="cx">     if (!size)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSBasicShapePolygon&gt; shape = CSSBasicShapePolygon::create();
</span><span class="cx"> 
</span><del>-    CSSParserValue* argument = args-&gt;current();
</del><ins>+    CSSParserValue* argument = args.current();
</ins><span class="cx">     if (argument-&gt;id == CSSValueEvenodd || argument-&gt;id == CSSValueNonzero) {
</span><span class="cx">         shape-&gt;setWindRule(argument-&gt;id == CSSValueEvenodd ? RULE_EVENODD : RULE_NONZERO);
</span><span class="cx"> 
</span><del>-        if (!isComma(args-&gt;next()))
-            return 0;
</del><ins>+        if (!isComma(args.next()))
+            return nullptr;
</ins><span class="cx"> 
</span><del>-        argument = args-&gt;next();
</del><ins>+        argument = args.next();
</ins><span class="cx">         size -= 2;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // &lt;length&gt; &lt;length&gt;, ... &lt;length&gt; &lt;length&gt; -&gt; each pair has 3 elements except the last one
</span><span class="cx">     if (!size || (size % 3) - 2)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     CSSParserValue* argumentX = argument;
</span><span class="cx">     while (argumentX) {
</span><span class="cx"> 
</span><del>-        if (!validUnit(argumentX, FLength | FPercent))
-            return 0;
-        RefPtr&lt;CSSPrimitiveValue&gt; xLength = createPrimitiveNumericValue(argumentX);
</del><ins>+        if (!validUnit(*argumentX, FLength | FPercent))
+            return nullptr;
+        RefPtr&lt;CSSPrimitiveValue&gt; xLength = createPrimitiveNumericValue(*argumentX);
</ins><span class="cx"> 
</span><del>-        CSSParserValue* argumentY = args-&gt;next();
-        if (!argumentY || !validUnit(argumentY, FLength | FPercent))
-            return 0;
-        RefPtr&lt;CSSPrimitiveValue&gt; yLength = createPrimitiveNumericValue(argumentY);
</del><ins>+        CSSParserValue* argumentY = args.next();
+        if (!argumentY || !validUnit(*argumentY, FLength | FPercent))
+            return nullptr;
+        RefPtr&lt;CSSPrimitiveValue&gt; yLength = createPrimitiveNumericValue(*argumentY);
</ins><span class="cx"> 
</span><span class="cx">         shape-&gt;appendPoint(xLength.release(), yLength.release());
</span><span class="cx"> 
</span><del>-        CSSParserValue* commaOrNull = args-&gt;next();
</del><ins>+        CSSParserValue* commaOrNull = args.next();
</ins><span class="cx">         if (!commaOrNull)
</span><del>-            argumentX = 0;
</del><ins>+            argumentX = nullptr;
</ins><span class="cx">         else if (!isComma(commaOrNull)) 
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         else 
</span><del>-            argumentX = args-&gt;next();
</del><ins>+            argumentX = args.next();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return shape;
</span><span class="lines">@@ -6096,7 +6081,7 @@
</span><span class="cx">             list-&gt;append(shapeValue.releaseNonNull());
</span><span class="cx">             shapeFound = true;
</span><span class="cx">         } else if (isBoxValue(valueId, propId) &amp;&amp; !boxFound) {
</span><del>-            RefPtr&lt;CSSPrimitiveValue&gt; parsedValue = parseValidPrimitive(valueId, value);
</del><ins>+            RefPtr&lt;CSSPrimitiveValue&gt; parsedValue = parseValidPrimitive(valueId, *value);
</ins><span class="cx">             list-&gt;append(parsedValue.releaseNonNull());
</span><span class="cx">             boxFound = true;
</span><span class="cx">             m_valueList-&gt;next();
</span><span class="lines">@@ -6116,8 +6101,8 @@
</span><span class="cx">     if (!RuntimeEnabledFeatures::sharedFeatures().cssShapesEnabled())
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
-    CSSValueID valueId = value-&gt;id;
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
+    CSSValueID valueId = value.id;
</ins><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; keywordValue;
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; shapeValue;
</span><span class="cx"> 
</span><span class="lines">@@ -6128,7 +6113,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSValue&gt; imageValue;
</span><del>-    if (valueId != CSSValueNone &amp;&amp; parseFillImage(m_valueList.get(), imageValue)) {
</del><ins>+    if (valueId != CSSValueNone &amp;&amp; parseFillImage(*m_valueList, imageValue)) {
</ins><span class="cx">         m_valueList-&gt;next();
</span><span class="cx">         return imageValue.release();
</span><span class="cx">     }
</span><span class="lines">@@ -6139,16 +6124,16 @@
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;CSSValue&gt; CSSParser::parseClipPath()
</span><span class="cx"> {
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
-    CSSValueID valueId = value-&gt;id;
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
+    CSSValueID valueId = value.id;
</ins><span class="cx"> 
</span><span class="cx">     if (valueId == CSSValueNone) {
</span><span class="cx">         m_valueList-&gt;next();
</span><span class="cx">         return parseValidPrimitive(valueId, value);
</span><span class="cx">     }
</span><del>-    if (value-&gt;unit == CSSPrimitiveValue::CSS_URI) {
</del><ins>+    if (value.unit == CSSPrimitiveValue::CSS_URI) {
</ins><span class="cx">         m_valueList-&gt;next();
</span><del>-        return CSSPrimitiveValue::create(value-&gt;string, CSSPrimitiveValue::CSS_URI);
</del><ins>+        return CSSPrimitiveValue::create(value.string, CSSPrimitiveValue::CSS_URI);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return parseBasicShapeAndOrBox(CSSPropertyWebkitClipPath);
</span><span class="lines">@@ -6156,22 +6141,22 @@
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;CSSPrimitiveValue&gt; CSSParser::parseBasicShape()
</span><span class="cx"> {
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
-    ASSERT(value-&gt;unit == CSSParserValue::Function);
-    CSSParserValueList* args = value-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
+    ASSERT(value.unit == CSSParserValue::Function);
+    CSSParserValueList* args = value.function-&gt;args.get();
</ins><span class="cx"> 
</span><span class="cx">     if (!args)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSBasicShape&gt; shape;
</span><del>-    if (equalIgnoringCase(value-&gt;function-&gt;name, &quot;circle(&quot;))
-        shape = parseBasicShapeCircle(args);
-    else if (equalIgnoringCase(value-&gt;function-&gt;name, &quot;ellipse(&quot;))
-        shape = parseBasicShapeEllipse(args);
-    else if (equalIgnoringCase(value-&gt;function-&gt;name, &quot;polygon(&quot;))
-        shape = parseBasicShapePolygon(args);
-    else if (equalIgnoringCase(value-&gt;function-&gt;name, &quot;inset(&quot;))
-        shape = parseBasicShapeInset(args);
</del><ins>+    if (equalIgnoringCase(value.function-&gt;name, &quot;circle(&quot;))
+        shape = parseBasicShapeCircle(*args);
+    else if (equalIgnoringCase(value.function-&gt;name, &quot;ellipse(&quot;))
+        shape = parseBasicShapeEllipse(*args);
+    else if (equalIgnoringCase(value.function-&gt;name, &quot;polygon(&quot;))
+        shape = parseBasicShapePolygon(*args);
+    else if (equalIgnoringCase(value.function-&gt;name, &quot;inset(&quot;))
+        shape = parseBasicShapeInset(*args);
</ins><span class="cx"> 
</span><span class="cx">     if (!shape)
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -6229,7 +6214,7 @@
</span><span class="cx">     if (!value)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    if (isForwardSlashOperator(value)) {
</del><ins>+    if (isForwardSlashOperator(*value)) {
</ins><span class="cx">         // The line-height property.
</span><span class="cx">         value = m_valueList-&gt;next();
</span><span class="cx">         if (!value)
</span><span class="lines">@@ -6257,7 +6242,7 @@
</span><span class="cx"> 
</span><span class="cx"> class FontFamilyValueBuilder {
</span><span class="cx"> public:
</span><del>-    FontFamilyValueBuilder(CSSValueList* list)
</del><ins>+    FontFamilyValueBuilder(CSSValueList&amp; list)
</ins><span class="cx">         : m_list(list)
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="lines">@@ -6279,13 +6264,13 @@
</span><span class="cx">     {
</span><span class="cx">         if (m_builder.isEmpty())
</span><span class="cx">             return;
</span><del>-        m_list-&gt;append(cssValuePool().createFontFamilyValue(m_builder.toString()));
</del><ins>+        m_list.append(cssValuePool().createFontFamilyValue(m_builder.toString()));
</ins><span class="cx">         m_builder.clear();
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     StringBuilder m_builder;
</span><del>-    CSSValueList* m_list;
</del><ins>+    CSSValueList&amp; m_list;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;CSSValueList&gt; CSSParser::parseFontFamily()
</span><span class="lines">@@ -6293,7 +6278,7 @@
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; list = CSSValueList::createCommaSeparated();
</span><span class="cx">     CSSParserValue* value = m_valueList-&gt;current();
</span><span class="cx"> 
</span><del>-    FontFamilyValueBuilder familyBuilder(list.get());
</del><ins>+    FontFamilyValueBuilder familyBuilder(*list);
</ins><span class="cx">     bool inFamily = false;
</span><span class="cx"> 
</span><span class="cx">     while (value) {
</span><span class="lines">@@ -6358,14 +6343,14 @@
</span><span class="cx">     familyBuilder.commit();
</span><span class="cx"> 
</span><span class="cx">     if (!list-&gt;length())
</span><del>-        list = 0;
</del><ins>+        list = nullptr;
</ins><span class="cx">     return list.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool CSSParser::parseLineHeight(bool important)
</span><span class="cx"> {
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
-    CSSValueID id = value-&gt;id;
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
+    CSSValueID id = value.id;
</ins><span class="cx">     bool validPrimitive = false;
</span><span class="cx">     // normal | &lt;number&gt; | &lt;length&gt; | &lt;percentage&gt; | inherit
</span><span class="cx">     if (id == CSSValueNormal)
</span><span class="lines">@@ -6379,8 +6364,8 @@
</span><span class="cx"> 
</span><span class="cx"> bool CSSParser::parseFontSize(bool important)
</span><span class="cx"> {
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
-    CSSValueID id = value-&gt;id;
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
+    CSSValueID id = value.id;
</ins><span class="cx">     bool validPrimitive = false;
</span><span class="cx">     // &lt;absolute-size&gt; | &lt;relative-size&gt; | &lt;length&gt; | &lt;percentage&gt; | inherit
</span><span class="cx">     if (id &gt;= CSSValueXxSmall &amp;&amp; id &lt;= CSSValueLarger)
</span><span class="lines">@@ -6454,7 +6439,7 @@
</span><span class="cx">         addProperty(CSSPropertyFontWeight, cssValuePool().createIdentifierValue(value.id), important);
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><del>-    if (validUnit(&amp;value, FInteger | FNonNeg, CSSQuirksMode)) {
</del><ins>+    if (validUnit(value, FInteger | FNonNeg, CSSQuirksMode)) {
</ins><span class="cx">         int weight = static_cast&lt;int&gt;(parsedDouble(value, ReleaseParsedCalcValue));
</span><span class="cx">         if (!(weight % 100) &amp;&amp; weight &gt;= 100 &amp;&amp; weight &lt;= 900) {
</span><span class="cx">             addProperty(CSSPropertyFontWeight, cssValuePool().createIdentifierValue(createFontWeightValueKeyword(weight)), important);
</span><span class="lines">@@ -6464,18 +6449,18 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseFontFaceSrcURI(CSSValueList* valueList)
</del><ins>+bool CSSParser::parseFontFaceSrcURI(CSSValueList&amp; valueList)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSFontFaceSrcValue&gt; uriValue(CSSFontFaceSrcValue::create(completeURL(m_valueList-&gt;current()-&gt;string)));
</span><span class="cx"> 
</span><span class="cx">     CSSParserValue* value = m_valueList-&gt;next();
</span><span class="cx">     if (!value) {
</span><del>-        valueList-&gt;append(uriValue.releaseNonNull());
</del><ins>+        valueList.append(uriValue.releaseNonNull());
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx">     if (value-&gt;unit == CSSParserValue::Operator &amp;&amp; value-&gt;iValue == ',') {
</span><span class="cx">         m_valueList-&gt;next();
</span><del>-        valueList-&gt;append(uriValue.releaseNonNull());
</del><ins>+        valueList.append(uriValue.releaseNonNull());
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -6488,21 +6473,21 @@
</span><span class="cx">     if (!args || args-&gt;size() != 1 || (args-&gt;current()-&gt;unit != CSSPrimitiveValue::CSS_STRING &amp;&amp; args-&gt;current()-&gt;unit != CSSPrimitiveValue::CSS_IDENT))
</span><span class="cx">         return false;
</span><span class="cx">     uriValue-&gt;setFormat(args-&gt;current()-&gt;string);
</span><del>-    valueList-&gt;append(uriValue.releaseNonNull());
</del><ins>+    valueList.append(uriValue.releaseNonNull());
</ins><span class="cx">     value = m_valueList-&gt;next();
</span><span class="cx">     if (value &amp;&amp; value-&gt;unit == CSSParserValue::Operator &amp;&amp; value-&gt;iValue == ',')
</span><span class="cx">         m_valueList-&gt;next();
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseFontFaceSrcLocal(CSSValueList* valueList)
</del><ins>+bool CSSParser::parseFontFaceSrcLocal(CSSValueList&amp; valueList)
</ins><span class="cx"> {
</span><span class="cx">     CSSParserValueList* args = m_valueList-&gt;current()-&gt;function-&gt;args.get();
</span><span class="cx">     if (!args || !args-&gt;size())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (args-&gt;size() == 1 &amp;&amp; args-&gt;current()-&gt;unit == CSSPrimitiveValue::CSS_STRING)
</span><del>-        valueList-&gt;append(CSSFontFaceSrcValue::createLocal(args-&gt;current()-&gt;string));
</del><ins>+        valueList.append(CSSFontFaceSrcValue::createLocal(args-&gt;current()-&gt;string));
</ins><span class="cx">     else if (args-&gt;current()-&gt;unit == CSSPrimitiveValue::CSS_IDENT) {
</span><span class="cx">         StringBuilder builder;
</span><span class="cx">         for (CSSParserValue* localValue = args-&gt;current(); localValue; localValue = args-&gt;next()) {
</span><span class="lines">@@ -6512,7 +6497,7 @@
</span><span class="cx">                 builder.append(' ');
</span><span class="cx">             builder.append(localValue-&gt;string);
</span><span class="cx">         }
</span><del>-        valueList-&gt;append(CSSFontFaceSrcValue::createLocal(builder.toString()));
</del><ins>+        valueList.append(CSSFontFaceSrcValue::createLocal(builder.toString()));
</ins><span class="cx">     } else
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="lines">@@ -6529,10 +6514,10 @@
</span><span class="cx"> 
</span><span class="cx">     while (CSSParserValue* value = m_valueList-&gt;current()) {
</span><span class="cx">         if (value-&gt;unit == CSSPrimitiveValue::CSS_URI) {
</span><del>-            if (!parseFontFaceSrcURI(values.get()))
</del><ins>+            if (!parseFontFaceSrcURI(*values))
</ins><span class="cx">                 return false;
</span><span class="cx">         } else if (value-&gt;unit == CSSParserValue::Function &amp;&amp; equalIgnoringCase(value-&gt;function-&gt;name, &quot;local(&quot;)) {
</span><del>-            if (!parseFontFaceSrcLocal(values.get()))
</del><ins>+            if (!parseFontFaceSrcLocal(*values))
</ins><span class="cx">                 return false;
</span><span class="cx">         } else
</span><span class="cx">             return false;
</span><span class="lines">@@ -6958,13 +6943,13 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::isCalculation(CSSParserValue* value) 
</del><ins>+bool CSSParser::isCalculation(CSSParserValue&amp; value)
</ins><span class="cx"> {
</span><del>-    return (value-&gt;unit == CSSParserValue::Function) 
-        &amp;&amp; (equalIgnoringCase(value-&gt;function-&gt;name, &quot;calc(&quot;)
-            || equalIgnoringCase(value-&gt;function-&gt;name, &quot;-webkit-calc(&quot;)
-            || equalIgnoringCase(value-&gt;function-&gt;name, &quot;-webkit-min(&quot;)
-            || equalIgnoringCase(value-&gt;function-&gt;name, &quot;-webkit-max(&quot;));
</del><ins>+    return (value.unit == CSSParserValue::Function)
+        &amp;&amp; (equalIgnoringCase(value.function-&gt;name, &quot;calc(&quot;)
+            || equalIgnoringCase(value.function-&gt;name, &quot;-webkit-calc(&quot;)
+            || equalIgnoringCase(value.function-&gt;name, &quot;-webkit-min(&quot;)
+            || equalIgnoringCase(value.function-&gt;name, &quot;-webkit-max(&quot;));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> inline int CSSParser::colorIntFromValue(CSSParserValue&amp; value)
</span><span class="lines">@@ -6993,15 +6978,15 @@
</span><span class="cx">     return static_cast&lt;int&gt;(doubleValue);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseColorParameters(CSSParserValue* value, int* colorArray, bool parseAlpha)
</del><ins>+bool CSSParser::parseColorParameters(CSSParserValue&amp; value, int* colorArray, bool parseAlpha)
</ins><span class="cx"> {
</span><del>-    CSSParserValueList* args = value-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* args = value.function-&gt;args.get();
</ins><span class="cx">     CSSParserValue* currentValue = args-&gt;current();
</span><span class="cx">     Units unitType = FUnknown;
</span><span class="cx">     // Get the first value and its type
</span><del>-    if (validUnit(currentValue, FInteger, CSSStrictMode))
</del><ins>+    if (validUnit(*currentValue, FInteger, CSSStrictMode))
</ins><span class="cx">         unitType = FInteger;
</span><del>-    else if (validUnit(currentValue, FPercent, CSSStrictMode))
</del><ins>+    else if (validUnit(*currentValue, FPercent, CSSStrictMode))
</ins><span class="cx">         unitType = FPercent;
</span><span class="cx">     else
</span><span class="cx">         return false;
</span><span class="lines">@@ -7012,7 +6997,7 @@
</span><span class="cx">         if (currentValue-&gt;unit != CSSParserValue::Operator &amp;&amp; currentValue-&gt;iValue != ',')
</span><span class="cx">             return false;
</span><span class="cx">         currentValue = args-&gt;next();
</span><del>-        if (!validUnit(currentValue, unitType, CSSStrictMode))
</del><ins>+        if (!validUnit(*currentValue, unitType, CSSStrictMode))
</ins><span class="cx">             return false;
</span><span class="cx">         colorArray[i] = colorIntFromValue(*currentValue);
</span><span class="cx">     }
</span><span class="lines">@@ -7021,7 +7006,7 @@
</span><span class="cx">         if (currentValue-&gt;unit != CSSParserValue::Operator &amp;&amp; currentValue-&gt;iValue != ',')
</span><span class="cx">             return false;
</span><span class="cx">         currentValue = args-&gt;next();
</span><del>-        if (!validUnit(currentValue, FNumber, CSSStrictMode))
</del><ins>+        if (!validUnit(*currentValue, FNumber, CSSStrictMode))
</ins><span class="cx">             return false;
</span><span class="cx">         double doubleValue = parsedDouble(*currentValue, ReleaseParsedCalcValue);
</span><span class="cx">         // Convert the floating pointer number of alpha to an integer in the range [0, 256),
</span><span class="lines">@@ -7036,12 +7021,12 @@
</span><span class="cx"> // and with alpha, the format is
</span><span class="cx"> // hsla(&lt;number&gt;, &lt;percent&gt;, &lt;percent&gt;, &lt;number&gt;)
</span><span class="cx"> // The first value, HUE, is in an angle with a value between 0 and 360
</span><del>-bool CSSParser::parseHSLParameters(CSSParserValue* value, double* colorArray, bool parseAlpha)
</del><ins>+bool CSSParser::parseHSLParameters(CSSParserValue&amp; value, double* colorArray, bool parseAlpha)
</ins><span class="cx"> {
</span><del>-    CSSParserValueList* args = value-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* args = value.function-&gt;args.get();
</ins><span class="cx">     CSSParserValue* currentValue = args-&gt;current();
</span><span class="cx">     // Get the first value
</span><del>-    if (!validUnit(currentValue, FNumber, CSSStrictMode))
</del><ins>+    if (!validUnit(*currentValue, FNumber, CSSStrictMode))
</ins><span class="cx">         return false;
</span><span class="cx">     // normalize the Hue value and change it to be between 0 and 1.0
</span><span class="cx">     colorArray[0] = (((static_cast&lt;int&gt;(parsedDouble(*currentValue, ReleaseParsedCalcValue)) % 360) + 360) % 360) / 360.0;
</span><span class="lines">@@ -7050,7 +7035,7 @@
</span><span class="cx">         if (currentValue-&gt;unit != CSSParserValue::Operator &amp;&amp; currentValue-&gt;iValue != ',')
</span><span class="cx">             return false;
</span><span class="cx">         currentValue = args-&gt;next();
</span><del>-        if (!validUnit(currentValue, FPercent, CSSStrictMode))
</del><ins>+        if (!validUnit(*currentValue, FPercent, CSSStrictMode))
</ins><span class="cx">             return false;
</span><span class="cx">         colorArray[i] = std::max&lt;double&gt;(0, std::min&lt;double&gt;(100, parsedDouble(*currentValue, ReleaseParsedCalcValue))) / 100.0; // needs to be value between 0 and 1.0
</span><span class="cx">     }
</span><span class="lines">@@ -7059,7 +7044,7 @@
</span><span class="cx">         if (currentValue-&gt;unit != CSSParserValue::Operator &amp;&amp; currentValue-&gt;iValue != ',')
</span><span class="cx">             return false;
</span><span class="cx">         currentValue = args-&gt;next();
</span><del>-        if (!validUnit(currentValue, FNumber, CSSStrictMode))
</del><ins>+        if (!validUnit(*currentValue, FNumber, CSSStrictMode))
</ins><span class="cx">             return false;
</span><span class="cx">         colorArray[3] = std::max&lt;double&gt;(0, std::min&lt;double&gt;(1, parsedDouble(*currentValue, ReleaseParsedCalcValue)));
</span><span class="cx">     }
</span><span class="lines">@@ -7069,53 +7054,53 @@
</span><span class="cx"> PassRefPtr&lt;CSSPrimitiveValue&gt; CSSParser::parseColor(CSSParserValue* value)
</span><span class="cx"> {
</span><span class="cx">     RGBA32 c = Color::transparent;
</span><del>-    if (!parseColorFromValue(value ? value : m_valueList-&gt;current(), c))
-        return 0;
</del><ins>+    if (!parseColorFromValue(value ? *value : *m_valueList-&gt;current(), c))
+        return nullptr;
</ins><span class="cx">     return cssValuePool().createColorValue(c);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseColorFromValue(CSSParserValue* value, RGBA32&amp; c)
</del><ins>+bool CSSParser::parseColorFromValue(CSSParserValue&amp; value, RGBA32&amp; c)
</ins><span class="cx"> {
</span><del>-    if (inQuirksMode() &amp;&amp; value-&gt;unit == CSSPrimitiveValue::CSS_NUMBER
-        &amp;&amp; value-&gt;fValue &gt;= 0. &amp;&amp; value-&gt;fValue &lt; 1000000.) {
-        String str = String::format(&quot;%06d&quot;, static_cast&lt;int&gt;((value-&gt;fValue+.5)));
</del><ins>+    if (inQuirksMode() &amp;&amp; value.unit == CSSPrimitiveValue::CSS_NUMBER
+        &amp;&amp; value.fValue &gt;= 0. &amp;&amp; value.fValue &lt; 1000000.) {
+        String str = String::format(&quot;%06d&quot;, static_cast&lt;int&gt;((value.fValue+.5)));
</ins><span class="cx">         // FIXME: This should be strict parsing for SVG as well.
</span><span class="cx">         if (!fastParseColor(c, str, inStrictMode()))
</span><span class="cx">             return false;
</span><del>-    } else if (value-&gt;unit == CSSPrimitiveValue::CSS_PARSER_HEXCOLOR ||
-                value-&gt;unit == CSSPrimitiveValue::CSS_IDENT ||
-                (inQuirksMode() &amp;&amp; value-&gt;unit == CSSPrimitiveValue::CSS_DIMENSION)) {
-        if (!fastParseColor(c, value-&gt;string, inStrictMode() &amp;&amp; value-&gt;unit == CSSPrimitiveValue::CSS_IDENT))
</del><ins>+    } else if (value.unit == CSSPrimitiveValue::CSS_PARSER_HEXCOLOR
+        || value.unit == CSSPrimitiveValue::CSS_IDENT
+        || (inQuirksMode() &amp;&amp; value.unit == CSSPrimitiveValue::CSS_DIMENSION)) {
+        if (!fastParseColor(c, value.string, inStrictMode() &amp;&amp; value.unit == CSSPrimitiveValue::CSS_IDENT))
</ins><span class="cx">             return false;
</span><del>-    } else if (value-&gt;unit == CSSParserValue::Function &amp;&amp;
-                value-&gt;function-&gt;args != 0 &amp;&amp;
-                value-&gt;function-&gt;args-&gt;size() == 5 /* rgb + two commas */ &amp;&amp;
-                equalIgnoringCase(value-&gt;function-&gt;name, &quot;rgb(&quot;)) {
</del><ins>+    } else if (value.unit == CSSParserValue::Function
+        &amp;&amp; value.function-&gt;args
+        &amp;&amp; value.function-&gt;args-&gt;size() == 5 /* rgb + two commas */
+        &amp;&amp; equalIgnoringCase(value.function-&gt;name, &quot;rgb(&quot;)) {
</ins><span class="cx">         int colorValues[3];
</span><span class="cx">         if (!parseColorParameters(value, colorValues, false))
</span><span class="cx">             return false;
</span><span class="cx">         c = makeRGB(colorValues[0], colorValues[1], colorValues[2]);
</span><span class="cx">     } else {
</span><del>-        if (value-&gt;unit == CSSParserValue::Function &amp;&amp;
-                value-&gt;function-&gt;args != 0 &amp;&amp;
-                value-&gt;function-&gt;args-&gt;size() == 7 /* rgba + three commas */ &amp;&amp;
-                equalIgnoringCase(value-&gt;function-&gt;name, &quot;rgba(&quot;)) {
</del><ins>+        if (value.unit == CSSParserValue::Function
+            &amp;&amp; value.function-&gt;args
+            &amp;&amp; value.function-&gt;args-&gt;size() == 7 /* rgba + three commas */
+            &amp;&amp; equalIgnoringCase(value.function-&gt;name, &quot;rgba(&quot;)) {
</ins><span class="cx">             int colorValues[4];
</span><span class="cx">             if (!parseColorParameters(value, colorValues, true))
</span><span class="cx">                 return false;
</span><span class="cx">             c = makeRGBA(colorValues[0], colorValues[1], colorValues[2], colorValues[3]);
</span><del>-        } else if (value-&gt;unit == CSSParserValue::Function &amp;&amp;
-                    value-&gt;function-&gt;args != 0 &amp;&amp;
-                    value-&gt;function-&gt;args-&gt;size() == 5 /* hsl + two commas */ &amp;&amp;
-                    equalIgnoringCase(value-&gt;function-&gt;name, &quot;hsl(&quot;)) {
</del><ins>+        } else if (value.unit == CSSParserValue::Function
+            &amp;&amp; value.function-&gt;args
+            &amp;&amp; value.function-&gt;args-&gt;size() == 5 /* hsl + two commas */
+            &amp;&amp; equalIgnoringCase(value.function-&gt;name, &quot;hsl(&quot;)) {
</ins><span class="cx">             double colorValues[3];
</span><span class="cx">             if (!parseHSLParameters(value, colorValues, false))
</span><span class="cx">                 return false;
</span><span class="cx">             c = makeRGBAFromHSLA(colorValues[0], colorValues[1], colorValues[2], 1.0);
</span><del>-        } else if (value-&gt;unit == CSSParserValue::Function &amp;&amp;
-                    value-&gt;function-&gt;args != 0 &amp;&amp;
-                    value-&gt;function-&gt;args-&gt;size() == 7 /* hsla + three commas */ &amp;&amp;
-                    equalIgnoringCase(value-&gt;function-&gt;name, &quot;hsla(&quot;)) {
</del><ins>+        } else if (value.unit == CSSParserValue::Function
+            &amp;&amp; value.function-&gt;args
+            &amp;&amp; value.function-&gt;args-&gt;size() == 7 /* hsla + three commas */
+            &amp;&amp; equalIgnoringCase(value.function-&gt;name, &quot;hsla(&quot;)) {
</ins><span class="cx">             double colorValues[4];
</span><span class="cx">             if (!parseHSLParameters(value, colorValues, true))
</span><span class="cx">                 return false;
</span><span class="lines">@@ -7130,7 +7115,7 @@
</span><span class="cx"> // This class tracks parsing state for shadow values.  If it goes out of scope (e.g., due to an early return)
</span><span class="cx"> // without the allowBreak bit being set, then it will clean up all of the objects and destroy them.
</span><span class="cx"> struct ShadowParseContext {
</span><del>-    ShadowParseContext(CSSPropertyID prop, CSSParser* parser)
</del><ins>+    ShadowParseContext(CSSPropertyID prop, CSSParser&amp; parser)
</ins><span class="cx">         : property(prop)
</span><span class="cx">         , m_parser(parser)
</span><span class="cx">         , allowX(true)
</span><span class="lines">@@ -7159,10 +7144,10 @@
</span><span class="cx">         // Now reset for the next shadow value.
</span><span class="cx">         x = 0;
</span><span class="cx">         y = 0;
</span><del>-        blur = 0;
-        spread = 0;
-        style = 0;
-        color = 0;
</del><ins>+        blur = nullptr;
+        spread = nullptr;
+        style = nullptr;
+        color = nullptr;
</ins><span class="cx"> 
</span><span class="cx">         allowX = true;
</span><span class="cx">         allowColor = true;
</span><span class="lines">@@ -7173,30 +7158,30 @@
</span><span class="cx">         allowStyle = property == CSSPropertyWebkitBoxShadow || property == CSSPropertyBoxShadow;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void commitLength(CSSParserValue* v)
</del><ins>+    void commitLength(CSSParserValue&amp; value)
</ins><span class="cx">     {
</span><del>-        RefPtr&lt;CSSPrimitiveValue&gt; val = m_parser-&gt;createPrimitiveNumericValue(v);
</del><ins>+        RefPtr&lt;CSSPrimitiveValue&gt; primitiveValue = m_parser.createPrimitiveNumericValue(value);
</ins><span class="cx"> 
</span><span class="cx">         if (allowX) {
</span><del>-            x = val.release();
</del><ins>+            x = primitiveValue.release();
</ins><span class="cx">             allowX = false;
</span><span class="cx">             allowY = true;
</span><span class="cx">             allowColor = false;
</span><span class="cx">             allowStyle = false;
</span><span class="cx">             allowBreak = false;
</span><span class="cx">         } else if (allowY) {
</span><del>-            y = val.release();
</del><ins>+            y = primitiveValue.release();
</ins><span class="cx">             allowY = false;
</span><span class="cx">             allowBlur = true;
</span><span class="cx">             allowColor = true;
</span><span class="cx">             allowStyle = property == CSSPropertyWebkitBoxShadow || property == CSSPropertyBoxShadow;
</span><span class="cx">             allowBreak = true;
</span><span class="cx">         } else if (allowBlur) {
</span><del>-            blur = val.release();
</del><ins>+            blur = primitiveValue.release();
</ins><span class="cx">             allowBlur = false;
</span><span class="cx">             allowSpread = property == CSSPropertyWebkitBoxShadow || property == CSSPropertyBoxShadow;
</span><span class="cx">         } else if (allowSpread) {
</span><del>-            spread = val.release();
</del><ins>+            spread = primitiveValue.release();
</ins><span class="cx">             allowSpread = false;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -7215,9 +7200,9 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void commitStyle(CSSParserValue* v)
</del><ins>+    void commitStyle(CSSParserValue&amp; value)
</ins><span class="cx">     {
</span><del>-        style = cssValuePool().createIdentifierValue(v-&gt;id);
</del><ins>+        style = cssValuePool().createIdentifierValue(value.id);
</ins><span class="cx">         allowStyle = false;
</span><span class="cx">         if (allowX)
</span><span class="cx">             allowBreak = false;
</span><span class="lines">@@ -7229,7 +7214,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     CSSPropertyID property;
</span><del>-    CSSParser* m_parser;
</del><ins>+    CSSParser&amp; m_parser;
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; values;
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; x;
</span><span class="lines">@@ -7248,62 +7233,63 @@
</span><span class="cx">     bool allowBreak;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;CSSValueList&gt; CSSParser::parseShadow(CSSParserValueList* valueList, CSSPropertyID propId)
</del><ins>+PassRefPtr&lt;CSSValueList&gt; CSSParser::parseShadow(CSSParserValueList&amp; valueList, CSSPropertyID propId)
</ins><span class="cx"> {
</span><del>-    ShadowParseContext context(propId, this);
-    CSSParserValue* val;
-    while ((val = valueList-&gt;current())) {
</del><ins>+    ShadowParseContext context(propId, *this);
+    CSSParserValue* value;
+    while ((value = valueList.current())) {
</ins><span class="cx">         // Check for a comma break first.
</span><del>-        if (val-&gt;unit == CSSParserValue::Operator) {
-            if (val-&gt;iValue != ',' || !context.allowBreak)
</del><ins>+        if (value-&gt;unit == CSSParserValue::Operator) {
+            if (value-&gt;iValue != ',' || !context.allowBreak) {
</ins><span class="cx">                 // Other operators aren't legal or we aren't done with the current shadow
</span><span class="cx">                 // value.  Treat as invalid.
</span><del>-                return 0;
</del><ins>+                return nullptr;
+            }
</ins><span class="cx">             // -webkit-svg-shadow does not support multiple values.
</span><span class="cx">             if (propId == CSSPropertyWebkitSvgShadow)
</span><del>-                return 0;
</del><ins>+                return nullptr;
</ins><span class="cx">             // The value is good.  Commit it.
</span><span class="cx">             context.commitValue();
</span><del>-        } else if (validUnit(val, FLength, CSSStrictMode)) {
</del><ins>+        } else if (validUnit(*value, FLength, CSSStrictMode)) {
</ins><span class="cx">             // We required a length and didn't get one. Invalid.
</span><span class="cx">             if (!context.allowLength())
</span><del>-                return 0;
</del><ins>+                return nullptr;
</ins><span class="cx"> 
</span><span class="cx">             // Blur radius must be non-negative.
</span><del>-            if (context.allowBlur &amp;&amp; !validUnit(val, FLength | FNonNeg, CSSStrictMode))
-                return 0;
</del><ins>+            if (context.allowBlur &amp;&amp; !validUnit(*value, FLength | FNonNeg, CSSStrictMode))
+                return nullptr;
</ins><span class="cx"> 
</span><span class="cx">             // A length is allowed here.  Construct the value and add it.
</span><del>-            context.commitLength(val);
-        } else if (val-&gt;id == CSSValueInset) {
</del><ins>+            context.commitLength(*value);
+        } else if (value-&gt;id == CSSValueInset) {
</ins><span class="cx">             if (!context.allowStyle)
</span><del>-                return 0;
</del><ins>+                return nullptr;
</ins><span class="cx"> 
</span><del>-            context.commitStyle(val);
</del><ins>+            context.commitStyle(*value);
</ins><span class="cx">         } else {
</span><span class="cx">             // The only other type of value that's ok is a color value.
</span><span class="cx">             RefPtr&lt;CSSPrimitiveValue&gt; parsedColor;
</span><del>-            bool isColor = ((val-&gt;id &gt;= CSSValueAqua &amp;&amp; val-&gt;id &lt;= CSSValueWindowtext) || val-&gt;id == CSSValueMenu
-                            || (val-&gt;id &gt;= CSSValueWebkitFocusRingColor &amp;&amp; val-&gt;id &lt;= CSSValueWebkitText &amp;&amp; inQuirksMode())
-                            || val-&gt;id == CSSValueCurrentcolor);
</del><ins>+            bool isColor = ((value-&gt;id &gt;= CSSValueAqua &amp;&amp; value-&gt;id &lt;= CSSValueWindowtext) || value-&gt;id == CSSValueMenu
+                || (value-&gt;id &gt;= CSSValueWebkitFocusRingColor &amp;&amp; value-&gt;id &lt;= CSSValueWebkitText &amp;&amp; inQuirksMode())
+                || value-&gt;id == CSSValueCurrentcolor);
</ins><span class="cx">             if (isColor) {
</span><span class="cx">                 if (!context.allowColor)
</span><del>-                    return 0;
-                parsedColor = cssValuePool().createIdentifierValue(val-&gt;id);
</del><ins>+                    return nullptr;
+                parsedColor = cssValuePool().createIdentifierValue(value-&gt;id);
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             if (!parsedColor)
</span><span class="cx">                 // It's not built-in. Try to parse it as a color.
</span><del>-                parsedColor = parseColor(val);
</del><ins>+                parsedColor = parseColor(value);
</ins><span class="cx"> 
</span><span class="cx">             if (!parsedColor || !context.allowColor)
</span><del>-                return 0; // This value is not a color or length and is invalid or
</del><ins>+                return nullptr; // This value is not a color or length and is invalid or
</ins><span class="cx">                           // it is a color, but a color isn't allowed at this point.
</span><span class="cx"> 
</span><span class="cx">             context.commitColor(parsedColor.release());
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        valueList-&gt;next();
</del><ins>+        valueList.next();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (context.allowBreak) {
</span><span class="lines">@@ -7312,7 +7298,7 @@
</span><span class="cx">             return context.values.release();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return 0;
</del><ins>+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool CSSParser::parseReflect(CSSPropertyID propId, bool important)
</span><span class="lines">@@ -7320,34 +7306,34 @@
</span><span class="cx">     // box-reflect: &lt;direction&gt; &lt;offset&gt; &lt;mask&gt;
</span><span class="cx"> 
</span><span class="cx">     // Direction comes first.
</span><del>-    CSSParserValue* val = m_valueList-&gt;current();
</del><ins>+    CSSParserValue* currentValue = m_valueList-&gt;current();
</ins><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; direction;
</span><del>-    switch (val-&gt;id) {
</del><ins>+    switch (currentValue-&gt;id) {
</ins><span class="cx">         case CSSValueAbove:
</span><span class="cx">         case CSSValueBelow:
</span><span class="cx">         case CSSValueLeft:
</span><span class="cx">         case CSSValueRight:
</span><del>-            direction = cssValuePool().createIdentifierValue(val-&gt;id);
</del><ins>+            direction = cssValuePool().createIdentifierValue(currentValue-&gt;id);
</ins><span class="cx">             break;
</span><span class="cx">         default:
</span><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // The offset comes next.
</span><del>-    val = m_valueList-&gt;next();
</del><ins>+    currentValue = m_valueList-&gt;next();
</ins><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; offset;
</span><del>-    if (!val)
</del><ins>+    if (!currentValue)
</ins><span class="cx">         offset = cssValuePool().createValue(0, CSSPrimitiveValue::CSS_PX);
</span><span class="cx">     else {
</span><del>-        if (!validUnit(val, FLength | FPercent))
</del><ins>+        if (!validUnit(*currentValue, FLength | FPercent))
</ins><span class="cx">             return false;
</span><del>-        offset = createPrimitiveNumericValue(val);
</del><ins>+        offset = createPrimitiveNumericValue(*currentValue);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Now for the mask.
</span><span class="cx">     RefPtr&lt;CSSValue&gt; mask;
</span><del>-    val = m_valueList-&gt;next();
-    if (val) {
</del><ins>+    currentValue = m_valueList-&gt;next();
+    if (currentValue) {
</ins><span class="cx">         if (!parseBorderImage(propId, mask))
</span><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="lines">@@ -7357,35 +7343,35 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseFlex(CSSParserValueList* args, bool important)
</del><ins>+bool CSSParser::parseFlex(CSSParserValueList&amp; args, bool important)
</ins><span class="cx"> {
</span><del>-    if (!args || !args-&gt;size() || args-&gt;size() &gt; 3)
</del><ins>+    if (!args.size() || args.size() &gt; 3)
</ins><span class="cx">         return false;
</span><span class="cx">     static const double unsetValue = -1;
</span><span class="cx">     double flexGrow = unsetValue;
</span><span class="cx">     double flexShrink = unsetValue;
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; flexBasis;
</span><span class="cx"> 
</span><del>-    while (CSSParserValue* arg = args-&gt;current()) {
-        if (validUnit(arg, FNumber | FNonNeg)) {
</del><ins>+    while (CSSParserValue* argument = args.current()) {
+        if (validUnit(*argument, FNumber | FNonNeg)) {
</ins><span class="cx">             if (flexGrow == unsetValue)
</span><del>-                flexGrow = parsedDouble(*arg, ReleaseParsedCalcValue);
</del><ins>+                flexGrow = parsedDouble(*argument, ReleaseParsedCalcValue);
</ins><span class="cx">             else if (flexShrink == unsetValue)
</span><del>-                flexShrink = parsedDouble(*arg, ReleaseParsedCalcValue);
-            else if (!parsedDouble(*arg, ReleaseParsedCalcValue)) {
</del><ins>+                flexShrink = parsedDouble(*argument, ReleaseParsedCalcValue);
+            else if (!parsedDouble(*argument, ReleaseParsedCalcValue)) {
</ins><span class="cx">                 // flex only allows a basis of 0 (sans units) if flex-grow and flex-shrink values have already been set.
</span><span class="cx">                 flexBasis = cssValuePool().createValue(0, CSSPrimitiveValue::CSS_PX);
</span><span class="cx">             } else {
</span><span class="cx">                 // We only allow 3 numbers without units if the last value is 0. E.g., flex:1 1 1 is invalid.
</span><span class="cx">                 return false;
</span><span class="cx">             }
</span><del>-        } else if (!flexBasis &amp;&amp; (arg-&gt;id == CSSValueAuto || validUnit(arg, FLength | FPercent | FNonNeg)))
-            flexBasis = parseValidPrimitive(arg-&gt;id, arg);
</del><ins>+        } else if (!flexBasis &amp;&amp; (argument-&gt;id == CSSValueAuto || validUnit(*argument, FLength | FPercent | FNonNeg)))
+            flexBasis = parseValidPrimitive(argument-&gt;id, *argument);
</ins><span class="cx">         else {
</span><span class="cx">             // Not a valid arg for flex.
</span><span class="cx">             return false;
</span><span class="cx">         }
</span><del>-        args-&gt;next();
</del><ins>+        args.next();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (flexGrow == unsetValue)
</span><span class="lines">@@ -7488,7 +7474,7 @@
</span><span class="cx">         return createBorderImageValue(m_image, m_imageSlice, m_borderSlice, m_outset, m_repeat);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void commitBorderImage(CSSParser* parser, bool important)
</del><ins>+    void commitBorderImage(CSSParser&amp; parser, bool important)
</ins><span class="cx">     {
</span><span class="cx">         commitBorderImageProperty(CSSPropertyBorderImageSource, parser, m_image, important);
</span><span class="cx">         commitBorderImageProperty(CSSPropertyBorderImageSlice, parser, m_imageSlice, important);
</span><span class="lines">@@ -7497,12 +7483,12 @@
</span><span class="cx">         commitBorderImageProperty(CSSPropertyBorderImageRepeat, parser, m_repeat, important);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void commitBorderImageProperty(CSSPropertyID propId, CSSParser* parser, PassRefPtr&lt;CSSValue&gt; value, bool important)
</del><ins>+    void commitBorderImageProperty(CSSPropertyID propId, CSSParser&amp; parser, PassRefPtr&lt;CSSValue&gt; value, bool important)
</ins><span class="cx">     {
</span><span class="cx">         if (value)
</span><del>-            parser-&gt;addProperty(propId, value, important);
</del><ins>+            parser.addProperty(propId, value, important);
</ins><span class="cx">         else
</span><del>-            parser-&gt;addProperty(propId, cssValuePool().createImplicitInitialValue(), important, true);
</del><ins>+            parser.addProperty(propId, cssValuePool().createImplicitInitialValue(), important, true);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     bool m_canAdvance;
</span><span class="lines">@@ -7528,30 +7514,30 @@
</span><span class="cx"> {
</span><span class="cx">     ShorthandScope scope(this, propId);
</span><span class="cx">     BorderImageParseContext context;
</span><del>-    while (CSSParserValue* val = m_valueList-&gt;current()) {
</del><ins>+    while (CSSParserValue* currentValue = m_valueList-&gt;current()) {
</ins><span class="cx">         context.setCanAdvance(false);
</span><span class="cx"> 
</span><del>-        if (!context.canAdvance() &amp;&amp; context.allowForwardSlashOperator() &amp;&amp; isForwardSlashOperator(val))
</del><ins>+        if (!context.canAdvance() &amp;&amp; context.allowForwardSlashOperator() &amp;&amp; isForwardSlashOperator(*currentValue))
</ins><span class="cx">             context.commitForwardSlashOperator();
</span><span class="cx"> 
</span><span class="cx">         if (!context.canAdvance() &amp;&amp; context.allowImage()) {
</span><del>-            if (val-&gt;unit == CSSPrimitiveValue::CSS_URI)
-                context.commitImage(CSSImageValue::create(completeURL(val-&gt;string)));
-            else if (isGeneratedImageValue(val)) {
</del><ins>+            if (currentValue-&gt;unit == CSSPrimitiveValue::CSS_URI)
+                context.commitImage(CSSImageValue::create(completeURL(currentValue-&gt;string)));
+            else if (isGeneratedImageValue(*currentValue)) {
</ins><span class="cx">                 RefPtr&lt;CSSValue&gt; value;
</span><del>-                if (parseGeneratedImage(m_valueList.get(), value))
</del><ins>+                if (parseGeneratedImage(*m_valueList, value))
</ins><span class="cx">                     context.commitImage(value.release());
</span><span class="cx">                 else
</span><span class="cx">                     return false;
</span><span class="cx"> #if ENABLE(CSS_IMAGE_SET)
</span><del>-            } else if (val-&gt;unit == CSSParserValue::Function &amp;&amp; equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-image-set(&quot;)) {
</del><ins>+            } else if (currentValue-&gt;unit == CSSParserValue::Function &amp;&amp; equalIgnoringCase(currentValue-&gt;function-&gt;name, &quot;-webkit-image-set(&quot;)) {
</ins><span class="cx">                 RefPtr&lt;CSSValue&gt; value = parseImageSet();
</span><span class="cx">                 if (value)
</span><span class="cx">                     context.commitImage(value.release());
</span><span class="cx">                 else
</span><span class="cx">                     return false;
</span><span class="cx"> #endif
</span><del>-            } else if (val-&gt;id == CSSValueNone)
</del><ins>+            } else if (currentValue-&gt;id == CSSValueNone)
</ins><span class="cx">                 context.commitImage(cssValuePool().createIdentifierValue(CSSValueNone));
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -7587,7 +7573,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (context.allowCommit()) {
</span><span class="cx">         if (propId == CSSPropertyBorderImage)
</span><del>-            context.commitBorderImage(this, important);
</del><ins>+            context.commitBorderImage(*this, important);
</ins><span class="cx">         else
</span><span class="cx">             // Need to fully commit as a single value.
</span><span class="cx">             result = context.commitWebKitBorderImage();
</span><span class="lines">@@ -7636,7 +7622,7 @@
</span><span class="cx"> 
</span><span class="cx"> class BorderImageSliceParseContext {
</span><span class="cx"> public:
</span><del>-    BorderImageSliceParseContext(CSSParser* parser)
</del><ins>+    BorderImageSliceParseContext(CSSParser&amp; parser)
</ins><span class="cx">     : m_parser(parser)
</span><span class="cx">     , m_allowNumber(true)
</span><span class="cx">     , m_allowFill(true)
</span><span class="lines">@@ -7649,18 +7635,18 @@
</span><span class="cx">     bool allowFinalCommit() const { return m_allowFinalCommit; }
</span><span class="cx">     CSSPrimitiveValue* top() const { return m_top.get(); }
</span><span class="cx"> 
</span><del>-    void commitNumber(CSSParserValue* v)
</del><ins>+    void commitNumber(CSSParserValue&amp; value)
</ins><span class="cx">     {
</span><del>-        RefPtr&lt;CSSPrimitiveValue&gt; val = m_parser-&gt;createPrimitiveNumericValue(v);
</del><ins>+        RefPtr&lt;CSSPrimitiveValue&gt; primitiveValue = m_parser.createPrimitiveNumericValue(value);
</ins><span class="cx">         if (!m_top)
</span><del>-            m_top = val;
</del><ins>+            m_top = primitiveValue.release();
</ins><span class="cx">         else if (!m_right)
</span><del>-            m_right = val;
</del><ins>+            m_right = primitiveValue.release();
</ins><span class="cx">         else if (!m_bottom)
</span><del>-            m_bottom = val;
</del><ins>+            m_bottom = primitiveValue.release();
</ins><span class="cx">         else {
</span><span class="cx">             ASSERT(!m_left);
</span><del>-            m_left = val;
</del><ins>+            m_left = primitiveValue.release();
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         m_allowNumber = !m_left;
</span><span class="lines">@@ -7697,7 +7683,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    CSSParser* m_parser;
</del><ins>+    CSSParser&amp; m_parser;
</ins><span class="cx"> 
</span><span class="cx">     bool m_allowNumber;
</span><span class="cx">     bool m_allowFill;
</span><span class="lines">@@ -7713,13 +7699,13 @@
</span><span class="cx"> 
</span><span class="cx"> bool CSSParser::parseBorderImageSlice(CSSPropertyID propId, RefPtr&lt;CSSBorderImageSliceValue&gt;&amp; result)
</span><span class="cx"> {
</span><del>-    BorderImageSliceParseContext context(this);
-    CSSParserValue* val;
-    while ((val = m_valueList-&gt;current())) {
</del><ins>+    BorderImageSliceParseContext context(*this);
+    CSSParserValue* value;
+    while ((value = m_valueList-&gt;current())) {
</ins><span class="cx">         // FIXME calc() http://webkit.org/b/16662 : calc is parsed but values are not created yet.
</span><del>-        if (context.allowNumber() &amp;&amp; !isCalculation(val) &amp;&amp; validUnit(val, FInteger | FNonNeg | FPercent, CSSStrictMode)) {
-            context.commitNumber(val);
-        } else if (context.allowFill() &amp;&amp; val-&gt;id == CSSValueFill)
</del><ins>+        if (context.allowNumber() &amp;&amp; !isCalculation(*value) &amp;&amp; validUnit(*value, FInteger | FNonNeg | FPercent, CSSStrictMode)) {
+            context.commitNumber(*value);
+        } else if (context.allowFill() &amp;&amp; value-&gt;id == CSSValueFill)
</ins><span class="cx">             context.commitFill();
</span><span class="cx">         else if (!inShorthand()) {
</span><span class="cx">             // If we're not parsing a shorthand then we are invalid.
</span><span class="lines">@@ -7750,7 +7736,7 @@
</span><span class="cx"> 
</span><span class="cx"> class BorderImageQuadParseContext {
</span><span class="cx"> public:
</span><del>-    BorderImageQuadParseContext(CSSParser* parser)
</del><ins>+    BorderImageQuadParseContext(CSSParser&amp; parser)
</ins><span class="cx">     : m_parser(parser)
</span><span class="cx">     , m_allowNumber(true)
</span><span class="cx">     , m_allowFinalCommit(false)
</span><span class="lines">@@ -7760,23 +7746,23 @@
</span><span class="cx">     bool allowFinalCommit() const { return m_allowFinalCommit; }
</span><span class="cx">     CSSPrimitiveValue* top() const { return m_top.get(); }
</span><span class="cx"> 
</span><del>-    void commitNumber(CSSParserValue* v)
</del><ins>+    void commitNumber(CSSParserValue&amp; value)
</ins><span class="cx">     {
</span><del>-        RefPtr&lt;CSSPrimitiveValue&gt; val;
-        if (v-&gt;id == CSSValueAuto)
-            val = cssValuePool().createIdentifierValue(v-&gt;id);
</del><ins>+        RefPtr&lt;CSSPrimitiveValue&gt; primitiveValue;
+        if (value.id == CSSValueAuto)
+            primitiveValue = cssValuePool().createIdentifierValue(value.id);
</ins><span class="cx">         else
</span><del>-            val = m_parser-&gt;createPrimitiveNumericValue(v);
</del><ins>+            primitiveValue = m_parser.createPrimitiveNumericValue(value);
</ins><span class="cx"> 
</span><span class="cx">         if (!m_top)
</span><del>-            m_top = val;
</del><ins>+            m_top = primitiveValue.release();
</ins><span class="cx">         else if (!m_right)
</span><del>-            m_right = val;
</del><ins>+            m_right = primitiveValue.release();
</ins><span class="cx">         else if (!m_bottom)
</span><del>-            m_bottom = val;
</del><ins>+            m_bottom = primitiveValue.release();
</ins><span class="cx">         else {
</span><span class="cx">             ASSERT(!m_left);
</span><del>-            m_left = val;
</del><ins>+            m_left = primitiveValue.release();
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         m_allowNumber = !m_left;
</span><span class="lines">@@ -7814,7 +7800,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    CSSParser* m_parser;
</del><ins>+    CSSParser&amp; m_parser;
</ins><span class="cx"> 
</span><span class="cx">     bool m_allowNumber;
</span><span class="cx">     bool m_allowFinalCommit;
</span><span class="lines">@@ -7827,11 +7813,11 @@
</span><span class="cx"> 
</span><span class="cx"> bool CSSParser::parseBorderImageQuad(Units validUnits, RefPtr&lt;CSSPrimitiveValue&gt;&amp; result)
</span><span class="cx"> {
</span><del>-    BorderImageQuadParseContext context(this);
-    CSSParserValue* val;
-    while ((val = m_valueList-&gt;current())) {
-        if (context.allowNumber() &amp;&amp; (validUnit(val, validUnits, CSSStrictMode) || val-&gt;id == CSSValueAuto)) {
-            context.commitNumber(val);
</del><ins>+    BorderImageQuadParseContext context(*this);
+    CSSParserValue* currentValue;
+    while ((currentValue = m_valueList-&gt;current())) {
+        if (context.allowNumber() &amp;&amp; (validUnit(*currentValue, validUnits, CSSStrictMode) || currentValue-&gt;id == CSSValueAuto)) {
+            context.commitNumber(*currentValue);
</ins><span class="cx">         } else if (!inShorthand()) {
</span><span class="cx">             // If we're not parsing a shorthand then we are invalid.
</span><span class="cx">             return false;
</span><span class="lines">@@ -7872,9 +7858,9 @@
</span><span class="cx"> 
</span><span class="cx">     unsigned indexAfterSlash = 0;
</span><span class="cx">     for (unsigned i = 0; i &lt; num; ++i) {
</span><del>-        CSSParserValue* value = m_valueList-&gt;valueAt(i);
-        if (value-&gt;unit == CSSParserValue::Operator) {
-            if (value-&gt;iValue != '/')
</del><ins>+        CSSParserValue&amp; value = *m_valueList-&gt;valueAt(i);
+        if (value.unit == CSSParserValue::Operator) {
+            if (value.iValue != '/')
</ins><span class="cx">                 return false;
</span><span class="cx"> 
</span><span class="cx">             if (!i || indexAfterSlash || i + 1 == num || num &gt; i + 5)
</span><span class="lines">@@ -7912,7 +7898,7 @@
</span><span class="cx">     } else
</span><span class="cx">         completeBorderRadii(radii[1]);
</span><span class="cx"> 
</span><del>-    ImplicitScope implicitScope(this, PropertyImplicit);
</del><ins>+    ImplicitScope implicitScope(*this, PropertyImplicit);
</ins><span class="cx">     addProperty(CSSPropertyBorderTopLeftRadius, createPrimitiveValuePair(radii[0][0].release(), radii[1][0].release()), important);
</span><span class="cx">     addProperty(CSSPropertyBorderTopRightRadius, createPrimitiveValuePair(radii[0][1].release(), radii[1][1].release()), important);
</span><span class="cx">     addProperty(CSSPropertyBorderBottomRightRadius, createPrimitiveValuePair(radii[0][2].release(), radii[1][2].release()), important);
</span><span class="lines">@@ -7934,9 +7920,9 @@
</span><span class="cx">     if (num != 3)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    CSSParserValue* lvalue = m_valueList-&gt;valueAt(0);
-    CSSParserValue* op = m_valueList-&gt;valueAt(1);
-    CSSParserValue* rvalue = m_valueList-&gt;valueAt(2);
</del><ins>+    CSSParserValue&amp; lvalue = *m_valueList-&gt;valueAt(0);
+    CSSParserValue&amp; op = *m_valueList-&gt;valueAt(1);
+    CSSParserValue&amp; rvalue = *m_valueList-&gt;valueAt(2);
</ins><span class="cx"> 
</span><span class="cx">     if (!isForwardSlashOperator(op))
</span><span class="cx">         return false;
</span><span class="lines">@@ -7944,10 +7930,10 @@
</span><span class="cx">     if (!validUnit(lvalue, FNumber | FNonNeg) || !validUnit(rvalue, FNumber | FNonNeg))
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    if (!lvalue-&gt;fValue || !rvalue-&gt;fValue)
</del><ins>+    if (!lvalue.fValue || !rvalue.fValue)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    addProperty(CSSPropertyWebkitAspectRatio, CSSAspectRatioValue::create(narrowPrecisionToFloat(lvalue-&gt;fValue), narrowPrecisionToFloat(rvalue-&gt;fValue)), important);
</del><ins>+    addProperty(CSSPropertyWebkitAspectRatio, CSSAspectRatioValue::create(narrowPrecisionToFloat(lvalue.fValue), narrowPrecisionToFloat(rvalue.fValue)), important);
</ins><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -7960,11 +7946,11 @@
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; counterName;
</span><span class="cx"> 
</span><span class="cx">     while (true) {
</span><del>-        CSSParserValue* val = m_valueList-&gt;current();
</del><ins>+        CSSParserValue* value = m_valueList-&gt;current();
</ins><span class="cx">         switch (state) {
</span><span class="cx">             case ID:
</span><del>-                if (val &amp;&amp; val-&gt;unit == CSSPrimitiveValue::CSS_IDENT) {
-                    counterName = createPrimitiveStringValue(val);
</del><ins>+                if (value &amp;&amp; value-&gt;unit == CSSPrimitiveValue::CSS_IDENT) {
+                    counterName = createPrimitiveStringValue(*value);
</ins><span class="cx">                     state = VAL;
</span><span class="cx">                     m_valueList-&gt;next();
</span><span class="cx">                     continue;
</span><span class="lines">@@ -7972,8 +7958,8 @@
</span><span class="cx">                 break;
</span><span class="cx">             case VAL: {
</span><span class="cx">                 int i = defaultValue;
</span><del>-                if (val &amp;&amp; val-&gt;unit == CSSPrimitiveValue::CSS_NUMBER) {
-                    i = clampToInteger(val-&gt;fValue);
</del><ins>+                if (value &amp;&amp; value-&gt;unit == CSSPrimitiveValue::CSS_NUMBER) {
+                    i = clampToInteger(value-&gt;fValue);
</ins><span class="cx">                     m_valueList-&gt;next();
</span><span class="cx">                 }
</span><span class="cx"> 
</span><span class="lines">@@ -7995,44 +7981,44 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // This should go away once we drop support for -webkit-gradient
</span><del>-static PassRefPtr&lt;CSSPrimitiveValue&gt; parseDeprecatedGradientPoint(CSSParserValue* a, bool horizontal)
</del><ins>+static PassRefPtr&lt;CSSPrimitiveValue&gt; parseDeprecatedGradientPoint(CSSParserValue&amp; value, bool horizontal)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; result;
</span><del>-    if (a-&gt;unit == CSSPrimitiveValue::CSS_IDENT) {
-        if ((equalIgnoringCase(a, &quot;left&quot;) &amp;&amp; horizontal)
-            || (equalIgnoringCase(a, &quot;top&quot;) &amp;&amp; !horizontal))
</del><ins>+    if (value.unit == CSSPrimitiveValue::CSS_IDENT) {
+        if ((equalIgnoringCase(value, &quot;left&quot;) &amp;&amp; horizontal)
+            || (equalIgnoringCase(value, &quot;top&quot;) &amp;&amp; !horizontal))
</ins><span class="cx">             result = cssValuePool().createValue(0., CSSPrimitiveValue::CSS_PERCENTAGE);
</span><del>-        else if ((equalIgnoringCase(a, &quot;right&quot;) &amp;&amp; horizontal)
-                 || (equalIgnoringCase(a, &quot;bottom&quot;) &amp;&amp; !horizontal))
</del><ins>+        else if ((equalIgnoringCase(value, &quot;right&quot;) &amp;&amp; horizontal)
+            || (equalIgnoringCase(value, &quot;bottom&quot;) &amp;&amp; !horizontal))
</ins><span class="cx">             result = cssValuePool().createValue(100., CSSPrimitiveValue::CSS_PERCENTAGE);
</span><del>-        else if (equalIgnoringCase(a, &quot;center&quot;))
</del><ins>+        else if (equalIgnoringCase(value, &quot;center&quot;))
</ins><span class="cx">             result = cssValuePool().createValue(50., CSSPrimitiveValue::CSS_PERCENTAGE);
</span><del>-    } else if (a-&gt;unit == CSSPrimitiveValue::CSS_NUMBER || a-&gt;unit == CSSPrimitiveValue::CSS_PERCENTAGE)
-        result = cssValuePool().createValue(a-&gt;fValue, static_cast&lt;CSSPrimitiveValue::UnitTypes&gt;(a-&gt;unit));
</del><ins>+    } else if (value.unit == CSSPrimitiveValue::CSS_NUMBER || value.unit == CSSPrimitiveValue::CSS_PERCENTAGE)
+        result = cssValuePool().createValue(value.fValue, static_cast&lt;CSSPrimitiveValue::UnitTypes&gt;(value.unit));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static bool parseDeprecatedGradientColorStop(CSSParser* p, CSSParserValue* a, CSSGradientColorStop&amp; stop)
</del><ins>+static bool parseDeprecatedGradientColorStop(CSSParser&amp; parser, CSSParserValue&amp; value, CSSGradientColorStop&amp; stop)
</ins><span class="cx"> {
</span><del>-    if (a-&gt;unit != CSSParserValue::Function)
</del><ins>+    if (value.unit != CSSParserValue::Function)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    if (!equalIgnoringCase(a-&gt;function-&gt;name, &quot;from(&quot;) &amp;&amp;
-        !equalIgnoringCase(a-&gt;function-&gt;name, &quot;to(&quot;) &amp;&amp;
-        !equalIgnoringCase(a-&gt;function-&gt;name, &quot;color-stop(&quot;))
</del><ins>+    if (!equalIgnoringCase(value.function-&gt;name, &quot;from(&quot;)
+        &amp;&amp; !equalIgnoringCase(value.function-&gt;name, &quot;to(&quot;)
+        &amp;&amp; !equalIgnoringCase(value.function-&gt;name, &quot;color-stop(&quot;))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    CSSParserValueList* args = a-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* args = value.function-&gt;args.get();
</ins><span class="cx">     if (!args)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    if (equalIgnoringCase(a-&gt;function-&gt;name, &quot;from(&quot;)
-        || equalIgnoringCase(a-&gt;function-&gt;name, &quot;to(&quot;)) {
</del><ins>+    if (equalIgnoringCase(value.function-&gt;name, &quot;from(&quot;)
+        || equalIgnoringCase(value.function-&gt;name, &quot;to(&quot;)) {
</ins><span class="cx">         // The &quot;from&quot; and &quot;to&quot; stops expect 1 argument.
</span><span class="cx">         if (args-&gt;size() != 1)
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        if (equalIgnoringCase(a-&gt;function-&gt;name, &quot;from(&quot;))
</del><ins>+        if (equalIgnoringCase(value.function-&gt;name, &quot;from(&quot;))
</ins><span class="cx">             stop.m_position = cssValuePool().createValue(0, CSSPrimitiveValue::CSS_NUMBER);
</span><span class="cx">         else
</span><span class="cx">             stop.m_position = cssValuePool().createValue(1, CSSPrimitiveValue::CSS_NUMBER);
</span><span class="lines">@@ -8041,13 +8027,13 @@
</span><span class="cx">         if (id == CSSValueWebkitText || (id &gt;= CSSValueAqua &amp;&amp; id &lt;= CSSValueWindowtext) || id == CSSValueMenu)
</span><span class="cx">             stop.m_color = cssValuePool().createIdentifierValue(id);
</span><span class="cx">         else
</span><del>-            stop.m_color = p-&gt;parseColor(args-&gt;current());
</del><ins>+            stop.m_color = parser.parseColor(args-&gt;current());
</ins><span class="cx">         if (!stop.m_color)
</span><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // The &quot;color-stop&quot; function expects 3 arguments.
</span><del>-    if (equalIgnoringCase(a-&gt;function-&gt;name, &quot;color-stop(&quot;)) {
</del><ins>+    if (equalIgnoringCase(value.function-&gt;name, &quot;color-stop(&quot;)) {
</ins><span class="cx">         if (args-&gt;size() != 3)
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="lines">@@ -8068,7 +8054,7 @@
</span><span class="cx">         if (id == CSSValueWebkitText || (id &gt;= CSSValueAqua &amp;&amp; id &lt;= CSSValueWindowtext) || id == CSSValueMenu)
</span><span class="cx">             stop.m_color = cssValuePool().createIdentifierValue(id);
</span><span class="cx">         else
</span><del>-            stop.m_color = p-&gt;parseColor(stopArg);
</del><ins>+            stop.m_color = parser.parseColor(stopArg);
</ins><span class="cx">         if (!stop.m_color)
</span><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="lines">@@ -8076,21 +8062,21 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseDeprecatedGradient(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; gradient)
</del><ins>+bool CSSParser::parseDeprecatedGradient(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; gradient)
</ins><span class="cx"> {
</span><span class="cx">     // Walk the arguments.
</span><del>-    CSSParserValueList* args = valueList-&gt;current()-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* args = valueList.current()-&gt;function-&gt;args.get();
</ins><span class="cx">     if (!args || args-&gt;size() == 0)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     // The first argument is the gradient type.  It is an identifier.
</span><span class="cx">     CSSGradientType gradientType;
</span><del>-    CSSParserValue* a = args-&gt;current();
-    if (!a || a-&gt;unit != CSSPrimitiveValue::CSS_IDENT)
</del><ins>+    CSSParserValue* argument = args-&gt;current();
+    if (!argument || argument-&gt;unit != CSSPrimitiveValue::CSS_IDENT)
</ins><span class="cx">         return false;
</span><del>-    if (equalIgnoringCase(a, &quot;linear&quot;))
</del><ins>+    if (equalIgnoringCase(*argument, &quot;linear&quot;))
</ins><span class="cx">         gradientType = CSSDeprecatedLinearGradient;
</span><del>-    else if (equalIgnoringCase(a, &quot;radial&quot;))
</del><ins>+    else if (equalIgnoringCase(*argument, &quot;radial&quot;))
</ins><span class="cx">         gradientType = CSSDeprecatedRadialGradient;
</span><span class="cx">     else
</span><span class="cx">         return false;
</span><span class="lines">@@ -8109,63 +8095,63 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Comma.
</span><del>-    a = args-&gt;next();
-    if (!isComma(a))
</del><ins>+    argument = args-&gt;next();
+    if (!isComma(argument))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     // Next comes the starting point for the gradient as an x y pair.  There is no
</span><span class="cx">     // comma between the x and the y values.
</span><span class="cx">     // First X.  It can be left, right, number or percent.
</span><del>-    a = args-&gt;next();
-    if (!a)
</del><ins>+    argument = args-&gt;next();
+    if (!argument)
</ins><span class="cx">         return false;
</span><del>-    RefPtr&lt;CSSPrimitiveValue&gt; point = parseDeprecatedGradientPoint(a, true);
</del><ins>+    RefPtr&lt;CSSPrimitiveValue&gt; point = parseDeprecatedGradientPoint(*argument, true);
</ins><span class="cx">     if (!point)
</span><span class="cx">         return false;
</span><span class="cx">     result-&gt;setFirstX(point.release());
</span><span class="cx"> 
</span><span class="cx">     // First Y.  It can be top, bottom, number or percent.
</span><del>-    a = args-&gt;next();
-    if (!a)
</del><ins>+    argument = args-&gt;next();
+    if (!argument)
</ins><span class="cx">         return false;
</span><del>-    point = parseDeprecatedGradientPoint(a, false);
</del><ins>+    point = parseDeprecatedGradientPoint(*argument, false);
</ins><span class="cx">     if (!point)
</span><span class="cx">         return false;
</span><span class="cx">     result-&gt;setFirstY(point.release());
</span><span class="cx"> 
</span><span class="cx">     // Comma after the first point.
</span><del>-    a = args-&gt;next();
-    if (!isComma(a))
</del><ins>+    argument = args-&gt;next();
+    if (!isComma(argument))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     // For radial gradients only, we now expect a numeric radius.
</span><span class="cx">     if (gradientType == CSSDeprecatedRadialGradient) {
</span><del>-        a = args-&gt;next();
-        if (!a || a-&gt;unit != CSSPrimitiveValue::CSS_NUMBER)
</del><ins>+        argument = args-&gt;next();
+        if (!argument || argument-&gt;unit != CSSPrimitiveValue::CSS_NUMBER)
</ins><span class="cx">             return false;
</span><del>-        downcast&lt;CSSRadialGradientValue&gt;(*result).setFirstRadius(createPrimitiveNumericValue(a));
</del><ins>+        downcast&lt;CSSRadialGradientValue&gt;(*result).setFirstRadius(createPrimitiveNumericValue(*argument));
</ins><span class="cx"> 
</span><span class="cx">         // Comma after the first radius.
</span><del>-        a = args-&gt;next();
-        if (!isComma(a))
</del><ins>+        argument = args-&gt;next();
+        if (!isComma(argument))
</ins><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Next is the ending point for the gradient as an x, y pair.
</span><span class="cx">     // Second X.  It can be left, right, number or percent.
</span><del>-    a = args-&gt;next();
-    if (!a)
</del><ins>+    argument = args-&gt;next();
+    if (!argument)
</ins><span class="cx">         return false;
</span><del>-    point = parseDeprecatedGradientPoint(a, true);
</del><ins>+    point = parseDeprecatedGradientPoint(*argument, true);
</ins><span class="cx">     if (!point)
</span><span class="cx">         return false;
</span><span class="cx">     result-&gt;setSecondX(point.release());
</span><span class="cx"> 
</span><span class="cx">     // Second Y.  It can be top, bottom, number or percent.
</span><del>-    a = args-&gt;next();
-    if (!a)
</del><ins>+    argument = args-&gt;next();
+    if (!argument)
</ins><span class="cx">         return false;
</span><del>-    point = parseDeprecatedGradientPoint(a, false);
</del><ins>+    point = parseDeprecatedGradientPoint(*argument, false);
</ins><span class="cx">     if (!point)
</span><span class="cx">         return false;
</span><span class="cx">     result-&gt;setSecondY(point.release());
</span><span class="lines">@@ -8173,48 +8159,48 @@
</span><span class="cx">     // For radial gradients only, we now expect the second radius.
</span><span class="cx">     if (gradientType == CSSDeprecatedRadialGradient) {
</span><span class="cx">         // Comma after the second point.
</span><del>-        a = args-&gt;next();
-        if (!isComma(a))
</del><ins>+        argument = args-&gt;next();
+        if (!isComma(argument))
</ins><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        a = args-&gt;next();
-        if (!a || a-&gt;unit != CSSPrimitiveValue::CSS_NUMBER)
</del><ins>+        argument = args-&gt;next();
+        if (!argument || argument-&gt;unit != CSSPrimitiveValue::CSS_NUMBER)
</ins><span class="cx">             return false;
</span><del>-        downcast&lt;CSSRadialGradientValue&gt;(*result).setSecondRadius(createPrimitiveNumericValue(a));
</del><ins>+        downcast&lt;CSSRadialGradientValue&gt;(*result).setSecondRadius(createPrimitiveNumericValue(*argument));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // We now will accept any number of stops (0 or more).
</span><del>-    a = args-&gt;next();
-    while (a) {
</del><ins>+    argument = args-&gt;next();
+    while (argument) {
</ins><span class="cx">         // Look for the comma before the next stop.
</span><del>-        if (!isComma(a))
</del><ins>+        if (!isComma(argument))
</ins><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="cx">         // Now examine the stop itself.
</span><del>-        a = args-&gt;next();
-        if (!a)
</del><ins>+        argument = args-&gt;next();
+        if (!argument)
</ins><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="cx">         // The function name needs to be one of &quot;from&quot;, &quot;to&quot;, or &quot;color-stop.&quot;
</span><span class="cx">         CSSGradientColorStop stop;
</span><del>-        if (!parseDeprecatedGradientColorStop(this, a, stop))
</del><ins>+        if (!parseDeprecatedGradientColorStop(*this, *argument, stop))
</ins><span class="cx">             return false;
</span><span class="cx">         result-&gt;addStop(stop);
</span><span class="cx"> 
</span><span class="cx">         // Advance
</span><del>-        a = args-&gt;next();
</del><ins>+        argument = args-&gt;next();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     gradient = result.release();
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;CSSPrimitiveValue&gt; valueFromSideKeyword(CSSParserValue* a, bool&amp; isHorizontal)
</del><ins>+static PassRefPtr&lt;CSSPrimitiveValue&gt; valueFromSideKeyword(CSSParserValue&amp; value, bool&amp; isHorizontal)
</ins><span class="cx"> {
</span><del>-    if (a-&gt;unit != CSSPrimitiveValue::CSS_IDENT)
-        return 0;
</del><ins>+    if (value.unit != CSSPrimitiveValue::CSS_IDENT)
+        return nullptr;
</ins><span class="cx"> 
</span><del>-    switch (a-&gt;id) {
</del><ins>+    switch (value.id) {
</ins><span class="cx">         case CSSValueLeft:
</span><span class="cx">         case CSSValueRight:
</span><span class="cx">             isHorizontal = true;
</span><span class="lines">@@ -8224,37 +8210,37 @@
</span><span class="cx">             isHorizontal = false;
</span><span class="cx">             break;
</span><span class="cx">         default:
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">     }
</span><del>-    return cssValuePool().createIdentifierValue(a-&gt;id);
</del><ins>+    return cssValuePool().createIdentifierValue(value.id);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;CSSPrimitiveValue&gt; parseGradientColorOrKeyword(CSSParser* p, CSSParserValue* value)
</del><ins>+static PassRefPtr&lt;CSSPrimitiveValue&gt; parseGradientColorOrKeyword(CSSParser&amp; parser, CSSParserValue&amp; value)
</ins><span class="cx"> {
</span><del>-    CSSValueID id = value-&gt;id;
</del><ins>+    CSSValueID id = value.id;
</ins><span class="cx">     if (id == CSSValueWebkitText || (id &gt;= CSSValueAqua &amp;&amp; id &lt;= CSSValueWindowtext) || id == CSSValueMenu || id == CSSValueCurrentcolor)
</span><span class="cx">         return cssValuePool().createIdentifierValue(id);
</span><span class="cx"> 
</span><del>-    return p-&gt;parseColor(value);
</del><ins>+    return parser.parseColor(&amp;value);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseDeprecatedLinearGradient(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; gradient, CSSGradientRepeat repeating)
</del><ins>+bool CSSParser::parseDeprecatedLinearGradient(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; gradient, CSSGradientRepeat repeating)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSLinearGradientValue&gt; result = CSSLinearGradientValue::create(repeating, CSSPrefixedLinearGradient);
</span><span class="cx"> 
</span><span class="cx">     // Walk the arguments.
</span><del>-    CSSParserValueList* args = valueList-&gt;current()-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* args = valueList.current()-&gt;function-&gt;args.get();
</ins><span class="cx">     if (!args || !args-&gt;size())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    CSSParserValue* a = args-&gt;current();
-    if (!a)
</del><ins>+    CSSParserValue* argument = args-&gt;current();
+    if (!argument)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     bool expectComma = false;
</span><span class="cx">     // Look for angle.
</span><del>-    if (validUnit(a, FAngle, CSSStrictMode)) {
-        result-&gt;setAngle(createPrimitiveNumericValue(a));
</del><ins>+    if (validUnit(*argument, FAngle, CSSStrictMode)) {
+        result-&gt;setAngle(createPrimitiveNumericValue(*argument));
</ins><span class="cx"> 
</span><span class="cx">         args-&gt;next();
</span><span class="cx">         expectComma = true;
</span><span class="lines">@@ -8264,14 +8250,14 @@
</span><span class="cx"> 
</span><span class="cx">         RefPtr&lt;CSSPrimitiveValue&gt; location;
</span><span class="cx">         bool isHorizontal = false;
</span><del>-        if ((location = valueFromSideKeyword(a, isHorizontal))) {
</del><ins>+        if ((location = valueFromSideKeyword(*argument, isHorizontal))) {
</ins><span class="cx">             if (isHorizontal)
</span><span class="cx">                 startX = location;
</span><span class="cx">             else
</span><span class="cx">                 startY = location;
</span><span class="cx"> 
</span><del>-            if ((a = args-&gt;next())) {
-                if ((location = valueFromSideKeyword(a, isHorizontal))) {
</del><ins>+            if ((argument = args-&gt;next())) {
+                if ((location = valueFromSideKeyword(*argument, isHorizontal))) {
</ins><span class="cx">                     if (isHorizontal) {
</span><span class="cx">                         if (startX)
</span><span class="cx">                             return false;
</span><span class="lines">@@ -8296,7 +8282,7 @@
</span><span class="cx">         result-&gt;setFirstY(startY.release());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (!parseGradientColorStops(args, result.get(), expectComma))
</del><ins>+    if (!parseGradientColorStops(*args, *result, expectComma))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (!result-&gt;stopCount())
</span><span class="lines">@@ -8306,17 +8292,17 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseDeprecatedRadialGradient(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; gradient, CSSGradientRepeat repeating)
</del><ins>+bool CSSParser::parseDeprecatedRadialGradient(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; gradient, CSSGradientRepeat repeating)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSRadialGradientValue&gt; result = CSSRadialGradientValue::create(repeating, CSSPrefixedRadialGradient);
</span><span class="cx"> 
</span><span class="cx">     // Walk the arguments.
</span><del>-    CSSParserValueList* args = valueList-&gt;current()-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* args = valueList.current()-&gt;function-&gt;args.get();
</ins><span class="cx">     if (!args || !args-&gt;size())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    CSSParserValue* a = args-&gt;current();
-    if (!a)
</del><ins>+    CSSParserValue* argument = args-&gt;current();
+    if (!argument)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     bool expectComma = false;
</span><span class="lines">@@ -8325,18 +8311,18 @@
</span><span class="cx">     RefPtr&lt;CSSValue&gt; centerX;
</span><span class="cx">     RefPtr&lt;CSSValue&gt; centerY;
</span><span class="cx">     // parse2ValuesFillPosition advances the args next pointer.
</span><del>-    parse2ValuesFillPosition(args, centerX, centerY);
-    a = args-&gt;current();
-    if (!a)
</del><ins>+    parse2ValuesFillPosition(*args, centerX, centerY);
+    argument = args-&gt;current();
+    if (!argument)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (centerX || centerY) {
</span><span class="cx">         // Comma
</span><del>-        if (!isComma(a))
</del><ins>+        if (!isComma(argument))
</ins><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        a = args-&gt;next();
-        if (!a)
</del><ins>+        argument = args-&gt;next();
+        if (!argument)
</ins><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -8351,14 +8337,14 @@
</span><span class="cx"> 
</span><span class="cx">     // Optional shape and/or size in any order.
</span><span class="cx">     for (int i = 0; i &lt; 2; ++i) {
</span><del>-        if (a-&gt;unit != CSSPrimitiveValue::CSS_IDENT)
</del><ins>+        if (argument-&gt;unit != CSSPrimitiveValue::CSS_IDENT)
</ins><span class="cx">             break;
</span><span class="cx"> 
</span><span class="cx">         bool foundValue = false;
</span><del>-        switch (a-&gt;id) {
</del><ins>+        switch (argument-&gt;id) {
</ins><span class="cx">         case CSSValueCircle:
</span><span class="cx">         case CSSValueEllipse:
</span><del>-            shapeValue = cssValuePool().createIdentifierValue(a-&gt;id);
</del><ins>+            shapeValue = cssValuePool().createIdentifierValue(argument-&gt;id);
</ins><span class="cx">             foundValue = true;
</span><span class="cx">             break;
</span><span class="cx">         case CSSValueClosestSide:
</span><span class="lines">@@ -8367,7 +8353,7 @@
</span><span class="cx">         case CSSValueFarthestCorner:
</span><span class="cx">         case CSSValueContain:
</span><span class="cx">         case CSSValueCover:
</span><del>-            sizeValue = cssValuePool().createIdentifierValue(a-&gt;id);
</del><ins>+            sizeValue = cssValuePool().createIdentifierValue(argument-&gt;id);
</ins><span class="cx">             foundValue = true;
</span><span class="cx">             break;
</span><span class="cx">         default:
</span><span class="lines">@@ -8375,8 +8361,8 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (foundValue) {
</span><del>-            a = args-&gt;next();
-            if (!a)
</del><ins>+            argument = args-&gt;next();
+            if (!argument)
</ins><span class="cx">                 return false;
</span><span class="cx"> 
</span><span class="cx">             expectComma = true;
</span><span class="lines">@@ -8391,20 +8377,20 @@
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; verticalSize;
</span><span class="cx"> 
</span><span class="cx">     if (!shapeValue &amp;&amp; !sizeValue) {
</span><del>-        if (validUnit(a, FLength | FPercent)) {
-            horizontalSize = createPrimitiveNumericValue(a);
-            a = args-&gt;next();
-            if (!a)
</del><ins>+        if (validUnit(*argument, FLength | FPercent)) {
+            horizontalSize = createPrimitiveNumericValue(*argument);
+            argument = args-&gt;next();
+            if (!argument)
</ins><span class="cx">                 return false;
</span><span class="cx"> 
</span><span class="cx">             expectComma = true;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        if (validUnit(a, FLength | FPercent)) {
-            verticalSize = createPrimitiveNumericValue(a);
</del><ins>+        if (validUnit(*argument, FLength | FPercent)) {
+            verticalSize = createPrimitiveNumericValue(*argument);
</ins><span class="cx"> 
</span><del>-            a = args-&gt;next();
-            if (!a)
</del><ins>+            argument = args-&gt;next();
+            if (!argument)
</ins><span class="cx">                 return false;
</span><span class="cx">             expectComma = true;
</span><span class="cx">         }
</span><span class="lines">@@ -8417,43 +8403,43 @@
</span><span class="cx">     result-&gt;setEndHorizontalSize(horizontalSize);
</span><span class="cx">     result-&gt;setEndVerticalSize(verticalSize);
</span><span class="cx"> 
</span><del>-    if (!parseGradientColorStops(args, result.get(), expectComma))
</del><ins>+    if (!parseGradientColorStops(*args, *result, expectComma))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     gradient = result.release();
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseLinearGradient(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; gradient, CSSGradientRepeat repeating)
</del><ins>+bool CSSParser::parseLinearGradient(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; gradient, CSSGradientRepeat repeating)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSLinearGradientValue&gt; result = CSSLinearGradientValue::create(repeating, CSSLinearGradient);
</span><span class="cx"> 
</span><del>-    CSSParserValueList* args = valueList-&gt;current()-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* args = valueList.current()-&gt;function-&gt;args.get();
</ins><span class="cx">     if (!args || !args-&gt;size())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    CSSParserValue* a = args-&gt;current();
-    if (!a)
</del><ins>+    CSSParserValue* argument = args-&gt;current();
+    if (!argument)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     bool expectComma = false;
</span><span class="cx">     // Look for angle.
</span><del>-    if (validUnit(a, FAngle, CSSStrictMode)) {
-        result-&gt;setAngle(createPrimitiveNumericValue(a));
</del><ins>+    if (validUnit(*argument, FAngle, CSSStrictMode)) {
+        result-&gt;setAngle(createPrimitiveNumericValue(*argument));
</ins><span class="cx"> 
</span><span class="cx">         args-&gt;next();
</span><span class="cx">         expectComma = true;
</span><del>-    } else if (a-&gt;unit == CSSPrimitiveValue::CSS_IDENT &amp;&amp; equalIgnoringCase(a, &quot;to&quot;)) {
</del><ins>+    } else if (argument-&gt;unit == CSSPrimitiveValue::CSS_IDENT &amp;&amp; equalIgnoringCase(*argument, &quot;to&quot;)) {
</ins><span class="cx">         // to [ [left | right] || [top | bottom] ]
</span><del>-        a = args-&gt;next();
-        if (!a)
</del><ins>+        argument = args-&gt;next();
+        if (!argument)
</ins><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="cx">         RefPtr&lt;CSSPrimitiveValue&gt; endX, endY;
</span><span class="cx">         RefPtr&lt;CSSPrimitiveValue&gt; location;
</span><span class="cx">         bool isHorizontal = false;
</span><span class="cx"> 
</span><del>-        location = valueFromSideKeyword(a, isHorizontal);
</del><ins>+        location = valueFromSideKeyword(*argument, isHorizontal);
</ins><span class="cx">         if (!location)
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="lines">@@ -8462,11 +8448,11 @@
</span><span class="cx">         else
</span><span class="cx">             endY = location;
</span><span class="cx"> 
</span><del>-        a = args-&gt;next();
-        if (!a)
</del><ins>+        argument = args-&gt;next();
+        if (!argument)
</ins><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        location = valueFromSideKeyword(a, isHorizontal);
</del><ins>+        location = valueFromSideKeyword(*argument, isHorizontal);
</ins><span class="cx">         if (location) {
</span><span class="cx">             if (isHorizontal) {
</span><span class="cx">                 if (endX)
</span><span class="lines">@@ -8486,7 +8472,7 @@
</span><span class="cx">         result-&gt;setFirstY(endY.release());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (!parseGradientColorStops(args, result.get(), expectComma))
</del><ins>+    if (!parseGradientColorStops(*args, *result, expectComma))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (!result-&gt;stopCount())
</span><span class="lines">@@ -8496,16 +8482,16 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseRadialGradient(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; gradient, CSSGradientRepeat repeating)
</del><ins>+bool CSSParser::parseRadialGradient(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; gradient, CSSGradientRepeat repeating)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSRadialGradientValue&gt; result = CSSRadialGradientValue::create(repeating, CSSRadialGradient);
</span><span class="cx"> 
</span><del>-    CSSParserValueList* args = valueList-&gt;current()-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* args = valueList.current()-&gt;function-&gt;args.get();
</ins><span class="cx">     if (!args || !args-&gt;size())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    CSSParserValue* a = args-&gt;current();
-    if (!a)
</del><ins>+    CSSParserValue* argument = args-&gt;current();
+    if (!argument)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     bool expectComma = false;
</span><span class="lines">@@ -8520,14 +8506,14 @@
</span><span class="cx">     // [ ellipse || [ &lt;length&gt; | &lt;percentage&gt; ]{2} ] |
</span><span class="cx">     // [ [ circle | ellipse] || &lt;size-keyword&gt; ]
</span><span class="cx">     for (int i = 0; i &lt; 3; ++i) {
</span><del>-        if (a-&gt;unit == CSSPrimitiveValue::CSS_IDENT) {
</del><ins>+        if (argument-&gt;unit == CSSPrimitiveValue::CSS_IDENT) {
</ins><span class="cx">             bool badIdent = false;
</span><del>-            switch (a-&gt;id) {
</del><ins>+            switch (argument-&gt;id) {
</ins><span class="cx">             case CSSValueCircle:
</span><span class="cx">             case CSSValueEllipse:
</span><span class="cx">                 if (shapeValue)
</span><span class="cx">                     return false;
</span><del>-                shapeValue = cssValuePool().createIdentifierValue(a-&gt;id);
</del><ins>+                shapeValue = cssValuePool().createIdentifierValue(argument-&gt;id);
</ins><span class="cx">                 break;
</span><span class="cx">             case CSSValueClosestSide:
</span><span class="cx">             case CSSValueClosestCorner:
</span><span class="lines">@@ -8535,7 +8521,7 @@
</span><span class="cx">             case CSSValueFarthestCorner:
</span><span class="cx">                 if (sizeValue || horizontalSize)
</span><span class="cx">                     return false;
</span><del>-                sizeValue = cssValuePool().createIdentifierValue(a-&gt;id);
</del><ins>+                sizeValue = cssValuePool().createIdentifierValue(argument-&gt;id);
</ins><span class="cx">                 break;
</span><span class="cx">             default:
</span><span class="cx">                 badIdent = true;
</span><span class="lines">@@ -8544,24 +8530,24 @@
</span><span class="cx">             if (badIdent)
</span><span class="cx">                 break;
</span><span class="cx"> 
</span><del>-            a = args-&gt;next();
-            if (!a)
</del><ins>+            argument = args-&gt;next();
+            if (!argument)
</ins><span class="cx">                 return false;
</span><del>-        } else if (validUnit(a, FLength | FPercent)) {
</del><ins>+        } else if (validUnit(*argument, FLength | FPercent)) {
</ins><span class="cx"> 
</span><span class="cx">             if (sizeValue || horizontalSize)
</span><span class="cx">                 return false;
</span><del>-            horizontalSize = createPrimitiveNumericValue(a);
</del><ins>+            horizontalSize = createPrimitiveNumericValue(*argument);
</ins><span class="cx"> 
</span><del>-            a = args-&gt;next();
-            if (!a)
</del><ins>+            argument = args-&gt;next();
+            if (!argument)
</ins><span class="cx">                 return false;
</span><span class="cx"> 
</span><del>-            if (validUnit(a, FLength | FPercent)) {
-                verticalSize = createPrimitiveNumericValue(a);
</del><ins>+            if (validUnit(*argument, FLength | FPercent)) {
+                verticalSize = createPrimitiveNumericValue(*argument);
</ins><span class="cx">                 ++i;
</span><del>-                a = args-&gt;next();
-                if (!a)
</del><ins>+                argument = args-&gt;next();
+                if (!argument)
</ins><span class="cx">                     return false;
</span><span class="cx">             }
</span><span class="cx">         } else
</span><span class="lines">@@ -8590,17 +8576,17 @@
</span><span class="cx">     // at &lt;position&gt;
</span><span class="cx">     RefPtr&lt;CSSValue&gt; centerX;
</span><span class="cx">     RefPtr&lt;CSSValue&gt; centerY;
</span><del>-    if (a-&gt;unit == CSSPrimitiveValue::CSS_IDENT &amp;&amp; equalIgnoringCase(a, &quot;at&quot;)) {
-        a = args-&gt;next();
-        if (!a)
</del><ins>+    if (argument-&gt;unit == CSSPrimitiveValue::CSS_IDENT &amp;&amp; equalIgnoringCase(*argument, &quot;at&quot;)) {
+        argument = args-&gt;next();
+        if (!argument)
</ins><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        parseFillPosition(args, centerX, centerY);
</del><ins>+        parseFillPosition(*args, centerX, centerY);
</ins><span class="cx">         if (!(centerX &amp;&amp; centerY))
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        a = args-&gt;current();
-        if (!a)
</del><ins>+        argument = args-&gt;current();
+        if (!argument)
</ins><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="cx">         result-&gt;setFirstX(downcast&lt;CSSPrimitiveValue&gt;(centerX.get()));
</span><span class="lines">@@ -8613,52 +8599,52 @@
</span><span class="cx">     if (shapeValue || sizeValue || horizontalSize || centerX || centerY)
</span><span class="cx">         expectComma = true;
</span><span class="cx"> 
</span><del>-    if (!parseGradientColorStops(args, result.get(), expectComma))
</del><ins>+    if (!parseGradientColorStops(*args, *result, expectComma))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     gradient = result.release();
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseGradientColorStops(CSSParserValueList* valueList, CSSGradientValue* gradient, bool expectComma)
</del><ins>+bool CSSParser::parseGradientColorStops(CSSParserValueList&amp; valueList, CSSGradientValue&amp; gradient, bool expectComma)
</ins><span class="cx"> {
</span><del>-    CSSParserValue* a = valueList-&gt;current();
</del><ins>+    CSSParserValue* currentValue = valueList.current();
</ins><span class="cx">     bool previousStopWasMidpoint = true;
</span><span class="cx"> 
</span><span class="cx">     // Now look for color stops.
</span><del>-    while (a) {
</del><ins>+    while (currentValue) {
</ins><span class="cx">         // Look for the comma before the next stop.
</span><span class="cx">         if (expectComma) {
</span><del>-            if (!isComma(a))
</del><ins>+            if (!isComma(currentValue))
</ins><span class="cx">                 return false;
</span><span class="cx"> 
</span><del>-            a = valueList-&gt;next();
-            if (!a)
</del><ins>+            currentValue = valueList.next();
+            if (!currentValue)
</ins><span class="cx">                 return false;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         // &lt;color-stop&gt; = &lt;color&gt; [ &lt;percentage&gt; | &lt;length&gt; ]?
</span><span class="cx">         CSSGradientColorStop stop;
</span><del>-        stop.m_color = parseGradientColorOrKeyword(this, a);
</del><ins>+        stop.m_color = parseGradientColorOrKeyword(*this, *currentValue);
</ins><span class="cx">         if (!stop.m_color) {
</span><span class="cx">             if (previousStopWasMidpoint) // 2 midpoints in a row is not allowed. This also catches starting with a midpoint.
</span><span class="cx">                 return false;
</span><span class="cx"> 
</span><span class="cx">             stop.isMidpoint = true;
</span><span class="cx">         } else
</span><del>-            a = valueList-&gt;next();
</del><ins>+            currentValue = valueList.next();
</ins><span class="cx"> 
</span><span class="cx">         previousStopWasMidpoint = stop.isMidpoint;
</span><span class="cx"> 
</span><del>-        if (a) {
-            if (validUnit(a, FLength | FPercent)) {
-                stop.m_position = createPrimitiveNumericValue(a);
-                a = valueList-&gt;next();
</del><ins>+        if (currentValue) {
+            if (validUnit(*currentValue, FLength | FPercent)) {
+                stop.m_position = createPrimitiveNumericValue(*currentValue);
+                currentValue = valueList.next();
</ins><span class="cx">             } else if (stop.isMidpoint)
</span><span class="cx">                 return false;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        gradient-&gt;addStop(stop);
</del><ins>+        gradient.addStop(stop);
</ins><span class="cx">         expectComma = true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -8667,80 +8653,80 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     // Must have 2 or more stops to be valid.
</span><del>-    return gradient-&gt;stopCount() &gt;= 2;
</del><ins>+    return gradient.stopCount() &gt;= 2;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::isGeneratedImageValue(CSSParserValue* val) const
</del><ins>+bool CSSParser::isGeneratedImageValue(CSSParserValue&amp; value) const
</ins><span class="cx"> {
</span><del>-    if (val-&gt;unit != CSSParserValue::Function)
</del><ins>+    if (value.unit != CSSParserValue::Function)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    return equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-gradient(&quot;)
-        || equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-linear-gradient(&quot;)
-        || equalIgnoringCase(val-&gt;function-&gt;name, &quot;linear-gradient(&quot;)
-        || equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-repeating-linear-gradient(&quot;)
-        || equalIgnoringCase(val-&gt;function-&gt;name, &quot;repeating-linear-gradient(&quot;)
-        || equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-radial-gradient(&quot;)
-        || equalIgnoringCase(val-&gt;function-&gt;name, &quot;radial-gradient(&quot;)
-        || equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-repeating-radial-gradient(&quot;)
-        || equalIgnoringCase(val-&gt;function-&gt;name, &quot;repeating-radial-gradient(&quot;)
-        || equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-canvas(&quot;)
-        || equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-cross-fade(&quot;)
-        || equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-filter(&quot;);
</del><ins>+    return equalIgnoringCase(value.function-&gt;name, &quot;-webkit-gradient(&quot;)
+        || equalIgnoringCase(value.function-&gt;name, &quot;-webkit-linear-gradient(&quot;)
+        || equalIgnoringCase(value.function-&gt;name, &quot;linear-gradient(&quot;)
+        || equalIgnoringCase(value.function-&gt;name, &quot;-webkit-repeating-linear-gradient(&quot;)
+        || equalIgnoringCase(value.function-&gt;name, &quot;repeating-linear-gradient(&quot;)
+        || equalIgnoringCase(value.function-&gt;name, &quot;-webkit-radial-gradient(&quot;)
+        || equalIgnoringCase(value.function-&gt;name, &quot;radial-gradient(&quot;)
+        || equalIgnoringCase(value.function-&gt;name, &quot;-webkit-repeating-radial-gradient(&quot;)
+        || equalIgnoringCase(value.function-&gt;name, &quot;repeating-radial-gradient(&quot;)
+        || equalIgnoringCase(value.function-&gt;name, &quot;-webkit-canvas(&quot;)
+        || equalIgnoringCase(value.function-&gt;name, &quot;-webkit-cross-fade(&quot;)
+        || equalIgnoringCase(value.function-&gt;name, &quot;-webkit-filter(&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseGeneratedImage(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; value)
</del><ins>+bool CSSParser::parseGeneratedImage(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; value)
</ins><span class="cx"> {
</span><del>-    CSSParserValue* val = valueList-&gt;current();
</del><ins>+    CSSParserValue&amp; parserValue = *valueList.current();
</ins><span class="cx"> 
</span><del>-    if (val-&gt;unit != CSSParserValue::Function)
</del><ins>+    if (parserValue.unit != CSSParserValue::Function)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-gradient(&quot;))
</del><ins>+    if (equalIgnoringCase(parserValue.function-&gt;name, &quot;-webkit-gradient(&quot;))
</ins><span class="cx">         return parseDeprecatedGradient(valueList, value);
</span><span class="cx"> 
</span><del>-    if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-linear-gradient(&quot;))
</del><ins>+    if (equalIgnoringCase(parserValue.function-&gt;name, &quot;-webkit-linear-gradient(&quot;))
</ins><span class="cx">         return parseDeprecatedLinearGradient(valueList, value, NonRepeating);
</span><span class="cx"> 
</span><del>-    if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;linear-gradient(&quot;))
</del><ins>+    if (equalIgnoringCase(parserValue.function-&gt;name, &quot;linear-gradient(&quot;))
</ins><span class="cx">         return parseLinearGradient(valueList, value, NonRepeating);
</span><span class="cx"> 
</span><del>-    if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-repeating-linear-gradient(&quot;))
</del><ins>+    if (equalIgnoringCase(parserValue.function-&gt;name, &quot;-webkit-repeating-linear-gradient(&quot;))
</ins><span class="cx">         return parseDeprecatedLinearGradient(valueList, value, Repeating);
</span><span class="cx"> 
</span><del>-    if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;repeating-linear-gradient(&quot;))
</del><ins>+    if (equalIgnoringCase(parserValue.function-&gt;name, &quot;repeating-linear-gradient(&quot;))
</ins><span class="cx">         return parseLinearGradient(valueList, value, Repeating);
</span><span class="cx"> 
</span><del>-    if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-radial-gradient(&quot;))
</del><ins>+    if (equalIgnoringCase(parserValue.function-&gt;name, &quot;-webkit-radial-gradient(&quot;))
</ins><span class="cx">         return parseDeprecatedRadialGradient(valueList, value, NonRepeating);
</span><span class="cx"> 
</span><del>-    if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;radial-gradient(&quot;))
</del><ins>+    if (equalIgnoringCase(parserValue.function-&gt;name, &quot;radial-gradient(&quot;))
</ins><span class="cx">         return parseRadialGradient(valueList, value, NonRepeating);
</span><span class="cx"> 
</span><del>-    if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-repeating-radial-gradient(&quot;))
</del><ins>+    if (equalIgnoringCase(parserValue.function-&gt;name, &quot;-webkit-repeating-radial-gradient(&quot;))
</ins><span class="cx">         return parseDeprecatedRadialGradient(valueList, value, Repeating);
</span><span class="cx"> 
</span><del>-    if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;repeating-radial-gradient(&quot;))
</del><ins>+    if (equalIgnoringCase(parserValue.function-&gt;name, &quot;repeating-radial-gradient(&quot;))
</ins><span class="cx">         return parseRadialGradient(valueList, value, Repeating);
</span><span class="cx"> 
</span><del>-    if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-canvas(&quot;))
</del><ins>+    if (equalIgnoringCase(parserValue.function-&gt;name, &quot;-webkit-canvas(&quot;))
</ins><span class="cx">         return parseCanvas(valueList, value);
</span><span class="cx"> 
</span><del>-    if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-cross-fade(&quot;))
</del><ins>+    if (equalIgnoringCase(parserValue.function-&gt;name, &quot;-webkit-cross-fade(&quot;))
</ins><span class="cx">         return parseCrossfade(valueList, value);
</span><span class="cx"> 
</span><del>-    if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;-webkit-filter(&quot;))
</del><ins>+    if (equalIgnoringCase(parserValue.function-&gt;name, &quot;-webkit-filter(&quot;))
</ins><span class="cx">         return parseFilterImage(valueList, value);
</span><span class="cx"> 
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseFilterImage(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; filter)
</del><ins>+bool CSSParser::parseFilterImage(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; filter)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSFilterImageValue&gt; result;
</span><span class="cx"> 
</span><span class="cx">     // Walk the arguments.
</span><del>-    CSSParserValueList* args = valueList-&gt;current()-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* args = valueList.current()-&gt;function-&gt;args.get();
</ins><span class="cx">     if (!args)
</span><span class="cx">         return false;
</span><span class="cx">     CSSParserValue* value = args-&gt;current();
</span><span class="lines">@@ -8751,7 +8737,7 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     // The first argument is the image. It is a fill image.
</span><del>-    if (!parseFillImage(args, imageValue)) {
</del><ins>+    if (!parseFillImage(*args, imageValue)) {
</ins><span class="cx">         if (value-&gt;unit == CSSPrimitiveValue::CSS_STRING)
</span><span class="cx">             imageValue = CSSImageValue::create(completeURL(value-&gt;string));
</span><span class="cx">         else
</span><span class="lines">@@ -8765,7 +8751,7 @@
</span><span class="cx">         return false;
</span><span class="cx">     value = args-&gt;next();
</span><span class="cx"> 
</span><del>-    if (!value || !parseFilter(args, filterValue))
</del><ins>+    if (!value || !parseFilter(*args, filterValue))
</ins><span class="cx">         return false;
</span><span class="cx">     value = args-&gt;next();
</span><span class="cx"> 
</span><span class="lines">@@ -8776,47 +8762,47 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseCrossfade(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; crossfade)
</del><ins>+bool CSSParser::parseCrossfade(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; crossfade)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSCrossfadeValue&gt; result;
</span><span class="cx"> 
</span><span class="cx">     // Walk the arguments.
</span><del>-    CSSParserValueList* args = valueList-&gt;current()-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* args = valueList.current()-&gt;function-&gt;args.get();
</ins><span class="cx">     if (!args || args-&gt;size() != 5)
</span><span class="cx">         return false;
</span><del>-    CSSParserValue* a = args-&gt;current();
</del><ins>+    CSSParserValue* argument = args-&gt;current();
</ins><span class="cx">     RefPtr&lt;CSSValue&gt; fromImageValue;
</span><span class="cx">     RefPtr&lt;CSSValue&gt; toImageValue;
</span><span class="cx"> 
</span><span class="cx">     // The first argument is the &quot;from&quot; image. It is a fill image.
</span><del>-    if (!a || !parseFillImage(args, fromImageValue))
</del><ins>+    if (!argument || !parseFillImage(*args, fromImageValue))
</ins><span class="cx">         return false;
</span><del>-    a = args-&gt;next();
</del><ins>+    argument = args-&gt;next();
</ins><span class="cx"> 
</span><span class="cx">     // Skip a comma
</span><del>-    if (!isComma(a))
</del><ins>+    if (!isComma(argument))
</ins><span class="cx">         return false;
</span><del>-    a = args-&gt;next();
</del><ins>+    argument = args-&gt;next();
</ins><span class="cx"> 
</span><span class="cx">     // The second argument is the &quot;to&quot; image. It is a fill image.
</span><del>-    if (!a || !parseFillImage(args, toImageValue))
</del><ins>+    if (!argument || !parseFillImage(*args, toImageValue))
</ins><span class="cx">         return false;
</span><del>-    a = args-&gt;next();
</del><ins>+    argument = args-&gt;next();
</ins><span class="cx"> 
</span><span class="cx">     // Skip a comma
</span><del>-    if (!isComma(a))
</del><ins>+    if (!isComma(argument))
</ins><span class="cx">         return false;
</span><del>-    a = args-&gt;next();
</del><ins>+    argument = args-&gt;next();
</ins><span class="cx"> 
</span><span class="cx">     // The third argument is the crossfade value. It is a percentage or a fractional number.
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; percentage;
</span><del>-    if (!a)
</del><ins>+    if (!argument)
</ins><span class="cx">         return false;
</span><span class="cx">     
</span><del>-    if (a-&gt;unit == CSSPrimitiveValue::CSS_PERCENTAGE)
-        percentage = cssValuePool().createValue(clampTo&lt;double&gt;(a-&gt;fValue / 100, 0, 1), CSSPrimitiveValue::CSS_NUMBER);
-    else if (a-&gt;unit == CSSPrimitiveValue::CSS_NUMBER)
-        percentage = cssValuePool().createValue(clampTo&lt;double&gt;(a-&gt;fValue, 0, 1), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+    if (argument-&gt;unit == CSSPrimitiveValue::CSS_PERCENTAGE)
+        percentage = cssValuePool().createValue(clampTo&lt;double&gt;(argument-&gt;fValue / 100, 0, 1), CSSPrimitiveValue::CSS_NUMBER);
+    else if (argument-&gt;unit == CSSPrimitiveValue::CSS_NUMBER)
+        percentage = cssValuePool().createValue(clampTo&lt;double&gt;(argument-&gt;fValue, 0, 1), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">     else
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="lines">@@ -8828,10 +8814,10 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseCanvas(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; canvas)
</del><ins>+bool CSSParser::parseCanvas(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; canvas)
</ins><span class="cx"> {
</span><span class="cx">     // Walk the arguments.
</span><del>-    CSSParserValueList* args = valueList-&gt;current()-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* args = valueList.current()-&gt;function-&gt;args.get();
</ins><span class="cx">     if (!args || args-&gt;size() != 1)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="lines">@@ -8860,17 +8846,17 @@
</span><span class="cx">         } else if (!haveSnap &amp;&amp; value-&gt;id == CSSValueSnap) {
</span><span class="cx">             list-&gt;append(cssValuePool().createIdentifierValue(value-&gt;id));
</span><span class="cx">             haveSnap = true;
</span><del>-        } else if (!haveResolution &amp;&amp; validUnit(value, FResolution | FNonNeg) &amp;&amp; value-&gt;fValue &gt; 0) {
-            list-&gt;append(createPrimitiveNumericValue(value));
</del><ins>+        } else if (!haveResolution &amp;&amp; validUnit(*value, FResolution | FNonNeg) &amp;&amp; value-&gt;fValue &gt; 0) {
+            list-&gt;append(createPrimitiveNumericValue(*value));
</ins><span class="cx">             haveResolution = true;
</span><span class="cx">         } else
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         value = m_valueList-&gt;next();
</span><span class="cx">     }
</span><span class="cx">     if (!list-&gt;length())
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     if (!haveFromImage &amp;&amp; !haveResolution)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     return list.release();
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="lines">@@ -8878,29 +8864,29 @@
</span><span class="cx"> #if ENABLE(CSS_IMAGE_SET)
</span><span class="cx"> PassRefPtr&lt;CSSValue&gt; CSSParser::parseImageSet()
</span><span class="cx"> {
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
-    ASSERT(value-&gt;unit == CSSParserValue::Function);
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
+    ASSERT(value.unit == CSSParserValue::Function);
</ins><span class="cx"> 
</span><del>-    CSSParserValueList* functionArgs = value-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* functionArgs = value.function-&gt;args.get();
</ins><span class="cx">     if (!functionArgs || !functionArgs-&gt;size() || !functionArgs-&gt;current())
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSImageSetValue&gt; imageSet = CSSImageSetValue::create();
</span><span class="cx">     CSSParserValue* arg = functionArgs-&gt;current();
</span><span class="cx">     while (arg) {
</span><span class="cx">         if (arg-&gt;unit != CSSPrimitiveValue::CSS_URI)
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         imageSet-&gt;append(CSSImageValue::create(completeURL(arg-&gt;string)));
</span><span class="cx">         arg = functionArgs-&gt;next();
</span><span class="cx">         if (!arg || arg-&gt;unit != CSSPrimitiveValue::CSS_DIMENSION)
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         double imageScaleFactor = 0;
</span><span class="cx">         const String&amp; string = arg-&gt;string;
</span><span class="cx">         unsigned length = string.length();
</span><span class="cx">         if (!length)
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         if (string.is8Bit()) {
</span><span class="cx">             const LChar* start = string.characters8();
</span><span class="cx">             parseDouble(start, start + length, 'x', imageScaleFactor);
</span><span class="lines">@@ -8909,7 +8895,7 @@
</span><span class="cx">             parseDouble(start, start + length, 'x', imageScaleFactor);
</span><span class="cx">         }
</span><span class="cx">         if (imageScaleFactor &lt;= 0)
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         imageSet-&gt;append(cssValuePool().createValue(imageScaleFactor, CSSPrimitiveValue::CSS_NUMBER));
</span><span class="cx"> 
</span><span class="cx">         // If there are no more arguments, we're done.
</span><span class="lines">@@ -8919,7 +8905,7 @@
</span><span class="cx"> 
</span><span class="cx">         // If there are more arguments, they should be after a comma.
</span><span class="cx">         if (!isComma(arg))
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         // Skip the comma and move on to the next argument.
</span><span class="cx">         arg = functionArgs-&gt;next();
</span><span class="lines">@@ -9191,13 +9177,13 @@
</span><span class="cx"> PassRefPtr&lt;CSSValueList&gt; CSSParser::parseTransform()
</span><span class="cx"> {
</span><span class="cx">     if (!m_valueList)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><span class="cx">     for (CSSParserValue* value = m_valueList-&gt;current(); value; value = m_valueList-&gt;next()) {
</span><del>-        RefPtr&lt;CSSValue&gt; parsedTransformValue = parseTransformValue(value);
</del><ins>+        RefPtr&lt;CSSValue&gt; parsedTransformValue = parseTransformValue(*value);
</ins><span class="cx">         if (!parsedTransformValue)
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         list-&gt;append(parsedTransformValue.releaseNonNull());
</span><span class="cx">     }
</span><span class="lines">@@ -9205,23 +9191,23 @@
</span><span class="cx">     return list.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;CSSValue&gt; CSSParser::parseTransformValue(CSSParserValue *value)
</del><ins>+PassRefPtr&lt;CSSValue&gt; CSSParser::parseTransformValue(CSSParserValue&amp; value)
</ins><span class="cx"> {
</span><del>-    if (value-&gt;unit != CSSParserValue::Function || !value-&gt;function)
-        return 0;
</del><ins>+    if (value.unit != CSSParserValue::Function || !value.function)
+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     // Every primitive requires at least one argument.
</span><del>-    CSSParserValueList* args = value-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* args = value.function-&gt;args.get();
</ins><span class="cx">     if (!args)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     // See if the specified primitive is one we understand.
</span><del>-    TransformOperationInfo info(value-&gt;function-&gt;name);
</del><ins>+    TransformOperationInfo info(value.function-&gt;name);
</ins><span class="cx">     if (info.unknown())
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (!info.hasCorrectArgCount(args-&gt;size()))
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     // The transform is a list of functional primitives that specify transform operations.
</span><span class="cx">     // We collect a list of WebKitCSSTransformValues, where each value specifies a single operation.
</span><span class="lines">@@ -9230,41 +9216,41 @@
</span><span class="cx">     RefPtr&lt;WebKitCSSTransformValue&gt; transformValue = WebKitCSSTransformValue::create(info.type());
</span><span class="cx"> 
</span><span class="cx">     // Snag our values.
</span><del>-    CSSParserValue* a = args-&gt;current();
</del><ins>+    CSSParserValue* argument = args-&gt;current();
</ins><span class="cx">     unsigned argNumber = 0;
</span><del>-    while (a) {
</del><ins>+    while (argument) {
</ins><span class="cx">         CSSParser::Units unit = info.unit();
</span><span class="cx"> 
</span><span class="cx">         if (info.type() == WebKitCSSTransformValue::Rotate3DTransformOperation &amp;&amp; argNumber == 3) {
</span><span class="cx">             // 4th param of rotate3d() is an angle rather than a bare number, validate it as such
</span><del>-            if (!validUnit(a, FAngle, CSSStrictMode))
-                return 0;
</del><ins>+            if (!validUnit(*argument, FAngle, CSSStrictMode))
+                return nullptr;
</ins><span class="cx">         } else if (info.type() == WebKitCSSTransformValue::Translate3DTransformOperation &amp;&amp; argNumber == 2) {
</span><span class="cx">             // 3rd param of translate3d() cannot be a percentage
</span><del>-            if (!validUnit(a, FLength, CSSStrictMode))
-                return 0;
</del><ins>+            if (!validUnit(*argument, FLength, CSSStrictMode))
+                return nullptr;
</ins><span class="cx">         } else if (info.type() == WebKitCSSTransformValue::TranslateZTransformOperation &amp;&amp; !argNumber) {
</span><span class="cx">             // 1st param of translateZ() cannot be a percentage
</span><del>-            if (!validUnit(a, FLength, CSSStrictMode))
-                return 0;
</del><ins>+            if (!validUnit(*argument, FLength, CSSStrictMode))
+                return nullptr;
</ins><span class="cx">         } else if (info.type() == WebKitCSSTransformValue::PerspectiveTransformOperation &amp;&amp; !argNumber) {
</span><span class="cx">             // 1st param of perspective() must be a non-negative number (deprecated) or length.
</span><del>-            if (!validUnit(a, FNumber | FLength | FNonNeg, CSSStrictMode))
-                return 0;
-        } else if (!validUnit(a, unit, CSSStrictMode))
-            return 0;
</del><ins>+            if (!validUnit(*argument, FNumber | FLength | FNonNeg, CSSStrictMode))
+                return nullptr;
+        } else if (!validUnit(*argument, unit, CSSStrictMode))
+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         // Add the value to the current transform operation.
</span><del>-        transformValue-&gt;append(createPrimitiveNumericValue(a));
</del><ins>+        transformValue-&gt;append(createPrimitiveNumericValue(*argument));
</ins><span class="cx"> 
</span><del>-        a = args-&gt;next();
-        if (!a)
</del><ins>+        argument = args-&gt;next();
+        if (!argument)
</ins><span class="cx">             break;
</span><del>-        if (a-&gt;unit != CSSParserValue::Operator || a-&gt;iValue != ',')
-            return 0;
-        a = args-&gt;next();
</del><ins>+        if (argument-&gt;unit != CSSParserValue::Operator || argument-&gt;iValue != ',')
+            return nullptr;
+        argument = args-&gt;next();
</ins><span class="cx"> 
</span><del>-        argNumber++;
</del><ins>+        ++argNumber;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return transformValue.release();
</span><span class="lines">@@ -9309,10 +9295,9 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;WebKitCSSFilterValue&gt; CSSParser::parseBuiltinFilterArguments(CSSParserValueList* args, WebKitCSSFilterValue::FilterOperationType filterType)
</del><ins>+PassRefPtr&lt;WebKitCSSFilterValue&gt; CSSParser::parseBuiltinFilterArguments(CSSParserValueList&amp; args, WebKitCSSFilterValue::FilterOperationType filterType)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;WebKitCSSFilterValue&gt; filterValue = WebKitCSSFilterValue::create(filterType);
</span><del>-    ASSERT(args);
</del><span class="cx"> 
</span><span class="cx">     switch (filterType) {    
</span><span class="cx">     case WebKitCSSFilterValue::GrayscaleFilterOperation:
</span><span class="lines">@@ -9322,51 +9307,51 @@
</span><span class="cx">     case WebKitCSSFilterValue::OpacityFilterOperation:
</span><span class="cx">     case WebKitCSSFilterValue::ContrastFilterOperation: {
</span><span class="cx">         // One optional argument, 0-1 or 0%-100%, if missing use 100%.
</span><del>-        if (args-&gt;size() &gt; 1)
-            return 0;
</del><ins>+        if (args.size() &gt; 1)
+            return nullptr;
</ins><span class="cx"> 
</span><del>-        if (args-&gt;size()) {
-            CSSParserValue* value = args-&gt;current();
</del><ins>+        if (args.size()) {
+            CSSParserValue&amp; value = *args.current();
</ins><span class="cx">             if (!validUnit(value, FNumber | FPercent | FNonNeg, CSSStrictMode))
</span><del>-                return 0;
</del><ins>+                return nullptr;
</ins><span class="cx">                 
</span><del>-            double amount = value-&gt;fValue;
</del><ins>+            double amount = value.fValue;
</ins><span class="cx">             
</span><span class="cx">             // Saturate and Contrast allow values over 100%.
</span><span class="cx">             if (filterType != WebKitCSSFilterValue::SaturateFilterOperation
</span><span class="cx">                 &amp;&amp; filterType != WebKitCSSFilterValue::ContrastFilterOperation) {
</span><del>-                double maxAllowed = value-&gt;unit == CSSPrimitiveValue::CSS_PERCENTAGE ? 100.0 : 1.0;
</del><ins>+                double maxAllowed = value.unit == CSSPrimitiveValue::CSS_PERCENTAGE ? 100.0 : 1.0;
</ins><span class="cx">                 if (amount &gt; maxAllowed)
</span><del>-                    return 0;
</del><ins>+                    return nullptr;
</ins><span class="cx">             }
</span><span class="cx"> 
</span><del>-            filterValue-&gt;append(cssValuePool().createValue(amount, static_cast&lt;CSSPrimitiveValue::UnitTypes&gt;(value-&gt;unit)));
</del><ins>+            filterValue-&gt;append(cssValuePool().createValue(amount, static_cast&lt;CSSPrimitiveValue::UnitTypes&gt;(value.unit)));
</ins><span class="cx">         }
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx">     case WebKitCSSFilterValue::BrightnessFilterOperation: {
</span><span class="cx">         // One optional argument, if missing use 100%.
</span><del>-        if (args-&gt;size() &gt; 1)
-            return 0;
</del><ins>+        if (args.size() &gt; 1)
+            return nullptr;
</ins><span class="cx"> 
</span><del>-        if (args-&gt;size()) {
-            CSSParserValue* value = args-&gt;current();
</del><ins>+        if (args.size()) {
+            CSSParserValue&amp; value = *args.current();
</ins><span class="cx">             if (!validUnit(value, FNumber | FPercent, CSSStrictMode))
</span><del>-                return 0;
</del><ins>+                return nullptr;
</ins><span class="cx"> 
</span><del>-            filterValue-&gt;append(cssValuePool().createValue(value-&gt;fValue, static_cast&lt;CSSPrimitiveValue::UnitTypes&gt;(value-&gt;unit)));
</del><ins>+            filterValue-&gt;append(cssValuePool().createValue(value.fValue, static_cast&lt;CSSPrimitiveValue::UnitTypes&gt;(value.unit)));
</ins><span class="cx">         }
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx">     case WebKitCSSFilterValue::HueRotateFilterOperation: {
</span><span class="cx">         // hue-rotate() takes one optional angle.
</span><del>-        if (args-&gt;size() &gt; 1)
-            return 0;
</del><ins>+        if (args.size() &gt; 1)
+            return nullptr;
</ins><span class="cx">         
</span><del>-        if (args-&gt;size()) {
-            CSSParserValue* argument = args-&gt;current();
</del><ins>+        if (args.size()) {
+            CSSParserValue&amp; argument = *args.current();
</ins><span class="cx">             if (!validUnit(argument, FAngle, CSSStrictMode))
</span><del>-                return 0;
</del><ins>+                return nullptr;
</ins><span class="cx">         
</span><span class="cx">             filterValue-&gt;append(createPrimitiveNumericValue(argument));
</span><span class="cx">         }
</span><span class="lines">@@ -9374,13 +9359,13 @@
</span><span class="cx">     }
</span><span class="cx">     case WebKitCSSFilterValue::BlurFilterOperation: {
</span><span class="cx">         // Blur takes a single length. Zero parameters are allowed.
</span><del>-        if (args-&gt;size() &gt; 1)
-            return 0;
</del><ins>+        if (args.size() &gt; 1)
+            return nullptr;
</ins><span class="cx">         
</span><del>-        if (args-&gt;size()) {
-            CSSParserValue* argument = args-&gt;current();
</del><ins>+        if (args.size()) {
+            CSSParserValue&amp; argument = *args.current();
</ins><span class="cx">             if (!validUnit(argument, FLength | FNonNeg, CSSStrictMode))
</span><del>-                return 0;
</del><ins>+                return nullptr;
</ins><span class="cx"> 
</span><span class="cx">             filterValue-&gt;append(createPrimitiveNumericValue(argument));
</span><span class="cx">         }
</span><span class="lines">@@ -9390,7 +9375,7 @@
</span><span class="cx">         // drop-shadow() takes a single shadow.
</span><span class="cx">         RefPtr&lt;CSSValueList&gt; shadowValueList = parseShadow(args, CSSPropertyWebkitFilter);
</span><span class="cx">         if (!shadowValueList || shadowValueList-&gt;length() != 1)
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         
</span><span class="cx">         filterValue-&gt;append(*shadowValueList-&gt;itemWithoutBoundsCheck(0));
</span><span class="cx">         break;
</span><span class="lines">@@ -9401,14 +9386,11 @@
</span><span class="cx">     return filterValue.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseFilter(CSSParserValueList* valueList, RefPtr&lt;CSSValue&gt;&amp; result)
</del><ins>+bool CSSParser::parseFilter(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; result)
</ins><span class="cx"> {
</span><del>-    if (!valueList)
-        return false;
-
</del><span class="cx">     // The filter is a list of functional primitives that specify individual operations.
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><del>-    for (auto value = valueList-&gt;current(); value; value = valueList-&gt;next()) {
</del><ins>+    for (auto value = valueList.current(); value; value = valueList.next()) {
</ins><span class="cx">         if (value-&gt;unit != CSSPrimitiveValue::CSS_URI &amp;&amp; (value-&gt;unit != CSSParserValue::Function || !value-&gt;function))
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="lines">@@ -9432,7 +9414,7 @@
</span><span class="cx">             if (!args)
</span><span class="cx">                 return false;
</span><span class="cx"> 
</span><del>-            RefPtr&lt;WebKitCSSFilterValue&gt; filterValue = parseBuiltinFilterArguments(args, filterType);
</del><ins>+            RefPtr&lt;WebKitCSSFilterValue&gt; filterValue = parseBuiltinFilterArguments(*args, filterType);
</ins><span class="cx">             if (!filterValue)
</span><span class="cx">                 return false;
</span><span class="cx">             
</span><span class="lines">@@ -9550,20 +9532,20 @@
</span><span class="cx">             // parseTransformOriginShorthand advances the m_valueList pointer
</span><span class="cx">             break;
</span><span class="cx">         case CSSPropertyWebkitTransformOriginX: {
</span><del>-            value = parseFillPositionX(m_valueList.get());
</del><ins>+            value = parseFillPositionX(*m_valueList);
</ins><span class="cx">             if (value)
</span><span class="cx">                 m_valueList-&gt;next();
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyWebkitTransformOriginY: {
</span><del>-            value = parseFillPositionY(m_valueList.get());
</del><ins>+            value = parseFillPositionY(*m_valueList);
</ins><span class="cx">             if (value)
</span><span class="cx">                 m_valueList-&gt;next();
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyWebkitTransformOriginZ: {
</span><del>-            if (validUnit(m_valueList-&gt;current(), FLength))
-                value = createPrimitiveNumericValue(m_valueList-&gt;current());
</del><ins>+            if (validUnit(*m_valueList-&gt;current(), FLength))
+                value = createPrimitiveNumericValue(*m_valueList-&gt;current());
</ins><span class="cx">             if (value)
</span><span class="cx">                 m_valueList-&gt;next();
</span><span class="cx">             break;
</span><span class="lines">@@ -9589,16 +9571,16 @@
</span><span class="cx">         case CSSPropertyWebkitPerspectiveOrigin:
</span><span class="cx">             if (m_valueList-&gt;size() &gt; 2)
</span><span class="cx">                 return false;
</span><del>-            parse2ValuesFillPosition(m_valueList.get(), value, value2);
</del><ins>+            parse2ValuesFillPosition(*m_valueList, value, value2);
</ins><span class="cx">             break;
</span><span class="cx">         case CSSPropertyWebkitPerspectiveOriginX: {
</span><del>-            value = parseFillPositionX(m_valueList.get());
</del><ins>+            value = parseFillPositionX(*m_valueList);
</ins><span class="cx">             if (value)
</span><span class="cx">                 m_valueList-&gt;next();
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyWebkitPerspectiveOriginY: {
</span><del>-            value = parseFillPositionY(m_valueList.get());
</del><ins>+            value = parseFillPositionY(*m_valueList);
</ins><span class="cx">             if (value)
</span><span class="cx">                 m_valueList-&gt;next();
</span><span class="cx">             break;
</span><span class="lines">@@ -9687,15 +9669,15 @@
</span><span class="cx">     // The text-underline-position property has sintax &quot;auto | alphabetic | [ under || [ left | right ] ]&quot;.
</span><span class="cx">     // However, values 'left' and 'right' are not implemented yet, so we will parse sintax
</span><span class="cx">     // &quot;auto | alphabetic | under&quot; for now.
</span><del>-    CSSParserValue* value = m_valueList-&gt;current();
-    switch (value-&gt;id) {
</del><ins>+    CSSParserValue&amp; value = *m_valueList-&gt;current();
+    switch (value.id) {
</ins><span class="cx">     case CSSValueAuto:
</span><span class="cx">     case CSSValueAlphabetic:
</span><span class="cx">     case CSSValueUnder:
</span><span class="cx">         if (m_valueList-&gt;next())
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        addProperty(CSSPropertyWebkitTextUnderlinePosition, cssValuePool().createIdentifierValue(value-&gt;id), important);
</del><ins>+        addProperty(CSSPropertyWebkitTextUnderlinePosition, cssValuePool().createIdentifierValue(value.id), important);
</ins><span class="cx">         return true;
</span><span class="cx">     default:
</span><span class="cx">         break;
</span><span class="lines">@@ -9714,7 +9696,7 @@
</span><span class="cx">         if (value-&gt;unit == CSSPrimitiveValue::CSS_STRING) {
</span><span class="cx">             if (fill || shape || (valueListSize != 1 &amp;&amp; !inShorthand()))
</span><span class="cx">                 return false;
</span><del>-            addProperty(CSSPropertyWebkitTextEmphasisStyle, createPrimitiveStringValue(value), important);
</del><ins>+            addProperty(CSSPropertyWebkitTextEmphasisStyle, createPrimitiveStringValue(*value), important);
</ins><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="lines">@@ -9819,8 +9801,8 @@
</span><span class="cx"> 
</span><span class="cx">     CSSParserValue* value = m_valueList-&gt;current();
</span><span class="cx">     while (value) {
</span><del>-        if (!hasLengthOrPercentage &amp;&amp; validUnit(value, FLength | FPercent)) {
-            list-&gt;append(createPrimitiveNumericValue(value));
</del><ins>+        if (!hasLengthOrPercentage &amp;&amp; validUnit(*value, FLength | FPercent)) {
+            list-&gt;append(createPrimitiveNumericValue(*value));
</ins><span class="cx">             hasLengthOrPercentage = true;
</span><span class="cx">         }
</span><span class="cx"> #if ENABLE(CSS3_TEXT)
</span><span class="lines">@@ -9833,13 +9815,13 @@
</span><span class="cx">         }
</span><span class="cx"> #endif
</span><span class="cx">         else
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         value = m_valueList-&gt;next();
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!hasLengthOrPercentage)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     return list.release();
</span><span class="cx"> }
</span><span class="lines">@@ -9888,7 +9870,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseFontFeatureTag(CSSValueList* settings)
</del><ins>+bool CSSParser::parseFontFeatureTag(CSSValueList&amp; settings)
</ins><span class="cx"> {
</span><span class="cx">     // Feature tag name consists of 4-letter characters.
</span><span class="cx">     static const unsigned tagNameLength = 4;
</span><span class="lines">@@ -9921,7 +9903,7 @@
</span><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-    settings-&gt;append(CSSFontFeatureValue::create(tag, tagValue));
</del><ins>+    settings.append(CSSFontFeatureValue::create(tag, tagValue));
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -9936,7 +9918,7 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; settings = CSSValueList::createCommaSeparated();
</span><span class="cx">     for (CSSParserValue* value = m_valueList-&gt;current(); value; value = m_valueList-&gt;next()) {
</span><del>-        if (!parseFontFeatureTag(settings.get()))
</del><ins>+        if (!parseFontFeatureTag(*settings))
</ins><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="cx">         // If the list isn't parsed fully, the current value should be comma.
</span><span class="lines">@@ -9996,16 +9978,16 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CSSParser::parseCalculation(CSSParserValue* value, CalculationPermittedValueRange range) 
</del><ins>+bool CSSParser::parseCalculation(CSSParserValue&amp; value, CalculationPermittedValueRange range)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isCalculation(value));
</span><span class="cx">     
</span><del>-    CSSParserValueList* args = value-&gt;function-&gt;args.get();
</del><ins>+    CSSParserValueList* args = value.function-&gt;args.get();
</ins><span class="cx">     if (!args || !args-&gt;size())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     ASSERT(!m_parsedCalculation);
</span><del>-    m_parsedCalculation = CSSCalcValue::create(value-&gt;function-&gt;name, *args, range);
</del><ins>+    m_parsedCalculation = CSSCalcValue::create(value.function-&gt;name, *args, range);
</ins><span class="cx">     
</span><span class="cx">     if (!m_parsedCalculation)
</span><span class="cx">         return false;
</span><span class="lines">@@ -10241,7 +10223,7 @@
</span><span class="cx"> 
</span><span class="cx">     ++currentCharacter;
</span><span class="cx">     if (!isCSSEscape(*currentCharacter))
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (isASCIIHexDigit(*currentCharacter)) {
</span><span class="cx">         int length = 6;
</span><span class="lines">@@ -10344,7 +10326,7 @@
</span><span class="cx">         }
</span><span class="cx">         if (UNLIKELY(*currentCharacter &lt;= '\r' &amp;&amp; (*currentCharacter == '\n' || (*currentCharacter | 0x1) == '\r'))) {
</span><span class="cx">             // String parsing is failed for character '\n', '\f' or '\r'.
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (LIKELY(currentCharacter[0] != '\\'))
</span><span class="lines">@@ -10356,7 +10338,7 @@
</span><span class="cx">         else {
</span><span class="cx">             currentCharacter = checkAndSkipEscape(currentCharacter);
</span><span class="cx">             if (!currentCharacter)
</span><del>-                return 0;
</del><ins>+                return nullptr;
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -10449,7 +10431,7 @@
</span><span class="cx">         UChar*&amp; result16 = currentCharacter16();
</span><span class="cx">         UChar* start16 = result16;
</span><span class="cx">         int i = 0;
</span><del>-        for (; i &lt; result - start; i++)
</del><ins>+        for (; i &lt; result - start; ++i)
</ins><span class="cx">             result16[i] = start[i];
</span><span class="cx"> 
</span><span class="cx">         result16 += i;
</span><span class="lines">@@ -10511,7 +10493,7 @@
</span><span class="cx">         UChar*&amp; result16 = currentCharacter16();
</span><span class="cx">         UChar* start16 = result16;
</span><span class="cx">         int i = 0;
</span><del>-        for (; i &lt; result - start; i++)
</del><ins>+        for (; i &lt; result - start; ++i)
</ins><span class="cx">             result16[i] = start[i];
</span><span class="cx"> 
</span><span class="cx">         result16 += i;
</span><span class="lines">@@ -11579,7 +11561,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (!media || !m_allowImportRules) {
</span><span class="cx">         popRuleData();
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     }
</span><span class="cx">     RefPtr&lt;StyleRuleImport&gt; rule = StyleRuleImport::create(url, media);
</span><span class="cx">     processAndAddNewRuleToSourceTreeIfNeeded();
</span><span class="lines">@@ -11685,7 +11667,7 @@
</span><span class="cx"> PassRefPtr&lt;CSSRuleSourceData&gt; CSSParser::popRuleData()
</span><span class="cx"> {
</span><span class="cx">     if (!m_ruleSourceDataResult)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     ASSERT(!m_currentRuleDataStack-&gt;isEmpty());
</span><span class="cx">     m_currentRuleData.clear();
</span><span class="lines">@@ -11773,7 +11755,7 @@
</span><span class="cx">             // See http://dev.w3.org/csswg/css3-fonts/#font-family-desc
</span><span class="cx">             clearProperties();
</span><span class="cx">             popRuleData();
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     RefPtr&lt;StyleRuleFontFace&gt; rule = StyleRuleFontFace::create(createStyleProperties());
</span><span class="lines">@@ -11890,7 +11872,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (!cssRegionsEnabled() || !regionSelector || !rules) {
</span><span class="cx">         popRuleData();
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_allowImportRules = m_allowNamespaceDeclarations = false;
</span><span class="lines">@@ -11947,7 +11929,7 @@
</span><span class="cx">         // marked as CSSPrimitiveValue::CSS_UNKNOWN during parsing.
</span><span class="cx">         if (keys.valueAt(i)-&gt;unit == CSSPrimitiveValue::CSS_UNKNOWN) {
</span><span class="cx">             clearProperties();
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         ASSERT(keys.valueAt(i)-&gt;unit == CSSPrimitiveValue::CSS_NUMBER);
</span><span class="lines">@@ -11957,7 +11939,7 @@
</span><span class="cx">             // &quot;If a keyframe selector specifies negative percentage values
</span><span class="cx">             // or values higher than 100%, then the keyframe will be ignored.&quot;
</span><span class="cx">             clearProperties();
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         }
</span><span class="cx">         if (i != 0)
</span><span class="cx">             keyString.append(',');
</span><span class="lines">@@ -12207,7 +12189,7 @@
</span><span class="cx">         if (id == CSSValueAuto || id == CSSValueDeviceWidth || id == CSSValueDeviceHeight)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = (!id &amp;&amp; validUnit(value, FLength | FPercent | FNonNeg));
</del><ins>+            validPrimitive = (!id &amp;&amp; validUnit(*value, FLength | FPercent | FNonNeg));
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyWidth: // shorthand
</span><span class="cx">         return parseViewportShorthand(propId, CSSPropertyMinWidth, CSSPropertyMaxWidth, important);
</span><span class="lines">@@ -12219,7 +12201,7 @@
</span><span class="cx">         if (id == CSSValueAuto)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else
</span><del>-            validPrimitive = (!id &amp;&amp; validUnit(value, FNumber | FPercent | FNonNeg));
</del><ins>+            validPrimitive = (!id &amp;&amp; validUnit(*value, FNumber | FPercent | FNonNeg));
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyUserZoom: // zoom | fixed
</span><span class="cx">         if (id == CSSValueZoom || id == CSSValueFixed)
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSParser.h (176718 => 176719)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSParser.h        2014-12-03 13:32:01 UTC (rev 176718)
+++ trunk/Source/WebCore/css/CSSParser.h        2014-12-03 14:21:24 UTC (rev 176719)
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx"> 
</span><span class="cx">     ~CSSParser();
</span><span class="cx"> 
</span><del>-    void parseSheet(StyleSheetContents*, const String&amp;, int startLineNumber = 0, RuleSourceDataList* = 0, bool = false);
</del><ins>+    void parseSheet(StyleSheetContents*, const String&amp;, int startLineNumber = 0, RuleSourceDataList* = nullptr, bool = false);
</ins><span class="cx">     PassRefPtr&lt;StyleRuleBase&gt; parseRule(StyleSheetContents*, const String&amp;);
</span><span class="cx">     PassRefPtr&lt;StyleKeyframe&gt; parseKeyframeRule(StyleSheetContents*, const String&amp;);
</span><span class="cx">     bool parseSupportsCondition(const String&amp;);
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx">     static bool parseColor(RGBA32&amp; color, const String&amp;, bool strict = false);
</span><span class="cx">     static bool parseSystemColor(RGBA32&amp; color, const String&amp;, Document*);
</span><span class="cx">     static PassRefPtr&lt;CSSValueList&gt; parseFontFaceValue(const AtomicString&amp;);
</span><del>-    PassRefPtr&lt;CSSPrimitiveValue&gt; parseValidPrimitive(CSSValueID ident, CSSParserValue*);
</del><ins>+    PassRefPtr&lt;CSSPrimitiveValue&gt; parseValidPrimitive(CSSValueID ident, CSSParserValue&amp;);
</ins><span class="cx">     bool parseDeclaration(MutableStyleProperties*, const String&amp;, PassRefPtr&lt;CSSRuleSourceData&gt;, StyleSheetContents* contextStyleSheet);
</span><span class="cx">     static PassRef&lt;ImmutableStyleProperties&gt; parseInlineStyleDeclaration(const String&amp;, Element*);
</span><span class="cx">     std::unique_ptr&lt;MediaQuery&gt; parseMediaQuery(const String&amp;);
</span><span class="lines">@@ -113,22 +113,22 @@
</span><span class="cx">     bool parseQuotes(CSSPropertyID, bool important);
</span><span class="cx">     bool parseAlt(CSSPropertyID, bool important);
</span><span class="cx">     
</span><del>-    PassRefPtr&lt;CSSValue&gt; parseAttr(CSSParserValueList* args);
</del><ins>+    PassRefPtr&lt;CSSValue&gt; parseAttr(CSSParserValueList&amp; args);
</ins><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;CSSValue&gt; parseBackgroundColor();
</span><span class="cx"> 
</span><del>-    bool parseFillImage(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;);
</del><ins>+    bool parseFillImage(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;);
</ins><span class="cx"> 
</span><span class="cx">     enum FillPositionFlag { InvalidFillPosition = 0, AmbiguousFillPosition = 1, XFillPosition = 2, YFillPosition = 4 };
</span><span class="cx">     enum FillPositionParsingMode { ResolveValuesAsPercent = 0, ResolveValuesAsKeyword = 1 };
</span><del>-    PassRefPtr&lt;CSSPrimitiveValue&gt; parseFillPositionComponent(CSSParserValueList*, unsigned&amp; cumulativeFlags, FillPositionFlag&amp; individualFlag, FillPositionParsingMode = ResolveValuesAsPercent);
-    PassRefPtr&lt;CSSValue&gt; parseFillPositionX(CSSParserValueList*);
-    PassRefPtr&lt;CSSValue&gt; parseFillPositionY(CSSParserValueList*);
-    void parse2ValuesFillPosition(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;, RefPtr&lt;CSSValue&gt;&amp;);
-    bool isPotentialPositionValue(CSSParserValue*);
-    void parseFillPosition(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;, RefPtr&lt;CSSValue&gt;&amp;);
-    void parse3ValuesFillPosition(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;, RefPtr&lt;CSSValue&gt;&amp;, PassRefPtr&lt;CSSPrimitiveValue&gt;, PassRefPtr&lt;CSSPrimitiveValue&gt;);
-    void parse4ValuesFillPosition(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;, RefPtr&lt;CSSValue&gt;&amp;, PassRefPtr&lt;CSSPrimitiveValue&gt;, PassRefPtr&lt;CSSPrimitiveValue&gt;);
</del><ins>+    PassRefPtr&lt;CSSPrimitiveValue&gt; parseFillPositionComponent(CSSParserValueList&amp;, unsigned&amp; cumulativeFlags, FillPositionFlag&amp; individualFlag, FillPositionParsingMode = ResolveValuesAsPercent);
+    PassRefPtr&lt;CSSValue&gt; parseFillPositionX(CSSParserValueList&amp;);
+    PassRefPtr&lt;CSSValue&gt; parseFillPositionY(CSSParserValueList&amp;);
+    void parse2ValuesFillPosition(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;, RefPtr&lt;CSSValue&gt;&amp;);
+    bool isPotentialPositionValue(CSSParserValue&amp;);
+    void parseFillPosition(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;, RefPtr&lt;CSSValue&gt;&amp;);
+    void parse3ValuesFillPosition(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;, RefPtr&lt;CSSValue&gt;&amp;, PassRefPtr&lt;CSSPrimitiveValue&gt;, PassRefPtr&lt;CSSPrimitiveValue&gt;);
+    void parse4ValuesFillPosition(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;, RefPtr&lt;CSSValue&gt;&amp;, PassRefPtr&lt;CSSPrimitiveValue&gt;, PassRefPtr&lt;CSSPrimitiveValue&gt;);
</ins><span class="cx"> 
</span><span class="cx">     void parseFillRepeat(RefPtr&lt;CSSValue&gt;&amp;, RefPtr&lt;CSSValue&gt;&amp;);
</span><span class="cx">     PassRefPtr&lt;CSSValue&gt; parseFillSize(CSSPropertyID, bool &amp;allowComma);
</span><span class="lines">@@ -150,7 +150,7 @@
</span><span class="cx">     PassRefPtr&lt;CSSValue&gt; parseAnimationTimingFunction();
</span><span class="cx"> 
</span><span class="cx">     bool parseTransformOriginShorthand(RefPtr&lt;CSSValue&gt;&amp;, RefPtr&lt;CSSValue&gt;&amp;, RefPtr&lt;CSSValue&gt;&amp;);
</span><del>-    bool parseCubicBezierTimingFunctionValue(CSSParserValueList*&amp; args, double&amp; result);
</del><ins>+    bool parseCubicBezierTimingFunctionValue(CSSParserValueList&amp; args, double&amp; result);
</ins><span class="cx">     bool parseAnimationProperty(CSSPropertyID, RefPtr&lt;CSSValue&gt;&amp;, AnimationParseContext&amp;);
</span><span class="cx">     bool parseTransitionShorthand(CSSPropertyID, bool important);
</span><span class="cx">     bool parseAnimationShorthand(CSSPropertyID, bool important);
</span><span class="lines">@@ -166,7 +166,7 @@
</span><span class="cx">     PassRefPtr&lt;CSSValue&gt; parseGridTrackList();
</span><span class="cx">     bool parseGridTrackRepeatFunction(CSSValueList&amp;);
</span><span class="cx">     PassRefPtr&lt;CSSValue&gt; parseGridTrackSize(CSSParserValueList&amp; inputList);
</span><del>-    PassRefPtr&lt;CSSPrimitiveValue&gt; parseGridBreadth(CSSParserValue*);
</del><ins>+    PassRefPtr&lt;CSSPrimitiveValue&gt; parseGridBreadth(CSSParserValue&amp;);
</ins><span class="cx">     bool parseGridTemplateAreasRow(NamedGridAreaMap&amp;, const unsigned, unsigned&amp;);
</span><span class="cx">     PassRefPtr&lt;CSSValue&gt; parseGridTemplateAreas();
</span><span class="cx">     bool parseGridLineNames(CSSParserValueList&amp;, CSSValueList&amp;, CSSGridLineNamesValue* = nullptr);
</span><span class="lines">@@ -185,26 +185,22 @@
</span><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;CSSValue&gt; parseBasicShapeAndOrBox(CSSPropertyID propId);
</span><span class="cx">     PassRefPtr&lt;CSSPrimitiveValue&gt; parseBasicShape();
</span><del>-    PassRefPtr&lt;CSSPrimitiveValue&gt; parseShapeRadius(CSSParserValue*);
-    PassRefPtr&lt;CSSBasicShape&gt; parseBasicShapeRectangle(CSSParserValueList*);
-    PassRefPtr&lt;CSSBasicShape&gt; parseBasicShapeCircle(CSSParserValueList*);
-    PassRefPtr&lt;CSSBasicShape&gt; parseDeprecatedBasicShapeCircle(CSSParserValueList*);
-    PassRefPtr&lt;CSSBasicShape&gt; parseBasicShapeEllipse(CSSParserValueList*);
-    PassRefPtr&lt;CSSBasicShape&gt; parseDeprecatedBasicShapeEllipse(CSSParserValueList*);
-    PassRefPtr&lt;CSSBasicShape&gt; parseBasicShapePolygon(CSSParserValueList*);
-    PassRefPtr&lt;CSSBasicShape&gt; parseBasicShapeInsetRectangle(CSSParserValueList*);
-    PassRefPtr&lt;CSSBasicShape&gt; parseBasicShapeInset(CSSParserValueList*);
</del><ins>+    PassRefPtr&lt;CSSPrimitiveValue&gt; parseShapeRadius(CSSParserValue&amp;);
+    PassRefPtr&lt;CSSBasicShape&gt; parseBasicShapeCircle(CSSParserValueList&amp;);
+    PassRefPtr&lt;CSSBasicShape&gt; parseBasicShapeEllipse(CSSParserValueList&amp;);
+    PassRefPtr&lt;CSSBasicShape&gt; parseBasicShapePolygon(CSSParserValueList&amp;);
+    PassRefPtr&lt;CSSBasicShape&gt; parseBasicShapeInset(CSSParserValueList&amp;);
</ins><span class="cx"> 
</span><span class="cx">     bool parseFont(bool important);
</span><span class="cx">     PassRefPtr&lt;CSSValueList&gt; parseFontFamily();
</span><span class="cx"> 
</span><span class="cx">     bool parseCounter(CSSPropertyID, int defaultValue, bool important);
</span><del>-    PassRefPtr&lt;CSSValue&gt; parseCounterContent(CSSParserValueList* args, bool counters);
</del><ins>+    PassRefPtr&lt;CSSValue&gt; parseCounterContent(CSSParserValueList&amp; args, bool counters);
</ins><span class="cx"> 
</span><del>-    bool parseColorParameters(CSSParserValue*, int* colorValues, bool parseAlpha);
-    bool parseHSLParameters(CSSParserValue*, double* colorValues, bool parseAlpha);
-    PassRefPtr&lt;CSSPrimitiveValue&gt; parseColor(CSSParserValue* = 0);
-    bool parseColorFromValue(CSSParserValue*, RGBA32&amp;);
</del><ins>+    bool parseColorParameters(CSSParserValue&amp;, int* colorValues, bool parseAlpha);
+    bool parseHSLParameters(CSSParserValue&amp;, double* colorValues, bool parseAlpha);
+    PassRefPtr&lt;CSSPrimitiveValue&gt; parseColor(CSSParserValue* = nullptr);
+    bool parseColorFromValue(CSSParserValue&amp;, RGBA32&amp;);
</ins><span class="cx">     void parseSelector(const String&amp;, CSSSelectorList&amp;);
</span><span class="cx"> 
</span><span class="cx">     template&lt;typename StringType&gt;
</span><span class="lines">@@ -224,7 +220,7 @@
</span><span class="cx">     PassRefPtr&lt;CSSValue&gt; parsePaintOrder();
</span><span class="cx"> 
</span><span class="cx">     // CSS3 Parsing Routines (for properties specific to CSS3)
</span><del>-    PassRefPtr&lt;CSSValueList&gt; parseShadow(CSSParserValueList*, CSSPropertyID);
</del><ins>+    PassRefPtr&lt;CSSValueList&gt; parseShadow(CSSParserValueList&amp;, CSSPropertyID);
</ins><span class="cx">     bool parseBorderImage(CSSPropertyID, RefPtr&lt;CSSValue&gt;&amp;, bool important = false);
</span><span class="cx">     bool parseBorderImageRepeat(RefPtr&lt;CSSValue&gt;&amp;);
</span><span class="cx">     bool parseBorderImageSlice(CSSPropertyID, RefPtr&lt;CSSBorderImageSliceValue&gt;&amp;);
</span><span class="lines">@@ -236,19 +232,19 @@
</span><span class="cx"> 
</span><span class="cx">     bool parseReflect(CSSPropertyID, bool important);
</span><span class="cx"> 
</span><del>-    bool parseFlex(CSSParserValueList* args, bool important);
</del><ins>+    bool parseFlex(CSSParserValueList&amp; args, bool important);
</ins><span class="cx"> 
</span><span class="cx">     // Image generators
</span><del>-    bool parseCanvas(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;);
</del><ins>+    bool parseCanvas(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;);
</ins><span class="cx"> 
</span><del>-    bool parseDeprecatedGradient(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;);
-    bool parseDeprecatedLinearGradient(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;, CSSGradientRepeat repeating);
-    bool parseDeprecatedRadialGradient(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;, CSSGradientRepeat repeating);
-    bool parseLinearGradient(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;, CSSGradientRepeat repeating);
-    bool parseRadialGradient(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;, CSSGradientRepeat repeating);
-    bool parseGradientColorStops(CSSParserValueList*, CSSGradientValue*, bool expectComma);
</del><ins>+    bool parseDeprecatedGradient(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;);
+    bool parseDeprecatedLinearGradient(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;, CSSGradientRepeat repeating);
+    bool parseDeprecatedRadialGradient(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;, CSSGradientRepeat repeating);
+    bool parseLinearGradient(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;, CSSGradientRepeat repeating);
+    bool parseRadialGradient(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;, CSSGradientRepeat repeating);
+    bool parseGradientColorStops(CSSParserValueList&amp;, CSSGradientValue&amp;, bool expectComma);
</ins><span class="cx"> 
</span><del>-    bool parseCrossfade(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;);
</del><ins>+    bool parseCrossfade(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;);
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_IMAGE_RESOLUTION)
</span><span class="cx">     PassRefPtr&lt;CSSValue&gt; parseImageResolution();
</span><span class="lines">@@ -258,10 +254,10 @@
</span><span class="cx">     PassRefPtr&lt;CSSValue&gt; parseImageSet();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    bool parseFilterImage(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;);
</del><ins>+    bool parseFilterImage(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;);
</ins><span class="cx"> 
</span><del>-    bool parseFilter(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;);
-    PassRefPtr&lt;WebKitCSSFilterValue&gt; parseBuiltinFilterArguments(CSSParserValueList*, WebKitCSSFilterValue::FilterOperationType);
</del><ins>+    bool parseFilter(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;);
+    PassRefPtr&lt;WebKitCSSFilterValue&gt; parseBuiltinFilterArguments(CSSParserValueList&amp;, WebKitCSSFilterValue::FilterOperationType);
</ins><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;CSSValue&gt; parseClipPath();
</span><span class="cx"> 
</span><span class="lines">@@ -269,7 +265,7 @@
</span><span class="cx">     static bool isCompositeOperator(CSSValueID);
</span><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;CSSValueList&gt; parseTransform();
</span><del>-    PassRefPtr&lt;CSSValue&gt; parseTransformValue(CSSParserValue*);
</del><ins>+    PassRefPtr&lt;CSSValue&gt; parseTransformValue(CSSParserValue&amp;);
</ins><span class="cx">     bool parseTransformOrigin(CSSPropertyID propId, CSSPropertyID&amp; propId1, CSSPropertyID&amp; propId2, CSSPropertyID&amp; propId3, RefPtr&lt;CSSValue&gt;&amp;, RefPtr&lt;CSSValue&gt;&amp;, RefPtr&lt;CSSValue&gt;&amp;);
</span><span class="cx">     bool parsePerspectiveOrigin(CSSPropertyID propId, CSSPropertyID&amp; propId1, CSSPropertyID&amp; propId2,  RefPtr&lt;CSSValue&gt;&amp;, RefPtr&lt;CSSValue&gt;&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -284,9 +280,9 @@
</span><span class="cx">     PassRefPtr&lt;CSSValue&gt; parseTextIndent();
</span><span class="cx">     
</span><span class="cx">     bool parseLineBoxContain(bool important);
</span><del>-    bool parseCalculation(CSSParserValue*, CalculationPermittedValueRange);
</del><ins>+    bool parseCalculation(CSSParserValue&amp;, CalculationPermittedValueRange);
</ins><span class="cx"> 
</span><del>-    bool parseFontFeatureTag(CSSValueList*);
</del><ins>+    bool parseFontFeatureTag(CSSValueList&amp;);
</ins><span class="cx">     bool parseFontFeatureSettings(bool important);
</span><span class="cx"> 
</span><span class="cx">     bool cssRegionsEnabled() const;
</span><span class="lines">@@ -406,13 +402,13 @@
</span><span class="cx">     PassRefPtr&lt;StyleRuleBase&gt; createViewportRule();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    PassRef&lt;CSSPrimitiveValue&gt; createPrimitiveNumericValue(CSSParserValue*);
-    PassRef&lt;CSSPrimitiveValue&gt; createPrimitiveStringValue(CSSParserValue*);
</del><ins>+    PassRef&lt;CSSPrimitiveValue&gt; createPrimitiveNumericValue(CSSParserValue&amp;);
+    PassRef&lt;CSSPrimitiveValue&gt; createPrimitiveStringValue(CSSParserValue&amp;);
</ins><span class="cx"> 
</span><span class="cx">     static URL completeURL(const CSSParserContext&amp;, const String&amp; url);
</span><span class="cx"> 
</span><span class="cx">     Location currentLocation();
</span><del>-    static bool isCalculation(CSSParserValue*);
</del><ins>+    static bool isCalculation(CSSParserValue&amp;);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     bool is8BitSource() { return m_is8BitSource; }
</span><span class="lines">@@ -500,18 +496,18 @@
</span><span class="cx">     void setupParser(const char* prefix, unsigned prefixLength, const String&amp;, const char* suffix, unsigned suffixLength);
</span><span class="cx">     bool inShorthand() const { return m_inParseShorthand; }
</span><span class="cx"> 
</span><del>-    bool validWidth(CSSParserValue*);
-    bool validHeight(CSSParserValue*);
</del><ins>+    bool validWidth(CSSParserValue&amp;);
+    bool validHeight(CSSParserValue&amp;);
</ins><span class="cx"> 
</span><span class="cx">     void deleteFontFaceOnlyValues();
</span><span class="cx"> 
</span><del>-    bool isGeneratedImageValue(CSSParserValue*) const;
-    bool parseGeneratedImage(CSSParserValueList*, RefPtr&lt;CSSValue&gt;&amp;);
</del><ins>+    bool isGeneratedImageValue(CSSParserValue&amp;) const;
+    bool parseGeneratedImage(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;);
</ins><span class="cx"> 
</span><span class="cx">     bool parseValue(MutableStyleProperties*, CSSPropertyID, const String&amp;, bool important, StyleSheetContents* contextStyleSheet);
</span><span class="cx">     PassRef&lt;ImmutableStyleProperties&gt; parseDeclaration(const String&amp;, StyleSheetContents* contextStyleSheet);
</span><span class="cx"> 
</span><del>-    PassRefPtr&lt;CSSBasicShape&gt; parseInsetRoundedCorners(PassRefPtr&lt;CSSBasicShapeInset&gt;, CSSParserValueList*);
</del><ins>+    PassRefPtr&lt;CSSBasicShape&gt; parseInsetRoundedCorners(PassRefPtr&lt;CSSBasicShapeInset&gt;, CSSParserValueList&amp;);
</ins><span class="cx"> 
</span><span class="cx">     enum SizeParameterType {
</span><span class="cx">         None,
</span><span class="lines">@@ -523,7 +519,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool parsePage(CSSPropertyID propId, bool important);
</span><span class="cx">     bool parseSize(CSSPropertyID propId, bool important);
</span><del>-    SizeParameterType parseSizeParameter(CSSValueList* parsedValues, CSSParserValue* value, SizeParameterType prevParamType);
</del><ins>+    SizeParameterType parseSizeParameter(CSSValueList&amp; parsedValues, CSSParserValue&amp;, SizeParameterType prevParamType);
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_SCROLL_SNAP)
</span><span class="cx">     bool parseNonElementSnapPoints(CSSPropertyID propId, bool important);
</span><span class="lines">@@ -531,8 +527,8 @@
</span><span class="cx">     bool parseScrollSnapCoordinate(CSSPropertyID propId, bool important);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    bool parseFontFaceSrcURI(CSSValueList*);
-    bool parseFontFaceSrcLocal(CSSValueList*);
</del><ins>+    bool parseFontFaceSrcURI(CSSValueList&amp;);
+    bool parseFontFaceSrcLocal(CSSValueList&amp;);
</ins><span class="cx"> 
</span><span class="cx">     bool parseColor(const String&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -615,12 +611,12 @@
</span><span class="cx">     bool isLoggingErrors();
</span><span class="cx">     void logError(const String&amp; message, int lineNumber);
</span><span class="cx"> 
</span><del>-    bool validCalculationUnit(CSSParserValue*, Units, ReleaseParsedCalcValueCondition releaseCalc = DoNotReleaseParsedCalcValue);
</del><ins>+    bool validCalculationUnit(CSSParserValue&amp;, Units, ReleaseParsedCalcValueCondition releaseCalc = DoNotReleaseParsedCalcValue);
</ins><span class="cx"> 
</span><del>-    bool shouldAcceptUnitLessValues(CSSParserValue*, Units, CSSParserMode);
</del><ins>+    bool shouldAcceptUnitLessValues(CSSParserValue&amp;, Units, CSSParserMode);
</ins><span class="cx"> 
</span><del>-    inline bool validUnit(CSSParserValue* value, Units unitflags, ReleaseParsedCalcValueCondition releaseCalc = DoNotReleaseParsedCalcValue) { return validUnit(value, unitflags, m_context.mode, releaseCalc); }
-    bool validUnit(CSSParserValue*, Units, CSSParserMode, ReleaseParsedCalcValueCondition releaseCalc = DoNotReleaseParsedCalcValue);
</del><ins>+    inline bool validUnit(CSSParserValue&amp; value, Units unitflags, ReleaseParsedCalcValueCondition releaseCalc = DoNotReleaseParsedCalcValue) { return validUnit(value, unitflags, m_context.mode, releaseCalc); }
+    bool validUnit(CSSParserValue&amp;, Units, CSSParserMode, ReleaseParsedCalcValueCondition releaseCalc = DoNotReleaseParsedCalcValue);
</ins><span class="cx"> 
</span><span class="cx">     bool parseBorderImageQuad(Units, RefPtr&lt;CSSPrimitiveValue&gt;&amp;);
</span><span class="cx">     int colorIntFromValue(CSSParserValue&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCorecssSVGCSSParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/SVGCSSParser.cpp (176718 => 176719)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/SVGCSSParser.cpp        2014-12-03 13:32:01 UTC (rev 176718)
+++ trunk/Source/WebCore/css/SVGCSSParser.cpp        2014-12-03 14:21:24 UTC (rev 176719)
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">            id &gt;= CSSValueSuper)
</span><span class="cx">             valid_primitive = true;
</span><span class="cx">         else
</span><del>-            valid_primitive = validUnit(value, FLength | FPercent, SVGAttributeMode);
</del><ins>+            valid_primitive = validUnit(*value, FLength | FPercent, SVGAttributeMode);
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyDominantBaseline:
</span><span class="lines">@@ -101,7 +101,7 @@
</span><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyStrokeMiterlimit:   // &lt;miterlimit&gt; | inherit
</span><del>-        valid_primitive = validUnit(value, FNumber | FNonNeg, SVGAttributeMode);
</del><ins>+        valid_primitive = validUnit(*value, FNumber | FNonNeg, SVGAttributeMode);
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyStrokeLinejoin:   // miter | round | bevel | inherit
</span><span class="lines">@@ -118,7 +118,7 @@
</span><span class="cx">     case CSSPropertyFillOpacity:
</span><span class="cx">     case CSSPropertyStopOpacity:
</span><span class="cx">     case CSSPropertyFloodOpacity:
</span><del>-        valid_primitive = (!id &amp;&amp; validUnit(value, FNumber | FPercent, SVGAttributeMode));
</del><ins>+        valid_primitive = (!id &amp;&amp; validUnit(*value, FNumber | FPercent, SVGAttributeMode));
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyShapeRendering:
</span><span class="lines">@@ -192,7 +192,7 @@
</span><span class="cx">             else if (value-&gt;unit == CSSPrimitiveValue::CSS_URI) {
</span><span class="cx">                 RGBA32 c = Color::transparent;
</span><span class="cx">                 if (m_valueList-&gt;next()) {
</span><del>-                    if (parseColorFromValue(m_valueList-&gt;current(), c))
</del><ins>+                    if (parseColorFromValue(*m_valueList-&gt;current(), c))
</ins><span class="cx">                         parsedValue = SVGPaint::createURIAndColor(value-&gt;string, c);
</span><span class="cx">                     else if (m_valueList-&gt;current()-&gt;id == CSSValueNone)
</span><span class="cx">                         parsedValue = SVGPaint::createURIAndNone(value-&gt;string);
</span><span class="lines">@@ -236,7 +236,7 @@
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyStrokeWidth:         // &lt;length&gt; | inherit
</span><span class="cx">     case CSSPropertyStrokeDashoffset:
</span><del>-        valid_primitive = validUnit(value, FLength | FPercent, SVGAttributeMode);
</del><ins>+        valid_primitive = validUnit(*value, FLength | FPercent, SVGAttributeMode);
</ins><span class="cx">         break;
</span><span class="cx">     case CSSPropertyStrokeDasharray:     // none | &lt;dasharray&gt; | inherit
</span><span class="cx">         if (id == CSSValueNone)
</span><span class="lines">@@ -250,7 +250,7 @@
</span><span class="cx">         if (id == CSSValueAuto || id == CSSValueNormal)
</span><span class="cx">             valid_primitive = true;
</span><span class="cx">         else
</span><del>-            valid_primitive = validUnit(value, FLength, SVGAttributeMode);
</del><ins>+            valid_primitive = validUnit(*value, FLength, SVGAttributeMode);
</ins><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case CSSPropertyClipPath:    // &lt;uri&gt; | none | inherit
</span><span class="lines">@@ -267,7 +267,7 @@
</span><span class="cx">         if (id == CSSValueNone)
</span><span class="cx">             valid_primitive = true;
</span><span class="cx">         else {
</span><del>-            RefPtr&lt;CSSValueList&gt; shadowValueList = parseShadow(m_valueList.get(), propId);
</del><ins>+            RefPtr&lt;CSSValueList&gt; shadowValueList = parseShadow(*m_valueList, propId);
</ins><span class="cx">             if (shadowValueList) {
</span><span class="cx">                 addProperty(propId, shadowValueList.release(), important);
</span><span class="cx">                 m_valueList-&gt;next();
</span><span class="lines">@@ -306,7 +306,7 @@
</span><span class="cx">     case CSSPropertyRy:
</span><span class="cx">     case CSSPropertyX:
</span><span class="cx">     case CSSPropertyY:
</span><del>-        valid_primitive = (!id &amp;&amp; validUnit(value, FLength | FPercent));
</del><ins>+        valid_primitive = (!id &amp;&amp; validUnit(*value, FLength | FPercent));
</ins><span class="cx">         break;
</span><span class="cx">     default:
</span><span class="cx">         // If you crash here, it's because you added a css property and are not handling it
</span><span class="lines">@@ -324,7 +324,7 @@
</span><span class="cx">             parsedValue = CSSPrimitiveValue::create(value-&gt;fValue, (CSSPrimitiveValue::UnitTypes) value-&gt;unit);
</span><span class="cx">         else if (value-&gt;unit &gt;= CSSParserValue::Q_EMS)
</span><span class="cx">             parsedValue = CSSPrimitiveValue::createAllowingMarginQuirk(value-&gt;fValue, CSSPrimitiveValue::CSS_EMS);
</span><del>-        if (isCalculation(value))
</del><ins>+        if (isCalculation(*value))
</ins><span class="cx">             parsedValue = CSSPrimitiveValue::create(m_parsedCalculation.release());
</span><span class="cx">         m_valueList-&gt;next();
</span><span class="cx">     }
</span><span class="lines">@@ -341,7 +341,7 @@
</span><span class="cx">     CSSParserValue* value = m_valueList-&gt;current();
</span><span class="cx">     bool valid_primitive = true;
</span><span class="cx">     while (value) {
</span><del>-        valid_primitive = validUnit(value, FLength | FPercent | FNonNeg, SVGAttributeMode);
</del><ins>+        valid_primitive = validUnit(*value, FLength | FPercent | FNonNeg, SVGAttributeMode);
</ins><span class="cx">         if (!valid_primitive)
</span><span class="cx">             break;
</span><span class="cx">         if (value-&gt;id != 0)
</span><span class="lines">@@ -360,7 +360,7 @@
</span><span class="cx"> PassRefPtr&lt;CSSValue&gt; CSSParser::parseSVGPaint()
</span><span class="cx"> {
</span><span class="cx">     RGBA32 c = Color::transparent;
</span><del>-    if (!parseColorFromValue(m_valueList-&gt;current(), c))
</del><ins>+    if (!parseColorFromValue(*m_valueList-&gt;current(), c))
</ins><span class="cx">         return SVGPaint::createUnknown();
</span><span class="cx">     return SVGPaint::createColor(Color(c));
</span><span class="cx"> }
</span><span class="lines">@@ -368,7 +368,7 @@
</span><span class="cx"> PassRefPtr&lt;CSSValue&gt; CSSParser::parseSVGColor()
</span><span class="cx"> {
</span><span class="cx">     RGBA32 c = Color::transparent;
</span><del>-    if (!parseColorFromValue(m_valueList-&gt;current(), c))
</del><ins>+    if (!parseColorFromValue(*m_valueList-&gt;current(), c))
</ins><span class="cx">         return 0;
</span><span class="cx">     return SVGColor::createFromColor(Color(c));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorecssSourceSizeListcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/SourceSizeList.cpp (176718 => 176719)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/SourceSizeList.cpp        2014-12-03 13:32:01 UTC (rev 176718)
+++ trunk/Source/WebCore/css/SourceSizeList.cpp        2014-12-03 14:21:24 UTC (rev 176719)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx"> static unsigned computeLength(CSSParserValue&amp; value, RenderStyle&amp; style, RenderView* view)
</span><span class="cx"> {
</span><span class="cx">     CSSToLengthConversionData conversionData(&amp;style, &amp;style, view);
</span><del>-    if (CSSParser::isCalculation(&amp;value)) {
</del><ins>+    if (CSSParser::isCalculation(value)) {
</ins><span class="cx">         CSSParserValueList* args = value.function-&gt;args.get();
</span><span class="cx">         if (args &amp;&amp; args-&gt;size()) {
</span><span class="cx">             RefPtr&lt;CSSCalcValue&gt; calcValue = CSSCalcValue::create(value.function-&gt;name, *args, CalculationRangeNonNegative);
</span></span></pre>
</div>
</div>

</body>
</html>