<!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>[188619] 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/188619">188619</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2015-08-18 18:28:03 -0700 (Tue, 18 Aug 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Use CSSValuePool::singleton() instead of cssValuePool()
https://bugs.webkit.org/show_bug.cgi?id=148132

Reviewed by Simon Fraser.

Use CSSValuePool::singleton() instead of cssValuePool() to access the
global CSSValuePool instance, as per coding style.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssBasicShapeFunctionscpp">trunk/Source/WebCore/css/BasicShapeFunctions.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSBasicShapescpp">trunk/Source/WebCore/css/CSSBasicShapes.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSComputedStyleDeclarationcpp">trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSContentDistributionValueh">trunk/Source/WebCore/css/CSSContentDistributionValue.h</a></li>
<li><a href="#trunkSourceWebCorecssCSSParsercpp">trunk/Source/WebCore/css/CSSParser.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSValuePoolcpp">trunk/Source/WebCore/css/CSSValuePool.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSValuePoolh">trunk/Source/WebCore/css/CSSValuePool.h</a></li>
<li><a href="#trunkSourceWebCorecssStylePropertiescpp">trunk/Source/WebCore/css/StyleProperties.cpp</a></li>
<li><a href="#trunkSourceWebCoredomStyledElementcpp">trunk/Source/WebCore/dom/StyledElement.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingApplyStyleCommandcpp">trunk/Source/WebCore/editing/ApplyStyleCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingEditingStylecpp">trunk/Source/WebCore/editing/EditingStyle.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingcocoaEditorCocoamm">trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm</a></li>
<li><a href="#trunkSourceWebCoreeditingmacEditorMacmm">trunk/Source/WebCore/editing/mac/EditorMac.mm</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLElementcpp">trunk/Source/WebCore/html/HTMLElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFontElementcpp">trunk/Source/WebCore/html/HTMLFontElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLHRElementcpp">trunk/Source/WebCore/html/HTMLHRElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableElementcpp">trunk/Source/WebCore/html/HTMLTableElement.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformMemoryPressureHandlercpp">trunk/Source/WebCore/platform/MemoryPressureHandler.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/ChangeLog        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2015-08-18  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Use CSSValuePool::singleton() instead of cssValuePool()
+        https://bugs.webkit.org/show_bug.cgi?id=148132
+
+        Reviewed by Simon Fraser.
+
+        Use CSSValuePool::singleton() instead of cssValuePool() to access the
+        global CSSValuePool instance, as per coding style.
+
</ins><span class="cx"> 2015-08-17  Matt Rajca  &lt;mrajca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Media Session: don't begin listening for interruptions when an interruption provider is created
</span></span></pre></div>
<a id="trunkSourceWebCorecssBasicShapeFunctionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/BasicShapeFunctions.cpp (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/BasicShapeFunctions.cpp        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/css/BasicShapeFunctions.cpp        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> 
</span><span class="cx"> Ref&lt;CSSValue&gt; valueForBasicShape(const RenderStyle&amp; style, const BasicShape&amp; basicShape)
</span><span class="cx"> {
</span><del>-    CSSValuePool&amp; pool = cssValuePool();
</del><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSBasicShape&gt; basicShapeValue;
</span><span class="cx">     switch (basicShape.type()) {
</span><span class="lines">@@ -74,9 +74,9 @@
</span><span class="cx">         const auto&amp; circle = downcast&lt;BasicShapeCircle&gt;(basicShape);
</span><span class="cx">         auto circleValue = CSSBasicShapeCircle::create();
</span><span class="cx"> 
</span><del>-        circleValue-&gt;setCenterX(valueForCenterCoordinate(pool, style, circle.centerX(), HORIZONTAL));
-        circleValue-&gt;setCenterY(valueForCenterCoordinate(pool, style, circle.centerY(), VERTICAL));
-        circleValue-&gt;setRadius(basicShapeRadiusToCSSValue(style, pool, circle.radius()));
</del><ins>+        circleValue-&gt;setCenterX(valueForCenterCoordinate(cssValuePool, style, circle.centerX(), HORIZONTAL));
+        circleValue-&gt;setCenterY(valueForCenterCoordinate(cssValuePool, style, circle.centerY(), VERTICAL));
+        circleValue-&gt;setRadius(basicShapeRadiusToCSSValue(style, cssValuePool, circle.radius()));
</ins><span class="cx">         basicShapeValue = circleValue.copyRef();
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="lines">@@ -84,10 +84,10 @@
</span><span class="cx">         const auto&amp; ellipse = downcast&lt;BasicShapeEllipse&gt;(basicShape);
</span><span class="cx">         auto ellipseValue = CSSBasicShapeEllipse::create();
</span><span class="cx"> 
</span><del>-        ellipseValue-&gt;setCenterX(valueForCenterCoordinate(pool, style, ellipse.centerX(), HORIZONTAL));
-        ellipseValue-&gt;setCenterY(valueForCenterCoordinate(pool, style, ellipse.centerY(), VERTICAL));
-        ellipseValue-&gt;setRadiusX(basicShapeRadiusToCSSValue(style, pool, ellipse.radiusX()));
-        ellipseValue-&gt;setRadiusY(basicShapeRadiusToCSSValue(style, pool, ellipse.radiusY()));
</del><ins>+        ellipseValue-&gt;setCenterX(valueForCenterCoordinate(cssValuePool, style, ellipse.centerX(), HORIZONTAL));
+        ellipseValue-&gt;setCenterY(valueForCenterCoordinate(cssValuePool, style, ellipse.centerY(), VERTICAL));
+        ellipseValue-&gt;setRadiusX(basicShapeRadiusToCSSValue(style, cssValuePool, ellipse.radiusX()));
+        ellipseValue-&gt;setRadiusY(basicShapeRadiusToCSSValue(style, cssValuePool, ellipse.radiusY()));
</ins><span class="cx">         basicShapeValue = ellipseValue.copyRef();
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx">         polygonValue-&gt;setWindRule(polygon.windRule());
</span><span class="cx">         const Vector&lt;Length&gt;&amp; values = polygon.values();
</span><span class="cx">         for (unsigned i = 0; i &lt; values.size(); i += 2)
</span><del>-            polygonValue-&gt;appendPoint(pool.createValue(values.at(i), style), pool.createValue(values.at(i + 1), style));
</del><ins>+            polygonValue-&gt;appendPoint(cssValuePool.createValue(values.at(i), style), cssValuePool.createValue(values.at(i + 1), style));
</ins><span class="cx"> 
</span><span class="cx">         basicShapeValue = polygonValue.copyRef();
</span><span class="cx">         break;
</span><span class="lines">@@ -107,15 +107,15 @@
</span><span class="cx">         const auto&amp; inset = downcast&lt;BasicShapeInset&gt;(basicShape);
</span><span class="cx">         auto insetValue = CSSBasicShapeInset::create();
</span><span class="cx"> 
</span><del>-        insetValue-&gt;setTop(pool.createValue(inset.top(), style));
-        insetValue-&gt;setRight(pool.createValue(inset.right(), style));
-        insetValue-&gt;setBottom(pool.createValue(inset.bottom(), style));
-        insetValue-&gt;setLeft(pool.createValue(inset.left(), style));
</del><ins>+        insetValue-&gt;setTop(cssValuePool.createValue(inset.top(), style));
+        insetValue-&gt;setRight(cssValuePool.createValue(inset.right(), style));
+        insetValue-&gt;setBottom(cssValuePool.createValue(inset.bottom(), style));
+        insetValue-&gt;setLeft(cssValuePool.createValue(inset.left(), style));
</ins><span class="cx"> 
</span><del>-        insetValue-&gt;setTopLeftRadius(pool.createValue(inset.topLeftRadius(), style));
-        insetValue-&gt;setTopRightRadius(pool.createValue(inset.topRightRadius(), style));
-        insetValue-&gt;setBottomRightRadius(pool.createValue(inset.bottomRightRadius(), style));
-        insetValue-&gt;setBottomLeftRadius(pool.createValue(inset.bottomLeftRadius(), style));
</del><ins>+        insetValue-&gt;setTopLeftRadius(cssValuePool.createValue(inset.topLeftRadius(), style));
+        insetValue-&gt;setTopRightRadius(cssValuePool.createValue(inset.topRightRadius(), style));
+        insetValue-&gt;setBottomRightRadius(cssValuePool.createValue(inset.bottomRightRadius(), style));
+        insetValue-&gt;setBottomLeftRadius(cssValuePool.createValue(inset.bottomLeftRadius(), style));
</ins><span class="cx"> 
</span><span class="cx">         basicShapeValue = insetValue.copyRef();
</span><span class="cx">         break;
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return pool.createValue(basicShapeValue.releaseNonNull());
</del><ins>+    return cssValuePool.createValue(basicShapeValue.releaseNonNull());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Length convertToLength(const CSSToLengthConversionData&amp; conversionData, CSSPrimitiveValue* value)
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSBasicShapescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSBasicShapes.cpp (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSBasicShapes.cpp        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/css/CSSBasicShapes.cpp        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -63,22 +63,23 @@
</span><span class="cx">     } else
</span><span class="cx">         amount = offset;
</span><span class="cx"> 
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     if (side == CSSValueCenter) {
</span><span class="cx">         side = defaultSide;
</span><del>-        amount = cssValuePool().createValue(Length(50, Percent));
</del><ins>+        amount = cssValuePool.createValue(Length(50, Percent));
</ins><span class="cx">     } else if ((side == CSSValueRight || side == CSSValueBottom)
</span><span class="cx">         &amp;&amp; amount-&gt;isPercentage()) {
</span><span class="cx">         side = defaultSide;
</span><del>-        amount = cssValuePool().createValue(Length(100 - amount-&gt;getFloatValue(), Percent));
</del><ins>+        amount = cssValuePool.createValue(Length(100 - amount-&gt;getFloatValue(), Percent));
</ins><span class="cx">     } else if (amount-&gt;isLength() &amp;&amp; !amount-&gt;getFloatValue()) {
</span><span class="cx">         if (side == CSSValueRight || side == CSSValueBottom)
</span><del>-            amount = cssValuePool().createValue(Length(100, Percent));
</del><ins>+            amount = cssValuePool.createValue(Length(100, Percent));
</ins><span class="cx">         else
</span><del>-            amount = cssValuePool().createValue(Length(0, Percent));
</del><ins>+            amount = cssValuePool.createValue(Length(0, Percent));
</ins><span class="cx">         side = defaultSide;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return cssValuePool().createValue(Pair::create(cssValuePool().createValue(side), amount.release()));
</del><ins>+    return cssValuePool.createValue(Pair::create(cssValuePool.createValue(side), amount.release()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static String buildCircleString(const String&amp; radius, const String&amp; centerX, const String&amp; centerY, const String&amp; box)
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSComputedStyleDeclarationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -488,15 +488,15 @@
</span><span class="cx">     // These values can be percentages, numbers, or while an animation of mixed types is in progress,
</span><span class="cx">     // a calculation that combines a percentage and a number.
</span><span class="cx">     if (length.isPercent())
</span><del>-        return cssValuePool().createValue(length.percent(), CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+        return CSSValuePool::singleton().createValue(length.percent(), CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx">     if (length.isFixed())
</span><del>-        return cssValuePool().createValue(length.value(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+        return CSSValuePool::singleton().createValue(length.value(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> 
</span><span class="cx">     // Calculating the actual length currently in use would require most of the code from RenderBoxModelObject::paintNinePieceImage.
</span><span class="cx">     // And even if we could do that, it's not clear if that's exactly what we'd want during animation.
</span><span class="cx">     // FIXME: For now, just return 0.
</span><span class="cx">     ASSERT(length.isCalculated());
</span><del>-    return cssValuePool().createValue(0, CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+    return CSSValuePool::singleton().createValue(0, CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSBorderImageSliceValue&gt; valueForNinePieceImageSlice(const NinePieceImage&amp; image)
</span><span class="lines">@@ -535,7 +535,7 @@
</span><span class="cx">     quad-&gt;setBottom(bottom.release());
</span><span class="cx">     quad-&gt;setLeft(left.release());
</span><span class="cx"> 
</span><del>-    return CSSBorderImageSliceValue::create(cssValuePool().createValue(WTF::move(quad)), image.fill());
</del><ins>+    return CSSBorderImageSliceValue::create(CSSValuePool::singleton().createValue(WTF::move(quad)), image.fill());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSPrimitiveValue&gt; valueForNinePieceImageQuad(const LengthBox&amp; box)
</span><span class="lines">@@ -545,10 +545,12 @@
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; bottom;
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; left;
</span><span class="cx"> 
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
+
</ins><span class="cx">     if (box.top().isRelative())
</span><del>-        top = cssValuePool().createValue(box.top().value(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+        top = cssValuePool.createValue(box.top().value(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">     else
</span><del>-        top = cssValuePool().createValue(box.top());
</del><ins>+        top = cssValuePool.createValue(box.top());
</ins><span class="cx"> 
</span><span class="cx">     if (box.right() == box.top() &amp;&amp; box.bottom() == box.top() &amp;&amp; box.left() == box.top()) {
</span><span class="cx">         right = top;
</span><span class="lines">@@ -556,26 +558,26 @@
</span><span class="cx">         left = top;
</span><span class="cx">     } else {
</span><span class="cx">         if (box.right().isRelative())
</span><del>-            right = cssValuePool().createValue(box.right().value(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+            right = cssValuePool.createValue(box.right().value(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         else
</span><del>-            right = cssValuePool().createValue(box.right());
</del><ins>+            right = cssValuePool.createValue(box.right());
</ins><span class="cx"> 
</span><span class="cx">         if (box.bottom() == box.top() &amp;&amp; box.right() == box.left()) {
</span><span class="cx">             bottom = top;
</span><span class="cx">             left = right;
</span><span class="cx">         } else {
</span><span class="cx">             if (box.bottom().isRelative())
</span><del>-                bottom = cssValuePool().createValue(box.bottom().value(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+                bottom = cssValuePool.createValue(box.bottom().value(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">             else
</span><del>-                bottom = cssValuePool().createValue(box.bottom());
</del><ins>+                bottom = cssValuePool.createValue(box.bottom());
</ins><span class="cx"> 
</span><span class="cx">             if (box.left() == box.right())
</span><span class="cx">                 left = right;
</span><span class="cx">             else {
</span><span class="cx">                 if (box.left().isRelative())
</span><del>-                    left = cssValuePool().createValue(box.left().value(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+                    left = cssValuePool.createValue(box.left().value(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">                 else
</span><del>-                    left = cssValuePool().createValue(box.left());
</del><ins>+                    left = cssValuePool.createValue(box.left());
</ins><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -586,26 +588,26 @@
</span><span class="cx">     quad-&gt;setBottom(bottom);
</span><span class="cx">     quad-&gt;setLeft(left);
</span><span class="cx"> 
</span><del>-    return cssValuePool().createValue(WTF::move(quad));
</del><ins>+    return cssValuePool.createValue(WTF::move(quad));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValue&gt; valueForNinePieceImageRepeat(const NinePieceImage&amp; image)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;CSSPrimitiveValue&gt; horizontalRepeat;
</del><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
+    RefPtr&lt;CSSPrimitiveValue&gt; horizontalRepeat = cssValuePool.createIdentifierValue(valueForRepeatRule(image.horizontalRule()));
+
</ins><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; verticalRepeat;
</span><del>-
-    horizontalRepeat = cssValuePool().createIdentifierValue(valueForRepeatRule(image.horizontalRule()));
</del><span class="cx">     if (image.horizontalRule() == image.verticalRule())
</span><span class="cx">         verticalRepeat = horizontalRepeat;
</span><span class="cx">     else
</span><del>-        verticalRepeat = cssValuePool().createIdentifierValue(valueForRepeatRule(image.verticalRule()));
-    return cssValuePool().createValue(Pair::create(horizontalRepeat.release(), verticalRepeat.release()));
</del><ins>+        verticalRepeat = cssValuePool.createIdentifierValue(valueForRepeatRule(image.verticalRule()));
+    return cssValuePool.createValue(Pair::create(horizontalRepeat.release(), verticalRepeat.release()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValue&gt; valueForNinePieceImage(const NinePieceImage&amp; image)
</span><span class="cx"> {
</span><span class="cx">     if (!image.hasImage())
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx"> 
</span><span class="cx">     // Image first.
</span><span class="cx">     RefPtr&lt;CSSValue&gt; imageValue;
</span><span class="lines">@@ -629,45 +631,45 @@
</span><span class="cx"> 
</span><span class="cx"> inline static Ref&lt;CSSPrimitiveValue&gt; zoomAdjustedPixelValue(double value, const RenderStyle&amp; style)
</span><span class="cx"> {
</span><del>-    return cssValuePool().createValue(adjustFloatForAbsoluteZoom(value, style), CSSPrimitiveValue::CSS_PX);
</del><ins>+    return CSSValuePool::singleton().createValue(adjustFloatForAbsoluteZoom(value, style), CSSPrimitiveValue::CSS_PX);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> inline static Ref&lt;CSSPrimitiveValue&gt; zoomAdjustedNumberValue(double value, const RenderStyle&amp; style)
</span><span class="cx"> {
</span><del>-    return cssValuePool().createValue(value / style.effectiveZoom(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+    return CSSValuePool::singleton().createValue(value / style.effectiveZoom(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValue&gt; zoomAdjustedPixelValueForLength(const Length&amp; length, const RenderStyle&amp; style)
</span><span class="cx"> {
</span><span class="cx">     if (length.isFixed())
</span><span class="cx">         return zoomAdjustedPixelValue(length.value(), style);
</span><del>-    return cssValuePool().createValue(length, style);
</del><ins>+    return CSSValuePool::singleton().createValue(length, style);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValue&gt; valueForReflection(const StyleReflection* reflection, const RenderStyle&amp; style)
</span><span class="cx"> {
</span><span class="cx">     if (!reflection)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; offset;
</span><span class="cx">     if (reflection-&gt;offset().isPercentOrCalculated())
</span><del>-        offset = cssValuePool().createValue(reflection-&gt;offset().percent(), CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+        offset = CSSValuePool::singleton().createValue(reflection-&gt;offset().percent(), CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx">     else
</span><span class="cx">         offset = zoomAdjustedPixelValue(reflection-&gt;offset().value(), style);
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; direction;
</span><span class="cx">     switch (reflection-&gt;direction()) {
</span><span class="cx">     case ReflectionBelow:
</span><del>-        direction = cssValuePool().createIdentifierValue(CSSValueBelow);
</del><ins>+        direction = CSSValuePool::singleton().createIdentifierValue(CSSValueBelow);
</ins><span class="cx">         break;
</span><span class="cx">     case ReflectionAbove:
</span><del>-        direction = cssValuePool().createIdentifierValue(CSSValueAbove);
</del><ins>+        direction = CSSValuePool::singleton().createIdentifierValue(CSSValueAbove);
</ins><span class="cx">         break;
</span><span class="cx">     case ReflectionLeft:
</span><del>-        direction = cssValuePool().createIdentifierValue(CSSValueLeft);
</del><ins>+        direction = CSSValuePool::singleton().createIdentifierValue(CSSValueLeft);
</ins><span class="cx">         break;
</span><span class="cx">     case ReflectionRight:
</span><del>-        direction = cssValuePool().createIdentifierValue(CSSValueRight);
</del><ins>+        direction = CSSValuePool::singleton().createIdentifierValue(CSSValueRight);
</ins><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -679,12 +681,12 @@
</span><span class="cx">     auto positionList = CSSValueList::createSpaceSeparated();
</span><span class="cx">     if (layer-&gt;isBackgroundOriginSet()) {
</span><span class="cx">         ASSERT_UNUSED(propertyID, propertyID == CSSPropertyBackgroundPosition || propertyID == CSSPropertyWebkitMaskPosition);
</span><del>-        positionList.get().append(cssValuePool().createValue(layer-&gt;backgroundXOrigin()));
</del><ins>+        positionList.get().append(CSSValuePool::singleton().createValue(layer-&gt;backgroundXOrigin()));
</ins><span class="cx">     }
</span><span class="cx">     positionList.get().append(zoomAdjustedPixelValueForLength(layer-&gt;xPosition(), style));
</span><span class="cx">     if (layer-&gt;isBackgroundOriginSet()) {
</span><span class="cx">         ASSERT(propertyID == CSSPropertyBackgroundPosition || propertyID == CSSPropertyWebkitMaskPosition);
</span><del>-        positionList.get().append(cssValuePool().createValue(layer-&gt;backgroundYOrigin()));
</del><ins>+        positionList.get().append(CSSValuePool::singleton().createValue(layer-&gt;backgroundYOrigin()));
</ins><span class="cx">     }
</span><span class="cx">     positionList.get().append(zoomAdjustedPixelValueForLength(layer-&gt;yPosition(), style));
</span><span class="cx">     return positionList;
</span><span class="lines">@@ -714,31 +716,31 @@
</span><span class="cx">         if (length.isFixed())
</span><span class="cx">             return zoomAdjustedPixelValue(length.value(), style);
</span><span class="cx"> 
</span><del>-        return cssValuePool().createValue(length);
</del><ins>+        return CSSValuePool::singleton().createValue(length);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (style.hasInFlowPosition()) {
</span><span class="cx">         // FIXME: It's not enough to simply return &quot;auto&quot; values for one offset if the other side is defined.
</span><span class="cx">         // In other words if left is auto and right is not auto, then left's computed value is negative right().
</span><span class="cx">         // So we should get the opposite length unit and see if it is auto.
</span><del>-        return cssValuePool().createValue(length);
</del><ins>+        return CSSValuePool::singleton().createValue(length);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+    return CSSValuePool::singleton().createIdentifierValue(CSSValueAuto);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RefPtr&lt;CSSPrimitiveValue&gt; ComputedStyleExtractor::currentColorOrValidColor(RenderStyle* style, const Color&amp; color) const
</span><span class="cx"> {
</span><span class="cx">     // This function does NOT look at visited information, so that computed style doesn't expose that.
</span><span class="cx">     if (!color.isValid())
</span><del>-        return cssValuePool().createColorValue(style-&gt;color().rgb());
-    return cssValuePool().createColorValue(color.rgb());
</del><ins>+        return CSSValuePool::singleton().createColorValue(style-&gt;color().rgb());
+    return CSSValuePool::singleton().createColorValue(color.rgb());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSPrimitiveValue&gt; percentageOrZoomAdjustedValue(Length length, const RenderStyle&amp; style)
</span><span class="cx"> {
</span><span class="cx">     if (length.isPercent())
</span><del>-        return cssValuePool().createValue(length.percent(), CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+        return CSSValuePool::singleton().createValue(length.percent(), CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx">     
</span><span class="cx">     return zoomAdjustedPixelValue(valueForLength(length, 0), style);
</span><span class="cx"> }
</span><span class="lines">@@ -746,7 +748,7 @@
</span><span class="cx"> static Ref&lt;CSSPrimitiveValue&gt; autoOrZoomAdjustedValue(Length length, const RenderStyle&amp; style)
</span><span class="cx"> {
</span><span class="cx">     if (length.isAuto())
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueAuto);
</ins><span class="cx"> 
</span><span class="cx">     return zoomAdjustedPixelValue(valueForLength(length, 0), style);
</span><span class="cx"> }
</span><span class="lines">@@ -821,37 +823,38 @@
</span><span class="cx"> static Ref&lt;WebKitCSSTransformValue&gt; matrixTransformValue(const TransformationMatrix&amp; transform, const RenderStyle&amp; style)
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;WebKitCSSTransformValue&gt; transformValue;
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     if (transform.isAffine()) {
</span><span class="cx">         transformValue = WebKitCSSTransformValue::create(WebKitCSSTransformValue::MatrixTransformOperation);
</span><span class="cx"> 
</span><del>-        transformValue-&gt;append(cssValuePool().createValue(transform.a(), CSSPrimitiveValue::CSS_NUMBER));
-        transformValue-&gt;append(cssValuePool().createValue(transform.b(), CSSPrimitiveValue::CSS_NUMBER));
-        transformValue-&gt;append(cssValuePool().createValue(transform.c(), CSSPrimitiveValue::CSS_NUMBER));
-        transformValue-&gt;append(cssValuePool().createValue(transform.d(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+        transformValue-&gt;append(cssValuePool.createValue(transform.a(), CSSPrimitiveValue::CSS_NUMBER));
+        transformValue-&gt;append(cssValuePool.createValue(transform.b(), CSSPrimitiveValue::CSS_NUMBER));
+        transformValue-&gt;append(cssValuePool.createValue(transform.c(), CSSPrimitiveValue::CSS_NUMBER));
+        transformValue-&gt;append(cssValuePool.createValue(transform.d(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">         transformValue-&gt;append(zoomAdjustedNumberValue(transform.e(), style));
</span><span class="cx">         transformValue-&gt;append(zoomAdjustedNumberValue(transform.f(), style));
</span><span class="cx">     } else {
</span><span class="cx">         transformValue = WebKitCSSTransformValue::create(WebKitCSSTransformValue::Matrix3DTransformOperation);
</span><span class="cx"> 
</span><del>-        transformValue-&gt;append(cssValuePool().createValue(transform.m11(), CSSPrimitiveValue::CSS_NUMBER));
-        transformValue-&gt;append(cssValuePool().createValue(transform.m12(), CSSPrimitiveValue::CSS_NUMBER));
-        transformValue-&gt;append(cssValuePool().createValue(transform.m13(), CSSPrimitiveValue::CSS_NUMBER));
-        transformValue-&gt;append(cssValuePool().createValue(transform.m14(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+        transformValue-&gt;append(cssValuePool.createValue(transform.m11(), CSSPrimitiveValue::CSS_NUMBER));
+        transformValue-&gt;append(cssValuePool.createValue(transform.m12(), CSSPrimitiveValue::CSS_NUMBER));
+        transformValue-&gt;append(cssValuePool.createValue(transform.m13(), CSSPrimitiveValue::CSS_NUMBER));
+        transformValue-&gt;append(cssValuePool.createValue(transform.m14(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx"> 
</span><del>-        transformValue-&gt;append(cssValuePool().createValue(transform.m21(), CSSPrimitiveValue::CSS_NUMBER));
-        transformValue-&gt;append(cssValuePool().createValue(transform.m22(), CSSPrimitiveValue::CSS_NUMBER));
-        transformValue-&gt;append(cssValuePool().createValue(transform.m23(), CSSPrimitiveValue::CSS_NUMBER));
-        transformValue-&gt;append(cssValuePool().createValue(transform.m24(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+        transformValue-&gt;append(cssValuePool.createValue(transform.m21(), CSSPrimitiveValue::CSS_NUMBER));
+        transformValue-&gt;append(cssValuePool.createValue(transform.m22(), CSSPrimitiveValue::CSS_NUMBER));
+        transformValue-&gt;append(cssValuePool.createValue(transform.m23(), CSSPrimitiveValue::CSS_NUMBER));
+        transformValue-&gt;append(cssValuePool.createValue(transform.m24(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx"> 
</span><del>-        transformValue-&gt;append(cssValuePool().createValue(transform.m31(), CSSPrimitiveValue::CSS_NUMBER));
-        transformValue-&gt;append(cssValuePool().createValue(transform.m32(), CSSPrimitiveValue::CSS_NUMBER));
-        transformValue-&gt;append(cssValuePool().createValue(transform.m33(), CSSPrimitiveValue::CSS_NUMBER));
-        transformValue-&gt;append(cssValuePool().createValue(transform.m34(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+        transformValue-&gt;append(cssValuePool.createValue(transform.m31(), CSSPrimitiveValue::CSS_NUMBER));
+        transformValue-&gt;append(cssValuePool.createValue(transform.m32(), CSSPrimitiveValue::CSS_NUMBER));
+        transformValue-&gt;append(cssValuePool.createValue(transform.m33(), CSSPrimitiveValue::CSS_NUMBER));
+        transformValue-&gt;append(cssValuePool.createValue(transform.m34(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx"> 
</span><span class="cx">         transformValue-&gt;append(zoomAdjustedNumberValue(transform.m41(), style));
</span><span class="cx">         transformValue-&gt;append(zoomAdjustedNumberValue(transform.m42(), style));
</span><span class="cx">         transformValue-&gt;append(zoomAdjustedNumberValue(transform.m43(), style));
</span><del>-        transformValue-&gt;append(cssValuePool().createValue(transform.m44(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+        transformValue-&gt;append(cssValuePool.createValue(transform.m44(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return transformValue.releaseNonNull();
</span><span class="lines">@@ -860,7 +863,7 @@
</span><span class="cx"> static Ref&lt;CSSValue&gt; computedTransform(RenderObject* renderer, const RenderStyle&amp; style)
</span><span class="cx"> {
</span><span class="cx">     if (!renderer || !renderer-&gt;hasTransform())
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx"> 
</span><span class="cx">     FloatRect pixelSnappedRect;
</span><span class="cx">     if (is&lt;RenderBox&gt;(*renderer))
</span><span class="lines">@@ -878,18 +881,19 @@
</span><span class="cx"> 
</span><span class="cx"> static inline Ref&lt;CSSPrimitiveValue&gt; adjustLengthForZoom(double length, const RenderStyle&amp; style, AdjustPixelValuesForComputedStyle adjust)
</span><span class="cx"> {
</span><del>-    return adjust == AdjustPixelValues ? zoomAdjustedPixelValue(length, style) : cssValuePool().createValue(length, CSSPrimitiveValue::CSS_PX);
</del><ins>+    return adjust == AdjustPixelValues ? zoomAdjustedPixelValue(length, style) : CSSValuePool::singleton().createValue(length, CSSPrimitiveValue::CSS_PX);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline Ref&lt;CSSPrimitiveValue&gt; adjustLengthForZoom(const Length&amp; length, const RenderStyle&amp; style, AdjustPixelValuesForComputedStyle adjust)
</span><span class="cx"> {
</span><del>-    return adjust == AdjustPixelValues ? zoomAdjustedPixelValue(length.value(), style) : cssValuePool().createValue(length);
</del><ins>+    return adjust == AdjustPixelValues ? zoomAdjustedPixelValue(length.value(), style) : CSSValuePool::singleton().createValue(length);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Ref&lt;CSSValue&gt; ComputedStyleExtractor::valueForShadow(const ShadowData* shadow, CSSPropertyID propertyID, const RenderStyle&amp; style, AdjustPixelValuesForComputedStyle adjust)
</span><span class="cx"> {
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     if (!shadow)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx"> 
</span><span class="cx">     auto list = CSSValueList::createCommaSeparated();
</span><span class="cx">     for (const ShadowData* currShadowData = shadow; currShadowData; currShadowData = currShadowData-&gt;next()) {
</span><span class="lines">@@ -897,8 +901,8 @@
</span><span class="cx">         RefPtr&lt;CSSPrimitiveValue&gt; y = adjustLengthForZoom(currShadowData-&gt;y(), style, adjust);
</span><span class="cx">         RefPtr&lt;CSSPrimitiveValue&gt; blur = adjustLengthForZoom(currShadowData-&gt;radius(), style, adjust);
</span><span class="cx">         RefPtr&lt;CSSPrimitiveValue&gt; spread = propertyID == CSSPropertyTextShadow ? PassRefPtr&lt;CSSPrimitiveValue&gt;() : adjustLengthForZoom(currShadowData-&gt;spread(), style, adjust);
</span><del>-        RefPtr&lt;CSSPrimitiveValue&gt; style = propertyID == CSSPropertyTextShadow || currShadowData-&gt;style() == Normal ? PassRefPtr&lt;CSSPrimitiveValue&gt;() : cssValuePool().createIdentifierValue(CSSValueInset);
-        RefPtr&lt;CSSPrimitiveValue&gt; color = cssValuePool().createColorValue(currShadowData-&gt;color().rgb());
</del><ins>+        RefPtr&lt;CSSPrimitiveValue&gt; style = propertyID == CSSPropertyTextShadow || currShadowData-&gt;style() == Normal ? PassRefPtr&lt;CSSPrimitiveValue&gt;() : cssValuePool.createIdentifierValue(CSSValueInset);
+        RefPtr&lt;CSSPrimitiveValue&gt; color = cssValuePool.createColorValue(currShadowData-&gt;color().rgb());
</ins><span class="cx">         list.get().prepend(CSSShadowValue::create(x.release(), y.release(), blur.release(), spread.release(), style.release(), color.release()));
</span><span class="cx">     }
</span><span class="cx">     return WTF::move(list);
</span><span class="lines">@@ -906,8 +910,9 @@
</span><span class="cx"> 
</span><span class="cx"> Ref&lt;CSSValue&gt; ComputedStyleExtractor::valueForFilter(const RenderStyle&amp; style, const FilterOperations&amp; filterOperations, AdjustPixelValuesForComputedStyle adjust)
</span><span class="cx"> {
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     if (filterOperations.operations().isEmpty())
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx"> 
</span><span class="cx">     auto list = CSSValueList::createSpaceSeparated();
</span><span class="cx"> 
</span><span class="lines">@@ -920,55 +925,55 @@
</span><span class="cx">         case FilterOperation::REFERENCE: {
</span><span class="cx">             ReferenceFilterOperation&amp; referenceOperation = downcast&lt;ReferenceFilterOperation&gt;(filterOperation);
</span><span class="cx">             filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::ReferenceFilterOperation);
</span><del>-            filterValue-&gt;append(cssValuePool().createValue(referenceOperation.url(), CSSPrimitiveValue::CSS_URI));
</del><ins>+            filterValue-&gt;append(cssValuePool.createValue(referenceOperation.url(), CSSPrimitiveValue::CSS_URI));
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case FilterOperation::GRAYSCALE: {
</span><span class="cx">             BasicColorMatrixFilterOperation&amp; colorMatrixOperation = downcast&lt;BasicColorMatrixFilterOperation&gt;(filterOperation);
</span><span class="cx">             filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::GrayscaleFilterOperation);
</span><del>-            filterValue-&gt;append(cssValuePool().createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+            filterValue-&gt;append(cssValuePool.createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case FilterOperation::SEPIA: {
</span><span class="cx">             BasicColorMatrixFilterOperation&amp; colorMatrixOperation = downcast&lt;BasicColorMatrixFilterOperation&gt;(filterOperation);
</span><span class="cx">             filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::SepiaFilterOperation);
</span><del>-            filterValue-&gt;append(cssValuePool().createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+            filterValue-&gt;append(cssValuePool.createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case FilterOperation::SATURATE: {
</span><span class="cx">             BasicColorMatrixFilterOperation&amp; colorMatrixOperation = downcast&lt;BasicColorMatrixFilterOperation&gt;(filterOperation);
</span><span class="cx">             filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::SaturateFilterOperation);
</span><del>-            filterValue-&gt;append(cssValuePool().createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+            filterValue-&gt;append(cssValuePool.createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case FilterOperation::HUE_ROTATE: {
</span><span class="cx">             BasicColorMatrixFilterOperation&amp; colorMatrixOperation = downcast&lt;BasicColorMatrixFilterOperation&gt;(filterOperation);
</span><span class="cx">             filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::HueRotateFilterOperation);
</span><del>-            filterValue-&gt;append(cssValuePool().createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_DEG));
</del><ins>+            filterValue-&gt;append(cssValuePool.createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_DEG));
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case FilterOperation::INVERT: {
</span><span class="cx">             BasicComponentTransferFilterOperation&amp; componentTransferOperation = downcast&lt;BasicComponentTransferFilterOperation&gt;(filterOperation);
</span><span class="cx">             filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::InvertFilterOperation);
</span><del>-            filterValue-&gt;append(cssValuePool().createValue(componentTransferOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+            filterValue-&gt;append(cssValuePool.createValue(componentTransferOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case FilterOperation::OPACITY: {
</span><span class="cx">             BasicComponentTransferFilterOperation&amp; componentTransferOperation = downcast&lt;BasicComponentTransferFilterOperation&gt;(filterOperation);
</span><span class="cx">             filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::OpacityFilterOperation);
</span><del>-            filterValue-&gt;append(cssValuePool().createValue(componentTransferOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+            filterValue-&gt;append(cssValuePool.createValue(componentTransferOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case FilterOperation::BRIGHTNESS: {
</span><span class="cx">             BasicComponentTransferFilterOperation&amp; brightnessOperation = downcast&lt;BasicComponentTransferFilterOperation&gt;(filterOperation);
</span><span class="cx">             filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::BrightnessFilterOperation);
</span><del>-            filterValue-&gt;append(cssValuePool().createValue(brightnessOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+            filterValue-&gt;append(cssValuePool.createValue(brightnessOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case FilterOperation::CONTRAST: {
</span><span class="cx">             BasicComponentTransferFilterOperation&amp; contrastOperation = downcast&lt;BasicComponentTransferFilterOperation&gt;(filterOperation);
</span><span class="cx">             filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::ContrastFilterOperation);
</span><del>-            filterValue-&gt;append(cssValuePool().createValue(contrastOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+            filterValue-&gt;append(cssValuePool.createValue(contrastOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case FilterOperation::BLUR: {
</span><span class="lines">@@ -999,11 +1004,11 @@
</span><span class="cx"> static Ref&lt;CSSValue&gt; specifiedValueForGridTrackBreadth(const GridLength&amp; trackBreadth, const RenderStyle&amp; style)
</span><span class="cx"> {
</span><span class="cx">     if (!trackBreadth.isLength())
</span><del>-        return cssValuePool().createValue(trackBreadth.flex(), CSSPrimitiveValue::CSS_FR);
</del><ins>+        return CSSValuePool::singleton().createValue(trackBreadth.flex(), CSSPrimitiveValue::CSS_FR);
</ins><span class="cx"> 
</span><span class="cx">     const Length&amp; trackBreadthLength = trackBreadth.length();
</span><span class="cx">     if (trackBreadthLength.isAuto())
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueAuto);
</ins><span class="cx">     return zoomAdjustedPixelValueForLength(trackBreadthLength, style);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1027,9 +1032,10 @@
</span><span class="cx">     if (namedGridLines.isEmpty())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     RefPtr&lt;CSSGridLineNamesValue&gt; lineNames = CSSGridLineNamesValue::create();
</span><span class="cx">     for (auto&amp; name : namedGridLines)
</span><del>-        lineNames-&gt;append(cssValuePool().createValue(name, CSSPrimitiveValue::CSS_STRING));
</del><ins>+        lineNames-&gt;append(cssValuePool.createValue(name, CSSPrimitiveValue::CSS_STRING));
</ins><span class="cx">     list.append(lineNames.releaseNonNull());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1050,7 +1056,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (trackListIsEmpty) {
</span><span class="cx">         ASSERT(orderedNamedGridLines.isEmpty());
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     auto list = CSSValueList::createSpaceSeparated();
</span><span class="lines">@@ -1081,21 +1087,22 @@
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValue&gt; valueForGridPosition(const GridPosition&amp; position)
</span><span class="cx"> {
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     if (position.isAuto())
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+        return cssValuePool.createIdentifierValue(CSSValueAuto);
</ins><span class="cx"> 
</span><span class="cx">     if (position.isNamedGridArea())
</span><del>-        return cssValuePool().createValue(position.namedGridLine(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+        return cssValuePool.createValue(position.namedGridLine(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx"> 
</span><span class="cx">     auto list = CSSValueList::createSpaceSeparated();
</span><span class="cx">     if (position.isSpan()) {
</span><del>-        list.get().append(cssValuePool().createIdentifierValue(CSSValueSpan));
-        list.get().append(cssValuePool().createValue(position.spanPosition(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+        list.get().append(cssValuePool.createIdentifierValue(CSSValueSpan));
+        list.get().append(cssValuePool.createValue(position.spanPosition(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">     } else
</span><del>-        list.get().append(cssValuePool().createValue(position.integerPosition(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+        list.get().append(cssValuePool.createValue(position.integerPosition(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx"> 
</span><span class="cx">     if (!position.namedGridLine().isNull())
</span><del>-        list.get().append(cssValuePool().createValue(position.namedGridLine(), CSSPrimitiveValue::CSS_STRING));
</del><ins>+        list.get().append(cssValuePool.createValue(position.namedGridLine(), CSSPrimitiveValue::CSS_STRING));
</ins><span class="cx">     return WTF::move(list);
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="lines">@@ -1103,10 +1110,10 @@
</span><span class="cx"> static Ref&lt;CSSValue&gt; createTransitionPropertyValue(const Animation&amp; animation)
</span><span class="cx"> {
</span><span class="cx">     if (animation.animationMode() == Animation::AnimateNone)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx">     if (animation.animationMode() == Animation::AnimateAll)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueAll);
-    return cssValuePool().createValue(getPropertyNameString(animation.property()), CSSPrimitiveValue::CSS_STRING);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueAll);
+    return CSSValuePool::singleton().createValue(getPropertyNameString(animation.property()), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValueList&gt; getTransitionPropertyValue(const AnimationList* animList)
</span><span class="lines">@@ -1116,7 +1123,7 @@
</span><span class="cx">         for (size_t i = 0; i &lt; animList-&gt;size(); ++i)
</span><span class="cx">             list.get().append(createTransitionPropertyValue(animList-&gt;animation(i)));
</span><span class="cx">     } else
</span><del>-        list.get().append(cssValuePool().createIdentifierValue(CSSValueAll));
</del><ins>+        list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueAll));
</ins><span class="cx">     return list;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1132,22 +1139,22 @@
</span><span class="cx"> static Ref&lt;CSSValue&gt; scrollSnapPoints(RenderStyle&amp; style, const ScrollSnapPoints* points)
</span><span class="cx"> {
</span><span class="cx">     if (!points)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx"> 
</span><span class="cx">     if (points-&gt;usesElements)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueElements);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueElements);
</ins><span class="cx">     auto list = CSSValueList::createSpaceSeparated();
</span><span class="cx">     for (auto&amp; point : points-&gt;offsets)
</span><span class="cx">         list.get().append(zoomAdjustedPixelValueForLength(point, style));
</span><span class="cx">     if (points-&gt;hasRepeat)
</span><del>-        list.get().append(cssValuePool().createValue(LengthRepeat::create(zoomAdjustedPixelValueForLength(points-&gt;repeatOffset, style))));
</del><ins>+        list.get().append(CSSValuePool::singleton().createValue(LengthRepeat::create(zoomAdjustedPixelValueForLength(points-&gt;repeatOffset, style))));
</ins><span class="cx">     return WTF::move(list);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValue&gt; scrollSnapCoordinates(RenderStyle&amp; style, const Vector&lt;LengthSize&gt;&amp; coordinates)
</span><span class="cx"> {
</span><span class="cx">     if (coordinates.isEmpty())
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx"> 
</span><span class="cx">     auto list = CSSValueList::createCommaSeparated();
</span><span class="cx"> 
</span><span class="lines">@@ -1164,21 +1171,22 @@
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValue&gt; getWillChangePropertyValue(const WillChangeData* willChangeData)
</span><span class="cx"> {
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     if (!willChangeData || !willChangeData-&gt;numFeatures())
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+        return cssValuePool.createIdentifierValue(CSSValueAuto);
</ins><span class="cx"> 
</span><span class="cx">     auto list = CSSValueList::createCommaSeparated();
</span><span class="cx">     for (size_t i = 0; i &lt; willChangeData-&gt;numFeatures(); ++i) {
</span><span class="cx">         WillChangeData::FeaturePropertyPair feature = willChangeData-&gt;featureAt(i);
</span><span class="cx">         switch (feature.first) {
</span><span class="cx">         case WillChangeData::ScrollPosition:
</span><del>-            list.get().append(cssValuePool().createIdentifierValue(CSSValueScrollPosition));
</del><ins>+            list.get().append(cssValuePool.createIdentifierValue(CSSValueScrollPosition));
</ins><span class="cx">             break;
</span><span class="cx">         case WillChangeData::Contents:
</span><del>-            list.get().append(cssValuePool().createIdentifierValue(CSSValueContents));
</del><ins>+            list.get().append(cssValuePool.createIdentifierValue(CSSValueContents));
</ins><span class="cx">             break;
</span><span class="cx">         case WillChangeData::Property:
</span><del>-            list.get().append(cssValuePool().createIdentifierValue(feature.second));
</del><ins>+            list.get().append(cssValuePool.createIdentifierValue(feature.second));
</ins><span class="cx">             break;
</span><span class="cx">         case WillChangeData::Invalid:
</span><span class="cx">             ASSERT_NOT_REACHED();
</span><span class="lines">@@ -1191,26 +1199,28 @@
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValueList&gt; getDelayValue(const AnimationList* animList)
</span><span class="cx"> {
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     auto list = CSSValueList::createCommaSeparated();
</span><span class="cx">     if (animList) {
</span><span class="cx">         for (size_t i = 0; i &lt; animList-&gt;size(); ++i)
</span><del>-            list.get().append(cssValuePool().createValue(animList-&gt;animation(i).delay(), CSSPrimitiveValue::CSS_S));
</del><ins>+            list.get().append(cssValuePool.createValue(animList-&gt;animation(i).delay(), CSSPrimitiveValue::CSS_S));
</ins><span class="cx">     } else {
</span><span class="cx">         // Note that initialAnimationDelay() is used for both transitions and animations
</span><del>-        list.get().append(cssValuePool().createValue(Animation::initialDelay(), CSSPrimitiveValue::CSS_S));
</del><ins>+        list.get().append(cssValuePool.createValue(Animation::initialDelay(), CSSPrimitiveValue::CSS_S));
</ins><span class="cx">     }
</span><span class="cx">     return list;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValueList&gt; getDurationValue(const AnimationList* animList)
</span><span class="cx"> {
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     auto list = CSSValueList::createCommaSeparated();
</span><span class="cx">     if (animList) {
</span><span class="cx">         for (size_t i = 0; i &lt; animList-&gt;size(); ++i)
</span><del>-            list.get().append(cssValuePool().createValue(animList-&gt;animation(i).duration(), CSSPrimitiveValue::CSS_S));
</del><ins>+            list.get().append(cssValuePool.createValue(animList-&gt;animation(i).duration(), CSSPrimitiveValue::CSS_S));
</ins><span class="cx">     } else {
</span><span class="cx">         // Note that initialAnimationDuration() is used for both transitions and animations
</span><del>-        list.get().append(cssValuePool().createValue(Animation::initialDuration(), CSSPrimitiveValue::CSS_S));
</del><ins>+        list.get().append(cssValuePool.createValue(Animation::initialDuration(), CSSPrimitiveValue::CSS_S));
</ins><span class="cx">     }
</span><span class="cx">     return list;
</span><span class="cx"> }
</span><span class="lines">@@ -1237,7 +1247,7 @@
</span><span class="cx">                 valueId = CSSValueEaseInOut;
</span><span class="cx">                 break;
</span><span class="cx">             }
</span><del>-            return cssValuePool().createIdentifierValue(valueId);
</del><ins>+            return CSSValuePool::singleton().createIdentifierValue(valueId);
</ins><span class="cx">         }
</span><span class="cx">         return CSSCubicBezierTimingFunctionValue::create(bezierTimingFunction-&gt;x1(), bezierTimingFunction-&gt;y1(), bezierTimingFunction-&gt;x2(), bezierTimingFunction-&gt;y2());
</span><span class="cx">     }
</span><span class="lines">@@ -1247,7 +1257,7 @@
</span><span class="cx">     }
</span><span class="cx">     default:
</span><span class="cx">         ASSERT(timingFunction-&gt;type() == TimingFunction::LinearFunction);
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueLinear);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueLinear);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1276,7 +1286,7 @@
</span><span class="cx">     }
</span><span class="cx">     default:
</span><span class="cx">         ASSERT(trigger-&gt;type() == AnimationTrigger::AnimationTriggerType::AutoAnimationTriggerType);
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueAuto);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1296,7 +1306,7 @@
</span><span class="cx"> static Ref&lt;CSSValue&gt; createLineBoxContainValue(unsigned lineBoxContain)
</span><span class="cx"> {
</span><span class="cx">     if (!lineBoxContain)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx">     return CSSLineBoxContainValue::create(lineBoxContain);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1367,7 +1377,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     if (CSSValueID sizeIdentifier = style-&gt;fontDescription().keywordSizeAsIdentifier())
</span><del>-        return cssValuePool().createIdentifierValue(sizeIdentifier);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(sizeIdentifier);
</ins><span class="cx"> 
</span><span class="cx">     return zoomAdjustedPixelValue(style-&gt;fontDescription().computedPixelSize(), *style);
</span><span class="cx"> }
</span><span class="lines">@@ -1405,27 +1415,28 @@
</span><span class="cx"> static Ref&lt;CSSPrimitiveValue&gt; valueForFamily(const AtomicString&amp; family)
</span><span class="cx"> {
</span><span class="cx">     if (CSSValueID familyIdentifier = identifierForFamily(family))
</span><del>-        return cssValuePool().createIdentifierValue(familyIdentifier);
-    return cssValuePool().createFontFamilyValue(family);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(familyIdentifier);
+    return CSSValuePool::singleton().createFontFamilyValue(family);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValue&gt; renderTextDecorationFlagsToCSSValue(int textDecoration)
</span><span class="cx"> {
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     // Blink value is ignored.
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><span class="cx">     if (textDecoration &amp; TextDecorationUnderline)
</span><del>-        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueUnderline));
</del><ins>+        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueUnderline));
</ins><span class="cx">     if (textDecoration &amp; TextDecorationOverline)
</span><del>-        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueOverline));
</del><ins>+        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueOverline));
</ins><span class="cx">     if (textDecoration &amp; TextDecorationLineThrough)
</span><del>-        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueLineThrough));
</del><ins>+        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueLineThrough));
</ins><span class="cx"> #if ENABLE(LETTERPRESS)
</span><span class="cx">     if (textDecoration &amp; TextDecorationLetterpress)
</span><del>-        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueWebkitLetterpress));
</del><ins>+        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueWebkitLetterpress));
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     if (!list-&gt;length())
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx">     return list.releaseNonNull();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1433,54 +1444,55 @@
</span><span class="cx"> {
</span><span class="cx">     switch (textDecorationStyle) {
</span><span class="cx">     case TextDecorationStyleSolid:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueSolid);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueSolid);
</ins><span class="cx">     case TextDecorationStyleDouble:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueDouble);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueDouble);
</ins><span class="cx">     case TextDecorationStyleDotted:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueDotted);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueDotted);
</ins><span class="cx">     case TextDecorationStyleDashed:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueDashed);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueDashed);
</ins><span class="cx">     case TextDecorationStyleWavy:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueWavy);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueWavy);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><del>-    return cssValuePool().createExplicitInitialValue();
</del><ins>+    return CSSValuePool::singleton().createExplicitInitialValue();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValue&gt; renderTextDecorationSkipFlagsToCSSValue(TextDecorationSkip textDecorationSkip)
</span><span class="cx"> {
</span><span class="cx">     switch (textDecorationSkip) {
</span><span class="cx">     case TextDecorationSkipAuto:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueAuto);
</ins><span class="cx">     case TextDecorationSkipNone:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx">     case TextDecorationSkipInk:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueInk);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueInk);
</ins><span class="cx">     case TextDecorationSkipObjects:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueObjects);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueObjects);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><del>-    return cssValuePool().createExplicitInitialValue();
</del><ins>+    return CSSValuePool::singleton().createExplicitInitialValue();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValue&gt; renderEmphasisPositionFlagsToCSSValue(TextEmphasisPosition textEmphasisPosition)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(!((textEmphasisPosition &amp; TextEmphasisPositionOver) &amp;&amp; (textEmphasisPosition &amp; TextEmphasisPositionUnder)));
</span><span class="cx">     ASSERT(!((textEmphasisPosition &amp; TextEmphasisPositionLeft) &amp;&amp; (textEmphasisPosition &amp; TextEmphasisPositionRight)));
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><span class="cx">     if (textEmphasisPosition &amp; TextEmphasisPositionOver)
</span><del>-        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueOver));
</del><ins>+        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueOver));
</ins><span class="cx">     if (textEmphasisPosition &amp; TextEmphasisPositionUnder)
</span><del>-        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueUnder));
</del><ins>+        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueUnder));
</ins><span class="cx">     if (textEmphasisPosition &amp; TextEmphasisPositionLeft)
</span><del>-        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueLeft));
</del><ins>+        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueLeft));
</ins><span class="cx">     if (textEmphasisPosition &amp; TextEmphasisPositionRight)
</span><del>-        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueRight));
</del><ins>+        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueRight));
</ins><span class="cx"> 
</span><span class="cx">     if (!list-&gt;length())
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx">     return list.releaseNonNull();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1488,16 +1500,17 @@
</span><span class="cx"> {
</span><span class="cx">     // For backwards compatibility, if both values are equal, just return one of them. And
</span><span class="cx">     // if the two values are equivalent to repeat-x or repeat-y, just return the shorthand.
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     if (xRepeat == yRepeat)
</span><del>-        return cssValuePool().createValue(xRepeat);
</del><ins>+        return cssValuePool.createValue(xRepeat);
</ins><span class="cx">     if (xRepeat == RepeatFill &amp;&amp; yRepeat == NoRepeatFill)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueRepeatX);
</del><ins>+        return cssValuePool.createIdentifierValue(CSSValueRepeatX);
</ins><span class="cx">     if (xRepeat == NoRepeatFill &amp;&amp; yRepeat == RepeatFill)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueRepeatY);
</del><ins>+        return cssValuePool.createIdentifierValue(CSSValueRepeatY);
</ins><span class="cx"> 
</span><span class="cx">     auto list = CSSValueList::createSpaceSeparated();
</span><del>-    list.get().append(cssValuePool().createValue(xRepeat));
-    list.get().append(cssValuePool().createValue(yRepeat));
</del><ins>+    list.get().append(cssValuePool.createValue(xRepeat));
+    list.get().append(cssValuePool.createValue(yRepeat));
</ins><span class="cx">     return WTF::move(list);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1505,20 +1518,20 @@
</span><span class="cx"> {
</span><span class="cx">     switch (type) {
</span><span class="cx">     case MaskAlpha:
</span><del>-        return cssValuePool().createValue(CSSValueAlpha);
</del><ins>+        return CSSValuePool::singleton().createValue(CSSValueAlpha);
</ins><span class="cx">     default:
</span><span class="cx">         ASSERT(type == MaskLuminance);
</span><del>-        return cssValuePool().createValue(CSSValueLuminance);
</del><ins>+        return CSSValuePool::singleton().createValue(CSSValueLuminance);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValue&gt; fillSizeToCSSValue(const FillSize&amp; fillSize, const RenderStyle&amp; style)
</span><span class="cx"> {
</span><span class="cx">     if (fillSize.type == Contain)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueContain);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueContain);
</ins><span class="cx"> 
</span><span class="cx">     if (fillSize.type == Cover)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueCover);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueCover);
</ins><span class="cx"> 
</span><span class="cx">     if (fillSize.size.height().isAuto())
</span><span class="cx">         return zoomAdjustedPixelValueForLength(fillSize.size.width(), style);
</span><span class="lines">@@ -1531,22 +1544,23 @@
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValue&gt; altTextToCSSValue(const RenderStyle* style)
</span><span class="cx"> {
</span><del>-    return cssValuePool().createValue(style-&gt;contentAltText(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+    return CSSValuePool::singleton().createValue(style-&gt;contentAltText(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> static Ref&lt;CSSValueList&gt; contentToCSSValue(const RenderStyle* style)
</span><span class="cx"> {
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     auto list = CSSValueList::createSpaceSeparated();
</span><span class="cx">     for (const ContentData* contentData = style-&gt;contentData(); contentData; contentData = contentData-&gt;next()) {
</span><span class="cx">         if (is&lt;CounterContentData&gt;(*contentData))
</span><del>-            list.get().append(cssValuePool().createValue(downcast&lt;CounterContentData&gt;(*contentData).counter().identifier(), CSSPrimitiveValue::CSS_COUNTER_NAME));
</del><ins>+            list.get().append(cssValuePool.createValue(downcast&lt;CounterContentData&gt;(*contentData).counter().identifier(), CSSPrimitiveValue::CSS_COUNTER_NAME));
</ins><span class="cx">         else if (is&lt;ImageContentData&gt;(*contentData))
</span><span class="cx">             list.get().append(*downcast&lt;ImageContentData&gt;(*contentData).image().cssValue());
</span><span class="cx">         else if (is&lt;TextContentData&gt;(*contentData))
</span><del>-            list.get().append(cssValuePool().createValue(downcast&lt;TextContentData&gt;(*contentData).text(), CSSPrimitiveValue::CSS_STRING));
</del><ins>+            list.get().append(cssValuePool.createValue(downcast&lt;TextContentData&gt;(*contentData).text(), CSSPrimitiveValue::CSS_STRING));
</ins><span class="cx">     }
</span><span class="cx">     if (style-&gt;hasFlowFrom())
</span><del>-        list.get().append(cssValuePool().createValue(style-&gt;regionThread(), CSSPrimitiveValue::CSS_STRING));
</del><ins>+        list.get().append(cssValuePool.createValue(style-&gt;regionThread(), CSSPrimitiveValue::CSS_STRING));
</ins><span class="cx">     return list;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1556,11 +1570,12 @@
</span><span class="cx">     if (!map)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><span class="cx">     for (CounterDirectiveMap::const_iterator it = map-&gt;begin(); it != map-&gt;end(); ++it) {
</span><del>-        list-&gt;append(cssValuePool().createValue(it-&gt;key, CSSPrimitiveValue::CSS_STRING));
</del><ins>+        list-&gt;append(cssValuePool.createValue(it-&gt;key, CSSPrimitiveValue::CSS_STRING));
</ins><span class="cx">         short number = propertyID == CSSPropertyCounterIncrement ? it-&gt;value.incrementValue() : it-&gt;value.resetValue();
</span><del>-        list-&gt;append(cssValuePool().createValue((double)number, CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+        list-&gt;append(cssValuePool.createValue((double)number, CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">     }
</span><span class="cx">     return list.release();
</span><span class="cx"> }
</span><span class="lines">@@ -1605,53 +1620,53 @@
</span><span class="cx"> static Ref&lt;CSSPrimitiveValue&gt; fontStyleFromStyle(RenderStyle* style)
</span><span class="cx"> {
</span><span class="cx">     if (style-&gt;fontDescription().italic())
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueItalic);
-    return cssValuePool().createIdentifierValue(CSSValueNormal);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueItalic);
+    return CSSValuePool::singleton().createIdentifierValue(CSSValueNormal);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSPrimitiveValue&gt; fontVariantFromStyle(RenderStyle* style)
</span><span class="cx"> {
</span><span class="cx">     if (style-&gt;fontDescription().smallCaps())
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueSmallCaps);
-    return cssValuePool().createIdentifierValue(CSSValueNormal);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueSmallCaps);
+    return CSSValuePool::singleton().createIdentifierValue(CSSValueNormal);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSPrimitiveValue&gt; fontWeightFromStyle(RenderStyle* style)
</span><span class="cx"> {
</span><span class="cx">     switch (style-&gt;fontDescription().weight()) {
</span><span class="cx">     case FontWeight100:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValue100);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValue100);
</ins><span class="cx">     case FontWeight200:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValue200);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValue200);
</ins><span class="cx">     case FontWeight300:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValue300);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValue300);
</ins><span class="cx">     case FontWeightNormal:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNormal);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNormal);
</ins><span class="cx">     case FontWeight500:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValue500);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValue500);
</ins><span class="cx">     case FontWeight600:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValue600);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValue600);
</ins><span class="cx">     case FontWeightBold:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueBold);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueBold);
</ins><span class="cx">     case FontWeight800:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValue800);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValue800);
</ins><span class="cx">     case FontWeight900:
</span><del>-        return cssValuePool().createIdentifierValue(CSSValue900);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValue900);
</ins><span class="cx">     }
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><del>-    return cssValuePool().createIdentifierValue(CSSValueNormal);
</del><ins>+    return CSSValuePool::singleton().createIdentifierValue(CSSValueNormal);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;CSSValue&gt; fontSynthesisFromStyle(RenderStyle&amp; style)
</span><span class="cx"> {
</span><span class="cx">     if (style.fontDescription().fontSynthesis() == FontSynthesisNone)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx"> 
</span><span class="cx">     auto list = CSSValueList::createSpaceSeparated();
</span><span class="cx">     if (style.fontDescription().fontSynthesis() &amp; FontSynthesisStyle)
</span><del>-        list.get().append(cssValuePool().createIdentifierValue(CSSValueStyle));
</del><ins>+        list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueStyle));
</ins><span class="cx">     if (style.fontDescription().fontSynthesis() &amp; FontSynthesisWeight)
</span><del>-        list.get().append(cssValuePool().createIdentifierValue(CSSValueWeight));
</del><ins>+        list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueWeight));
</ins><span class="cx">     return Ref&lt;CSSValue&gt;(list.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1836,15 +1851,15 @@
</span><span class="cx"> static Ref&lt;CSSValue&gt; shapePropertyValue(const RenderStyle&amp; style, const ShapeValue* shapeValue)
</span><span class="cx"> {
</span><span class="cx">     if (!shapeValue)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx"> 
</span><span class="cx">     if (shapeValue-&gt;type() == ShapeValue::Type::Box)
</span><del>-        return cssValuePool().createValue(shapeValue-&gt;cssBox());
</del><ins>+        return CSSValuePool::singleton().createValue(shapeValue-&gt;cssBox());
</ins><span class="cx"> 
</span><span class="cx">     if (shapeValue-&gt;type() == ShapeValue::Type::Image) {
</span><span class="cx">         if (shapeValue-&gt;image())
</span><span class="cx">             return *shapeValue-&gt;image()-&gt;cssValue();
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ASSERT(shapeValue-&gt;type() == ShapeValue::Type::Shape);
</span><span class="lines">@@ -1852,19 +1867,20 @@
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><span class="cx">     list-&gt;append(valueForBasicShape(style, *shapeValue-&gt;shape()));
</span><span class="cx">     if (shapeValue-&gt;cssBox() != BoxMissing)
</span><del>-        list-&gt;append(cssValuePool().createValue(shapeValue-&gt;cssBox()));
</del><ins>+        list-&gt;append(CSSValuePool::singleton().createValue(shapeValue-&gt;cssBox()));
</ins><span class="cx">     return list.releaseNonNull();
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> static RefPtr&lt;CSSValueList&gt; valueForItemPositionWithOverflowAlignment(ItemPosition itemPosition, OverflowAlignment overflowAlignment, ItemPositionType positionType)
</span><span class="cx"> {
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     RefPtr&lt;CSSValueList&gt; result = CSSValueList::createSpaceSeparated();
</span><span class="cx">     if (positionType == LegacyPosition)
</span><span class="cx">         result-&gt;append(CSSPrimitiveValue::createIdentifier(CSSValueLegacy));
</span><del>-    result-&gt;append(cssValuePool().createValue(itemPosition));
</del><ins>+    result-&gt;append(cssValuePool.createValue(itemPosition));
</ins><span class="cx">     if (overflowAlignment != OverflowAlignmentDefault)
</span><del>-        result-&gt;append(cssValuePool().createValue(overflowAlignment));
</del><ins>+        result-&gt;append(cssValuePool.createValue(overflowAlignment));
</ins><span class="cx">     ASSERT(result-&gt;length() &lt;= 2);
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="lines">@@ -1927,6 +1943,7 @@
</span><span class="cx">     if (!style)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     propertyID = CSSProperty::resolveDirectionAwareProperty(propertyID, style-&gt;direction(), style-&gt;writingMode());
</span><span class="cx"> 
</span><span class="cx">     switch (propertyID) {
</span><span class="lines">@@ -1934,18 +1951,18 @@
</span><span class="cx">             break;
</span><span class="cx"> 
</span><span class="cx">         case CSSPropertyBackgroundColor:
</span><del>-            return cssValuePool().createColorValue(m_allowVisitedStyle? style-&gt;visitedDependentColor(CSSPropertyBackgroundColor).rgb() : style-&gt;backgroundColor().rgb());
</del><ins>+            return cssValuePool.createColorValue(m_allowVisitedStyle? style-&gt;visitedDependentColor(CSSPropertyBackgroundColor).rgb() : style-&gt;backgroundColor().rgb());
</ins><span class="cx">         case CSSPropertyBackgroundImage:
</span><span class="cx">         case CSSPropertyWebkitMaskImage: {
</span><span class="cx">             const FillLayer* layers = propertyID == CSSPropertyWebkitMaskImage ? style-&gt;maskLayers() : style-&gt;backgroundLayers();
</span><span class="cx">             if (!layers)
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx"> 
</span><span class="cx">             if (!layers-&gt;next()) {
</span><span class="cx">                 if (layers-&gt;image())
</span><span class="cx">                     return layers-&gt;image()-&gt;cssValue();
</span><span class="cx"> 
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; list = CSSValueList::createCommaSeparated();
</span><span class="lines">@@ -1953,7 +1970,7 @@
</span><span class="cx">                 if (currLayer-&gt;image())
</span><span class="cx">                     list-&gt;append(*currLayer-&gt;image()-&gt;cssValue());
</span><span class="cx">                 else
</span><del>-                    list-&gt;append(cssValuePool().createIdentifierValue(CSSValueNone));
</del><ins>+                    list-&gt;append(cssValuePool.createIdentifierValue(CSSValueNone));
</ins><span class="cx">             }
</span><span class="cx">             return list;
</span><span class="cx">         }
</span><span class="lines">@@ -1986,7 +2003,7 @@
</span><span class="cx">             const FillLayer* layers = style-&gt;maskLayers();
</span><span class="cx"> 
</span><span class="cx">             if (!layers)
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx"> 
</span><span class="cx">             if (!layers-&gt;next())
</span><span class="cx">                 return fillSourceTypeToCSSValue(layers-&gt;maskSourceType());
</span><span class="lines">@@ -2001,22 +2018,22 @@
</span><span class="cx">         case CSSPropertyWebkitMaskComposite: {
</span><span class="cx">             const FillLayer* layers = propertyID == CSSPropertyWebkitMaskComposite ? style-&gt;maskLayers() : style-&gt;backgroundLayers();
</span><span class="cx">             if (!layers-&gt;next())
</span><del>-                return cssValuePool().createValue(layers-&gt;composite());
</del><ins>+                return cssValuePool.createValue(layers-&gt;composite());
</ins><span class="cx"> 
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; list = CSSValueList::createCommaSeparated();
</span><span class="cx">             for (const FillLayer* currLayer = layers; currLayer; currLayer = currLayer-&gt;next())
</span><del>-                list-&gt;append(cssValuePool().createValue(currLayer-&gt;composite()));
</del><ins>+                list-&gt;append(cssValuePool.createValue(currLayer-&gt;composite()));
</ins><span class="cx"> 
</span><span class="cx">             return list;
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyBackgroundAttachment: {
</span><span class="cx">             const FillLayer* layers = style-&gt;backgroundLayers();
</span><span class="cx">             if (!layers-&gt;next())
</span><del>-                return cssValuePool().createValue(layers-&gt;attachment());
</del><ins>+                return cssValuePool.createValue(layers-&gt;attachment());
</ins><span class="cx"> 
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; list = CSSValueList::createCommaSeparated();
</span><span class="cx">             for (const FillLayer* currLayer = layers; currLayer; currLayer = currLayer-&gt;next())
</span><del>-                list-&gt;append(cssValuePool().createValue(currLayer-&gt;attachment()));
</del><ins>+                list-&gt;append(cssValuePool.createValue(currLayer-&gt;attachment()));
</ins><span class="cx"> 
</span><span class="cx">             return list;
</span><span class="cx">         }
</span><span class="lines">@@ -2030,13 +2047,13 @@
</span><span class="cx">             bool isClip = propertyID == CSSPropertyBackgroundClip || propertyID == CSSPropertyWebkitBackgroundClip || propertyID == CSSPropertyWebkitMaskClip;
</span><span class="cx">             if (!layers-&gt;next()) {
</span><span class="cx">                 EFillBox box = isClip ? layers-&gt;clip() : layers-&gt;origin();
</span><del>-                return cssValuePool().createValue(box);
</del><ins>+                return cssValuePool.createValue(box);
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; list = CSSValueList::createCommaSeparated();
</span><span class="cx">             for (const FillLayer* currLayer = layers; currLayer; currLayer = currLayer-&gt;next()) {
</span><span class="cx">                 EFillBox box = isClip ? currLayer-&gt;clip() : currLayer-&gt;origin();
</span><del>-                list-&gt;append(cssValuePool().createValue(box));
</del><ins>+                list-&gt;append(cssValuePool.createValue(box));
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             return list;
</span><span class="lines">@@ -2056,11 +2073,11 @@
</span><span class="cx">         case CSSPropertyWebkitMaskPositionX: {
</span><span class="cx">             const FillLayer* layers = propertyID == CSSPropertyWebkitMaskPositionX ? style-&gt;maskLayers() : style-&gt;backgroundLayers();
</span><span class="cx">             if (!layers-&gt;next())
</span><del>-                return cssValuePool().createValue(layers-&gt;xPosition());
</del><ins>+                return cssValuePool.createValue(layers-&gt;xPosition());
</ins><span class="cx"> 
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; list = CSSValueList::createCommaSeparated();
</span><span class="cx">             for (const FillLayer* currLayer = layers; currLayer; currLayer = currLayer-&gt;next())
</span><del>-                list-&gt;append(cssValuePool().createValue(currLayer-&gt;xPosition()));
</del><ins>+                list-&gt;append(cssValuePool.createValue(currLayer-&gt;xPosition()));
</ins><span class="cx"> 
</span><span class="cx">             return list;
</span><span class="cx">         }
</span><span class="lines">@@ -2068,18 +2085,18 @@
</span><span class="cx">         case CSSPropertyWebkitMaskPositionY: {
</span><span class="cx">             const FillLayer* layers = propertyID == CSSPropertyWebkitMaskPositionY ? style-&gt;maskLayers() : style-&gt;backgroundLayers();
</span><span class="cx">             if (!layers-&gt;next())
</span><del>-                return cssValuePool().createValue(layers-&gt;yPosition());
</del><ins>+                return cssValuePool.createValue(layers-&gt;yPosition());
</ins><span class="cx"> 
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; list = CSSValueList::createCommaSeparated();
</span><span class="cx">             for (const FillLayer* currLayer = layers; currLayer; currLayer = currLayer-&gt;next())
</span><del>-                list-&gt;append(cssValuePool().createValue(currLayer-&gt;yPosition()));
</del><ins>+                list-&gt;append(cssValuePool.createValue(currLayer-&gt;yPosition()));
</ins><span class="cx"> 
</span><span class="cx">             return list;
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyBorderCollapse:
</span><span class="cx">             if (style-&gt;borderCollapse())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueCollapse);
-            return cssValuePool().createIdentifierValue(CSSValueSeparate);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueCollapse);
+            return cssValuePool.createIdentifierValue(CSSValueSeparate);
</ins><span class="cx">         case CSSPropertyBorderSpacing: {
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><span class="cx">             list-&gt;append(zoomAdjustedPixelValue(style-&gt;horizontalBorderSpacing(), *style));
</span><span class="lines">@@ -2093,23 +2110,23 @@
</span><span class="cx">         case CSSPropertyBorderImageSource:
</span><span class="cx">             if (style-&gt;borderImageSource())
</span><span class="cx">                 return style-&gt;borderImageSource()-&gt;cssValue();
</span><del>-            return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+            return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx">         case CSSPropertyBorderTopColor:
</span><del>-            return m_allowVisitedStyle ? cssValuePool().createColorValue(style-&gt;visitedDependentColor(CSSPropertyBorderTopColor).rgb()) : currentColorOrValidColor(style.get(), style-&gt;borderTopColor());
</del><ins>+            return m_allowVisitedStyle ? cssValuePool.createColorValue(style-&gt;visitedDependentColor(CSSPropertyBorderTopColor).rgb()) : currentColorOrValidColor(style.get(), style-&gt;borderTopColor());
</ins><span class="cx">         case CSSPropertyBorderRightColor:
</span><del>-            return m_allowVisitedStyle ? cssValuePool().createColorValue(style-&gt;visitedDependentColor(CSSPropertyBorderRightColor).rgb()) : currentColorOrValidColor(style.get(), style-&gt;borderRightColor());
</del><ins>+            return m_allowVisitedStyle ? cssValuePool.createColorValue(style-&gt;visitedDependentColor(CSSPropertyBorderRightColor).rgb()) : currentColorOrValidColor(style.get(), style-&gt;borderRightColor());
</ins><span class="cx">         case CSSPropertyBorderBottomColor:
</span><del>-            return m_allowVisitedStyle ? cssValuePool().createColorValue(style-&gt;visitedDependentColor(CSSPropertyBorderBottomColor).rgb()) : currentColorOrValidColor(style.get(), style-&gt;borderBottomColor());
</del><ins>+            return m_allowVisitedStyle ? cssValuePool.createColorValue(style-&gt;visitedDependentColor(CSSPropertyBorderBottomColor).rgb()) : currentColorOrValidColor(style.get(), style-&gt;borderBottomColor());
</ins><span class="cx">         case CSSPropertyBorderLeftColor:
</span><del>-            return m_allowVisitedStyle ? cssValuePool().createColorValue(style-&gt;visitedDependentColor(CSSPropertyBorderLeftColor).rgb()) : currentColorOrValidColor(style.get(), style-&gt;borderLeftColor());
</del><ins>+            return m_allowVisitedStyle ? cssValuePool.createColorValue(style-&gt;visitedDependentColor(CSSPropertyBorderLeftColor).rgb()) : currentColorOrValidColor(style.get(), style-&gt;borderLeftColor());
</ins><span class="cx">         case CSSPropertyBorderTopStyle:
</span><del>-            return cssValuePool().createValue(style-&gt;borderTopStyle());
</del><ins>+            return cssValuePool.createValue(style-&gt;borderTopStyle());
</ins><span class="cx">         case CSSPropertyBorderRightStyle:
</span><del>-            return cssValuePool().createValue(style-&gt;borderRightStyle());
</del><ins>+            return cssValuePool.createValue(style-&gt;borderRightStyle());
</ins><span class="cx">         case CSSPropertyBorderBottomStyle:
</span><del>-            return cssValuePool().createValue(style-&gt;borderBottomStyle());
</del><ins>+            return cssValuePool.createValue(style-&gt;borderBottomStyle());
</ins><span class="cx">         case CSSPropertyBorderLeftStyle:
</span><del>-            return cssValuePool().createValue(style-&gt;borderLeftStyle());
</del><ins>+            return cssValuePool.createValue(style-&gt;borderLeftStyle());
</ins><span class="cx">         case CSSPropertyBorderTopWidth:
</span><span class="cx">             return zoomAdjustedPixelValue(style-&gt;borderTopWidth(), *style);
</span><span class="cx">         case CSSPropertyBorderRightWidth:
</span><span class="lines">@@ -2121,81 +2138,81 @@
</span><span class="cx">         case CSSPropertyBottom:
</span><span class="cx">             return positionOffsetValue(*style, CSSPropertyBottom);
</span><span class="cx">         case CSSPropertyWebkitBoxAlign:
</span><del>-            return cssValuePool().createValue(style-&gt;boxAlign());
</del><ins>+            return cssValuePool.createValue(style-&gt;boxAlign());
</ins><span class="cx"> #if ENABLE(CSS_BOX_DECORATION_BREAK)
</span><span class="cx">         case CSSPropertyWebkitBoxDecorationBreak:
</span><span class="cx">             if (style-&gt;boxDecorationBreak() == DSLICE)
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueSlice);
-        return cssValuePool().createIdentifierValue(CSSValueClone);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueSlice);
+        return cssValuePool.createIdentifierValue(CSSValueClone);
</ins><span class="cx"> #endif
</span><span class="cx">         case CSSPropertyWebkitBoxDirection:
</span><del>-            return cssValuePool().createValue(style-&gt;boxDirection());
</del><ins>+            return cssValuePool.createValue(style-&gt;boxDirection());
</ins><span class="cx">         case CSSPropertyWebkitBoxFlex:
</span><del>-            return cssValuePool().createValue(style-&gt;boxFlex(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style-&gt;boxFlex(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         case CSSPropertyWebkitBoxFlexGroup:
</span><del>-            return cssValuePool().createValue(style-&gt;boxFlexGroup(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style-&gt;boxFlexGroup(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         case CSSPropertyWebkitBoxLines:
</span><del>-            return cssValuePool().createValue(style-&gt;boxLines());
</del><ins>+            return cssValuePool.createValue(style-&gt;boxLines());
</ins><span class="cx">         case CSSPropertyWebkitBoxOrdinalGroup:
</span><del>-            return cssValuePool().createValue(style-&gt;boxOrdinalGroup(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style-&gt;boxOrdinalGroup(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         case CSSPropertyWebkitBoxOrient:
</span><del>-            return cssValuePool().createValue(style-&gt;boxOrient());
</del><ins>+            return cssValuePool.createValue(style-&gt;boxOrient());
</ins><span class="cx">         case CSSPropertyWebkitBoxPack:
</span><del>-            return cssValuePool().createValue(style-&gt;boxPack());
</del><ins>+            return cssValuePool.createValue(style-&gt;boxPack());
</ins><span class="cx">         case CSSPropertyWebkitBoxReflect:
</span><span class="cx">             return valueForReflection(style-&gt;boxReflect(), *style);
</span><span class="cx">         case CSSPropertyBoxShadow:
</span><span class="cx">         case CSSPropertyWebkitBoxShadow:
</span><span class="cx">             return valueForShadow(style-&gt;boxShadow(), propertyID, *style);
</span><span class="cx">         case CSSPropertyCaptionSide:
</span><del>-            return cssValuePool().createValue(style-&gt;captionSide());
</del><ins>+            return cssValuePool.createValue(style-&gt;captionSide());
</ins><span class="cx">         case CSSPropertyClear:
</span><del>-            return cssValuePool().createValue(style-&gt;clear());
</del><ins>+            return cssValuePool.createValue(style-&gt;clear());
</ins><span class="cx">         case CSSPropertyColor:
</span><del>-            return cssValuePool().createColorValue(m_allowVisitedStyle ? style-&gt;visitedDependentColor(CSSPropertyColor).rgb() : style-&gt;color().rgb());
</del><ins>+            return cssValuePool.createColorValue(m_allowVisitedStyle ? style-&gt;visitedDependentColor(CSSPropertyColor).rgb() : style-&gt;color().rgb());
</ins><span class="cx">         case CSSPropertyWebkitPrintColorAdjust:
</span><del>-            return cssValuePool().createValue(style-&gt;printColorAdjust());
</del><ins>+            return cssValuePool.createValue(style-&gt;printColorAdjust());
</ins><span class="cx">         case CSSPropertyWebkitColumnAxis:
</span><del>-            return cssValuePool().createValue(style-&gt;columnAxis());
</del><ins>+            return cssValuePool.createValue(style-&gt;columnAxis());
</ins><span class="cx">         case CSSPropertyColumnCount:
</span><span class="cx">             if (style-&gt;hasAutoColumnCount())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueAuto);
-            return cssValuePool().createValue(style-&gt;columnCount(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueAuto);
+            return cssValuePool.createValue(style-&gt;columnCount(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         case CSSPropertyColumnFill:
</span><del>-            return cssValuePool().createValue(style-&gt;columnFill());
</del><ins>+            return cssValuePool.createValue(style-&gt;columnFill());
</ins><span class="cx">         case CSSPropertyColumnGap:
</span><span class="cx">             if (style-&gt;hasNormalColumnGap())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNormal);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNormal);
</ins><span class="cx">             return zoomAdjustedPixelValue(style-&gt;columnGap(), *style);
</span><span class="cx">         case CSSPropertyColumnProgression:
</span><del>-            return cssValuePool().createValue(style-&gt;columnProgression());
</del><ins>+            return cssValuePool.createValue(style-&gt;columnProgression());
</ins><span class="cx">         case CSSPropertyColumnRuleColor:
</span><del>-            return m_allowVisitedStyle ? cssValuePool().createColorValue(style-&gt;visitedDependentColor(CSSPropertyOutlineColor).rgb()) : currentColorOrValidColor(style.get(), style-&gt;columnRuleColor());
</del><ins>+            return m_allowVisitedStyle ? cssValuePool.createColorValue(style-&gt;visitedDependentColor(CSSPropertyOutlineColor).rgb()) : currentColorOrValidColor(style.get(), style-&gt;columnRuleColor());
</ins><span class="cx">         case CSSPropertyColumnRuleStyle:
</span><del>-            return cssValuePool().createValue(style-&gt;columnRuleStyle());
</del><ins>+            return cssValuePool.createValue(style-&gt;columnRuleStyle());
</ins><span class="cx">         case CSSPropertyColumnRuleWidth:
</span><span class="cx">             return zoomAdjustedPixelValue(style-&gt;columnRuleWidth(), *style);
</span><span class="cx">         case CSSPropertyColumnSpan:
</span><del>-            return cssValuePool().createIdentifierValue(style-&gt;columnSpan() ? CSSValueAll : CSSValueNone);
</del><ins>+            return cssValuePool.createIdentifierValue(style-&gt;columnSpan() ? CSSValueAll : CSSValueNone);
</ins><span class="cx">         case CSSPropertyWebkitColumnBreakAfter:
</span><del>-            return cssValuePool().createValue(style-&gt;columnBreakAfter());
</del><ins>+            return cssValuePool.createValue(style-&gt;columnBreakAfter());
</ins><span class="cx">         case CSSPropertyWebkitColumnBreakBefore:
</span><del>-            return cssValuePool().createValue(style-&gt;columnBreakBefore());
</del><ins>+            return cssValuePool.createValue(style-&gt;columnBreakBefore());
</ins><span class="cx">         case CSSPropertyWebkitColumnBreakInside:
</span><del>-            return cssValuePool().createValue(style-&gt;columnBreakInside());
</del><ins>+            return cssValuePool.createValue(style-&gt;columnBreakInside());
</ins><span class="cx">         case CSSPropertyColumnWidth:
</span><span class="cx">             if (style-&gt;hasAutoColumnWidth())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueAuto);
</ins><span class="cx">             return zoomAdjustedPixelValue(style-&gt;columnWidth(), *style);
</span><span class="cx">         case CSSPropertyTabSize:
</span><del>-            return cssValuePool().createValue(style-&gt;tabSize(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style-&gt;tabSize(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> #if ENABLE(CSS_REGIONS)
</span><span class="cx">         case CSSPropertyWebkitRegionBreakAfter:
</span><del>-            return cssValuePool().createValue(style-&gt;regionBreakAfter());
</del><ins>+            return cssValuePool.createValue(style-&gt;regionBreakAfter());
</ins><span class="cx">         case CSSPropertyWebkitRegionBreakBefore:
</span><del>-            return cssValuePool().createValue(style-&gt;regionBreakBefore());
</del><ins>+            return cssValuePool.createValue(style-&gt;regionBreakBefore());
</ins><span class="cx">         case CSSPropertyWebkitRegionBreakInside:
</span><del>-            return cssValuePool().createValue(style-&gt;regionBreakInside());
</del><ins>+            return cssValuePool.createValue(style-&gt;regionBreakInside());
</ins><span class="cx"> #endif
</span><span class="cx">         case CSSPropertyCursor: {
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; list;
</span><span class="lines">@@ -2206,7 +2223,7 @@
</span><span class="cx">                     if (StyleImage* image = cursors-&gt;at(i).image())
</span><span class="cx">                         list-&gt;append(*image-&gt;cssValue());
</span><span class="cx">             }
</span><del>-            auto value = cssValuePool().createValue(style-&gt;cursor());
</del><ins>+            auto value = cssValuePool.createValue(style-&gt;cursor());
</ins><span class="cx">             if (list) {
</span><span class="cx">                 list-&gt;append(WTF::move(value));
</span><span class="cx">                 return list;
</span><span class="lines">@@ -2215,14 +2232,14 @@
</span><span class="cx">         }
</span><span class="cx"> #if ENABLE(CURSOR_VISIBILITY)
</span><span class="cx">         case CSSPropertyWebkitCursorVisibility:
</span><del>-            return cssValuePool().createValue(style-&gt;cursorVisibility());
</del><ins>+            return cssValuePool.createValue(style-&gt;cursorVisibility());
</ins><span class="cx"> #endif
</span><span class="cx">         case CSSPropertyDirection:
</span><del>-            return cssValuePool().createValue(style-&gt;direction());
</del><ins>+            return cssValuePool.createValue(style-&gt;direction());
</ins><span class="cx">         case CSSPropertyDisplay:
</span><del>-            return cssValuePool().createValue(style-&gt;display());
</del><ins>+            return cssValuePool.createValue(style-&gt;display());
</ins><span class="cx">         case CSSPropertyEmptyCells:
</span><del>-            return cssValuePool().createValue(style-&gt;emptyCells());
</del><ins>+            return cssValuePool.createValue(style-&gt;emptyCells());
</ins><span class="cx">         case CSSPropertyAlignContent: {
</span><span class="cx">             ContentPosition position = style-&gt;alignContentPosition();
</span><span class="cx">             ContentDistributionType distribution = style-&gt;alignContentDistribution();
</span><span class="lines">@@ -2239,17 +2256,17 @@
</span><span class="cx">         case CSSPropertyFlex:
</span><span class="cx">             return getCSSPropertyValuesForShorthandProperties(flexShorthand());
</span><span class="cx">         case CSSPropertyFlexBasis:
</span><del>-            return cssValuePool().createValue(style-&gt;flexBasis());
</del><ins>+            return cssValuePool.createValue(style-&gt;flexBasis());
</ins><span class="cx">         case CSSPropertyFlexDirection:
</span><del>-            return cssValuePool().createValue(style-&gt;flexDirection());
</del><ins>+            return cssValuePool.createValue(style-&gt;flexDirection());
</ins><span class="cx">         case CSSPropertyFlexFlow:
</span><span class="cx">             return getCSSPropertyValuesForShorthandProperties(flexFlowShorthand());
</span><span class="cx">         case CSSPropertyFlexGrow:
</span><del>-            return cssValuePool().createValue(style-&gt;flexGrow());
</del><ins>+            return cssValuePool.createValue(style-&gt;flexGrow());
</ins><span class="cx">         case CSSPropertyFlexShrink:
</span><del>-            return cssValuePool().createValue(style-&gt;flexShrink());
</del><ins>+            return cssValuePool.createValue(style-&gt;flexShrink());
</ins><span class="cx">         case CSSPropertyFlexWrap:
</span><del>-            return cssValuePool().createValue(style-&gt;flexWrap());
</del><ins>+            return cssValuePool.createValue(style-&gt;flexWrap());
</ins><span class="cx">         case CSSPropertyJustifyContent: {
</span><span class="cx">             ContentPosition position = style-&gt;justifyContentPosition();
</span><span class="cx">             ContentDistributionType distribution = style-&gt;justifyContentDistribution();
</span><span class="lines">@@ -2264,11 +2281,11 @@
</span><span class="cx">             return valueForItemPositionWithOverflowAlignment(justifySelf, overflow, NonLegacyPosition);
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyOrder:
</span><del>-            return cssValuePool().createValue(style-&gt;order(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style-&gt;order(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         case CSSPropertyFloat:
</span><span class="cx">             if (style-&gt;display() != NONE &amp;&amp; style-&gt;hasOutOfFlowPosition())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
-            return cssValuePool().createValue(style-&gt;floating());
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
+            return cssValuePool.createValue(style-&gt;floating());
</ins><span class="cx">         case CSSPropertyFont: {
</span><span class="cx">             RefPtr&lt;CSSFontValue&gt; computedFont = CSSFontValue::create();
</span><span class="cx">             computedFont-&gt;style = fontStyleFromStyle(style.get());
</span><span class="lines">@@ -2300,7 +2317,7 @@
</span><span class="cx">         case CSSPropertyWebkitFontFeatureSettings: {
</span><span class="cx">             const FontFeatureSettings* featureSettings = style-&gt;fontDescription().featureSettings();
</span><span class="cx">             if (!featureSettings || !featureSettings-&gt;size())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNormal);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNormal);
</ins><span class="cx">             RefPtr&lt;CSSValueList&gt; list = CSSValueList::createCommaSeparated();
</span><span class="cx">             for (unsigned i = 0; i &lt; featureSettings-&gt;size(); ++i) {
</span><span class="cx">                 const FontFeature&amp; feature = featureSettings-&gt;at(i);
</span><span class="lines">@@ -2313,12 +2330,12 @@
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><span class="cx">             ASSERT(style-&gt;isGridAutoFlowDirectionRow() || style-&gt;isGridAutoFlowDirectionColumn());
</span><span class="cx">             if (style-&gt;isGridAutoFlowDirectionRow())
</span><del>-                list-&gt;append(cssValuePool().createIdentifierValue(CSSValueRow));
</del><ins>+                list-&gt;append(cssValuePool.createIdentifierValue(CSSValueRow));
</ins><span class="cx">             else
</span><del>-                list-&gt;append(cssValuePool().createIdentifierValue(CSSValueColumn));
</del><ins>+                list-&gt;append(cssValuePool.createIdentifierValue(CSSValueColumn));
</ins><span class="cx"> 
</span><span class="cx">             if (style-&gt;isGridAutoFlowAlgorithmDense())
</span><del>-                list-&gt;append(cssValuePool().createIdentifierValue(CSSValueDense));
</del><ins>+                list-&gt;append(cssValuePool.createIdentifierValue(CSSValueDense));
</ins><span class="cx"> 
</span><span class="cx">             return list;
</span><span class="cx">         }
</span><span class="lines">@@ -2360,7 +2377,7 @@
</span><span class="cx">         case CSSPropertyWebkitGridTemplateAreas:
</span><span class="cx">             if (!style-&gt;namedGridAreaRowCount()) {
</span><span class="cx">                 ASSERT(!style-&gt;namedGridAreaColumnCount());
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             return CSSGridTemplateAreasValue::create(style-&gt;namedGridArea(), style-&gt;namedGridAreaRowCount(), style-&gt;namedGridAreaColumnCount());
</span><span class="lines">@@ -2370,16 +2387,16 @@
</span><span class="cx">                 // According to http://www.w3.org/TR/CSS2/visudet.html#the-height-property,
</span><span class="cx">                 // the &quot;height&quot; property does not apply for non-replaced inline elements.
</span><span class="cx">                 if (!renderer-&gt;isReplaced() &amp;&amp; renderer-&gt;isInline())
</span><del>-                    return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+                    return cssValuePool.createIdentifierValue(CSSValueAuto);
</ins><span class="cx">                 return zoomAdjustedPixelValue(sizingBox(*renderer).height(), *style);
</span><span class="cx">             }
</span><span class="cx">             return zoomAdjustedPixelValueForLength(style-&gt;height(), *style);
</span><span class="cx">         case CSSPropertyWebkitHyphens:
</span><del>-            return cssValuePool().createValue(style-&gt;hyphens());
</del><ins>+            return cssValuePool.createValue(style-&gt;hyphens());
</ins><span class="cx">         case CSSPropertyWebkitHyphenateCharacter:
</span><span class="cx">             if (style-&gt;hyphenationString().isNull())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueAuto);
-            return cssValuePool().createValue(style-&gt;hyphenationString(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueAuto);
+            return cssValuePool.createValue(style-&gt;hyphenationString(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx">         case CSSPropertyWebkitHyphenateLimitAfter:
</span><span class="cx">             if (style-&gt;hyphenationLimitAfter() &lt; 0)
</span><span class="cx">                 return CSSPrimitiveValue::createIdentifier(CSSValueAuto);
</span><span class="lines">@@ -2394,42 +2411,42 @@
</span><span class="cx">             return CSSPrimitiveValue::create(style-&gt;hyphenationLimitLines(), CSSPrimitiveValue::CSS_NUMBER);
</span><span class="cx">         case CSSPropertyWebkitBorderFit:
</span><span class="cx">             if (style-&gt;borderFit() == BorderFitBorder)
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueBorder);
-            return cssValuePool().createIdentifierValue(CSSValueLines);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueBorder);
+            return cssValuePool.createIdentifierValue(CSSValueLines);
</ins><span class="cx"> #if ENABLE(CSS_IMAGE_ORIENTATION)
</span><span class="cx">         case CSSPropertyImageOrientation:
</span><del>-            return cssValuePool().createValue(style-&gt;imageOrientation());
</del><ins>+            return cssValuePool.createValue(style-&gt;imageOrientation());
</ins><span class="cx"> #endif
</span><span class="cx">         case CSSPropertyImageRendering:
</span><span class="cx">             return CSSPrimitiveValue::create(style-&gt;imageRendering());
</span><span class="cx"> #if ENABLE(CSS_IMAGE_RESOLUTION)
</span><span class="cx">         case CSSPropertyImageResolution:
</span><del>-            return cssValuePool().createValue(style-&gt;imageResolution(), CSSPrimitiveValue::CSS_DPPX);
</del><ins>+            return cssValuePool.createValue(style-&gt;imageResolution(), CSSPrimitiveValue::CSS_DPPX);
</ins><span class="cx"> #endif
</span><span class="cx">         case CSSPropertyLeft:
</span><span class="cx">             return positionOffsetValue(*style, CSSPropertyLeft);
</span><span class="cx">         case CSSPropertyLetterSpacing:
</span><span class="cx">             if (!style-&gt;letterSpacing())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNormal);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNormal);
</ins><span class="cx">             return zoomAdjustedPixelValue(style-&gt;letterSpacing(), *style);
</span><span class="cx">         case CSSPropertyWebkitLineClamp:
</span><span class="cx">             if (style-&gt;lineClamp().isNone())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
-            return cssValuePool().createValue(style-&gt;lineClamp().value(), style-&gt;lineClamp().isPercentage() ? CSSPrimitiveValue::CSS_PERCENTAGE : CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
+            return cssValuePool.createValue(style-&gt;lineClamp().value(), style-&gt;lineClamp().isPercentage() ? CSSPrimitiveValue::CSS_PERCENTAGE : CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         case CSSPropertyLineHeight:
</span><span class="cx">             return lineHeightFromStyle(*style);
</span><span class="cx">         case CSSPropertyListStyleImage:
</span><span class="cx">             if (style-&gt;listStyleImage())
</span><span class="cx">                 return style-&gt;listStyleImage()-&gt;cssValue();
</span><del>-            return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+            return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx">         case CSSPropertyListStylePosition:
</span><del>-            return cssValuePool().createValue(style-&gt;listStylePosition());
</del><ins>+            return cssValuePool.createValue(style-&gt;listStylePosition());
</ins><span class="cx">         case CSSPropertyListStyleType:
</span><del>-            return cssValuePool().createValue(style-&gt;listStyleType());
</del><ins>+            return cssValuePool.createValue(style-&gt;listStyleType());
</ins><span class="cx">         case CSSPropertyWebkitLocale:
</span><span class="cx">             if (style-&gt;locale().isNull())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueAuto);
-            return cssValuePool().createValue(style-&gt;locale(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueAuto);
+            return cssValuePool.createValue(style-&gt;locale(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx">         case CSSPropertyMarginTop:
</span><span class="cx">             return zoomAdjustedPaddingOrMarginPixelValue&lt;&amp;RenderStyle::marginTop, &amp;RenderBoxModelObject::marginTop&gt;(*style, renderer);
</span><span class="cx">         case CSSPropertyMarginRight: {
</span><span class="lines">@@ -2451,27 +2468,27 @@
</span><span class="cx">         case CSSPropertyMarginLeft:
</span><span class="cx">             return zoomAdjustedPaddingOrMarginPixelValue&lt;&amp;RenderStyle::marginLeft, &amp;RenderBoxModelObject::marginLeft&gt;(*style, renderer);
</span><span class="cx">         case CSSPropertyWebkitMarqueeDirection:
</span><del>-            return cssValuePool().createValue(style-&gt;marqueeDirection());
</del><ins>+            return cssValuePool.createValue(style-&gt;marqueeDirection());
</ins><span class="cx">         case CSSPropertyWebkitMarqueeIncrement:
</span><del>-            return cssValuePool().createValue(style-&gt;marqueeIncrement());
</del><ins>+            return cssValuePool.createValue(style-&gt;marqueeIncrement());
</ins><span class="cx">         case CSSPropertyWebkitMarqueeRepetition:
</span><span class="cx">             if (style-&gt;marqueeLoopCount() &lt; 0)
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueInfinite);
-            return cssValuePool().createValue(style-&gt;marqueeLoopCount(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueInfinite);
+            return cssValuePool.createValue(style-&gt;marqueeLoopCount(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         case CSSPropertyWebkitMarqueeStyle:
</span><del>-            return cssValuePool().createValue(style-&gt;marqueeBehavior());
</del><ins>+            return cssValuePool.createValue(style-&gt;marqueeBehavior());
</ins><span class="cx">         case CSSPropertyWebkitUserModify:
</span><del>-            return cssValuePool().createValue(style-&gt;userModify());
</del><ins>+            return cssValuePool.createValue(style-&gt;userModify());
</ins><span class="cx">         case CSSPropertyMaxHeight: {
</span><span class="cx">             const Length&amp; maxHeight = style-&gt;maxHeight();
</span><span class="cx">             if (maxHeight.isUndefined())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx">             return zoomAdjustedPixelValueForLength(maxHeight, *style);
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyMaxWidth: {
</span><span class="cx">             const Length&amp; maxWidth = style-&gt;maxWidth();
</span><span class="cx">             if (maxWidth.isUndefined())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx">             return zoomAdjustedPixelValueForLength(maxWidth, *style);
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyMinHeight:
</span><span class="lines">@@ -2485,31 +2502,31 @@
</span><span class="cx">                 return zoomAdjustedPixelValue(0, *style);
</span><span class="cx">             return zoomAdjustedPixelValueForLength(style-&gt;minWidth(), *style);
</span><span class="cx">         case CSSPropertyObjectFit:
</span><del>-            return cssValuePool().createValue(style-&gt;objectFit());
</del><ins>+            return cssValuePool.createValue(style-&gt;objectFit());
</ins><span class="cx">         case CSSPropertyOpacity:
</span><del>-            return cssValuePool().createValue(style-&gt;opacity(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style-&gt;opacity(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         case CSSPropertyOrphans:
</span><span class="cx">             if (style-&gt;hasAutoOrphans())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueAuto);
-            return cssValuePool().createValue(style-&gt;orphans(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueAuto);
+            return cssValuePool.createValue(style-&gt;orphans(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         case CSSPropertyOutlineColor:
</span><del>-            return m_allowVisitedStyle ? cssValuePool().createColorValue(style-&gt;visitedDependentColor(CSSPropertyOutlineColor).rgb()) : currentColorOrValidColor(style.get(), style-&gt;outlineColor());
</del><ins>+            return m_allowVisitedStyle ? cssValuePool.createColorValue(style-&gt;visitedDependentColor(CSSPropertyOutlineColor).rgb()) : currentColorOrValidColor(style.get(), style-&gt;outlineColor());
</ins><span class="cx">         case CSSPropertyOutlineOffset:
</span><span class="cx">             return zoomAdjustedPixelValue(style-&gt;outlineOffset(), *style);
</span><span class="cx">         case CSSPropertyOutlineStyle:
</span><span class="cx">             if (style-&gt;outlineStyleIsAuto())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueAuto);
-            return cssValuePool().createValue(style-&gt;outlineStyle());
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueAuto);
+            return cssValuePool.createValue(style-&gt;outlineStyle());
</ins><span class="cx">         case CSSPropertyOutlineWidth:
</span><span class="cx">             return zoomAdjustedPixelValue(style-&gt;outlineWidth(), *style);
</span><span class="cx">         case CSSPropertyOverflow:
</span><del>-            return cssValuePool().createValue(std::max(style-&gt;overflowX(), style-&gt;overflowY()));
</del><ins>+            return cssValuePool.createValue(std::max(style-&gt;overflowX(), style-&gt;overflowY()));
</ins><span class="cx">         case CSSPropertyOverflowWrap:
</span><del>-            return cssValuePool().createValue(style-&gt;overflowWrap());
</del><ins>+            return cssValuePool.createValue(style-&gt;overflowWrap());
</ins><span class="cx">         case CSSPropertyOverflowX:
</span><del>-            return cssValuePool().createValue(style-&gt;overflowX());
</del><ins>+            return cssValuePool.createValue(style-&gt;overflowX());
</ins><span class="cx">         case CSSPropertyOverflowY:
</span><del>-            return cssValuePool().createValue(style-&gt;overflowY());
</del><ins>+            return cssValuePool.createValue(style-&gt;overflowY());
</ins><span class="cx">         case CSSPropertyPaddingTop:
</span><span class="cx">             return zoomAdjustedPaddingOrMarginPixelValue&lt;&amp;RenderStyle::paddingTop, &amp;RenderBoxModelObject::computedCSSPaddingTop&gt;(*style, renderer);
</span><span class="cx">         case CSSPropertyPaddingRight:
</span><span class="lines">@@ -2519,33 +2536,33 @@
</span><span class="cx">         case CSSPropertyPaddingLeft:
</span><span class="cx">             return zoomAdjustedPaddingOrMarginPixelValue&lt;&amp;RenderStyle::paddingLeft, &amp;RenderBoxModelObject::computedCSSPaddingLeft&gt;(*style, renderer);
</span><span class="cx">         case CSSPropertyPageBreakAfter:
</span><del>-            return cssValuePool().createValue(style-&gt;pageBreakAfter());
</del><ins>+            return cssValuePool.createValue(style-&gt;pageBreakAfter());
</ins><span class="cx">         case CSSPropertyPageBreakBefore:
</span><del>-            return cssValuePool().createValue(style-&gt;pageBreakBefore());
</del><ins>+            return cssValuePool.createValue(style-&gt;pageBreakBefore());
</ins><span class="cx">         case CSSPropertyPageBreakInside: {
</span><span class="cx">             EPageBreak pageBreak = style-&gt;pageBreakInside();
</span><span class="cx">             ASSERT(pageBreak != PBALWAYS);
</span><span class="cx">             if (pageBreak == PBALWAYS)
</span><span class="cx">                 return nullptr;
</span><del>-            return cssValuePool().createValue(style-&gt;pageBreakInside());
</del><ins>+            return cssValuePool.createValue(style-&gt;pageBreakInside());
</ins><span class="cx">         }
</span><span class="cx">         case CSSPropertyPosition:
</span><del>-            return cssValuePool().createValue(style-&gt;position());
</del><ins>+            return cssValuePool.createValue(style-&gt;position());
</ins><span class="cx">         case CSSPropertyRight:
</span><span class="cx">             return positionOffsetValue(*style, CSSPropertyRight);
</span><span class="cx">         case CSSPropertyWebkitRubyPosition:
</span><del>-            return cssValuePool().createValue(style-&gt;rubyPosition());
</del><ins>+            return cssValuePool.createValue(style-&gt;rubyPosition());
</ins><span class="cx">         case CSSPropertyTableLayout:
</span><del>-            return cssValuePool().createValue(style-&gt;tableLayout());
</del><ins>+            return cssValuePool.createValue(style-&gt;tableLayout());
</ins><span class="cx">         case CSSPropertyTextAlign:
</span><del>-            return cssValuePool().createValue(style-&gt;textAlign());
</del><ins>+            return cssValuePool.createValue(style-&gt;textAlign());
</ins><span class="cx">         case CSSPropertyTextDecoration:
</span><span class="cx">             return renderTextDecorationFlagsToCSSValue(style-&gt;textDecoration());
</span><span class="cx"> #if ENABLE(CSS3_TEXT)
</span><span class="cx">         case CSSPropertyWebkitTextAlignLast:
</span><del>-            return cssValuePool().createValue(style-&gt;textAlignLast());
</del><ins>+            return cssValuePool.createValue(style-&gt;textAlignLast());
</ins><span class="cx">         case CSSPropertyWebkitTextJustify:
</span><del>-            return cssValuePool().createValue(style-&gt;textJustify());
</del><ins>+            return cssValuePool.createValue(style-&gt;textJustify());
</ins><span class="cx"> #endif // CSS3_TEXT
</span><span class="cx">         case CSSPropertyWebkitTextDecoration:
</span><span class="cx">             return getCSSPropertyValuesForShorthandProperties(webkitTextDecorationShorthand());
</span><span class="lines">@@ -2558,7 +2575,7 @@
</span><span class="cx">         case CSSPropertyWebkitTextDecorationSkip:
</span><span class="cx">             return renderTextDecorationSkipFlagsToCSSValue(style-&gt;textDecorationSkip());
</span><span class="cx">         case CSSPropertyWebkitTextUnderlinePosition:
</span><del>-            return cssValuePool().createValue(style-&gt;textUnderlinePosition());
</del><ins>+            return cssValuePool.createValue(style-&gt;textUnderlinePosition());
</ins><span class="cx">         case CSSPropertyWebkitTextDecorationsInEffect:
</span><span class="cx">             return renderTextDecorationFlagsToCSSValue(style-&gt;textDecorationsInEffect());
</span><span class="cx">         case CSSPropertyWebkitTextFillColor:
</span><span class="lines">@@ -2570,9 +2587,9 @@
</span><span class="cx">         case CSSPropertyWebkitTextEmphasisStyle:
</span><span class="cx">             switch (style-&gt;textEmphasisMark()) {
</span><span class="cx">             case TextEmphasisMarkNone:
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx">             case TextEmphasisMarkCustom:
</span><del>-                return cssValuePool().createValue(style-&gt;textEmphasisCustomMark(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+                return cssValuePool.createValue(style-&gt;textEmphasisCustomMark(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx">             case TextEmphasisMarkAuto:
</span><span class="cx">                 ASSERT_NOT_REACHED();
</span><span class="cx"> #if ASSERT_DISABLED
</span><span class="lines">@@ -2584,8 +2601,8 @@
</span><span class="cx">             case TextEmphasisMarkTriangle:
</span><span class="cx">             case TextEmphasisMarkSesame: {
</span><span class="cx">                 RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><del>-                list-&gt;append(cssValuePool().createValue(style-&gt;textEmphasisFill()));
-                list-&gt;append(cssValuePool().createValue(style-&gt;textEmphasisMark()));
</del><ins>+                list-&gt;append(cssValuePool.createValue(style-&gt;textEmphasisFill()));
+                list-&gt;append(cssValuePool.createValue(style-&gt;textEmphasisMark()));
</ins><span class="cx">                 return list;
</span><span class="cx">             }
</span><span class="cx">             }
</span><span class="lines">@@ -2600,9 +2617,9 @@
</span><span class="cx">                 RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><span class="cx">                 list-&gt;append(textIndent.releaseNonNull());
</span><span class="cx">                 if (style-&gt;textIndentLine() == TextIndentEachLine)
</span><del>-                    list-&gt;append(cssValuePool().createIdentifierValue(CSSValueWebkitEachLine));
</del><ins>+                    list-&gt;append(cssValuePool.createIdentifierValue(CSSValueWebkitEachLine));
</ins><span class="cx">                 if (style-&gt;textIndentType() == TextIndentHanging)
</span><del>-                    list-&gt;append(cssValuePool().createIdentifierValue(CSSValueWebkitHanging));
</del><ins>+                    list-&gt;append(cssValuePool.createIdentifierValue(CSSValueWebkitHanging));
</ins><span class="cx">                 return list;
</span><span class="cx">             }
</span><span class="cx"> #endif
</span><span class="lines">@@ -2611,19 +2628,19 @@
</span><span class="cx">         case CSSPropertyTextShadow:
</span><span class="cx">             return valueForShadow(style-&gt;textShadow(), propertyID, *style);
</span><span class="cx">         case CSSPropertyTextRendering:
</span><del>-            return cssValuePool().createValue(style-&gt;fontDescription().textRenderingMode());
</del><ins>+            return cssValuePool.createValue(style-&gt;fontDescription().textRenderingMode());
</ins><span class="cx">         case CSSPropertyTextOverflow:
</span><span class="cx">             if (style-&gt;textOverflow())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueEllipsis);
-            return cssValuePool().createIdentifierValue(CSSValueClip);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueEllipsis);
+            return cssValuePool.createIdentifierValue(CSSValueClip);
</ins><span class="cx">         case CSSPropertyWebkitTextSecurity:
</span><del>-            return cssValuePool().createValue(style-&gt;textSecurity());
</del><ins>+            return cssValuePool.createValue(style-&gt;textSecurity());
</ins><span class="cx"> #if ENABLE(IOS_TEXT_AUTOSIZING)
</span><span class="cx">         case CSSPropertyWebkitTextSizeAdjust:
</span><span class="cx">             if (style-&gt;textSizeAdjust().isAuto())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueAuto);
</ins><span class="cx">             if (style-&gt;textSizeAdjust().isNone())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx">             return CSSPrimitiveValue::create(style-&gt;textSizeAdjust().percentage(), CSSPrimitiveValue::CSS_PERCENTAGE);
</span><span class="cx"> #endif
</span><span class="cx">         case CSSPropertyWebkitTextStrokeColor:
</span><span class="lines">@@ -2631,50 +2648,50 @@
</span><span class="cx">         case CSSPropertyWebkitTextStrokeWidth:
</span><span class="cx">             return zoomAdjustedPixelValue(style-&gt;textStrokeWidth(), *style);
</span><span class="cx">         case CSSPropertyTextTransform:
</span><del>-            return cssValuePool().createValue(style-&gt;textTransform());
</del><ins>+            return cssValuePool.createValue(style-&gt;textTransform());
</ins><span class="cx">         case CSSPropertyTop:
</span><span class="cx">             return positionOffsetValue(*style, CSSPropertyTop);
</span><span class="cx">         case CSSPropertyUnicodeBidi:
</span><del>-            return cssValuePool().createValue(style-&gt;unicodeBidi());
</del><ins>+            return cssValuePool.createValue(style-&gt;unicodeBidi());
</ins><span class="cx">         case CSSPropertyVerticalAlign:
</span><span class="cx">             switch (style-&gt;verticalAlign()) {
</span><span class="cx">                 case BASELINE:
</span><del>-                    return cssValuePool().createIdentifierValue(CSSValueBaseline);
</del><ins>+                    return cssValuePool.createIdentifierValue(CSSValueBaseline);
</ins><span class="cx">                 case MIDDLE:
</span><del>-                    return cssValuePool().createIdentifierValue(CSSValueMiddle);
</del><ins>+                    return cssValuePool.createIdentifierValue(CSSValueMiddle);
</ins><span class="cx">                 case SUB:
</span><del>-                    return cssValuePool().createIdentifierValue(CSSValueSub);
</del><ins>+                    return cssValuePool.createIdentifierValue(CSSValueSub);
</ins><span class="cx">                 case SUPER:
</span><del>-                    return cssValuePool().createIdentifierValue(CSSValueSuper);
</del><ins>+                    return cssValuePool.createIdentifierValue(CSSValueSuper);
</ins><span class="cx">                 case TEXT_TOP:
</span><del>-                    return cssValuePool().createIdentifierValue(CSSValueTextTop);
</del><ins>+                    return cssValuePool.createIdentifierValue(CSSValueTextTop);
</ins><span class="cx">                 case TEXT_BOTTOM:
</span><del>-                    return cssValuePool().createIdentifierValue(CSSValueTextBottom);
</del><ins>+                    return cssValuePool.createIdentifierValue(CSSValueTextBottom);
</ins><span class="cx">                 case TOP:
</span><del>-                    return cssValuePool().createIdentifierValue(CSSValueTop);
</del><ins>+                    return cssValuePool.createIdentifierValue(CSSValueTop);
</ins><span class="cx">                 case BOTTOM:
</span><del>-                    return cssValuePool().createIdentifierValue(CSSValueBottom);
</del><ins>+                    return cssValuePool.createIdentifierValue(CSSValueBottom);
</ins><span class="cx">                 case BASELINE_MIDDLE:
</span><del>-                    return cssValuePool().createIdentifierValue(CSSValueWebkitBaselineMiddle);
</del><ins>+                    return cssValuePool.createIdentifierValue(CSSValueWebkitBaselineMiddle);
</ins><span class="cx">                 case LENGTH:
</span><del>-                    return cssValuePool().createValue(style-&gt;verticalAlignLength());
</del><ins>+                    return cssValuePool.createValue(style-&gt;verticalAlignLength());
</ins><span class="cx">             }
</span><span class="cx">             ASSERT_NOT_REACHED();
</span><span class="cx">             return nullptr;
</span><span class="cx">         case CSSPropertyVisibility:
</span><del>-            return cssValuePool().createValue(style-&gt;visibility());
</del><ins>+            return cssValuePool.createValue(style-&gt;visibility());
</ins><span class="cx">         case CSSPropertyWhiteSpace:
</span><del>-            return cssValuePool().createValue(style-&gt;whiteSpace());
</del><ins>+            return cssValuePool.createValue(style-&gt;whiteSpace());
</ins><span class="cx">         case CSSPropertyWidows:
</span><span class="cx">             if (style-&gt;hasAutoWidows())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueAuto);
-            return cssValuePool().createValue(style-&gt;widows(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueAuto);
+            return cssValuePool.createValue(style-&gt;widows(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         case CSSPropertyWidth:
</span><span class="cx">             if (renderer &amp;&amp; !renderer-&gt;isRenderSVGModelObject()) {
</span><span class="cx">                 // According to http://www.w3.org/TR/CSS2/visudet.html#the-width-property,
</span><span class="cx">                 // the &quot;width&quot; property does not apply for non-replaced inline elements.
</span><span class="cx">                 if (!renderer-&gt;isReplaced() &amp;&amp; renderer-&gt;isInline())
</span><del>-                    return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+                    return cssValuePool.createIdentifierValue(CSSValueAuto);
</ins><span class="cx">                 return zoomAdjustedPixelValue(sizingBox(*renderer).width(), *style);
</span><span class="cx">             }
</span><span class="cx">             return zoomAdjustedPixelValueForLength(style-&gt;width(), *style);
</span><span class="lines">@@ -2682,55 +2699,55 @@
</span><span class="cx">             return getWillChangePropertyValue(style-&gt;willChange());
</span><span class="cx">             break;
</span><span class="cx">         case CSSPropertyWordBreak:
</span><del>-            return cssValuePool().createValue(style-&gt;wordBreak());
</del><ins>+            return cssValuePool.createValue(style-&gt;wordBreak());
</ins><span class="cx">         case CSSPropertyWordSpacing:
</span><span class="cx">             return zoomAdjustedPixelValue(style-&gt;fontCascade().wordSpacing(), *style);
</span><span class="cx">         case CSSPropertyWordWrap:
</span><del>-            return cssValuePool().createValue(style-&gt;overflowWrap());
</del><ins>+            return cssValuePool.createValue(style-&gt;overflowWrap());
</ins><span class="cx">         case CSSPropertyWebkitLineBreak:
</span><del>-            return cssValuePool().createValue(style-&gt;lineBreak());
</del><ins>+            return cssValuePool.createValue(style-&gt;lineBreak());
</ins><span class="cx">         case CSSPropertyWebkitNbspMode:
</span><del>-            return cssValuePool().createValue(style-&gt;nbspMode());
</del><ins>+            return cssValuePool.createValue(style-&gt;nbspMode());
</ins><span class="cx">         case CSSPropertyResize:
</span><del>-            return cssValuePool().createValue(style-&gt;resize());
</del><ins>+            return cssValuePool.createValue(style-&gt;resize());
</ins><span class="cx">         case CSSPropertyWebkitFontKerning:
</span><del>-            return cssValuePool().createValue(style-&gt;fontDescription().kerning());
</del><ins>+            return cssValuePool.createValue(style-&gt;fontDescription().kerning());
</ins><span class="cx">         case CSSPropertyWebkitFontSmoothing:
</span><del>-            return cssValuePool().createValue(style-&gt;fontDescription().fontSmoothing());
</del><ins>+            return cssValuePool.createValue(style-&gt;fontDescription().fontSmoothing());
</ins><span class="cx">         case CSSPropertyWebkitFontVariantLigatures: {
</span><span class="cx">             FontDescription::LigaturesState commonLigaturesState = style-&gt;fontDescription().commonLigaturesState();
</span><span class="cx">             FontDescription::LigaturesState discretionaryLigaturesState = style-&gt;fontDescription().discretionaryLigaturesState();
</span><span class="cx">             FontDescription::LigaturesState historicalLigaturesState = style-&gt;fontDescription().historicalLigaturesState();
</span><span class="cx">             if (commonLigaturesState == FontDescription::NormalLigaturesState &amp;&amp; discretionaryLigaturesState == FontDescription::NormalLigaturesState
</span><span class="cx">                 &amp;&amp; historicalLigaturesState == FontDescription::NormalLigaturesState)
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNormal);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNormal);
</ins><span class="cx"> 
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; valueList = CSSValueList::createSpaceSeparated();
</span><span class="cx">             if (commonLigaturesState != FontDescription::NormalLigaturesState)
</span><del>-                valueList-&gt;append(cssValuePool().createIdentifierValue(commonLigaturesState == FontDescription::DisabledLigaturesState ? CSSValueNoCommonLigatures : CSSValueCommonLigatures));
</del><ins>+                valueList-&gt;append(cssValuePool.createIdentifierValue(commonLigaturesState == FontDescription::DisabledLigaturesState ? CSSValueNoCommonLigatures : CSSValueCommonLigatures));
</ins><span class="cx">             if (discretionaryLigaturesState != FontDescription::NormalLigaturesState)
</span><del>-                valueList-&gt;append(cssValuePool().createIdentifierValue(discretionaryLigaturesState == FontDescription::DisabledLigaturesState ? CSSValueNoDiscretionaryLigatures : CSSValueDiscretionaryLigatures));
</del><ins>+                valueList-&gt;append(cssValuePool.createIdentifierValue(discretionaryLigaturesState == FontDescription::DisabledLigaturesState ? CSSValueNoDiscretionaryLigatures : CSSValueDiscretionaryLigatures));
</ins><span class="cx">             if (historicalLigaturesState != FontDescription::NormalLigaturesState)
</span><del>-                valueList-&gt;append(cssValuePool().createIdentifierValue(historicalLigaturesState == FontDescription::DisabledLigaturesState ? CSSValueNoHistoricalLigatures : CSSValueHistoricalLigatures));
</del><ins>+                valueList-&gt;append(cssValuePool.createIdentifierValue(historicalLigaturesState == FontDescription::DisabledLigaturesState ? CSSValueNoHistoricalLigatures : CSSValueHistoricalLigatures));
</ins><span class="cx">             return valueList;
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyZIndex:
</span><span class="cx">             if (style-&gt;hasAutoZIndex())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueAuto);
-            return cssValuePool().createValue(style-&gt;zIndex(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueAuto);
+            return cssValuePool.createValue(style-&gt;zIndex(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         case CSSPropertyZoom:
</span><del>-            return cssValuePool().createValue(style-&gt;zoom(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style-&gt;zoom(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         case CSSPropertyBoxSizing:
</span><span class="cx">             if (style-&gt;boxSizing() == CONTENT_BOX)
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueContentBox);
-            return cssValuePool().createIdentifierValue(CSSValueBorderBox);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueContentBox);
+            return cssValuePool.createIdentifierValue(CSSValueBorderBox);
</ins><span class="cx"> #if ENABLE(DASHBOARD_SUPPORT)
</span><span class="cx">         case CSSPropertyWebkitDashboardRegion:
</span><span class="cx">         {
</span><span class="cx">             const Vector&lt;StyleDashboardRegion&gt;&amp; regions = style-&gt;dashboardRegions();
</span><span class="cx">             unsigned count = regions.size();
</span><span class="cx">             if (count == 1 &amp;&amp; regions[0].type == StyleDashboardRegion::None)
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx"> 
</span><span class="cx">             RefPtr&lt;DashboardRegion&gt; firstRegion;
</span><span class="cx">             DashboardRegion* previousRegion = nullptr;
</span><span class="lines">@@ -2753,7 +2770,7 @@
</span><span class="cx">                     firstRegion = region.copyRef();
</span><span class="cx">                 previousRegion = region.ptr();
</span><span class="cx">             }
</span><del>-            return cssValuePool().createValue(WTF::move(firstRegion));
</del><ins>+            return cssValuePool.createValue(WTF::move(firstRegion));
</ins><span class="cx">         }
</span><span class="cx"> #endif
</span><span class="cx">         case CSSPropertyAnimationDelay:
</span><span class="lines">@@ -2767,21 +2784,21 @@
</span><span class="cx">                 for (size_t i = 0; i &lt; t-&gt;size(); ++i) {
</span><span class="cx">                     switch (t-&gt;animation(i).direction()) {
</span><span class="cx">                     case Animation::AnimationDirectionNormal:
</span><del>-                        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueNormal));
</del><ins>+                        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueNormal));
</ins><span class="cx">                         break;
</span><span class="cx">                     case Animation::AnimationDirectionAlternate:
</span><del>-                        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueAlternate));
</del><ins>+                        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueAlternate));
</ins><span class="cx">                         break;
</span><span class="cx">                     case Animation::AnimationDirectionReverse:
</span><del>-                        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueReverse));
</del><ins>+                        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueReverse));
</ins><span class="cx">                         break;
</span><span class="cx">                     case Animation::AnimationDirectionAlternateReverse:
</span><del>-                        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueAlternateReverse));
</del><ins>+                        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueAlternateReverse));
</ins><span class="cx">                         break;
</span><span class="cx">                     }
</span><span class="cx">                 }
</span><span class="cx">             } else
</span><del>-                list-&gt;append(cssValuePool().createIdentifierValue(CSSValueNormal));
</del><ins>+                list-&gt;append(cssValuePool.createIdentifierValue(CSSValueNormal));
</ins><span class="cx">             return list;
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyAnimationDuration:
</span><span class="lines">@@ -2795,21 +2812,21 @@
</span><span class="cx">                 for (size_t i = 0; i &lt; t-&gt;size(); ++i) {
</span><span class="cx">                     switch (t-&gt;animation(i).fillMode()) {
</span><span class="cx">                     case AnimationFillModeNone:
</span><del>-                        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueNone));
</del><ins>+                        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueNone));
</ins><span class="cx">                         break;
</span><span class="cx">                     case AnimationFillModeForwards:
</span><del>-                        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueForwards));
</del><ins>+                        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueForwards));
</ins><span class="cx">                         break;
</span><span class="cx">                     case AnimationFillModeBackwards:
</span><del>-                        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueBackwards));
</del><ins>+                        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueBackwards));
</ins><span class="cx">                         break;
</span><span class="cx">                     case AnimationFillModeBoth:
</span><del>-                        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueBoth));
</del><ins>+                        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueBoth));
</ins><span class="cx">                         break;
</span><span class="cx">                     }
</span><span class="cx">                 }
</span><span class="cx">             } else
</span><del>-                list-&gt;append(cssValuePool().createIdentifierValue(CSSValueNone));
</del><ins>+                list-&gt;append(cssValuePool.createIdentifierValue(CSSValueNone));
</ins><span class="cx">             return list;
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyAnimationIterationCount:
</span><span class="lines">@@ -2820,12 +2837,12 @@
</span><span class="cx">                 for (size_t i = 0; i &lt; t-&gt;size(); ++i) {
</span><span class="cx">                     double iterationCount = t-&gt;animation(i).iterationCount();
</span><span class="cx">                     if (iterationCount == Animation::IterationCountInfinite)
</span><del>-                        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueInfinite));
</del><ins>+                        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueInfinite));
</ins><span class="cx">                     else
</span><del>-                        list-&gt;append(cssValuePool().createValue(iterationCount, CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+                        list-&gt;append(cssValuePool.createValue(iterationCount, CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">                 }
</span><span class="cx">             } else
</span><del>-                list-&gt;append(cssValuePool().createValue(Animation::initialIterationCount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+                list-&gt;append(cssValuePool.createValue(Animation::initialIterationCount(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">             return list;
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyAnimationName:
</span><span class="lines">@@ -2834,9 +2851,9 @@
</span><span class="cx">             const AnimationList* t = style-&gt;animations();
</span><span class="cx">             if (t) {
</span><span class="cx">                 for (size_t i = 0; i &lt; t-&gt;size(); ++i)
</span><del>-                    list-&gt;append(cssValuePool().createValue(t-&gt;animation(i).name(), CSSPrimitiveValue::CSS_STRING));
</del><ins>+                    list-&gt;append(cssValuePool.createValue(t-&gt;animation(i).name(), CSSPrimitiveValue::CSS_STRING));
</ins><span class="cx">             } else
</span><del>-                list-&gt;append(cssValuePool().createIdentifierValue(CSSValueNone));
</del><ins>+                list-&gt;append(cssValuePool.createIdentifierValue(CSSValueNone));
</ins><span class="cx">             return list;
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyAnimationPlayState:
</span><span class="lines">@@ -2847,12 +2864,12 @@
</span><span class="cx">                 for (size_t i = 0; i &lt; t-&gt;size(); ++i) {
</span><span class="cx">                     int prop = t-&gt;animation(i).playState();
</span><span class="cx">                     if (prop == AnimPlayStatePlaying)
</span><del>-                        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueRunning));
</del><ins>+                        list-&gt;append(cssValuePool.createIdentifierValue(CSSValueRunning));
</ins><span class="cx">                     else
</span><del>-                        list-&gt;append(cssValuePool().createIdentifierValue(CSSValuePaused));
</del><ins>+                        list-&gt;append(cssValuePool.createIdentifierValue(CSSValuePaused));
</ins><span class="cx">                 }
</span><span class="cx">             } else
</span><del>-                list-&gt;append(cssValuePool().createIdentifierValue(CSSValueRunning));
</del><ins>+                list-&gt;append(cssValuePool.createIdentifierValue(CSSValueRunning));
</ins><span class="cx">             return list;
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyAnimationTimingFunction:
</span><span class="lines">@@ -2863,17 +2880,17 @@
</span><span class="cx">             return getAnimationTriggerValue(style-&gt;animations(), *style);
</span><span class="cx"> #endif
</span><span class="cx">         case CSSPropertyWebkitAppearance:
</span><del>-            return cssValuePool().createValue(style-&gt;appearance());
</del><ins>+            return cssValuePool.createValue(style-&gt;appearance());
</ins><span class="cx">         case CSSPropertyWebkitAspectRatio:
</span><span class="cx">             if (style-&gt;aspectRatioType() == AspectRatioAuto)
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueAuto);
</ins><span class="cx">             if (style-&gt;aspectRatioType() == AspectRatioFromDimensions)
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueFromDimensions);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueFromDimensions);
</ins><span class="cx">             if (style-&gt;aspectRatioType() == AspectRatioFromIntrinsic)
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueFromIntrinsic);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueFromIntrinsic);
</ins><span class="cx">             return CSSAspectRatioValue::create(style-&gt;aspectRatioNumerator(), style-&gt;aspectRatioDenominator());
</span><span class="cx">         case CSSPropertyWebkitBackfaceVisibility:
</span><del>-            return cssValuePool().createIdentifierValue((style-&gt;backfaceVisibility() == BackfaceVisibilityHidden) ? CSSValueHidden : CSSValueVisible);
</del><ins>+            return cssValuePool.createIdentifierValue((style-&gt;backfaceVisibility() == BackfaceVisibilityHidden) ? CSSValueHidden : CSSValueVisible);
</ins><span class="cx">         case CSSPropertyWebkitBorderImage:
</span><span class="cx">             return valueForNinePieceImage(style-&gt;borderImage());
</span><span class="cx">         case CSSPropertyBorderImageOutset:
</span><span class="lines">@@ -2897,30 +2914,30 @@
</span><span class="cx">         case CSSPropertyWebkitMaskBoxImageSource:
</span><span class="cx">             if (style-&gt;maskBoxImageSource())
</span><span class="cx">                 return style-&gt;maskBoxImageSource()-&gt;cssValue();
</span><del>-            return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+            return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx">         case CSSPropertyWebkitFontSizeDelta:
</span><span class="cx">             // Not a real style property -- used by the editing engine -- so has no computed value.
</span><span class="cx">             break;
</span><span class="cx">         case CSSPropertyWebkitInitialLetter: {
</span><del>-            RefPtr&lt;CSSPrimitiveValue&gt; drop = !style-&gt;initialLetterDrop() ? cssValuePool().createIdentifierValue(CSSValueNormal) : cssValuePool().createValue(style-&gt;initialLetterDrop(), CSSPrimitiveValue::CSS_NUMBER);
-            RefPtr&lt;CSSPrimitiveValue&gt; size = !style-&gt;initialLetterHeight() ? cssValuePool().createIdentifierValue(CSSValueNormal) : cssValuePool().createValue(style-&gt;initialLetterHeight(), CSSPrimitiveValue::CSS_NUMBER);
-            return cssValuePool().createValue(Pair::create(drop.release(), size.release()));
</del><ins>+            RefPtr&lt;CSSPrimitiveValue&gt; drop = !style-&gt;initialLetterDrop() ? cssValuePool.createIdentifierValue(CSSValueNormal) : cssValuePool.createValue(style-&gt;initialLetterDrop(), CSSPrimitiveValue::CSS_NUMBER);
+            RefPtr&lt;CSSPrimitiveValue&gt; size = !style-&gt;initialLetterHeight() ? cssValuePool.createIdentifierValue(CSSValueNormal) : cssValuePool.createValue(style-&gt;initialLetterHeight(), CSSPrimitiveValue::CSS_NUMBER);
+            return cssValuePool.createValue(Pair::create(drop.release(), size.release()));
</ins><span class="cx">         }
</span><span class="cx">         case CSSPropertyWebkitMarginBottomCollapse:
</span><span class="cx">         case CSSPropertyWebkitMarginAfterCollapse:
</span><del>-            return cssValuePool().createValue(style-&gt;marginAfterCollapse());
</del><ins>+            return cssValuePool.createValue(style-&gt;marginAfterCollapse());
</ins><span class="cx">         case CSSPropertyWebkitMarginTopCollapse:
</span><span class="cx">         case CSSPropertyWebkitMarginBeforeCollapse:
</span><del>-            return cssValuePool().createValue(style-&gt;marginBeforeCollapse());
</del><ins>+            return cssValuePool.createValue(style-&gt;marginBeforeCollapse());
</ins><span class="cx"> #if ENABLE(ACCELERATED_OVERFLOW_SCROLLING)
</span><span class="cx">         case CSSPropertyWebkitOverflowScrolling:
</span><span class="cx">             if (!style-&gt;useTouchOverflowScrolling())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueAuto);
-            return cssValuePool().createIdentifierValue(CSSValueTouch);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueAuto);
+            return cssValuePool.createIdentifierValue(CSSValueTouch);
</ins><span class="cx"> #endif
</span><span class="cx">         case CSSPropertyPerspective:
</span><span class="cx">             if (!style-&gt;hasPerspective())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx">             return zoomAdjustedPixelValue(style-&gt;perspective(), *style);
</span><span class="cx">         case CSSPropertyPerspectiveOrigin: {
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><span class="lines">@@ -2940,19 +2957,19 @@
</span><span class="cx">             return list;
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyWebkitRtlOrdering:
</span><del>-            return cssValuePool().createIdentifierValue(style-&gt;rtlOrdering() ? CSSValueVisual : CSSValueLogical);
</del><ins>+            return cssValuePool.createIdentifierValue(style-&gt;rtlOrdering() ? CSSValueVisual : CSSValueLogical);
</ins><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><span class="cx">         case CSSPropertyWebkitTapHighlightColor:
</span><span class="cx">             return currentColorOrValidColor(style.get(), style-&gt;tapHighlightColor());
</span><span class="cx"> #endif
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">         case CSSPropertyWebkitTouchCallout:
</span><del>-            return cssValuePool().createIdentifierValue(style-&gt;touchCalloutEnabled() ? CSSValueDefault : CSSValueNone);
</del><ins>+            return cssValuePool.createIdentifierValue(style-&gt;touchCalloutEnabled() ? CSSValueDefault : CSSValueNone);
</ins><span class="cx"> #endif
</span><span class="cx">         case CSSPropertyWebkitUserDrag:
</span><del>-            return cssValuePool().createValue(style-&gt;userDrag());
</del><ins>+            return cssValuePool.createValue(style-&gt;userDrag());
</ins><span class="cx">         case CSSPropertyWebkitUserSelect:
</span><del>-            return cssValuePool().createValue(style-&gt;userSelect());
</del><ins>+            return cssValuePool.createValue(style-&gt;userSelect());
</ins><span class="cx">         case CSSPropertyBorderBottomLeftRadius:
</span><span class="cx">             return getBorderRadiusCornerValue(style-&gt;borderBottomLeftRadius(), *style);
</span><span class="cx">         case CSSPropertyBorderBottomRightRadius:
</span><span class="lines">@@ -2963,16 +2980,16 @@
</span><span class="cx">             return getBorderRadiusCornerValue(style-&gt;borderTopRightRadius(), *style);
</span><span class="cx">         case CSSPropertyClip: {
</span><span class="cx">             if (!style-&gt;hasClip())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueAuto);
</ins><span class="cx">             auto rect = Rect::create();
</span><span class="cx">             rect-&gt;setTop(autoOrZoomAdjustedValue(style-&gt;clip().top(), *style));
</span><span class="cx">             rect-&gt;setRight(autoOrZoomAdjustedValue(style-&gt;clip().right(), *style));
</span><span class="cx">             rect-&gt;setBottom(autoOrZoomAdjustedValue(style-&gt;clip().bottom(), *style));
</span><span class="cx">             rect-&gt;setLeft(autoOrZoomAdjustedValue(style-&gt;clip().left(), *style));
</span><del>-            return cssValuePool().createValue(WTF::move(rect));
</del><ins>+            return cssValuePool.createValue(WTF::move(rect));
</ins><span class="cx">         }
</span><span class="cx">         case CSSPropertySpeak:
</span><del>-            return cssValuePool().createValue(style-&gt;speak());
</del><ins>+            return cssValuePool.createValue(style-&gt;speak());
</ins><span class="cx">         case CSSPropertyTransform:
</span><span class="cx">             return computedTransform(renderer, *style);
</span><span class="cx">         case CSSPropertyTransformOrigin: {
</span><span class="lines">@@ -2996,7 +3013,7 @@
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyTransformStyle:
</span><span class="cx">         case CSSPropertyWebkitTransformStyle:
</span><del>-            return cssValuePool().createIdentifierValue((style-&gt;transformStyle3D() == TransformStyle3DPreserve3D) ? CSSValuePreserve3d : CSSValueFlat);
</del><ins>+            return cssValuePool.createIdentifierValue((style-&gt;transformStyle3D() == TransformStyle3DPreserve3D) ? CSSValuePreserve3d : CSSValueFlat);
</ins><span class="cx">         case CSSPropertyTransitionDelay:
</span><span class="cx">         case CSSPropertyWebkitTransitionDelay:
</span><span class="cx">             return getDelayValue(style-&gt;transitions());
</span><span class="lines">@@ -3018,9 +3035,9 @@
</span><span class="cx">                     RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><span class="cx">                     const Animation&amp; animation = animList-&gt;animation(i);
</span><span class="cx">                     list-&gt;append(createTransitionPropertyValue(animation));
</span><del>-                    list-&gt;append(cssValuePool().createValue(animation.duration(), CSSPrimitiveValue::CSS_S));
</del><ins>+                    list-&gt;append(cssValuePool.createValue(animation.duration(), CSSPrimitiveValue::CSS_S));
</ins><span class="cx">                     list-&gt;append(createTimingFunctionValue(animation.timingFunction().get()));
</span><del>-                    list-&gt;append(cssValuePool().createValue(animation.delay(), CSSPrimitiveValue::CSS_S));
</del><ins>+                    list-&gt;append(cssValuePool.createValue(animation.delay(), CSSPrimitiveValue::CSS_S));
</ins><span class="cx">                     transitionsList-&gt;append(list.releaseNonNull());
</span><span class="cx">                 }
</span><span class="cx">                 return transitionsList;
</span><span class="lines">@@ -3028,26 +3045,26 @@
</span><span class="cx"> 
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><span class="cx">             // transition-property default value.
</span><del>-            list-&gt;append(cssValuePool().createIdentifierValue(CSSValueAll));
-            list-&gt;append(cssValuePool().createValue(Animation::initialDuration(), CSSPrimitiveValue::CSS_S));
</del><ins>+            list-&gt;append(cssValuePool.createIdentifierValue(CSSValueAll));
+            list-&gt;append(cssValuePool.createValue(Animation::initialDuration(), CSSPrimitiveValue::CSS_S));
</ins><span class="cx">             list-&gt;append(createTimingFunctionValue(Animation::initialTimingFunction().get()));
</span><del>-            list-&gt;append(cssValuePool().createValue(Animation::initialDelay(), CSSPrimitiveValue::CSS_S));
</del><ins>+            list-&gt;append(cssValuePool.createValue(Animation::initialDelay(), CSSPrimitiveValue::CSS_S));
</ins><span class="cx">             return list;
</span><span class="cx">         }
</span><span class="cx">         case CSSPropertyPointerEvents:
</span><del>-            return cssValuePool().createValue(style-&gt;pointerEvents());
</del><ins>+            return cssValuePool.createValue(style-&gt;pointerEvents());
</ins><span class="cx">         case CSSPropertyWebkitLineGrid:
</span><span class="cx">             if (style-&gt;lineGrid().isNull())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
-            return cssValuePool().createValue(style-&gt;lineGrid(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
+            return cssValuePool.createValue(style-&gt;lineGrid(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx">         case CSSPropertyWebkitLineSnap:
</span><span class="cx">             return CSSPrimitiveValue::create(style-&gt;lineSnap());
</span><span class="cx">         case CSSPropertyWebkitLineAlign:
</span><span class="cx">             return CSSPrimitiveValue::create(style-&gt;lineAlign());
</span><span class="cx">         case CSSPropertyWebkitWritingMode:
</span><del>-            return cssValuePool().createValue(style-&gt;writingMode());
</del><ins>+            return cssValuePool.createValue(style-&gt;writingMode());
</ins><span class="cx">         case CSSPropertyWebkitTextCombine:
</span><del>-            return cssValuePool().createValue(style-&gt;textCombine());
</del><ins>+            return cssValuePool.createValue(style-&gt;textCombine());
</ins><span class="cx">         case CSSPropertyWebkitTextOrientation:
</span><span class="cx">             return CSSPrimitiveValue::create(style-&gt;textOrientation());
</span><span class="cx">         case CSSPropertyWebkitLineBoxContain:
</span><span class="lines">@@ -3063,7 +3080,7 @@
</span><span class="cx">         case CSSPropertyWebkitClipPath: {
</span><span class="cx">             ClipPathOperation* operation = style-&gt;clipPath();
</span><span class="cx">             if (!operation)
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx">             if (is&lt;ReferenceClipPathOperation&gt;(*operation)) {
</span><span class="cx">                 const auto&amp; referenceOperation = downcast&lt;ReferenceClipPathOperation&gt;(*operation);
</span><span class="cx">                 return CSSPrimitiveValue::create(referenceOperation.url(), CSSPrimitiveValue::CSS_URI);
</span><span class="lines">@@ -3073,31 +3090,31 @@
</span><span class="cx">                 const auto&amp; shapeOperation = downcast&lt;ShapeClipPathOperation&gt;(*operation);
</span><span class="cx">                 list-&gt;append(valueForBasicShape(*style, shapeOperation.basicShape()));
</span><span class="cx">                 if (shapeOperation.referenceBox() != BoxMissing)
</span><del>-                    list-&gt;append(cssValuePool().createValue(shapeOperation.referenceBox()));
</del><ins>+                    list-&gt;append(cssValuePool.createValue(shapeOperation.referenceBox()));
</ins><span class="cx">             }
</span><span class="cx">             if (is&lt;BoxClipPathOperation&gt;(*operation)) {
</span><span class="cx">                 const auto&amp; boxOperation = downcast&lt;BoxClipPathOperation&gt;(*operation);
</span><del>-                list-&gt;append(cssValuePool().createValue(boxOperation.referenceBox()));
</del><ins>+                list-&gt;append(cssValuePool.createValue(boxOperation.referenceBox()));
</ins><span class="cx">             }
</span><span class="cx">             return list;
</span><span class="cx">         }
</span><span class="cx"> #if ENABLE(CSS_REGIONS)
</span><span class="cx">         case CSSPropertyWebkitFlowInto:
</span><span class="cx">             if (!style-&gt;hasFlowInto())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
-            return cssValuePool().createValue(style-&gt;flowThread(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
+            return cssValuePool.createValue(style-&gt;flowThread(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx">         case CSSPropertyWebkitFlowFrom:
</span><span class="cx">             if (!style-&gt;hasFlowFrom())
</span><del>-                return cssValuePool().createIdentifierValue(CSSValueNone);
-            return cssValuePool().createValue(style-&gt;regionThread(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+                return cssValuePool.createIdentifierValue(CSSValueNone);
+            return cssValuePool.createValue(style-&gt;regionThread(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx">         case CSSPropertyWebkitRegionFragment:
</span><del>-            return cssValuePool().createValue(style-&gt;regionFragment());
</del><ins>+            return cssValuePool.createValue(style-&gt;regionFragment());
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(CSS_SHAPES)
</span><span class="cx">         case CSSPropertyWebkitShapeMargin:
</span><del>-            return cssValuePool().createValue(style-&gt;shapeMargin(), *style);
</del><ins>+            return cssValuePool.createValue(style-&gt;shapeMargin(), *style);
</ins><span class="cx">         case CSSPropertyWebkitShapeImageThreshold:
</span><del>-            return cssValuePool().createValue(style-&gt;shapeImageThreshold(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style-&gt;shapeImageThreshold(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         case CSSPropertyWebkitShapeOutside:
</span><span class="cx">             return shapePropertyValue(*style, style-&gt;shapeOutside());
</span><span class="cx"> #endif
</span><span class="lines">@@ -3109,18 +3126,18 @@
</span><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(CSS_COMPOSITING)
</span><span class="cx">         case CSSPropertyMixBlendMode:
</span><del>-            return cssValuePool().createValue(style-&gt;blendMode());
</del><ins>+            return cssValuePool.createValue(style-&gt;blendMode());
</ins><span class="cx">         case CSSPropertyIsolation:
</span><del>-            return cssValuePool().createValue(style-&gt;isolation());
</del><ins>+            return cssValuePool.createValue(style-&gt;isolation());
</ins><span class="cx"> #endif
</span><span class="cx">         case CSSPropertyBackgroundBlendMode: {
</span><span class="cx">             const FillLayer* layers = style-&gt;backgroundLayers();
</span><span class="cx">             if (!layers-&gt;next())
</span><del>-                return cssValuePool().createValue(layers-&gt;blendMode());
</del><ins>+                return cssValuePool.createValue(layers-&gt;blendMode());
</ins><span class="cx"> 
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; list = CSSValueList::createCommaSeparated();
</span><span class="cx">             for (const FillLayer* currLayer = layers; currLayer; currLayer = currLayer-&gt;next())
</span><del>-                list-&gt;append(cssValuePool().createValue(currLayer-&gt;blendMode()));
</del><ins>+                list-&gt;append(cssValuePool.createValue(currLayer-&gt;blendMode()));
</ins><span class="cx"> 
</span><span class="cx">             return list.release();
</span><span class="cx">         }
</span><span class="lines">@@ -3168,7 +3185,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_SCROLL_SNAP)
</span><span class="cx">         case CSSPropertyWebkitScrollSnapType:
</span><del>-            return cssValuePool().createValue(style-&gt;scrollSnapType());
</del><ins>+            return cssValuePool.createValue(style-&gt;scrollSnapType());
</ins><span class="cx">         case CSSPropertyWebkitScrollSnapDestination:
</span><span class="cx">             return scrollSnapDestination(*style, style-&gt;scrollSnapDestination());
</span><span class="cx">         case CSSPropertyWebkitScrollSnapPointsX:
</span><span class="lines">@@ -3181,7 +3198,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_TRAILING_WORD)
</span><span class="cx">         case CSSPropertyAppleTrailingWord:
</span><del>-            return cssValuePool().createValue(style-&gt;trailingWord());
</del><ins>+            return cssValuePool.createValue(style-&gt;trailingWord());
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">         /* Individual properties not part of the spec */
</span><span class="lines">@@ -3209,7 +3226,7 @@
</span><span class="cx">         case CSSPropertyY:
</span><span class="cx">             return zoomAdjustedPixelValueForLength(style-&gt;svgStyle().y(), *style);
</span><span class="cx">         case CSSPropertyWebkitTextZoom:
</span><del>-            return cssValuePool().createValue(style-&gt;textZoom());
</del><ins>+            return cssValuePool.createValue(style-&gt;textZoom());
</ins><span class="cx"> 
</span><span class="cx">         /* Unimplemented CSS 3 properties (including CSS3 shorthand properties) */
</span><span class="cx">         case CSSPropertyAnimation:
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSContentDistributionValueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSContentDistributionValue.h (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSContentDistributionValue.h        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/css/CSSContentDistributionValue.h        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -40,9 +40,9 @@
</span><span class="cx">     }
</span><span class="cx">     ~CSSContentDistributionValue();
</span><span class="cx"> 
</span><del>-    Ref&lt;CSSPrimitiveValue&gt; distribution() const { return cssValuePool().createIdentifierValue(m_distribution); }
-    Ref&lt;CSSPrimitiveValue&gt; position() const { return cssValuePool().createIdentifierValue(m_position); }
-    Ref&lt;CSSPrimitiveValue&gt; overflow() const { return cssValuePool().createIdentifierValue(m_overflow); }
</del><ins>+    Ref&lt;CSSPrimitiveValue&gt; distribution() const { return CSSValuePool::singleton().createIdentifierValue(m_distribution); }
+    Ref&lt;CSSPrimitiveValue&gt; position() const { return CSSValuePool::singleton().createIdentifierValue(m_position); }
+    Ref&lt;CSSPrimitiveValue&gt; overflow() const { return CSSValuePool::singleton().createIdentifierValue(m_overflow); }
</ins><span class="cx"> 
</span><span class="cx">     String customCSSText() const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSParser.cpp (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSParser.cpp        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/css/CSSParser.cpp        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -202,7 +202,7 @@
</span><span class="cx"> template&lt;typename... Args&gt;
</span><span class="cx"> static Ref&lt;CSSPrimitiveValue&gt; createPrimitiveValuePair(Args&amp;&amp;... args)
</span><span class="cx"> {
</span><del>-    return cssValuePool().createValue(Pair::create(std::forward&lt;Args&gt;(args)...));
</del><ins>+    return CSSValuePool::singleton().createValue(Pair::create(std::forward&lt;Args&gt;(args)...));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> class AnimationParseContext {
</span><span class="lines">@@ -539,14 +539,14 @@
</span><span class="cx">     cssString.init(string);
</span><span class="cx">     CSSValueID valueID = cssValueKeywordID(cssString);
</span><span class="cx">     if (validPrimitiveValueColor(valueID, strict)) {
</span><del>-        RefPtr&lt;CSSValue&gt; value = cssValuePool().createIdentifierValue(valueID);
</del><ins>+        RefPtr&lt;CSSValue&gt; value = CSSValuePool::singleton().createIdentifierValue(valueID);
</ins><span class="cx">         return declaration-&gt;addParsedProperty(CSSProperty(propertyId, value.release(), important)) ? CSSParser::ParseResult::Changed : CSSParser::ParseResult::Unchanged;
</span><span class="cx">     }
</span><span class="cx">     RGBA32 color;
</span><span class="cx">     if (!CSSParser::fastParseColor(color, string, strict &amp;&amp; string[0] != '#'))
</span><span class="cx">         return CSSParser::ParseResult::Error;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;CSSValue&gt; value = cssValuePool().createColorValue(color);
</del><ins>+    RefPtr&lt;CSSValue&gt; value = CSSValuePool::singleton().createColorValue(color);
</ins><span class="cx">     return declaration-&gt;addParsedProperty(CSSProperty(propertyId, value.release(), important)) ? CSSParser::ParseResult::Changed : CSSParser::ParseResult::Unchanged;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -651,7 +651,7 @@
</span><span class="cx">     if (std::isinf(number))
</span><span class="cx">         return CSSParser::ParseResult::Error;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;CSSValue&gt; value = cssValuePool().createValue(number, unit);
</del><ins>+    RefPtr&lt;CSSValue&gt; value = CSSValuePool::singleton().createValue(number, unit);
</ins><span class="cx">     return declaration-&gt;addParsedProperty(CSSProperty(propertyId, value.release(), important)) ? CSSParser::ParseResult::Changed : CSSParser::ParseResult::Unchanged;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1192,11 +1192,11 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSValue&gt; value;
</span><span class="cx">     if (valueID == CSSValueInherit)
</span><del>-        value = cssValuePool().createInheritedValue();
</del><ins>+        value = CSSValuePool::singleton().createInheritedValue();
</ins><span class="cx">     else if (valueID == CSSValueInitial)
</span><del>-        value = cssValuePool().createExplicitInitialValue();
</del><ins>+        value = CSSValuePool::singleton().createExplicitInitialValue();
</ins><span class="cx">     else if (isValidKeywordPropertyAndValue(propertyId, valueID, parserContext, styleSheetContents))
</span><del>-        value = cssValuePool().createIdentifierValue(valueID);
</del><ins>+        value = CSSValuePool::singleton().createIdentifierValue(valueID);
</ins><span class="cx">     else
</span><span class="cx">         return CSSParser::ParseResult::Error;
</span><span class="cx"> 
</span><span class="lines">@@ -1206,6 +1206,7 @@
</span><span class="cx"> template &lt;typename CharacterType&gt;
</span><span class="cx"> static bool parseTransformTranslateArguments(WebKitCSSTransformValue&amp; transformValue, CharacterType* characters, unsigned length, unsigned start, unsigned expectedCount)
</span><span class="cx"> {
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     while (expectedCount) {
</span><span class="cx">         size_t end = WTF::find(characters, length, expectedCount == 1 ? ')' : ',', start);
</span><span class="cx">         if (end == notFound || (expectedCount == 1 &amp;&amp; end != length - 1))
</span><span class="lines">@@ -1217,7 +1218,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.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">@@ -1284,6 +1285,7 @@
</span><span class="cx">     Vector&lt;String&gt; familyNames;
</span><span class="cx">     string.string().split(',', true, familyNames);
</span><span class="cx"> 
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     for (auto&amp; familyName : familyNames) {
</span><span class="cx">         String stripped = stripLeadingAndTrailingHTMLSpaces(familyName);
</span><span class="cx">         if (stripped.isEmpty())
</span><span class="lines">@@ -1292,12 +1294,12 @@
</span><span class="cx">         RefPtr&lt;CSSValue&gt; value;
</span><span class="cx">         for (auto propertyID : { CSSValueSerif, CSSValueSansSerif, CSSValueCursive, CSSValueFantasy, CSSValueMonospace, CSSValueWebkitBody }) {
</span><span class="cx">             if (equalIgnoringCase(stripped, getValueName(propertyID))) {
</span><del>-                value = cssValuePool().createIdentifierValue(propertyID);
</del><ins>+                value = cssValuePool.createIdentifierValue(propertyID);
</ins><span class="cx">                 break;
</span><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx">         if (!value)
</span><del>-            value = cssValuePool().createFontFamilyValue(stripped);
</del><ins>+            value = cssValuePool.createFontFamilyValue(stripped);
</ins><span class="cx">         valueList-&gt;append(value.releaseNonNull());
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1791,13 +1793,13 @@
</span><span class="cx">         || (value.unit &gt;= CSSPrimitiveValue::CSS_TURN &amp;&amp; value.unit &lt;= CSSPrimitiveValue::CSS_CHS)
</span><span class="cx">         || (value.unit &gt;= CSSPrimitiveValue::CSS_VW &amp;&amp; value.unit &lt;= CSSPrimitiveValue::CSS_VMAX));
</span><span class="cx"> #endif
</span><del>-    return cssValuePool().createValue(value.fValue, static_cast&lt;CSSPrimitiveValue::UnitTypes&gt;(value.unit));
</del><ins>+    return CSSValuePool::singleton().createValue(value.fValue, static_cast&lt;CSSPrimitiveValue::UnitTypes&gt;(value.unit));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> inline Ref&lt;CSSPrimitiveValue&gt; CSSParser::createPrimitiveStringValue(CSSParserValue&amp; value)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(value.unit == CSSPrimitiveValue::CSS_STRING || value.unit == CSSPrimitiveValue::CSS_IDENT);
</span><del>-    return cssValuePool().createValue(value.string, CSSPrimitiveValue::CSS_STRING);
</del><ins>+    return CSSValuePool::singleton().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">@@ -1821,7 +1823,7 @@
</span><span class="cx"> inline RefPtr&lt;CSSPrimitiveValue&gt; CSSParser::parseValidPrimitive(CSSValueID identifier, ValueWithCalculation&amp; valueWithCalculation)
</span><span class="cx"> {
</span><span class="cx">     if (identifier)
</span><del>-        return cssValuePool().createIdentifierValue(identifier);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(identifier);
</ins><span class="cx"> 
</span><span class="cx">     if (valueWithCalculation.value().unit == CSSPrimitiveValue::CSS_STRING)
</span><span class="cx">         return createPrimitiveStringValue(valueWithCalculation);
</span><span class="lines">@@ -1867,18 +1869,19 @@
</span><span class="cx">     ValueWithCalculation valueWithCalculation(*m_valueList-&gt;current());
</span><span class="cx">     CSSValueID id = valueWithCalculation.value().id;
</span><span class="cx"> 
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     unsigned num = inShorthand() ? 1 : m_valueList-&gt;size();
</span><span class="cx"> 
</span><span class="cx">     if (id == CSSValueInherit) {
</span><span class="cx">         if (num != 1)
</span><span class="cx">             return false;
</span><del>-        addExpandedPropertyForValue(propId, cssValuePool().createInheritedValue(), important);
</del><ins>+        addExpandedPropertyForValue(propId, cssValuePool.createInheritedValue(), important);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx">     else if (id == CSSValueInitial) {
</span><span class="cx">         if (num != 1)
</span><span class="cx">             return false;
</span><del>-        addExpandedPropertyForValue(propId, cssValuePool().createExplicitInitialValue(), important);
</del><ins>+        addExpandedPropertyForValue(propId, cssValuePool.createExplicitInitialValue(), important);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1887,7 +1890,7 @@
</span><span class="cx">             return false;
</span><span class="cx">         if (m_valueList-&gt;next() &amp;&amp; !inShorthand())
</span><span class="cx">             return false;
</span><del>-        addProperty(propId, cssValuePool().createIdentifierValue(id), important);
</del><ins>+        addProperty(propId, cssValuePool.createIdentifierValue(id), important);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1948,7 +1951,7 @@
</span><span class="cx">         // pagination controls, it should default to hidden. If the overflow-y value is anything but
</span><span class="cx">         // paged-x or paged-y, then overflow-x and overflow-y should have the same value.
</span><span class="cx">         if (id == CSSValueWebkitPagedX || id == CSSValueWebkitPagedY)
</span><del>-            overflowXValue = cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+            overflowXValue = cssValuePool.createIdentifierValue(CSSValueAuto);
</ins><span class="cx">         else
</span><span class="cx">             overflowXValue = m_parsedProperties.last().value();
</span><span class="cx">         addProperty(CSSPropertyOverflowX, overflowXValue.release(), important);
</span><span class="lines">@@ -2092,9 +2095,9 @@
</span><span class="cx">                 if (list-&gt;length() != 1)
</span><span class="cx">                     return false;
</span><span class="cx">             } else if (inQuirksMode() &amp;&amp; value-&gt;id == CSSValueHand) // MSIE 5 compatibility :/
</span><del>-                list-&gt;append(cssValuePool().createIdentifierValue(CSSValuePointer));
</del><ins>+                list-&gt;append(cssValuePool.createIdentifierValue(CSSValuePointer));
</ins><span class="cx">             else if ((value-&gt;id &gt;= CSSValueAuto &amp;&amp; value-&gt;id &lt;= CSSValueWebkitZoomOut) || value-&gt;id == CSSValueCopy || value-&gt;id == CSSValueNone)
</span><del>-                list-&gt;append(cssValuePool().createIdentifierValue(value-&gt;id));
</del><ins>+                list-&gt;append(cssValuePool.createIdentifierValue(value-&gt;id));
</ins><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">             parsedValue = list.release();
</span><span class="cx">             break;
</span><span class="lines">@@ -2173,7 +2176,7 @@
</span><span class="cx">     case CSSPropertyBorderImageSource:
</span><span class="cx">     case CSSPropertyWebkitMaskBoxImageSource:
</span><span class="cx">         if (id == CSSValueNone) {
</span><del>-            parsedValue = cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+            parsedValue = cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">         } else if (valueWithCalculation.value().unit == CSSPrimitiveValue::CSS_URI) {
</span><span class="cx">             parsedValue = CSSImageValue::create(completeURL(valueWithCalculation.value().string));
</span><span class="lines">@@ -2542,9 +2545,9 @@
</span><span class="cx">     case CSSPropertyFlex: {
</span><span class="cx">         ShorthandScope scope(this, propId);
</span><span class="cx">         if (id == CSSValueNone) {
</span><del>-            addProperty(CSSPropertyFlexGrow, cssValuePool().createValue(0, CSSPrimitiveValue::CSS_NUMBER), important);
-            addProperty(CSSPropertyFlexShrink, cssValuePool().createValue(0, CSSPrimitiveValue::CSS_NUMBER), important);
-            addProperty(CSSPropertyFlexBasis, cssValuePool().createIdentifierValue(CSSValueAuto), important);
</del><ins>+            addProperty(CSSPropertyFlexGrow, cssValuePool.createValue(0, CSSPrimitiveValue::CSS_NUMBER), important);
+            addProperty(CSSPropertyFlexShrink, cssValuePool.createValue(0, CSSPrimitiveValue::CSS_NUMBER), important);
+            addProperty(CSSPropertyFlexBasis, cssValuePool.createIdentifierValue(CSSValueAuto), important);
</ins><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="cx">         return parseFlex(*m_valueList, important);
</span><span class="lines">@@ -2564,7 +2567,7 @@
</span><span class="cx">         if (validateUnit(valueWithCalculation, FInteger, CSSStrictMode)) {
</span><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(valueWithCalculation));
</span><del>-            parsedValue = cssValuePool().createValue(result, CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+            parsedValue = cssValuePool.createValue(result, CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">         }
</span><span class="cx">         break;
</span><span class="lines">@@ -2788,7 +2791,7 @@
</span><span class="cx">         if (id == CSSValueAll || id == CSSValueNone)
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         else if (validateUnit(valueWithCalculation, FNumber | FNonNeg) &amp;&amp; parsedDouble(valueWithCalculation) == 1) {
</span><del>-            addProperty(CSSPropertyColumnSpan, cssValuePool().createValue(1, CSSPrimitiveValue::CSS_NUMBER), important);
</del><ins>+            addProperty(CSSPropertyColumnSpan, cssValuePool.createValue(1, CSSPrimitiveValue::CSS_NUMBER), important);
</ins><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="cx">         break;
</span><span class="lines">@@ -2848,7 +2851,7 @@
</span><span class="cx">         else if (valueWithCalculation.value().unit == CSSPrimitiveValue::CSS_IDENT) {
</span><span class="cx">             String lineGridValue = String(valueWithCalculation.value().string);
</span><span class="cx">             if (!lineGridValue.isEmpty()) {
</span><del>-                addProperty(propId, cssValuePool().createValue(lineGridValue, CSSPrimitiveValue::CSS_STRING), important);
</del><ins>+                addProperty(propId, cssValuePool.createValue(lineGridValue, CSSPrimitiveValue::CSS_STRING), important);
</ins><span class="cx">                 return true;
</span><span class="cx">             }
</span><span class="cx">         }
</span><span class="lines">@@ -2905,7 +2908,7 @@
</span><span class="cx">         if (parseShorthand(propId, borderAbridgedShorthand(), important)) {
</span><span class="cx">             // The CSS3 Borders and Backgrounds specification says that border also resets border-image. It's as
</span><span class="cx">             // though a value of none was specified for the image.
</span><del>-            addExpandedPropertyForValue(CSSPropertyBorderImage, cssValuePool().createImplicitInitialValue(), important);
</del><ins>+            addExpandedPropertyForValue(CSSPropertyBorderImage, cssValuePool.createImplicitInitialValue(), important);
</ins><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="cx">         return false;
</span><span class="lines">@@ -3271,7 +3274,8 @@
</span><span class="cx">     } else
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    addProperty(propId, createPrimitiveValuePair(cssValuePool().createIdentifierValue(CSSValueLegacy), cssValuePool().createIdentifierValue(value-&gt;id)), important);
</del><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
+    addProperty(propId, createPrimitiveValuePair(cssValuePool.createIdentifierValue(CSSValueLegacy), cssValuePool.createIdentifierValue(value-&gt;id)), important);
</ins><span class="cx">     return !m_valueList-&gt;next();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -3341,25 +3345,25 @@
</span><span class="cx">         if (m_valueList-&gt;next())
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        addProperty(propId, cssValuePool().createIdentifierValue(value-&gt;id), important);
</del><ins>+        addProperty(propId, CSSValuePool::singleton().createIdentifierValue(value-&gt;id), important);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; position;
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; overflowAlignmentKeyword;
</span><span class="cx">     if (isItemPositionKeyword(value-&gt;id)) {
</span><del>-        position = cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+        position = CSSValuePool::singleton().createIdentifierValue(value-&gt;id);
</ins><span class="cx">         value = m_valueList-&gt;next();
</span><span class="cx">         if (value) {
</span><span class="cx">             if (value-&gt;id != CSSValueTrue &amp;&amp; value-&gt;id != CSSValueSafe)
</span><span class="cx">                 return false;
</span><del>-            overflowAlignmentKeyword = cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+            overflowAlignmentKeyword = CSSValuePool::singleton().createIdentifierValue(value-&gt;id);
</ins><span class="cx">         }
</span><span class="cx">     } else if (isAlignmentOverflowKeyword(value-&gt;id)) {
</span><del>-        overflowAlignmentKeyword = cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+        overflowAlignmentKeyword = CSSValuePool::singleton().createIdentifierValue(value-&gt;id);
</ins><span class="cx">         value = m_valueList-&gt;next();
</span><span class="cx">         if (value &amp;&amp; isItemPositionKeyword(value-&gt;id))
</span><del>-            position = cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+            position = CSSValuePool::singleton().createIdentifierValue(value-&gt;id);
</ins><span class="cx">         else
</span><span class="cx">             return false;
</span><span class="cx">     } else
</span><span class="lines">@@ -3381,7 +3385,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (parserValue.id == CSSValueBorderBox || parserValue.id == CSSValuePaddingBox
</span><span class="cx">         || parserValue.id == CSSValueContentBox || parserValue.id == CSSValueWebkitText) {
</span><del>-        cssValue = cssValuePool().createIdentifierValue(parserValue.id);
</del><ins>+        cssValue = CSSValuePool::singleton().createIdentifierValue(parserValue.id);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx">     return false;
</span><span class="lines">@@ -3406,7 +3410,7 @@
</span><span class="cx">             &amp;&amp; equalIgnoringCase(value-&gt;function-&gt;name, &quot;repeat(&quot;)) {
</span><span class="cx">             ValueWithCalculation argumentWithCalculation(*value-&gt;function-&gt;args.get()-&gt;current());
</span><span class="cx">             if (validateUnit(argumentWithCalculation, FLength | FPercent | FNonNeg)) {
</span><del>-                values-&gt;append(cssValuePool().createValue(LengthRepeat::create(createPrimitiveNumericValue(argumentWithCalculation))));
</del><ins>+                values-&gt;append(CSSValuePool::singleton().createValue(LengthRepeat::create(createPrimitiveNumericValue(argumentWithCalculation))));
</ins><span class="cx">                 m_valueList-&gt;next();
</span><span class="cx">                 if (m_valueList-&gt;current())
</span><span class="cx">                     return false;
</span><span class="lines">@@ -3498,6 +3502,7 @@
</span><span class="cx">     int i;
</span><span class="cx">     bool foundPositionCSSProperty = false;
</span><span class="cx"> 
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     while (m_valueList-&gt;current()) {
</span><span class="cx">         CSSParserValue&amp; currentValue = *m_valueList-&gt;current();
</span><span class="cx">         if (currentValue.unit == CSSParserValue::Operator &amp;&amp; currentValue.iValue == ',') {
</span><span class="lines">@@ -3510,14 +3515,14 @@
</span><span class="cx">                     return false;
</span><span class="cx"> 
</span><span class="cx">                 if (!parsedProperty[i] &amp;&amp; properties[i] != CSSPropertyBackgroundColor) {
</span><del>-                    addFillValue(values[i], cssValuePool().createImplicitInitialValue());
</del><ins>+                    addFillValue(values[i], cssValuePool.createImplicitInitialValue());
</ins><span class="cx">                     if (properties[i] == CSSPropertyBackgroundPosition || properties[i] == CSSPropertyWebkitMaskPosition)
</span><del>-                        addFillValue(positionYValue, cssValuePool().createImplicitInitialValue());
</del><ins>+                        addFillValue(positionYValue, cssValuePool.createImplicitInitialValue());
</ins><span class="cx">                     if (properties[i] == CSSPropertyBackgroundRepeat || properties[i] == CSSPropertyWebkitMaskRepeat)
</span><del>-                        addFillValue(repeatYValue, cssValuePool().createImplicitInitialValue());
</del><ins>+                        addFillValue(repeatYValue, cssValuePool.createImplicitInitialValue());
</ins><span class="cx">                     if ((properties[i] == CSSPropertyBackgroundOrigin || properties[i] == CSSPropertyWebkitMaskOrigin) &amp;&amp; !parsedProperty[i]) {
</span><span class="cx">                         // If background-origin wasn't present, then reset background-clip also.
</span><del>-                        addFillValue(clipValue, cssValuePool().createImplicitInitialValue());
</del><ins>+                        addFillValue(clipValue, cssValuePool.createImplicitInitialValue());
</ins><span class="cx">                     }
</span><span class="cx">                 }
</span><span class="cx">                 parsedProperty[i] = false;
</span><span class="lines">@@ -3559,7 +3564,7 @@
</span><span class="cx">                         if (parseBackgroundClip(parserValue, val1))
</span><span class="cx">                             addFillValue(clipValue, val1.releaseNonNull()); // The property parsed successfully.
</span><span class="cx">                         else
</span><del>-                            addFillValue(clipValue, cssValuePool().createImplicitInitialValue()); // Some value was used for origin that is not supported by clip. Just reset clip instead.
</del><ins>+                            addFillValue(clipValue, cssValuePool.createImplicitInitialValue()); // Some value was used for origin that is not supported by clip. Just reset clip instead.
</ins><span class="cx">                     }
</span><span class="cx">                     if (properties[i] == CSSPropertyBackgroundClip || properties[i] == CSSPropertyWebkitMaskClip)
</span><span class="cx">                         foundClip = true;
</span><span class="lines">@@ -3579,14 +3584,14 @@
</span><span class="cx">     for (i = 0; i &lt; numProperties; ++i) {
</span><span class="cx">         // Fill in any remaining properties with the initial value.
</span><span class="cx">         if (!parsedProperty[i]) {
</span><del>-            addFillValue(values[i], cssValuePool().createImplicitInitialValue());
</del><ins>+            addFillValue(values[i], cssValuePool.createImplicitInitialValue());
</ins><span class="cx">             if (properties[i] == CSSPropertyBackgroundPosition || properties[i] == CSSPropertyWebkitMaskPosition)
</span><del>-                addFillValue(positionYValue, cssValuePool().createImplicitInitialValue());
</del><ins>+                addFillValue(positionYValue, cssValuePool.createImplicitInitialValue());
</ins><span class="cx">             if (properties[i] == CSSPropertyBackgroundRepeat || properties[i] == CSSPropertyWebkitMaskRepeat)
</span><del>-                addFillValue(repeatYValue, cssValuePool().createImplicitInitialValue());
</del><ins>+                addFillValue(repeatYValue, cssValuePool.createImplicitInitialValue());
</ins><span class="cx">             if (properties[i] == CSSPropertyBackgroundOrigin || properties[i] == CSSPropertyWebkitMaskOrigin) {
</span><span class="cx">                 // If background-origin wasn't present, then reset background-clip also.
</span><del>-                addFillValue(clipValue, cssValuePool().createImplicitInitialValue());
</del><ins>+                addFillValue(clipValue, cssValuePool.createImplicitInitialValue());
</ins><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx">         if (properties[i] == CSSPropertyBackgroundPosition) {
</span><span class="lines">@@ -3661,6 +3666,7 @@
</span><span class="cx">     AnimationParseContext context;
</span><span class="cx">     RefPtr&lt;CSSValue&gt; values[numProperties];
</span><span class="cx"> 
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     unsigned i;
</span><span class="cx">     while (m_valueList-&gt;current()) {
</span><span class="cx">         CSSParserValue* val = m_valueList-&gt;current();
</span><span class="lines">@@ -3669,7 +3675,7 @@
</span><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">             for (i = 0; i &lt; numProperties; ++i) {
</span><span class="cx">                 if (!parsedProperty[i])
</span><del>-                    addAnimationValue(values[i], cssValuePool().createImplicitInitialValue());
</del><ins>+                    addAnimationValue(values[i], cssValuePool.createImplicitInitialValue());
</ins><span class="cx">                 parsedProperty[i] = false;
</span><span class="cx">             }
</span><span class="cx">             if (!m_valueList-&gt;current())
</span><span class="lines">@@ -3702,7 +3708,7 @@
</span><span class="cx">     for (i = 0; i &lt; numProperties; ++i) {
</span><span class="cx">         // If we didn't find the property, set an intial value.
</span><span class="cx">         if (!parsedProperty[i])
</span><del>-            addAnimationValue(values[i], cssValuePool().createImplicitInitialValue());
</del><ins>+            addAnimationValue(values[i], cssValuePool.createImplicitInitialValue());
</ins><span class="cx"> 
</span><span class="cx">         addProperty(shorthand.properties()[i], values[i].release(), important);
</span><span class="cx">     }
</span><span class="lines">@@ -3768,14 +3774,14 @@
</span><span class="cx">     if (columnWidth)
</span><span class="cx">         addProperty(CSSPropertyColumnWidth, columnWidth, important);
</span><span class="cx">     else {
</span><del>-        addProperty(CSSPropertyColumnWidth, cssValuePool().createIdentifierValue(CSSValueAuto), important, !hasPendingExplicitAuto /* implicit */);
</del><ins>+        addProperty(CSSPropertyColumnWidth, CSSValuePool::singleton().createIdentifierValue(CSSValueAuto), important, !hasPendingExplicitAuto /* implicit */);
</ins><span class="cx">         hasPendingExplicitAuto = false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (columnCount)
</span><span class="cx">         addProperty(CSSPropertyColumnCount, columnCount, important);
</span><span class="cx">     else
</span><del>-        addProperty(CSSPropertyColumnCount, cssValuePool().createIdentifierValue(CSSValueAuto), important, !hasPendingExplicitAuto /* implicit */);
</del><ins>+        addProperty(CSSPropertyColumnCount, CSSValuePool::singleton().createIdentifierValue(CSSValueAuto), important, !hasPendingExplicitAuto /* implicit */);
</ins><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -3792,6 +3798,7 @@
</span><span class="cx">     AnimationParseContext context;
</span><span class="cx">     RefPtr&lt;CSSValue&gt; values[numProperties];
</span><span class="cx"> 
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     unsigned i;
</span><span class="cx">     while (m_valueList-&gt;current()) {
</span><span class="cx">         CSSParserValue* val = m_valueList-&gt;current();
</span><span class="lines">@@ -3800,7 +3807,7 @@
</span><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">             for (i = 0; i &lt; numProperties; ++i) {
</span><span class="cx">                 if (!parsedProperty[i])
</span><del>-                    addAnimationValue(values[i], cssValuePool().createImplicitInitialValue());
</del><ins>+                    addAnimationValue(values[i], cssValuePool.createImplicitInitialValue());
</ins><span class="cx">                 parsedProperty[i] = false;
</span><span class="cx">             }
</span><span class="cx">             if (!m_valueList-&gt;current())
</span><span class="lines">@@ -3832,7 +3839,7 @@
</span><span class="cx">     // Fill in any remaining properties with the initial value.
</span><span class="cx">     for (i = 0; i &lt; numProperties; ++i) {
</span><span class="cx">         if (!parsedProperty[i])
</span><del>-            addAnimationValue(values[i], cssValuePool().createImplicitInitialValue());
</del><ins>+            addAnimationValue(values[i], cssValuePool.createImplicitInitialValue());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Now add all of the properties we found.
</span><span class="lines">@@ -3872,6 +3879,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><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     ImplicitScope implicitScope(*this, PropertyImplicit);
</span><span class="cx">     const StylePropertyShorthand* propertiesForInitialization = shorthand.propertiesForInitialization();
</span><span class="cx">     for (unsigned i = 0; i &lt; shorthand.length(); ++i) {
</span><span class="lines">@@ -3881,9 +3889,9 @@
</span><span class="cx">         if (propertiesForInitialization) {
</span><span class="cx">             const StylePropertyShorthand&amp; initProperties = propertiesForInitialization[i];
</span><span class="cx">             for (unsigned propIndex = 0; propIndex &lt; initProperties.length(); ++propIndex)
</span><del>-                addProperty(initProperties.properties()[propIndex], cssValuePool().createImplicitInitialValue(), important);
</del><ins>+                addProperty(initProperties.properties()[propIndex], cssValuePool.createImplicitInitialValue(), important);
</ins><span class="cx">         } else
</span><del>-            addProperty(shorthand.properties()[i], cssValuePool().createImplicitInitialValue(), important);
</del><ins>+            addProperty(shorthand.properties()[i], cssValuePool.createImplicitInitialValue(), important);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="lines">@@ -3960,7 +3968,7 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (value-&gt;id == CSSValueAuto) {
</span><del>-        addProperty(propId, cssValuePool().createIdentifierValue(value-&gt;id), important);
</del><ins>+        addProperty(propId, CSSValuePool::singleton().createIdentifierValue(value-&gt;id), important);
</ins><span class="cx">         return true;
</span><span class="cx">     } else if (value-&gt;id == 0 &amp;&amp; value-&gt;unit == CSSPrimitiveValue::CSS_IDENT) {
</span><span class="cx">         addProperty(propId, createPrimitiveStringValue(*value), important);
</span><span class="lines">@@ -4005,14 +4013,14 @@
</span><span class="cx">     switch (value.id) {
</span><span class="cx">     case CSSValueAuto:
</span><span class="cx">         if (prevParamType == None) {
</span><del>-            parsedValues.append(cssValuePool().createIdentifierValue(value.id));
</del><ins>+            parsedValues.append(CSSValuePool::singleton().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.append(cssValuePool().createIdentifierValue(value.id));
</del><ins>+            parsedValues.append(CSSValuePool::singleton().createIdentifierValue(value.id));
</ins><span class="cx">             return Orientation;
</span><span class="cx">         }
</span><span class="cx">         return None;
</span><span class="lines">@@ -4027,7 +4035,7 @@
</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.prepend(cssValuePool().createIdentifierValue(value.id));
</del><ins>+            parsedValues.prepend(CSSValuePool::singleton().createIdentifierValue(value.id));
</ins><span class="cx">             return PageSize;
</span><span class="cx">         }
</span><span class="cx">         return None;
</span><span class="lines">@@ -4143,7 +4151,7 @@
</span><span class="cx">             case CSSValueNoCloseQuote:
</span><span class="cx">             case CSSValueNone:
</span><span class="cx">             case CSSValueNormal:
</span><del>-                parsedValue = cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+                parsedValue = CSSValuePool::singleton().createIdentifierValue(value-&gt;id);
</ins><span class="cx">                 break;
</span><span class="cx">             default:
</span><span class="cx">                 break;
</span><span class="lines">@@ -4186,7 +4194,7 @@
</span><span class="cx">     if (m_context.isHTMLDocument)
</span><span class="cx">         attrName = attrName.lower();
</span><span class="cx"> 
</span><del>-    return cssValuePool().createValue(attrName, CSSPrimitiveValue::CSS_ATTR);
</del><ins>+    return CSSValuePool::singleton().createValue(attrName, CSSPrimitiveValue::CSS_ATTR);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RefPtr&lt;CSSValue&gt; CSSParser::parseBackgroundColor()
</span><span class="lines">@@ -4194,14 +4202,14 @@
</span><span class="cx">     CSSValueID id = m_valueList-&gt;current()-&gt;id;
</span><span class="cx">     if (id == CSSValueWebkitText || isValidSystemColorValue(id) || id == CSSValueMenu || id == CSSValueCurrentcolor
</span><span class="cx">         || (id &gt;= CSSValueGrey &amp;&amp; id &lt; CSSValueWebkitText &amp;&amp; inQuirksMode()))
</span><del>-        return cssValuePool().createIdentifierValue(id);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(id);
</ins><span class="cx">     return parseColor();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool CSSParser::parseFillImage(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValue&gt;&amp; value)
</span><span class="cx"> {
</span><span class="cx">     if (valueList.current()-&gt;id == CSSValueNone) {
</span><del>-        value = cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        value = CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx">     if (valueList.current()-&gt;unit == CSSPrimitiveValue::CSS_URI) {
</span><span class="lines">@@ -4232,7 +4240,7 @@
</span><span class="cx">             percent = 100;
</span><span class="cx">         else if (id == CSSValueCenter)
</span><span class="cx">             percent = 50;
</span><del>-        return cssValuePool().createValue(percent, CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+        return CSSValuePool::singleton().createValue(percent, CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx">     }
</span><span class="cx">     ValueWithCalculation valueWithCalculation(*valueList.current());
</span><span class="cx">     if (validateUnit(valueWithCalculation, FPercent | FLength))
</span><span class="lines">@@ -4249,7 +4257,7 @@
</span><span class="cx">             percent = 100;
</span><span class="cx">         else if (id == CSSValueCenter)
</span><span class="cx">             percent = 50;
</span><del>-        return cssValuePool().createValue(percent, CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+        return CSSValuePool::singleton().createValue(percent, CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx">     }
</span><span class="cx">     ValueWithCalculation valueWithCalculation(*valueList.current());
</span><span class="cx">     if (validateUnit(valueWithCalculation, FPercent | FLength))
</span><span class="lines">@@ -4285,9 +4293,9 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (parsingMode == ResolveValuesAsKeyword)
</span><del>-            return cssValuePool().createIdentifierValue(id);
</del><ins>+            return CSSValuePool::singleton().createIdentifierValue(id);
</ins><span class="cx"> 
</span><del>-        return cssValuePool().createValue(percent, CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+        return CSSValuePool::singleton().createValue(percent, CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx">     }
</span><span class="cx">     ValueWithCalculation valueWithCalculation(*valueList.current());
</span><span class="cx">     if (validateUnit(valueWithCalculation, FPercent | FLength)) {
</span><span class="lines">@@ -4388,6 +4396,7 @@
</span><span class="cx">     CSSValueID firstPositionKeyword;
</span><span class="cx">     CSSValueID secondPositionKeyword;
</span><span class="cx"> 
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     if (ident1 == CSSValueCenter) {
</span><span class="cx">         // &lt;position&gt; requires the first 'center' to be followed by a keyword.
</span><span class="cx">         if (!isFillPositionKeyword(ident2))
</span><span class="lines">@@ -4402,7 +4411,7 @@
</span><span class="cx">             firstPositionKeyword = CSSValueTop;
</span><span class="cx">             swapNeeded = true;
</span><span class="cx">         }
</span><del>-        value1 = createPrimitiveValuePair(cssValuePool().createIdentifierValue(firstPositionKeyword), cssValuePool().createValue(50, CSSPrimitiveValue::CSS_PERCENTAGE));
</del><ins>+        value1 = createPrimitiveValuePair(cssValuePool.createIdentifierValue(firstPositionKeyword), cssValuePool.createValue(50, CSSPrimitiveValue::CSS_PERCENTAGE));
</ins><span class="cx">         value2 = createPrimitiveValuePair(WTF::move(parsedValue2), value3.copyRef());
</span><span class="cx">     } else if (ident3 == CSSValueCenter) {
</span><span class="cx">         if (isFillPositionKeyword(ident2))
</span><span class="lines">@@ -4414,7 +4423,7 @@
</span><span class="cx">             swapNeeded = true;
</span><span class="cx">         }
</span><span class="cx">         value1 = createPrimitiveValuePair(WTF::move(parsedValue1), parsedValue2.copyRef());
</span><del>-        value2 = createPrimitiveValuePair(cssValuePool().createIdentifierValue(secondPositionKeyword), cssValuePool().createValue(50, CSSPrimitiveValue::CSS_PERCENTAGE));
</del><ins>+        value2 = createPrimitiveValuePair(cssValuePool.createIdentifierValue(secondPositionKeyword), cssValuePool.createValue(50, CSSPrimitiveValue::CSS_PERCENTAGE));
</ins><span class="cx">     } else {
</span><span class="cx">         RefPtr&lt;CSSPrimitiveValue&gt; firstPositionValue;
</span><span class="cx">         RefPtr&lt;CSSPrimitiveValue&gt; secondPositionValue;
</span><span class="lines">@@ -4428,7 +4437,7 @@
</span><span class="cx"> 
</span><span class="cx">             secondPositionValue = value3;
</span><span class="cx">             secondPositionKeyword = ident2;
</span><del>-            firstPositionValue = cssValuePool().createValue(0, CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+            firstPositionValue = cssValuePool.createValue(0, CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx">         } else {
</span><span class="cx">             // Per CSS, we should only accept: [ right | left | top | bottom ] [ &lt;percentage&gt; | &lt;length&gt; ] [ center | left | right | bottom | top ].
</span><span class="cx">             if (!isFillPositionKeyword(ident3))
</span><span class="lines">@@ -4436,14 +4445,14 @@
</span><span class="cx"> 
</span><span class="cx">             firstPositionValue = parsedValue2;
</span><span class="cx">             secondPositionKeyword = ident3;
</span><del>-            secondPositionValue = cssValuePool().createValue(0, CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+            secondPositionValue = cssValuePool.createValue(0, CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (isValueConflictingWithCurrentEdge(ident1, secondPositionKeyword))
</span><span class="cx">             return;
</span><span class="cx"> 
</span><span class="cx">         value1 = createPrimitiveValuePair(WTF::move(parsedValue1), firstPositionValue.copyRef());
</span><del>-        value2 = createPrimitiveValuePair(cssValuePool().createIdentifierValue(secondPositionKeyword), secondPositionValue.copyRef());
</del><ins>+        value2 = createPrimitiveValuePair(cssValuePool.createIdentifierValue(secondPositionKeyword), secondPositionValue.copyRef());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (ident1 == CSSValueTop || ident1 == CSSValueBottom || swapNeeded)
</span><span class="lines">@@ -4568,7 +4577,7 @@
</span><span class="cx">         // is simply 50%. This is our default.
</span><span class="cx">         // For keywords, the keyword was either an x-keyword (left/right), a y-keyword (top/bottom), or an ambiguous keyword (center).
</span><span class="cx">         // For left/right/center, the default of 50% in the y is still correct.
</span><del>-        value2 = cssValuePool().createValue(50, CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+        value2 = CSSValuePool::singleton().createValue(50, CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx"> 
</span><span class="cx">     if (value1Flag == YFillPosition || value2Flag == XFillPosition)
</span><span class="cx">         value1.swap(value2);
</span><span class="lines">@@ -4579,20 +4588,20 @@
</span><span class="cx">     CSSValueID id = m_valueList-&gt;current()-&gt;id;
</span><span class="cx">     if (id == CSSValueRepeatX) {
</span><span class="cx">         m_implicitShorthand = true;
</span><del>-        value1 = cssValuePool().createIdentifierValue(CSSValueRepeat);
-        value2 = cssValuePool().createIdentifierValue(CSSValueNoRepeat);
</del><ins>+        value1 = CSSValuePool::singleton().createIdentifierValue(CSSValueRepeat);
+        value2 = CSSValuePool::singleton().createIdentifierValue(CSSValueNoRepeat);
</ins><span class="cx">         m_valueList-&gt;next();
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     if (id == CSSValueRepeatY) {
</span><span class="cx">         m_implicitShorthand = true;
</span><del>-        value1 = cssValuePool().createIdentifierValue(CSSValueNoRepeat);
-        value2 = cssValuePool().createIdentifierValue(CSSValueRepeat);
</del><ins>+        value1 = CSSValuePool::singleton().createIdentifierValue(CSSValueNoRepeat);
+        value2 = CSSValuePool::singleton().createIdentifierValue(CSSValueRepeat);
</ins><span class="cx">         m_valueList-&gt;next();
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     if (id == CSSValueRepeat || id == CSSValueNoRepeat || id == CSSValueRound || id == CSSValueSpace)
</span><del>-        value1 = cssValuePool().createIdentifierValue(id);
</del><ins>+        value1 = CSSValuePool::singleton().createIdentifierValue(id);
</ins><span class="cx">     else {
</span><span class="cx">         value1 = nullptr;
</span><span class="cx">         return;
</span><span class="lines">@@ -4604,7 +4613,7 @@
</span><span class="cx">     if (value &amp;&amp; !isComma(value)) {
</span><span class="cx">         id = value-&gt;id;
</span><span class="cx">         if (id == CSSValueRepeat || id == CSSValueNoRepeat || id == CSSValueRound || id == CSSValueSpace) {
</span><del>-            value2 = cssValuePool().createIdentifierValue(id);
</del><ins>+            value2 = CSSValuePool::singleton().createIdentifierValue(id);
</ins><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="lines">@@ -4612,7 +4621,7 @@
</span><span class="cx"> 
</span><span class="cx">     // If only one value was specified, value2 is the same as value1.
</span><span class="cx">     m_implicitShorthand = true;
</span><del>-    value2 = cssValuePool().createIdentifierValue(downcast&lt;CSSPrimitiveValue&gt;(*value1).getValueID());
</del><ins>+    value2 = CSSValuePool::singleton().createIdentifierValue(downcast&lt;CSSPrimitiveValue&gt;(*value1).getValueID());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RefPtr&lt;CSSValue&gt; CSSParser::parseFillSize(CSSPropertyID propId, bool&amp; allowComma)
</span><span class="lines">@@ -4621,12 +4630,12 @@
</span><span class="cx">     CSSParserValue* value = m_valueList-&gt;current();
</span><span class="cx"> 
</span><span class="cx">     if (value-&gt;id == CSSValueContain || value-&gt;id == CSSValueCover)
</span><del>-        return cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(value-&gt;id);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; parsedValue1;
</span><span class="cx"> 
</span><span class="cx">     if (value-&gt;id == CSSValueAuto)
</span><del>-        parsedValue1 = cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+        parsedValue1 = CSSValuePool::singleton().createIdentifierValue(CSSValueAuto);
</ins><span class="cx">     else {
</span><span class="cx">         ValueWithCalculation valueWithCalculation(*value);
</span><span class="cx">         if (!validateUnit(valueWithCalculation, FLength | FPercent))
</span><span class="lines">@@ -4707,7 +4716,7 @@
</span><span class="cx">                     break;
</span><span class="cx">                 case CSSPropertyBackgroundAttachment:
</span><span class="cx">                     if (currentValue-&gt;id == CSSValueScroll || currentValue-&gt;id == CSSValueFixed || currentValue-&gt;id == CSSValueLocal) {
</span><del>-                        currValue = cssValuePool().createIdentifierValue(currentValue-&gt;id);
</del><ins>+                        currValue = CSSValuePool::singleton().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">@@ -4726,7 +4735,7 @@
</span><span class="cx">                         || currentValue-&gt;id == CSSValueBorderBox || currentValue-&gt;id == CSSValuePaddingBox || currentValue-&gt;id == CSSValueContentBox
</span><span class="cx">                         || ((propId == CSSPropertyWebkitBackgroundClip || propId == CSSPropertyWebkitMaskClip)
</span><span class="cx">                         &amp;&amp; (currentValue-&gt;id == CSSValueText || currentValue-&gt;id == CSSValueWebkitText))) {
</span><del>-                        currValue = cssValuePool().createIdentifierValue(currentValue-&gt;id);
</del><ins>+                        currValue = CSSValuePool::singleton().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">@@ -4736,7 +4745,7 @@
</span><span class="cx">                     break;
</span><span class="cx">                 case CSSPropertyBackgroundOrigin:
</span><span class="cx">                     if (currentValue-&gt;id == CSSValueBorderBox || currentValue-&gt;id == CSSValuePaddingBox || currentValue-&gt;id == CSSValueContentBox) {
</span><del>-                        currValue = cssValuePool().createIdentifierValue(currentValue-&gt;id);
</del><ins>+                        currValue = CSSValuePool::singleton().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">@@ -4762,7 +4771,7 @@
</span><span class="cx">                 case CSSPropertyWebkitBackgroundComposite:
</span><span class="cx">                 case CSSPropertyWebkitMaskComposite:
</span><span class="cx">                     if (currentValue-&gt;id &gt;= CSSValueClear &amp;&amp; currentValue-&gt;id &lt;= CSSValuePlusLighter) {
</span><del>-                        currValue = cssValuePool().createIdentifierValue(currentValue-&gt;id);
</del><ins>+                        currValue = CSSValuePool::singleton().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">@@ -4772,7 +4781,7 @@
</span><span class="cx">                         || currentValue-&gt;id == CSSValueLighten ||  currentValue-&gt;id == CSSValueColorDodge || currentValue-&gt;id == CSSValueColorBurn
</span><span class="cx">                         || currentValue-&gt;id == CSSValueHardLight || currentValue-&gt;id == CSSValueSoftLight || currentValue-&gt;id == CSSValueDifference
</span><span class="cx">                         || currentValue-&gt;id == CSSValueExclusion)) {
</span><del>-                        currValue = cssValuePool().createIdentifierValue(currentValue-&gt;id);
</del><ins>+                        currValue = CSSValuePool::singleton().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">@@ -4791,7 +4800,7 @@
</span><span class="cx">                 }
</span><span class="cx">                 case CSSPropertyWebkitMaskSourceType: {
</span><span class="cx">                     if (currentValue-&gt;id == CSSValueAuto || currentValue-&gt;id == CSSValueAlpha || currentValue-&gt;id == CSSValueLuminance) {
</span><del>-                        currValue = cssValuePool().createIdentifierValue(currentValue-&gt;id);
</del><ins>+                        currValue = CSSValuePool::singleton().createIdentifierValue(currentValue-&gt;id);
</ins><span class="cx">                         m_valueList-&gt;next();
</span><span class="cx">                     } else
</span><span class="cx">                         currValue = nullptr;
</span><span class="lines">@@ -4857,7 +4866,7 @@
</span><span class="cx"> {
</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><del>-        return cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(value-&gt;id);
</ins><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -4873,7 +4882,7 @@
</span><span class="cx"> {
</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><del>-        return cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(value-&gt;id);
</ins><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -4881,7 +4890,7 @@
</span><span class="cx"> {
</span><span class="cx">     CSSParserValue&amp; value = *m_valueList-&gt;current();
</span><span class="cx">     if (value.id == CSSValueInfinite)
</span><del>-        return cssValuePool().createIdentifierValue(value.id);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(value.id);
</ins><span class="cx">     ValueWithCalculation valueWithCalculation(value);
</span><span class="cx">     if (validateUnit(valueWithCalculation, FNumber | FNonNeg))
</span><span class="cx">         return createPrimitiveNumericValue(valueWithCalculation);
</span><span class="lines">@@ -4893,7 +4902,7 @@
</span><span class="cx">     CSSParserValue&amp; value = *m_valueList-&gt;current();
</span><span class="cx">     if (value.unit == CSSPrimitiveValue::CSS_STRING || value.unit == CSSPrimitiveValue::CSS_IDENT) {
</span><span class="cx">         if (value.id == CSSValueNone || (value.unit == CSSPrimitiveValue::CSS_STRING &amp;&amp; equalIgnoringCase(value, &quot;none&quot;))) {
</span><del>-            return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+            return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx">         }
</span><span class="cx">         return createPrimitiveStringValue(value);
</span><span class="cx">     }
</span><span class="lines">@@ -4904,7 +4913,7 @@
</span><span class="cx"> {
</span><span class="cx">     CSSParserValue&amp; value = *m_valueList-&gt;current();
</span><span class="cx">     if (value.id == CSSValueRunning || value.id == CSSValuePaused)
</span><del>-        return cssValuePool().createIdentifierValue(value.id);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(value.id);
</ins><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -4913,7 +4922,7 @@
</span><span class="cx"> {
</span><span class="cx">     CSSParserValue* value = m_valueList-&gt;current();
</span><span class="cx">     if (value-&gt;id == CSSValueAuto)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueAuto);
</ins><span class="cx"> 
</span><span class="cx">     if (value-&gt;unit != CSSParserValue::Function)
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -4960,15 +4969,15 @@
</span><span class="cx">         return nullptr;
</span><span class="cx">     CSSPropertyID result = cssPropertyID(value.string);
</span><span class="cx">     if (result)
</span><del>-        return cssValuePool().createIdentifierValue(result);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(result);
</ins><span class="cx">     if (equalIgnoringCase(value, &quot;all&quot;)) {
</span><span class="cx">         context.sawAnimationPropertyKeyword();
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueAll);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueAll);
</ins><span class="cx">     }
</span><span class="cx">     if (equalIgnoringCase(value, &quot;none&quot;)) {
</span><span class="cx">         context.commitAnimationPropertyKeyword();
</span><span class="cx">         context.sawAnimationPropertyKeyword();
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx">     }
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="lines">@@ -5017,7 +5026,7 @@
</span><span class="cx">         }
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><del>-    value3 = cssValuePool().createImplicitInitialValue();
</del><ins>+    value3 = CSSValuePool::singleton().createImplicitInitialValue();
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -5043,7 +5052,7 @@
</span><span class="cx">     CSSParserValue&amp; value = *m_valueList-&gt;current();
</span><span class="cx">     if (value.id == CSSValueEase || value.id == CSSValueLinear || value.id == CSSValueEaseIn || value.id == CSSValueEaseOut
</span><span class="cx">         || value.id == CSSValueEaseInOut || value.id == CSSValueStepStart || value.id == CSSValueStepEnd)
</span><del>-        return cssValuePool().createIdentifierValue(value.id);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(value.id);
</ins><span class="cx"> 
</span><span class="cx">     // We must be a function.
</span><span class="cx">     if (value.unit != CSSParserValue::Function)
</span><span class="lines">@@ -5275,7 +5284,7 @@
</span><span class="cx">     CSSParserValue* value = m_valueList-&gt;current();
</span><span class="cx">     if (value-&gt;id == CSSValueAuto) {
</span><span class="cx">         m_valueList-&gt;next();
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueAuto);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; numericValue;
</span><span class="lines">@@ -5311,11 +5320,11 @@
</span><span class="cx"> 
</span><span class="cx">     // For the &lt;custom-ident&gt; case.
</span><span class="cx">     if (gridLineName &amp;&amp; !numericValue &amp;&amp; !hasSeenSpanKeyword)
</span><del>-        return cssValuePool().createValue(gridLineName-&gt;getStringValue(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+        return CSSValuePool::singleton().createValue(gridLineName-&gt;getStringValue(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; values = CSSValueList::createSpaceSeparated();
</span><span class="cx">     if (hasSeenSpanKeyword)
</span><del>-        values-&gt;append(cssValuePool().createIdentifierValue(CSSValueSpan));
</del><ins>+        values-&gt;append(CSSValuePool::singleton().createIdentifierValue(CSSValueSpan));
</ins><span class="cx">     if (numericValue)
</span><span class="cx">         values-&gt;append(numericValue.releaseNonNull());
</span><span class="cx">     if (gridLineName)
</span><span class="lines">@@ -5329,7 +5338,7 @@
</span><span class="cx">     if (is&lt;CSSPrimitiveValue&gt;(value) &amp;&amp; downcast&lt;CSSPrimitiveValue&gt;(value).isString())
</span><span class="cx">         return &amp;value;
</span><span class="cx"> 
</span><del>-    return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+    return CSSValuePool::singleton().createIdentifierValue(CSSValueAuto);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool CSSParser::parseGridItemPositionShorthand(CSSPropertyID shorthandId, bool important)
</span><span class="lines">@@ -5395,7 +5404,7 @@
</span><span class="cx">                 return false;
</span><span class="cx">             templateRows-&gt;append(value.releaseNonNull());
</span><span class="cx">         } else
</span><del>-            templateRows-&gt;append(cssValuePool().createIdentifierValue(CSSValueAuto));
</del><ins>+            templateRows-&gt;append(CSSValuePool::singleton().createIdentifierValue(CSSValueAuto));
</ins><span class="cx"> 
</span><span class="cx">         // This will handle the trailing/leading &lt;custom-ident&gt;* in the grammar.
</span><span class="cx">         trailingIdentWasAdded = false;
</span><span class="lines">@@ -5407,7 +5416,7 @@
</span><span class="cx">     if (templateColumns)
</span><span class="cx">         addProperty(CSSPropertyWebkitGridTemplateColumns, templateColumns, important);
</span><span class="cx">     else
</span><del>-        addProperty(CSSPropertyWebkitGridTemplateColumns, cssValuePool().createIdentifierValue(CSSValueNone), important);
</del><ins>+        addProperty(CSSPropertyWebkitGridTemplateColumns, CSSValuePool::singleton().createIdentifierValue(CSSValueNone), important);
</ins><span class="cx"> 
</span><span class="cx">     // [&lt;line-names&gt;? &lt;string&gt; [&lt;track-size&gt; &lt;line-names&gt;]? ]+
</span><span class="cx">     RefPtr&lt;CSSValue&gt; templateAreas = CSSGridTemplateAreasValue::create(gridAreaMap, rowCount, columnCount);
</span><span class="lines">@@ -5430,14 +5439,14 @@
</span><span class="cx"> 
</span><span class="cx">     // 1- 'none' case.
</span><span class="cx">     if (firstValueIsNone &amp;&amp; !m_valueList-&gt;next()) {
</span><del>-        addProperty(CSSPropertyWebkitGridTemplateColumns, cssValuePool().createIdentifierValue(CSSValueNone), important);
-        addProperty(CSSPropertyWebkitGridTemplateRows, cssValuePool().createIdentifierValue(CSSValueNone), important);
-        addProperty(CSSPropertyWebkitGridTemplateAreas, cssValuePool().createIdentifierValue(CSSValueNone), important);
</del><ins>+        addProperty(CSSPropertyWebkitGridTemplateColumns, CSSValuePool::singleton().createIdentifierValue(CSSValueNone), important);
+        addProperty(CSSPropertyWebkitGridTemplateRows, CSSValuePool::singleton().createIdentifierValue(CSSValueNone), important);
+        addProperty(CSSPropertyWebkitGridTemplateAreas, CSSValuePool::singleton().createIdentifierValue(CSSValueNone), important);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     unsigned index = 0;
</span><del>-    RefPtr&lt;CSSValue&gt; columnsValue = firstValueIsNone ? cssValuePool().createIdentifierValue(CSSValueNone) : parseGridTrackList();
</del><ins>+    RefPtr&lt;CSSValue&gt; columnsValue = firstValueIsNone ? CSSValuePool::singleton().createIdentifierValue(CSSValueNone) : parseGridTrackList();
</ins><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><span class="lines">@@ -5449,7 +5458,7 @@
</span><span class="cx">                 return false;
</span><span class="cx">             addProperty(CSSPropertyWebkitGridTemplateColumns, columnsValue.release(), important);
</span><span class="cx">             addProperty(CSSPropertyWebkitGridTemplateRows, rowsValue.release(), important);
</span><del>-            addProperty(CSSPropertyWebkitGridTemplateAreas, cssValuePool().createIdentifierValue(CSSValueNone), important);
</del><ins>+            addProperty(CSSPropertyWebkitGridTemplateAreas, CSSValuePool::singleton().createIdentifierValue(CSSValueNone), important);
</ins><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -5473,9 +5482,9 @@
</span><span class="cx">     if (parseGridTemplateShorthand(important)) {
</span><span class="cx">         // It can only be specified the explicit or the implicit grid properties in a single grid declaration.
</span><span class="cx">         // The sub-properties not specified are set to their initial value, as normal for shorthands.
</span><del>-        addProperty(CSSPropertyWebkitGridAutoFlow, cssValuePool().createImplicitInitialValue(), important);
-        addProperty(CSSPropertyWebkitGridAutoColumns, cssValuePool().createImplicitInitialValue(), important);
-        addProperty(CSSPropertyWebkitGridAutoRows, cssValuePool().createImplicitInitialValue(), important);
</del><ins>+        addProperty(CSSPropertyWebkitGridAutoFlow, CSSValuePool::singleton().createImplicitInitialValue(), important);
+        addProperty(CSSPropertyWebkitGridAutoColumns, CSSValuePool::singleton().createImplicitInitialValue(), important);
+        addProperty(CSSPropertyWebkitGridAutoRows, CSSValuePool::singleton().createImplicitInitialValue(), important);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -5504,8 +5513,8 @@
</span><span class="cx">             return false;
</span><span class="cx">     } else {
</span><span class="cx">         // Other omitted values are set to their initial values.
</span><del>-        autoColumnsValue = cssValuePool().createImplicitInitialValue();
-        autoRowsValue = cssValuePool().createImplicitInitialValue();
</del><ins>+        autoColumnsValue = CSSValuePool::singleton().createImplicitInitialValue();
+        autoRowsValue = CSSValuePool::singleton().createImplicitInitialValue();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // if &lt;grid-auto-rows&gt; value is omitted, it is set to the value specified for grid-auto-columns.
</span><span class="lines">@@ -5517,9 +5526,9 @@
</span><span class="cx"> 
</span><span class="cx">     // It can only be specified the explicit or the implicit grid properties in a single grid declaration.
</span><span class="cx">     // The sub-properties not specified are set to their initial value, as normal for shorthands.
</span><del>-    addProperty(CSSPropertyWebkitGridTemplateColumns, cssValuePool().createImplicitInitialValue(), important);
-    addProperty(CSSPropertyWebkitGridTemplateRows, cssValuePool().createImplicitInitialValue(), important);
-    addProperty(CSSPropertyWebkitGridTemplateAreas, cssValuePool().createImplicitInitialValue(), important);
</del><ins>+    addProperty(CSSPropertyWebkitGridTemplateColumns, CSSValuePool::singleton().createImplicitInitialValue(), important);
+    addProperty(CSSPropertyWebkitGridTemplateRows, CSSValuePool::singleton().createImplicitInitialValue(), important);
+    addProperty(CSSPropertyWebkitGridTemplateAreas, CSSValuePool::singleton().createImplicitInitialValue(), important);
</ins><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -5610,7 +5619,7 @@
</span><span class="cx">     CSSParserValue* value = m_valueList-&gt;current();
</span><span class="cx">     if (value-&gt;id == CSSValueNone) {
</span><span class="cx">         m_valueList-&gt;next();
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; values = CSSValueList::createSpaceSeparated();
</span><span class="lines">@@ -5707,7 +5716,7 @@
</span><span class="cx">     inputList.next();
</span><span class="cx"> 
</span><span class="cx">     if (currentValue.id == CSSValueAuto)
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueAuto);
</ins><span class="cx"> 
</span><span class="cx">     if (currentValue.unit == CSSParserValue::Function &amp;&amp; equalIgnoringCase(currentValue.function-&gt;name, &quot;minmax(&quot;)) {
</span><span class="cx">         // The spec defines the following grammar: minmax( &lt;track-breadth&gt; , &lt;track-breadth&gt; )
</span><span class="lines">@@ -5735,7 +5744,7 @@
</span><span class="cx"> RefPtr&lt;CSSPrimitiveValue&gt; CSSParser::parseGridBreadth(CSSParserValue&amp; value)
</span><span class="cx"> {
</span><span class="cx">     if (value.id == CSSValueWebkitMinContent || value.id == CSSValueWebkitMaxContent)
</span><del>-        return cssValuePool().createIdentifierValue(value.id);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(value.id);
</ins><span class="cx"> 
</span><span class="cx">     if (value.unit == CSSPrimitiveValue::CSS_FR) {
</span><span class="cx">         double flexValue = value.fValue;
</span><span class="lines">@@ -5744,7 +5753,7 @@
</span><span class="cx">         if (flexValue &lt;= 0)
</span><span class="cx">             return nullptr;
</span><span class="cx"> 
</span><del>-        return cssValuePool().createValue(flexValue, CSSPrimitiveValue::CSS_FR);
</del><ins>+        return CSSValuePool::singleton().createValue(flexValue, CSSPrimitiveValue::CSS_FR);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ValueWithCalculation valueWithCalculation(value);
</span><span class="lines">@@ -5778,27 +5787,27 @@
</span><span class="cx">     value = inputList.next();
</span><span class="cx">     if (!value || !isValidGridAutoFlowId(value-&gt;id)) {
</span><span class="cx">         if (firstId == CSSValueDense)
</span><del>-            parsedValues-&gt;append(cssValuePool().createIdentifierValue(CSSValueRow));
</del><ins>+            parsedValues-&gt;append(CSSValuePool::singleton().createIdentifierValue(CSSValueRow));
</ins><span class="cx"> 
</span><del>-        parsedValues-&gt;append(cssValuePool().createIdentifierValue(firstId));
</del><ins>+        parsedValues-&gt;append(CSSValuePool::singleton().createIdentifierValue(firstId));
</ins><span class="cx">         return parsedValues;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     switch (firstId) {
</span><span class="cx">     case CSSValueRow:
</span><span class="cx">     case CSSValueColumn:
</span><del>-        parsedValues-&gt;append(cssValuePool().createIdentifierValue(firstId));
</del><ins>+        parsedValues-&gt;append(CSSValuePool::singleton().createIdentifierValue(firstId));
</ins><span class="cx">         if (value-&gt;id == CSSValueDense) {
</span><del>-            parsedValues-&gt;append(cssValuePool().createIdentifierValue(value-&gt;id));
</del><ins>+            parsedValues-&gt;append(CSSValuePool::singleton().createIdentifierValue(value-&gt;id));
</ins><span class="cx">             inputList.next();
</span><span class="cx">         }
</span><span class="cx">         break;
</span><span class="cx">     case CSSValueDense:
</span><span class="cx">         if (value-&gt;id == CSSValueRow || value-&gt;id == CSSValueColumn) {
</span><del>-            parsedValues-&gt;append(cssValuePool().createIdentifierValue(value-&gt;id));
</del><ins>+            parsedValues-&gt;append(CSSValuePool::singleton().createIdentifierValue(value-&gt;id));
</ins><span class="cx">             inputList.next();
</span><span class="cx">         }
</span><del>-        parsedValues-&gt;append(cssValuePool().createIdentifierValue(firstId));
</del><ins>+        parsedValues-&gt;append(CSSValuePool::singleton().createIdentifierValue(firstId));
</ins><span class="cx">         break;
</span><span class="cx">     default:
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -5834,7 +5843,7 @@
</span><span class="cx">     if (value-&gt;id == CSSValueNone) {
</span><span class="cx">         if (m_valueList-&gt;next())
</span><span class="cx">             return false;
</span><del>-        addProperty(propId, cssValuePool().createIdentifierValue(value-&gt;id), important);
</del><ins>+        addProperty(propId, CSSValuePool::singleton().createIdentifierValue(value-&gt;id), important);
</ins><span class="cx">         return valid;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -5904,7 +5913,7 @@
</span><span class="cx"> 
</span><span class="cx">         if (numArgs == DASHBOARD_REGION_SHORT_NUM_PARAMETERS || numArgs == (DASHBOARD_REGION_SHORT_NUM_PARAMETERS*2-1)) {
</span><span class="cx">             // This originally used CSSValueInvalid by accident. It might be more logical to use something else.
</span><del>-            RefPtr&lt;CSSPrimitiveValue&gt; amount = cssValuePool().createIdentifierValue(CSSValueInvalid);
</del><ins>+            RefPtr&lt;CSSPrimitiveValue&gt; amount = CSSValuePool::singleton().createIdentifierValue(CSSValueInvalid);
</ins><span class="cx"> 
</span><span class="cx">             region-&gt;setTop(amount);
</span><span class="cx">             region-&gt;setRight(amount);
</span><span class="lines">@@ -5921,7 +5930,7 @@
</span><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(argWithCalculation);
</del><ins>+                RefPtr&lt;CSSPrimitiveValue&gt; amount = arg-&gt;id == CSSValueAuto ? CSSValuePool::singleton().createIdentifierValue(CSSValueAuto) : createPrimitiveNumericValue(argWithCalculation);
</ins><span class="cx"> 
</span><span class="cx">                 if (i == 0)
</span><span class="cx">                     region-&gt;setTop(amount);
</span><span class="lines">@@ -5941,7 +5950,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (valid)
</span><del>-        addProperty(propId, cssValuePool().createValue(RefPtr&lt;DashboardRegion&gt;(WTF::move(firstRegion))), important);
</del><ins>+        addProperty(propId, CSSValuePool::singleton().createValue(RefPtr&lt;DashboardRegion&gt;(WTF::move(firstRegion))), important);
</ins><span class="cx"> 
</span><span class="cx">     return valid;
</span><span class="cx"> }
</span><span class="lines">@@ -6044,7 +6053,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (m_valueList-&gt;current() &amp;&amp; m_valueList-&gt;current()-&gt;id == CSSValueNone) {
</span><span class="cx">         m_valueList-&gt;next();
</span><del>-        return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     NamedGridAreaMap gridAreaMap;
</span><span class="lines">@@ -6079,7 +6088,7 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; separator;
</span><span class="cx">     if (!counters)
</span><del>-        separator = cssValuePool().createValue(String(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+        separator = CSSValuePool::singleton().createValue(String(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx">     else {
</span><span class="cx">         argument = args.next();
</span><span class="cx">         if (argument-&gt;unit != CSSParserValue::Operator || argument-&gt;iValue != ',')
</span><span class="lines">@@ -6095,7 +6104,7 @@
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; listStyle;
</span><span class="cx">     argument = args.next();
</span><span class="cx">     if (!argument) // Make the list style default decimal
</span><del>-        listStyle = cssValuePool().createIdentifierValue(CSSValueDecimal);
</del><ins>+        listStyle = CSSValuePool::singleton().createIdentifierValue(CSSValueDecimal);
</ins><span class="cx">     else {
</span><span class="cx">         if (argument-&gt;unit != CSSParserValue::Operator || argument-&gt;iValue != ',')
</span><span class="cx">             return nullptr;
</span><span class="lines">@@ -6110,10 +6119,10 @@
</span><span class="cx">         else
</span><span class="cx">             return nullptr;
</span><span class="cx"> 
</span><del>-        listStyle = cssValuePool().createIdentifierValue(listStyleID);
</del><ins>+        listStyle = CSSValuePool::singleton().createIdentifierValue(listStyleID);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return cssValuePool().createValue(Counter::create(identifier.release(), listStyle.release(), separator.release()));
</del><ins>+    return CSSValuePool::singleton().createValue(Counter::create(identifier.release(), listStyle.release(), separator.release()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool CSSParser::parseClipShape(CSSPropertyID propId, bool important)
</span><span class="lines">@@ -6136,7 +6145,7 @@
</span><span class="cx">         valid = argument-&gt;id == CSSValueAuto || validateUnit(argumentWithCalculation, FLength);
</span><span class="cx">         if (!valid)
</span><span class="cx">             break;
</span><del>-        RefPtr&lt;CSSPrimitiveValue&gt; length = argument-&gt;id == CSSValueAuto ? cssValuePool().createIdentifierValue(CSSValueAuto) : createPrimitiveNumericValue(argumentWithCalculation);
</del><ins>+        RefPtr&lt;CSSPrimitiveValue&gt; length = argument-&gt;id == CSSValueAuto ? CSSValuePool::singleton().createIdentifierValue(CSSValueAuto) : createPrimitiveNumericValue(argumentWithCalculation);
</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">@@ -6157,7 +6166,7 @@
</span><span class="cx">         i++;
</span><span class="cx">     }
</span><span class="cx">     if (valid) {
</span><del>-        addProperty(propId, cssValuePool().createValue(WTF::move(rect)), important);
</del><ins>+        addProperty(propId, CSSValuePool::singleton().createValue(WTF::move(rect)), important);
</ins><span class="cx">         m_valueList-&gt;next();
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="lines">@@ -6293,7 +6302,7 @@
</span><span class="cx"> RefPtr&lt;CSSPrimitiveValue&gt; CSSParser::parseShapeRadius(CSSParserValue&amp; value)
</span><span class="cx"> {
</span><span class="cx">     if (value.id == CSSValueClosestSide || value.id == CSSValueFarthestSide)
</span><del>-        return cssValuePool().createIdentifierValue(value.id);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(value.id);
</ins><span class="cx"> 
</span><span class="cx">     ValueWithCalculation valueWithCalculation(value);
</span><span class="cx">     if (!validateUnit(valueWithCalculation, FLength | FPercent | FNonNeg))
</span><span class="lines">@@ -6479,7 +6488,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 = cssValuePool().createIdentifierValue(valueId);
</del><ins>+            RefPtr&lt;CSSPrimitiveValue&gt; parsedValue = CSSValuePool::singleton().createIdentifierValue(valueId);
</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">@@ -6504,7 +6513,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (valueId == CSSValueNone) {
</span><span class="cx">         m_valueList-&gt;next();
</span><del>-        return cssValuePool().createIdentifierValue(valueId);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(valueId);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSValue&gt; imageValue;
</span><span class="lines">@@ -6524,7 +6533,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (valueId == CSSValueNone) {
</span><span class="cx">         m_valueList-&gt;next();
</span><del>-        return cssValuePool().createIdentifierValue(valueId);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(valueId);
</ins><span class="cx">     }
</span><span class="cx">     if (value.unit == CSSPrimitiveValue::CSS_URI) {
</span><span class="cx">         m_valueList-&gt;next();
</span><span class="lines">@@ -6557,7 +6566,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     m_valueList-&gt;next();
</span><del>-    return cssValuePool().createValue(shape.releaseNonNull());
</del><ins>+    return CSSValuePool::singleton().createValue(shape.releaseNonNull());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // [ 'font-style' || 'font-variant' || 'font-weight' ]? 'font-size' [ / 'line-height' ]? 'font-family'
</span><span class="lines">@@ -6577,11 +6586,11 @@
</span><span class="cx">     CSSParserValue* value;
</span><span class="cx">     while ((value = m_valueList-&gt;current())) {
</span><span class="cx">         if (!fontStyleParsed &amp;&amp; isValidKeywordPropertyAndValue(CSSPropertyFontStyle, value-&gt;id, m_context, m_styleSheet)) {
</span><del>-            addProperty(CSSPropertyFontStyle, cssValuePool().createIdentifierValue(value-&gt;id), important);
</del><ins>+            addProperty(CSSPropertyFontStyle, CSSValuePool::singleton().createIdentifierValue(value-&gt;id), important);
</ins><span class="cx">             fontStyleParsed = true;
</span><span class="cx">         } else if (!fontVariantParsed &amp;&amp; (value-&gt;id == CSSValueNormal || value-&gt;id == CSSValueSmallCaps)) {
</span><span class="cx">             // Font variant in the shorthand is particular, it only accepts normal or small-caps.
</span><del>-            addProperty(CSSPropertyFontVariant, cssValuePool().createIdentifierValue(value-&gt;id), important);
</del><ins>+            addProperty(CSSPropertyFontVariant, CSSValuePool::singleton().createIdentifierValue(value-&gt;id), important);
</ins><span class="cx">             fontVariantParsed = true;
</span><span class="cx">         } else if (!fontWeightParsed &amp;&amp; parseFontWeight(important))
</span><span class="cx">             fontWeightParsed = true;
</span><span class="lines">@@ -6594,11 +6603,11 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (!fontStyleParsed)
</span><del>-        addProperty(CSSPropertyFontStyle, cssValuePool().createIdentifierValue(CSSValueNormal), important, true);
</del><ins>+        addProperty(CSSPropertyFontStyle, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important, true);
</ins><span class="cx">     if (!fontVariantParsed)
</span><del>-        addProperty(CSSPropertyFontVariant, cssValuePool().createIdentifierValue(CSSValueNormal), important, true);
</del><ins>+        addProperty(CSSPropertyFontVariant, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important, true);
</ins><span class="cx">     if (!fontWeightParsed)
</span><del>-        addProperty(CSSPropertyFontWeight, cssValuePool().createIdentifierValue(CSSValueNormal), important, true);
</del><ins>+        addProperty(CSSPropertyFontWeight, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important, true);
</ins><span class="cx"> 
</span><span class="cx">     // Now a font size _must_ come.
</span><span class="cx">     // &lt;absolute-size&gt; | &lt;relative-size&gt; | &lt;length&gt; | &lt;percentage&gt; | inherit
</span><span class="lines">@@ -6617,7 +6626,7 @@
</span><span class="cx">         if (!parseLineHeight(important))
</span><span class="cx">             return false;
</span><span class="cx">     } else
</span><del>-        addProperty(CSSPropertyLineHeight, cssValuePool().createIdentifierValue(CSSValueNormal), important, true);
</del><ins>+        addProperty(CSSPropertyLineHeight, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important, true);
</ins><span class="cx"> 
</span><span class="cx">     // Font family must come now.
</span><span class="cx">     RefPtr&lt;CSSValue&gt; parsedFamilyValue = parseFontFamily();
</span><span class="lines">@@ -6649,14 +6658,14 @@
</span><span class="cx"> 
</span><span class="cx">     // We must set font's constituent properties, even for system fonts, so the cascade functions correctly.
</span><span class="cx">     ShorthandScope scope(this, CSSPropertyFont);
</span><del>-    addProperty(CSSPropertyFontStyle, cssValuePool().createIdentifierValue(fontDescription.italic() == FontItalicOn ? CSSValueItalic : CSSValueNormal), important);
-    addProperty(CSSPropertyFontWeight, cssValuePool().createValue(fontDescription.weight()), important);
-    addProperty(CSSPropertyFontSize, cssValuePool().createValue(fontDescription.specifiedSize(), CSSPrimitiveValue::CSS_PX), important);
</del><ins>+    addProperty(CSSPropertyFontStyle, CSSValuePool::singleton().createIdentifierValue(fontDescription.italic() == FontItalicOn ? CSSValueItalic : CSSValueNormal), important);
+    addProperty(CSSPropertyFontWeight, CSSValuePool::singleton().createValue(fontDescription.weight()), important);
+    addProperty(CSSPropertyFontSize, CSSValuePool::singleton().createValue(fontDescription.specifiedSize(), CSSPrimitiveValue::CSS_PX), important);
</ins><span class="cx">     Ref&lt;CSSValueList&gt; fontFamilyList = CSSValueList::createCommaSeparated();
</span><del>-    fontFamilyList-&gt;append(cssValuePool().createFontFamilyValue(fontDescription.familyAt(0), FromSystemFontID::Yes));
</del><ins>+    fontFamilyList-&gt;append(CSSValuePool::singleton().createFontFamilyValue(fontDescription.familyAt(0), FromSystemFontID::Yes));
</ins><span class="cx">     addProperty(CSSPropertyFontFamily, WTF::move(fontFamilyList), important);
</span><del>-    addProperty(CSSPropertyFontVariant, cssValuePool().createIdentifierValue(CSSValueNormal), important);
-    addProperty(CSSPropertyLineHeight, cssValuePool().createIdentifierValue(CSSValueNormal), important);
</del><ins>+    addProperty(CSSPropertyFontVariant, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important);
+    addProperty(CSSPropertyLineHeight, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> class FontFamilyValueBuilder {
</span><span class="lines">@@ -6683,7 +6692,7 @@
</span><span class="cx">     {
</span><span class="cx">         if (m_builder.isEmpty())
</span><span class="cx">             return;
</span><del>-        m_list.append(cssValuePool().createFontFamilyValue(m_builder.toString()));
</del><ins>+        m_list.append(CSSValuePool::singleton().createFontFamilyValue(m_builder.toString()));
</ins><span class="cx">         m_builder.clear();
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -6727,7 +6736,7 @@
</span><span class="cx">             if (inFamily)
</span><span class="cx">                 familyBuilder.add(value-&gt;string);
</span><span class="cx">             else if (nextValBreaksFont || !nextValIsFontName)
</span><del>-                list-&gt;append(cssValuePool().createIdentifierValue(value-&gt;id));
</del><ins>+                list-&gt;append(CSSValuePool::singleton().createIdentifierValue(value-&gt;id));
</ins><span class="cx">             else {
</span><span class="cx">                 familyBuilder.commit();
</span><span class="cx">                 familyBuilder.add(value-&gt;string);
</span><span class="lines">@@ -6737,12 +6746,12 @@
</span><span class="cx">             // Strings never share in a family name.
</span><span class="cx">             inFamily = false;
</span><span class="cx">             familyBuilder.commit();
</span><del>-            list-&gt;append(cssValuePool().createFontFamilyValue(value-&gt;string));
</del><ins>+            list-&gt;append(CSSValuePool::singleton().createFontFamilyValue(value-&gt;string));
</ins><span class="cx">         } else if (value-&gt;unit == CSSPrimitiveValue::CSS_IDENT) {
</span><span class="cx">             if (inFamily)
</span><span class="cx">                 familyBuilder.add(value-&gt;string);
</span><span class="cx">             else if (nextValBreaksFont || !nextValIsFontName)
</span><del>-                list-&gt;append(cssValuePool().createFontFamilyValue(value-&gt;string));
</del><ins>+                list-&gt;append(CSSValuePool::singleton().createFontFamilyValue(value-&gt;string));
</ins><span class="cx">             else {
</span><span class="cx">                 familyBuilder.commit();
</span><span class="cx">                 familyBuilder.add(value-&gt;string);
</span><span class="lines">@@ -6814,12 +6823,12 @@
</span><span class="cx">         if (!expectComma) {
</span><span class="cx">             expectComma = true;
</span><span class="cx">             if (val-&gt;id == CSSValueNormal || val-&gt;id == CSSValueSmallCaps)
</span><del>-                parsedValue = cssValuePool().createIdentifierValue(val-&gt;id);
</del><ins>+                parsedValue = CSSValuePool::singleton().createIdentifierValue(val-&gt;id);
</ins><span class="cx">             else if (val-&gt;id == CSSValueAll &amp;&amp; !values) {
</span><span class="cx">                 // 'all' is only allowed in @font-face and with no other values. Make a value list to
</span><span class="cx">                 // indicate that we are in the @font-face case.
</span><span class="cx">                 values = CSSValueList::createCommaSeparated();
</span><del>-                parsedValue = cssValuePool().createIdentifierValue(val-&gt;id);
</del><ins>+                parsedValue = CSSValuePool::singleton().createIdentifierValue(val-&gt;id);
</ins><span class="cx">             }
</span><span class="cx">         } else if (val-&gt;unit == CSSParserValue::Operator &amp;&amp; val-&gt;iValue == ',') {
</span><span class="cx">             expectComma = false;
</span><span class="lines">@@ -6861,14 +6870,14 @@
</span><span class="cx"> {
</span><span class="cx">     CSSParserValue&amp; value = *m_valueList-&gt;current();
</span><span class="cx">     if ((value.id &gt;= CSSValueNormal) &amp;&amp; (value.id &lt;= CSSValue900)) {
</span><del>-        addProperty(CSSPropertyFontWeight, cssValuePool().createIdentifierValue(value.id), important);
</del><ins>+        addProperty(CSSPropertyFontWeight, CSSValuePool::singleton().createIdentifierValue(value.id), important);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx">     ValueWithCalculation valueWithCalculation(value);
</span><span class="cx">     if (validateUnit(valueWithCalculation, FInteger | FNonNeg, CSSQuirksMode)) {
</span><span class="cx">         int weight = static_cast&lt;int&gt;(parsedDouble(valueWithCalculation));
</span><span class="cx">         if (!(weight % 100) &amp;&amp; weight &gt;= 100 &amp;&amp; weight &lt;= 900) {
</span><del>-            addProperty(CSSPropertyFontWeight, cssValuePool().createIdentifierValue(createFontWeightValueKeyword(weight)), important);
</del><ins>+            addProperty(CSSPropertyFontWeight, CSSValuePool::singleton().createIdentifierValue(createFontWeightValueKeyword(weight)), important);
</ins><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -6880,7 +6889,7 @@
</span><span class="cx">     // none | [ weight || style ]
</span><span class="cx">     CSSParserValue* value = m_valueList-&gt;current();
</span><span class="cx">     if (value &amp;&amp; value-&gt;id == CSSValueNone) {
</span><del>-        addProperty(CSSPropertyFontSynthesis, cssValuePool().createIdentifierValue(CSSValueNone), important);
</del><ins>+        addProperty(CSSPropertyFontSynthesis, CSSValuePool::singleton().createIdentifierValue(CSSValueNone), important);
</ins><span class="cx">         m_valueList-&gt;next();
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="lines">@@ -6903,9 +6912,9 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><span class="cx">     if (encounteredWeight)
</span><del>-        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueWeight));
</del><ins>+        list-&gt;append(CSSValuePool::singleton().createIdentifierValue(CSSValueWeight));
</ins><span class="cx">     if (encounteredStyle)
</span><del>-        list-&gt;append(cssValuePool().createIdentifierValue(CSSValueStyle));
</del><ins>+        list-&gt;append(CSSValuePool::singleton().createIdentifierValue(CSSValueStyle));
</ins><span class="cx">     addProperty(CSSPropertyFontSynthesis, list.release(), important);
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -7512,7 +7521,7 @@
</span><span class="cx">     RGBA32 c = Color::transparent;
</span><span class="cx">     if (!parseColorFromValue(value ? *value : *m_valueList-&gt;current(), c))
</span><span class="cx">         return nullptr;
</span><del>-    return cssValuePool().createColorValue(c);
</del><ins>+    return CSSValuePool::singleton().createColorValue(c);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool CSSParser::parseColorFromValue(CSSParserValue&amp; value, RGBA32&amp; c)
</span><span class="lines">@@ -7658,7 +7667,7 @@
</span><span class="cx"> 
</span><span class="cx">     void commitStyle(CSSParserValue&amp; value)
</span><span class="cx">     {
</span><del>-        style = cssValuePool().createIdentifierValue(value.id);
</del><ins>+        style = CSSValuePool::singleton().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">@@ -7732,7 +7741,7 @@
</span><span class="cx">             if (isColor) {
</span><span class="cx">                 if (!context.allowColor)
</span><span class="cx">                     return nullptr;
</span><del>-                parsedColor = cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+                parsedColor = CSSValuePool::singleton().createIdentifierValue(value-&gt;id);
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             if (!parsedColor)
</span><span class="lines">@@ -7770,7 +7779,7 @@
</span><span class="cx">         case CSSValueBelow:
</span><span class="cx">         case CSSValueLeft:
</span><span class="cx">         case CSSValueRight:
</span><del>-            direction = cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+            direction = CSSValuePool::singleton().createIdentifierValue(value-&gt;id);
</ins><span class="cx">             break;
</span><span class="cx">         default:
</span><span class="cx">             return false;
</span><span class="lines">@@ -7780,7 +7789,7 @@
</span><span class="cx">     value = m_valueList-&gt;next();
</span><span class="cx">     RefPtr&lt;CSSPrimitiveValue&gt; offset;
</span><span class="cx">     if (!value)
</span><del>-        offset = cssValuePool().createValue(0, CSSPrimitiveValue::CSS_PX);
</del><ins>+        offset = CSSValuePool::singleton().createValue(0, CSSPrimitiveValue::CSS_PX);
</ins><span class="cx">     else {
</span><span class="cx">         ValueWithCalculation valueWithCalculation(*value);
</span><span class="cx">         if (!validateUnit(valueWithCalculation, FLength | FPercent))
</span><span class="lines">@@ -7819,7 +7828,7 @@
</span><span class="cx">                 flexShrink = parsedDouble(argumentWithCalculation);
</span><span class="cx">             else if (!parsedDouble(argumentWithCalculation)) {
</span><span class="cx">                 // flex only allows a basis of 0 (sans units) if flex-grow and flex-shrink values have already been set.
</span><del>-                flexBasis = cssValuePool().createValue(0, CSSPrimitiveValue::CSS_PX);
</del><ins>+                flexBasis = CSSValuePool::singleton().createValue(0, CSSPrimitiveValue::CSS_PX);
</ins><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="lines">@@ -7838,10 +7847,10 @@
</span><span class="cx">     if (flexShrink == unsetValue)
</span><span class="cx">         flexShrink = 1;
</span><span class="cx">     if (!flexBasis)
</span><del>-        flexBasis = cssValuePool().createValue(0, CSSPrimitiveValue::CSS_PX);
</del><ins>+        flexBasis = CSSValuePool::singleton().createValue(0, CSSPrimitiveValue::CSS_PX);
</ins><span class="cx"> 
</span><del>-    addProperty(CSSPropertyFlexGrow, cssValuePool().createValue(clampToFloat(flexGrow), CSSPrimitiveValue::CSS_NUMBER), important);
-    addProperty(CSSPropertyFlexShrink, cssValuePool().createValue(clampToFloat(flexShrink), CSSPrimitiveValue::CSS_NUMBER), important);
</del><ins>+    addProperty(CSSPropertyFlexGrow, CSSValuePool::singleton().createValue(clampToFloat(flexGrow), CSSPrimitiveValue::CSS_NUMBER), important);
+    addProperty(CSSPropertyFlexShrink, CSSValuePool::singleton().createValue(clampToFloat(flexShrink), CSSPrimitiveValue::CSS_NUMBER), important);
</ins><span class="cx">     addProperty(CSSPropertyFlexBasis, flexBasis, important);
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -7947,7 +7956,7 @@
</span><span class="cx">         if (value)
</span><span class="cx">             parser.addProperty(propId, value, important);
</span><span class="cx">         else
</span><del>-            parser.addProperty(propId, cssValuePool().createImplicitInitialValue(), important, true);
</del><ins>+            parser.addProperty(propId, CSSValuePool::singleton().createImplicitInitialValue(), important, true);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     bool m_canAdvance;
</span><span class="lines">@@ -7997,7 +8006,7 @@
</span><span class="cx">                     return false;
</span><span class="cx"> #endif
</span><span class="cx">             } else if (currentValue-&gt;id == CSSValueNone)
</span><del>-                context.commitImage(cssValuePool().createIdentifierValue(CSSValueNone));
</del><ins>+                context.commitImage(CSSValuePool::singleton().createIdentifierValue(CSSValueNone));
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (!context.canAdvance() &amp;&amp; context.allowImageSlice()) {
</span><span class="lines">@@ -8055,14 +8064,14 @@
</span><span class="cx">     if (!val)
</span><span class="cx">         return false;
</span><span class="cx">     if (isBorderImageRepeatKeyword(val-&gt;id))
</span><del>-        firstValue = cssValuePool().createIdentifierValue(val-&gt;id);
</del><ins>+        firstValue = CSSValuePool::singleton().createIdentifierValue(val-&gt;id);
</ins><span class="cx">     else
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     val = m_valueList-&gt;next();
</span><span class="cx">     if (val) {
</span><span class="cx">         if (isBorderImageRepeatKeyword(val-&gt;id))
</span><del>-            secondValue = cssValuePool().createIdentifierValue(val-&gt;id);
</del><ins>+            secondValue = CSSValuePool::singleton().createIdentifierValue(val-&gt;id);
</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">@@ -8138,7 +8147,7 @@
</span><span class="cx">         quad-&gt;setLeft(m_left);
</span><span class="cx"> 
</span><span class="cx">         // Make our new border image value now.
</span><del>-        return CSSBorderImageSliceValue::create(cssValuePool().createValue(WTF::move(quad)), m_fill);
</del><ins>+        return CSSBorderImageSliceValue::create(CSSValuePool::singleton().createValue(WTF::move(quad)), m_fill);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -8210,7 +8219,7 @@
</span><span class="cx">     {
</span><span class="cx">         RefPtr&lt;CSSPrimitiveValue&gt; primitiveValue;
</span><span class="cx">         if (valueWithCalculation.value().id == CSSValueAuto)
</span><del>-            primitiveValue = cssValuePool().createIdentifierValue(valueWithCalculation.value().id);
</del><ins>+            primitiveValue = CSSValuePool::singleton().createIdentifierValue(valueWithCalculation.value().id);
</ins><span class="cx">         else
</span><span class="cx">             primitiveValue = m_parser.createPrimitiveNumericValue(valueWithCalculation);
</span><span class="cx"> 
</span><span class="lines">@@ -8256,7 +8265,7 @@
</span><span class="cx">         quad-&gt;setLeft(m_left);
</span><span class="cx"> 
</span><span class="cx">         // Make our new value now.
</span><del>-        return cssValuePool().createValue(WTF::move(quad));
</del><ins>+        return CSSValuePool::singleton().createValue(WTF::move(quad));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -8374,7 +8383,7 @@
</span><span class="cx">     if (num == 1) {
</span><span class="cx">         CSSValueID valueId = m_valueList-&gt;valueAt(0)-&gt;id;
</span><span class="cx">         if (valueId == CSSValueAuto || valueId == CSSValueFromDimensions || valueId == CSSValueFromIntrinsic) {
</span><del>-            addProperty(CSSPropertyWebkitAspectRatio, cssValuePool().createIdentifierValue(valueId), important);
</del><ins>+            addProperty(CSSPropertyWebkitAspectRatio, CSSValuePool::singleton().createIdentifierValue(valueId), important);
</ins><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -8427,7 +8436,7 @@
</span><span class="cx">                 }
</span><span class="cx"> 
</span><span class="cx">                 list-&gt;append(createPrimitiveValuePair(counterName.release(),
</span><del>-                    cssValuePool().createValue(i, CSSPrimitiveValue::CSS_NUMBER)));
</del><ins>+                    CSSValuePool::singleton().createValue(i, CSSPrimitiveValue::CSS_NUMBER)));
</ins><span class="cx">                 state = ID;
</span><span class="cx">                 continue;
</span><span class="cx">             }
</span><span class="lines">@@ -8450,14 +8459,14 @@
</span><span class="cx">     if (value.unit == CSSPrimitiveValue::CSS_IDENT) {
</span><span class="cx">         if ((equalIgnoringCase(value, &quot;left&quot;) &amp;&amp; horizontal)
</span><span class="cx">             || (equalIgnoringCase(value, &quot;top&quot;) &amp;&amp; !horizontal))
</span><del>-            result = cssValuePool().createValue(0., CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+            result = CSSValuePool::singleton().createValue(0., CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx">         else if ((equalIgnoringCase(value, &quot;right&quot;) &amp;&amp; horizontal)
</span><span class="cx">             || (equalIgnoringCase(value, &quot;bottom&quot;) &amp;&amp; !horizontal))
</span><del>-            result = cssValuePool().createValue(100., CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+            result = CSSValuePool::singleton().createValue(100., CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx">         else if (equalIgnoringCase(value, &quot;center&quot;))
</span><del>-            result = cssValuePool().createValue(50., CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+            result = CSSValuePool::singleton().createValue(50., CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx">     } else if (value.unit == CSSPrimitiveValue::CSS_NUMBER || value.unit == CSSPrimitiveValue::CSS_PERCENTAGE)
</span><del>-        result = cssValuePool().createValue(value.fValue, static_cast&lt;CSSPrimitiveValue::UnitTypes&gt;(value.unit));
</del><ins>+        result = CSSValuePool::singleton().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><span class="lines">@@ -8482,13 +8491,13 @@
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="cx">         if (equalIgnoringCase(value.function-&gt;name, &quot;from(&quot;))
</span><del>-            stop.m_position = cssValuePool().createValue(0, CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+            stop.m_position = CSSValuePool::singleton().createValue(0, CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         else
</span><del>-            stop.m_position = cssValuePool().createValue(1, CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+            stop.m_position = CSSValuePool::singleton().createValue(1, CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> 
</span><span class="cx">         CSSValueID id = args-&gt;current()-&gt;id;
</span><span class="cx">         if (id == CSSValueWebkitText || CSSParser::isValidSystemColorValue(id) || id == CSSValueMenu)
</span><del>-            stop.m_color = cssValuePool().createIdentifierValue(id);
</del><ins>+            stop.m_color = CSSValuePool::singleton().createIdentifierValue(id);
</ins><span class="cx">         else
</span><span class="cx">             stop.m_color = parser.parseColor(args-&gt;current());
</span><span class="cx">         if (!stop.m_color)
</span><span class="lines">@@ -8502,9 +8511,9 @@
</span><span class="cx"> 
</span><span class="cx">         CSSParserValue* stopArg = args-&gt;current();
</span><span class="cx">         if (stopArg-&gt;unit == CSSPrimitiveValue::CSS_PERCENTAGE)
</span><del>-            stop.m_position = cssValuePool().createValue(stopArg-&gt;fValue / 100, CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+            stop.m_position = CSSValuePool::singleton().createValue(stopArg-&gt;fValue / 100, CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         else if (stopArg-&gt;unit == CSSPrimitiveValue::CSS_NUMBER)
</span><del>-            stop.m_position = cssValuePool().createValue(stopArg-&gt;fValue, CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+            stop.m_position = CSSValuePool::singleton().createValue(stopArg-&gt;fValue, CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">         else
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="lines">@@ -8515,7 +8524,7 @@
</span><span class="cx">         stopArg = args-&gt;next();
</span><span class="cx">         CSSValueID id = stopArg-&gt;id;
</span><span class="cx">         if (id == CSSValueWebkitText || CSSParser::isValidSystemColorValue(id) || id == CSSValueMenu)
</span><del>-            stop.m_color = cssValuePool().createIdentifierValue(id);
</del><ins>+            stop.m_color = CSSValuePool::singleton().createIdentifierValue(id);
</ins><span class="cx">         else
</span><span class="cx">             stop.m_color = parser.parseColor(stopArg);
</span><span class="cx">         if (!stop.m_color)
</span><span class="lines">@@ -8679,14 +8688,14 @@
</span><span class="cx">         default:
</span><span class="cx">             return nullptr;
</span><span class="cx">     }
</span><del>-    return cssValuePool().createIdentifierValue(value.id);
</del><ins>+    return CSSValuePool::singleton().createIdentifierValue(value.id);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static PassRefPtr&lt;CSSPrimitiveValue&gt; parseGradientColorOrKeyword(CSSParser&amp; parser, CSSParserValue&amp; value)
</span><span class="cx"> {
</span><span class="cx">     CSSValueID id = value.id;
</span><span class="cx">     if (id == CSSValueWebkitText || CSSParser::isValidSystemColorValue(id) || id == CSSValueMenu || id == CSSValueCurrentcolor)
</span><del>-        return cssValuePool().createIdentifierValue(id);
</del><ins>+        return CSSValuePool::singleton().createIdentifierValue(id);
</ins><span class="cx"> 
</span><span class="cx">     return parser.parseColor(&amp;value);
</span><span class="cx"> }
</span><span class="lines">@@ -8744,7 +8753,7 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (!startX &amp;&amp; !startY)
</span><del>-            startY = cssValuePool().createIdentifierValue(CSSValueTop);
</del><ins>+            startY = CSSValuePool::singleton().createIdentifierValue(CSSValueTop);
</ins><span class="cx"> 
</span><span class="cx">         result-&gt;setFirstX(startX.release());
</span><span class="cx">         result-&gt;setFirstY(startY.release());
</span><span class="lines">@@ -8812,7 +8821,7 @@
</span><span class="cx">         switch (argument-&gt;id) {
</span><span class="cx">         case CSSValueCircle:
</span><span class="cx">         case CSSValueEllipse:
</span><del>-            shapeValue = cssValuePool().createIdentifierValue(argument-&gt;id);
</del><ins>+            shapeValue = CSSValuePool::singleton().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">@@ -8821,7 +8830,7 @@
</span><span class="cx">         case CSSValueFarthestCorner:
</span><span class="cx">         case CSSValueContain:
</span><span class="cx">         case CSSValueCover:
</span><del>-            sizeValue = cssValuePool().createIdentifierValue(argument-&gt;id);
</del><ins>+            sizeValue = CSSValuePool::singleton().createIdentifierValue(argument-&gt;id);
</ins><span class="cx">             foundValue = true;
</span><span class="cx">             break;
</span><span class="cx">         default:
</span><span class="lines">@@ -8985,7 +8994,7 @@
</span><span class="cx">             case CSSValueEllipse:
</span><span class="cx">                 if (shapeValue)
</span><span class="cx">                     return false;
</span><del>-                shapeValue = cssValuePool().createIdentifierValue(argument-&gt;id);
</del><ins>+                shapeValue = CSSValuePool::singleton().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">@@ -8993,7 +9002,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(argument-&gt;id);
</del><ins>+                sizeValue = CSSValuePool::singleton().createIdentifierValue(argument-&gt;id);
</ins><span class="cx">                 break;
</span><span class="cx">             default:
</span><span class="cx">                 badIdent = true;
</span><span class="lines">@@ -9278,9 +9287,9 @@
</span><span class="cx">         return false;
</span><span class="cx">     
</span><span class="cx">     if (argument-&gt;unit == CSSPrimitiveValue::CSS_PERCENTAGE)
</span><del>-        percentage = cssValuePool().createValue(clampTo&lt;double&gt;(argument-&gt;fValue / 100, 0, 1), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+        percentage = CSSValuePool::singleton().createValue(clampTo&lt;double&gt;(argument-&gt;fValue / 100, 0, 1), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx">     else if (argument-&gt;unit == CSSPrimitiveValue::CSS_NUMBER)
</span><del>-        percentage = cssValuePool().createValue(clampTo&lt;double&gt;(argument-&gt;fValue, 0, 1), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+        percentage = CSSValuePool::singleton().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">@@ -9335,10 +9344,10 @@
</span><span class="cx">     while (value) {
</span><span class="cx">         ValueWithCalculation valueWithCalculation(*value);
</span><span class="cx">         if (!haveFromImage &amp;&amp; value-&gt;id == CSSValueFromImage) {
</span><del>-            list-&gt;append(cssValuePool().createIdentifierValue(value-&gt;id));
</del><ins>+            list-&gt;append(CSSValuePool::singleton().createIdentifierValue(value-&gt;id));
</ins><span class="cx">             haveFromImage = true;
</span><span class="cx">         } else if (!haveSnap &amp;&amp; value-&gt;id == CSSValueSnap) {
</span><del>-            list-&gt;append(cssValuePool().createIdentifierValue(value-&gt;id));
</del><ins>+            list-&gt;append(CSSValuePool::singleton().createIdentifierValue(value-&gt;id));
</ins><span class="cx">             haveSnap = true;
</span><span class="cx">         } else if (!haveResolution &amp;&amp; validateUnit(valueWithCalculation, FResolution | FNonNeg) &amp;&amp; value-&gt;fValue &gt; 0) {
</span><span class="cx">             list-&gt;append(createPrimitiveNumericValue(valueWithCalculation));
</span><span class="lines">@@ -9390,7 +9399,7 @@
</span><span class="cx">         }
</span><span class="cx">         if (imageScaleFactor &lt;= 0)
</span><span class="cx">             return nullptr;
</span><del>-        imageSet-&gt;append(cssValuePool().createValue(imageScaleFactor, CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+        imageSet-&gt;append(CSSValuePool::singleton().createValue(imageScaleFactor, CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx"> 
</span><span class="cx">         // If there are no more arguments, we're done.
</span><span class="cx">         arg = functionArgs-&gt;next();
</span><span class="lines">@@ -9962,7 +9971,7 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (value-&gt;id == CSSValueNone) {
</span><del>-        addProperty(propId, cssValuePool().createIdentifierValue(value-&gt;id), important);
</del><ins>+        addProperty(propId, CSSValuePool::singleton().createIdentifierValue(value-&gt;id), important);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -9970,9 +9979,9 @@
</span><span class="cx">     if (!inputProperty.isEmpty()) {
</span><span class="cx">         if (!validFlowName(inputProperty))
</span><span class="cx">             return false;
</span><del>-        addProperty(propId, cssValuePool().createValue(inputProperty, CSSPrimitiveValue::CSS_STRING), important);
</del><ins>+        addProperty(propId, CSSValuePool::singleton().createValue(inputProperty, CSSPrimitiveValue::CSS_STRING), important);
</ins><span class="cx">     } else
</span><del>-        addProperty(propId, cssValuePool().createIdentifierValue(CSSValueNone), important);
</del><ins>+        addProperty(propId, CSSValuePool::singleton().createIdentifierValue(CSSValueNone), important);
</ins><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -9994,15 +10003,15 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (value-&gt;id == CSSValueNone)
</span><del>-        addProperty(propId, cssValuePool().createIdentifierValue(value-&gt;id), important);
</del><ins>+        addProperty(propId, CSSValuePool::singleton().createIdentifierValue(value-&gt;id), important);
</ins><span class="cx">     else {
</span><span class="cx">         String inputProperty = String(value-&gt;string);
</span><span class="cx">         if (!inputProperty.isEmpty()) {
</span><span class="cx">             if (!validFlowName(inputProperty))
</span><span class="cx">                 return false;
</span><del>-            addProperty(propId, cssValuePool().createValue(inputProperty, CSSPrimitiveValue::CSS_STRING), important);
</del><ins>+            addProperty(propId, CSSValuePool::singleton().createValue(inputProperty, CSSPrimitiveValue::CSS_STRING), important);
</ins><span class="cx">         } else
</span><del>-            addProperty(propId, cssValuePool().createIdentifierValue(CSSValueNone), important);
</del><ins>+            addProperty(propId, CSSValuePool::singleton().createIdentifierValue(CSSValueNone), important);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="lines">@@ -10105,7 +10114,7 @@
</span><span class="cx"> {
</span><span class="cx">     CSSParserValue* value = m_valueList-&gt;current();
</span><span class="cx">     if (value &amp;&amp; value-&gt;id == CSSValueNone) {
</span><del>-        addTextDecorationProperty(propId, cssValuePool().createIdentifierValue(CSSValueNone), important);
</del><ins>+        addTextDecorationProperty(propId, CSSValuePool::singleton().createIdentifierValue(CSSValueNone), important);
</ins><span class="cx">         m_valueList-&gt;next();
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="lines">@@ -10121,7 +10130,7 @@
</span><span class="cx"> #if ENABLE(LETTERPRESS)
</span><span class="cx">         case CSSValueWebkitLetterpress:
</span><span class="cx"> #endif
</span><del>-            list-&gt;append(cssValuePool().createIdentifierValue(value-&gt;id));
</del><ins>+            list-&gt;append(CSSValuePool::singleton().createIdentifierValue(value-&gt;id));
</ins><span class="cx">             break;
</span><span class="cx">         default:
</span><span class="cx">             isValid = false;
</span><span class="lines">@@ -10151,7 +10160,7 @@
</span><span class="cx">         case CSSValueAuto:
</span><span class="cx">         case CSSValueInk:
</span><span class="cx">         case CSSValueObjects:
</span><del>-            addProperty(CSSPropertyWebkitTextDecorationSkip, cssValuePool().createIdentifierValue(value-&gt;id), important);
</del><ins>+            addProperty(CSSPropertyWebkitTextDecorationSkip, CSSValuePool::singleton().createIdentifierValue(value-&gt;id), important);
</ins><span class="cx">             return true;
</span><span class="cx">         default:
</span><span class="cx">             break;
</span><span class="lines">@@ -10173,7 +10182,7 @@
</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.id), important);
</del><ins>+        addProperty(CSSPropertyWebkitTextUnderlinePosition, CSSValuePool::singleton().createIdentifierValue(value.id), important);
</ins><span class="cx">         return true;
</span><span class="cx">     default:
</span><span class="cx">         break;
</span><span class="lines">@@ -10200,7 +10209,7 @@
</span><span class="cx">         if (value-&gt;id == CSSValueNone) {
</span><span class="cx">             if (fill || shape || (valueListSize != 1 &amp;&amp; !inShorthand()))
</span><span class="cx">                 return false;
</span><del>-            addProperty(CSSPropertyWebkitTextEmphasisStyle, cssValuePool().createIdentifierValue(CSSValueNone), important);
</del><ins>+            addProperty(CSSPropertyWebkitTextEmphasisStyle, CSSValuePool::singleton().createIdentifierValue(CSSValueNone), important);
</ins><span class="cx">             m_valueList-&gt;next();
</span><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="lines">@@ -10208,11 +10217,11 @@
</span><span class="cx">         if (value-&gt;id == CSSValueOpen || value-&gt;id == CSSValueFilled) {
</span><span class="cx">             if (fill)
</span><span class="cx">                 return false;
</span><del>-            fill = cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+            fill = CSSValuePool::singleton().createIdentifierValue(value-&gt;id);
</ins><span class="cx">         } else if (value-&gt;id == CSSValueDot || value-&gt;id == CSSValueCircle || value-&gt;id == CSSValueDoubleCircle || value-&gt;id == CSSValueTriangle || value-&gt;id == CSSValueSesame) {
</span><span class="cx">             if (shape)
</span><span class="cx">                 return false;
</span><del>-            shape = cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+            shape = CSSValuePool::singleton().createIdentifierValue(value-&gt;id);
</ins><span class="cx">         } else if (!inShorthand())
</span><span class="cx">             return false;
</span><span class="cx">         else
</span><span class="lines">@@ -10277,9 +10286,9 @@
</span><span class="cx">     if (!foundOverOrUnder)
</span><span class="cx">         return false;
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; list = CSSValueList::createSpaceSeparated();
</span><del>-    list-&gt;append(cssValuePool().createIdentifierValue(overUnderValueID));
</del><ins>+    list-&gt;append(CSSValuePool::singleton().createIdentifierValue(overUnderValueID));
</ins><span class="cx">     if (foundLeftOrRight)
</span><del>-        list-&gt;append(cssValuePool().createIdentifierValue(leftRightValueID));
</del><ins>+        list-&gt;append(CSSValuePool::singleton().createIdentifierValue(leftRightValueID));
</ins><span class="cx">     addProperty(CSSPropertyWebkitTextEmphasisPosition, list, important);
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -10304,10 +10313,10 @@
</span><span class="cx">         }
</span><span class="cx"> #if ENABLE(CSS3_TEXT)
</span><span class="cx">         else if (!hasEachLine &amp;&amp; value-&gt;id == CSSValueWebkitEachLine) {
</span><del>-            list-&gt;append(cssValuePool().createIdentifierValue(CSSValueWebkitEachLine));
</del><ins>+            list-&gt;append(CSSValuePool::singleton().createIdentifierValue(CSSValueWebkitEachLine));
</ins><span class="cx">             hasEachLine = true;
</span><span class="cx">         } else if (!hasHanging &amp;&amp; value-&gt;id == CSSValueWebkitHanging) {
</span><del>-            list-&gt;append(cssValuePool().createIdentifierValue(CSSValueWebkitHanging));
</del><ins>+            list-&gt;append(CSSValuePool::singleton().createIdentifierValue(CSSValueWebkitHanging));
</ins><span class="cx">             hasHanging = true;
</span><span class="cx">         }
</span><span class="cx"> #endif
</span><span class="lines">@@ -10407,7 +10416,7 @@
</span><span class="cx"> bool CSSParser::parseFontFeatureSettings(bool important)
</span><span class="cx"> {
</span><span class="cx">     if (m_valueList-&gt;size() == 1 &amp;&amp; m_valueList-&gt;current()-&gt;id == CSSValueNormal) {
</span><del>-        RefPtr&lt;CSSPrimitiveValue&gt; normalValue = cssValuePool().createIdentifierValue(CSSValueNormal);
</del><ins>+        RefPtr&lt;CSSPrimitiveValue&gt; normalValue = CSSValuePool::singleton().createIdentifierValue(CSSValueNormal);
</ins><span class="cx">         m_valueList-&gt;next();
</span><span class="cx">         addProperty(CSSPropertyWebkitFontFeatureSettings, normalValue.release(), important);
</span><span class="cx">         return true;
</span><span class="lines">@@ -10447,21 +10456,21 @@
</span><span class="cx">             if (sawCommonLigaturesValue)
</span><span class="cx">                 return false;
</span><span class="cx">             sawCommonLigaturesValue = true;
</span><del>-            ligatureValues-&gt;append(cssValuePool().createIdentifierValue(value-&gt;id));
</del><ins>+            ligatureValues-&gt;append(CSSValuePool::singleton().createIdentifierValue(value-&gt;id));
</ins><span class="cx">             break;
</span><span class="cx">         case CSSValueNoDiscretionaryLigatures:
</span><span class="cx">         case CSSValueDiscretionaryLigatures:
</span><span class="cx">             if (sawDiscretionaryLigaturesValue)
</span><span class="cx">                 return false;
</span><span class="cx">             sawDiscretionaryLigaturesValue = true;
</span><del>-            ligatureValues-&gt;append(cssValuePool().createIdentifierValue(value-&gt;id));
</del><ins>+            ligatureValues-&gt;append(CSSValuePool::singleton().createIdentifierValue(value-&gt;id));
</ins><span class="cx">             break;
</span><span class="cx">         case CSSValueNoHistoricalLigatures:
</span><span class="cx">         case CSSValueHistoricalLigatures:
</span><span class="cx">             if (sawHistoricalLigaturesValue)
</span><span class="cx">                 return false;
</span><span class="cx">             sawHistoricalLigaturesValue = true;
</span><del>-            ligatureValues-&gt;append(cssValuePool().createIdentifierValue(value-&gt;id));
</del><ins>+            ligatureValues-&gt;append(CSSValuePool::singleton().createIdentifierValue(value-&gt;id));
</ins><span class="cx">             break;
</span><span class="cx">         default:
</span><span class="cx">             return false;
</span><span class="lines">@@ -10511,11 +10520,11 @@
</span><span class="cx"> 
</span><span class="cx">         RefPtr&lt;CSSValue&gt; cssValue;
</span><span class="cx">         if (value-&gt;id == CSSValueScrollPosition || value-&gt;id == CSSValueContents)
</span><del>-            cssValue = cssValuePool().createIdentifierValue(value-&gt;id);
</del><ins>+            cssValue = CSSValuePool::singleton().createIdentifierValue(value-&gt;id);
</ins><span class="cx">         else {
</span><span class="cx">             CSSPropertyID propertyID = cssPropertyID(value-&gt;string);
</span><span class="cx">             if (propertyID != CSSPropertyInvalid)
</span><del>-                cssValue = cssValuePool().createIdentifierValue(propertyID);
</del><ins>+                cssValue = CSSValuePool::singleton().createIdentifierValue(propertyID);
</ins><span class="cx">             else // This might be a property we don't support.
</span><span class="cx">                 cssValue = createPrimitiveStringValue(*value);
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSValuePoolcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSValuePool.cpp (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSValuePool.cpp        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/css/CSSValuePool.cpp        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-CSSValuePool&amp; cssValuePool()
</del><ins>+CSSValuePool&amp; CSSValuePool::singleton()
</ins><span class="cx"> {
</span><span class="cx">     static NeverDestroyed&lt;CSSValuePool&gt; pool;
</span><span class="cx">     return pool;
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSValuePoolh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSValuePool.h (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSValuePool.h        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/css/CSSValuePool.h        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -47,6 +47,8 @@
</span><span class="cx"> class CSSValuePool {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><ins>+    static CSSValuePool&amp; singleton();
+
</ins><span class="cx">     PassRefPtr&lt;CSSValueList&gt; createFontFaceValue(const AtomicString&amp;);
</span><span class="cx">     Ref&lt;CSSPrimitiveValue&gt; createFontFamilyValue(const String&amp;, FromSystemFontID = FromSystemFontID::No);
</span><span class="cx">     Ref&lt;CSSInheritedValue&gt; createInheritedValue() { return m_inheritedValue.copyRef(); }
</span><span class="lines">@@ -93,8 +95,6 @@
</span><span class="cx">     friend class WTF::NeverDestroyed&lt;CSSValuePool&gt;;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-CSSValuePool&amp; cssValuePool() PURE_FUNCTION;
-
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorecssStylePropertiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleProperties.cpp (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleProperties.cpp        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/css/StyleProperties.cpp        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -746,12 +746,12 @@
</span><span class="cx"> 
</span><span class="cx"> bool MutableStyleProperties::setProperty(CSSPropertyID propertyID, CSSValueID identifier, bool important)
</span><span class="cx"> {
</span><del>-    return setProperty(CSSProperty(propertyID, cssValuePool().createIdentifierValue(identifier), important));
</del><ins>+    return setProperty(CSSProperty(propertyID, CSSValuePool::singleton().createIdentifierValue(identifier), important));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool MutableStyleProperties::setProperty(CSSPropertyID propertyID, CSSPropertyID identifier, bool important)
</span><span class="cx"> {
</span><del>-    return setProperty(CSSProperty(propertyID, cssValuePool().createIdentifierValue(identifier), important));
</del><ins>+    return setProperty(CSSProperty(propertyID, CSSValuePool::singleton().createIdentifierValue(identifier), important));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MutableStyleProperties::parseDeclaration(const String&amp; styleDeclaration, StyleSheetContents* contextStyleSheet)
</span></span></pre></div>
<a id="trunkSourceWebCoredomStyledElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/StyledElement.cpp (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/StyledElement.cpp        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/dom/StyledElement.cpp        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -222,21 +222,21 @@
</span><span class="cx">     
</span><span class="cx"> bool StyledElement::setInlineStyleProperty(CSSPropertyID propertyID, CSSValueID identifier, bool important)
</span><span class="cx"> {
</span><del>-    ensureMutableInlineStyle().setProperty(propertyID, cssValuePool().createIdentifierValue(identifier), important);
</del><ins>+    ensureMutableInlineStyle().setProperty(propertyID, CSSValuePool::singleton().createIdentifierValue(identifier), important);
</ins><span class="cx">     inlineStyleChanged();
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool StyledElement::setInlineStyleProperty(CSSPropertyID propertyID, CSSPropertyID identifier, bool important)
</span><span class="cx"> {
</span><del>-    ensureMutableInlineStyle().setProperty(propertyID, cssValuePool().createIdentifierValue(identifier), important);
</del><ins>+    ensureMutableInlineStyle().setProperty(propertyID, CSSValuePool::singleton().createIdentifierValue(identifier), important);
</ins><span class="cx">     inlineStyleChanged();
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool StyledElement::setInlineStyleProperty(CSSPropertyID propertyID, double value, CSSPrimitiveValue::UnitTypes unit, bool important)
</span><span class="cx"> {
</span><del>-    ensureMutableInlineStyle().setProperty(propertyID, cssValuePool().createValue(value, unit), important);
</del><ins>+    ensureMutableInlineStyle().setProperty(propertyID, CSSValuePool::singleton().createValue(value, unit), important);
</ins><span class="cx">     inlineStyleChanged();
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -363,12 +363,12 @@
</span><span class="cx"> 
</span><span class="cx"> void StyledElement::addPropertyToPresentationAttributeStyle(MutableStyleProperties&amp; style, CSSPropertyID propertyID, CSSValueID identifier)
</span><span class="cx"> {
</span><del>-    style.setProperty(propertyID, cssValuePool().createIdentifierValue(identifier));
</del><ins>+    style.setProperty(propertyID, CSSValuePool::singleton().createIdentifierValue(identifier));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void StyledElement::addPropertyToPresentationAttributeStyle(MutableStyleProperties&amp; style, CSSPropertyID propertyID, double value, CSSPrimitiveValue::UnitTypes unit)
</span><span class="cx"> {
</span><del>-    style.setProperty(propertyID, cssValuePool().createValue(value, unit));
</del><ins>+    style.setProperty(propertyID, CSSValuePool::singleton().createValue(value, unit));
</ins><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> void StyledElement::addPropertyToPresentationAttributeStyle(MutableStyleProperties&amp; style, CSSPropertyID propertyID, const String&amp; value)
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingApplyStyleCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ApplyStyleCommand.cpp (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ApplyStyleCommand.cpp        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/editing/ApplyStyleCommand.cpp        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -397,7 +397,7 @@
</span><span class="cx">             currentFontSize = computedFontSize(node);
</span><span class="cx">         }
</span><span class="cx">         if (currentFontSize != desiredFontSize) {
</span><del>-            inlineStyle-&gt;setProperty(CSSPropertyFontSize, cssValuePool().createValue(desiredFontSize, CSSPrimitiveValue::CSS_PX), false);
</del><ins>+            inlineStyle-&gt;setProperty(CSSPropertyFontSize, CSSValuePool::singleton().createValue(desiredFontSize, CSSPrimitiveValue::CSS_PX), false);
</ins><span class="cx">             setNodeAttribute(element.get(), styleAttr, inlineStyle-&gt;asText());
</span><span class="cx">         }
</span><span class="cx">         if (inlineStyle-&gt;isEmpty()) {
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditingStylecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/EditingStyle.cpp (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/EditingStyle.cpp        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/editing/EditingStyle.cpp        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -534,14 +534,14 @@
</span><span class="cx"> 
</span><span class="cx">     Ref&lt;CSSValueList&gt; valueList = CSSValueList::createSpaceSeparated();
</span><span class="cx">     if (underlineChange() == TextDecorationChange::Add)
</span><del>-        valueList-&gt;append(cssValuePool().createIdentifierValue(CSSValueUnderline));
</del><ins>+        valueList-&gt;append(CSSValuePool::singleton().createIdentifierValue(CSSValueUnderline));
</ins><span class="cx">     if (strikeThroughChange() == TextDecorationChange::Add)
</span><del>-        valueList-&gt;append(cssValuePool().createIdentifierValue(CSSValueLineThrough));
</del><ins>+        valueList-&gt;append(CSSValuePool::singleton().createIdentifierValue(CSSValueLineThrough));
</ins><span class="cx"> 
</span><span class="cx">     if (valueList-&gt;length())
</span><span class="cx">         style-&gt;setProperty(CSSPropertyTextDecoration, valueList.ptr());
</span><span class="cx">     else
</span><del>-        style-&gt;setProperty(CSSPropertyTextDecoration, cssValuePool().createIdentifierValue(CSSValueNone));
</del><ins>+        style-&gt;setProperty(CSSPropertyTextDecoration, CSSValuePool::singleton().createIdentifierValue(CSSValueNone));
</ins><span class="cx"> 
</span><span class="cx">     return style;
</span><span class="cx"> }
</span><span class="lines">@@ -618,8 +618,9 @@
</span><span class="cx">     if (!m_mutableStyle)
</span><span class="cx">         m_mutableStyle = MutableStyleProperties::create();
</span><span class="cx"> 
</span><del>-    Ref&lt;CSSPrimitiveValue&gt; underline = cssValuePool().createIdentifierValue(CSSValueUnderline);
-    Ref&lt;CSSPrimitiveValue&gt; lineThrough = cssValuePool().createIdentifierValue(CSSValueLineThrough);
</del><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
+    Ref&lt;CSSPrimitiveValue&gt; underline = cssValuePool.createIdentifierValue(CSSValueUnderline);
+    Ref&lt;CSSPrimitiveValue&gt; lineThrough = cssValuePool.createIdentifierValue(CSSValueLineThrough);
</ins><span class="cx">     RefPtr&lt;CSSValue&gt; value = m_mutableStyle-&gt;getPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect);
</span><span class="cx">     RefPtr&lt;CSSValueList&gt; valueList;
</span><span class="cx">     if (value &amp;&amp; value-&gt;isValueList()) {
</span><span class="lines">@@ -826,7 +827,7 @@
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; newValueList = valueList-&gt;copy();
</span><span class="cx">             RefPtr&lt;CSSValueList&gt; extractedValueList = CSSValueList::createSpaceSeparated();
</span><span class="cx"> 
</span><del>-            Ref&lt;CSSPrimitiveValue&gt; underline = cssValuePool().createIdentifierValue(CSSValueUnderline);
</del><ins>+            Ref&lt;CSSPrimitiveValue&gt; underline = CSSValuePool::singleton().createIdentifierValue(CSSValueUnderline);
</ins><span class="cx">             if (shouldRemoveUnderline &amp;&amp; valueList-&gt;hasValue(underline.ptr())) {
</span><span class="cx">                 if (!newInlineStyle)
</span><span class="cx">                     return true;
</span><span class="lines">@@ -834,7 +835,7 @@
</span><span class="cx">                 extractedValueList-&gt;append(WTF::move(underline));
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            Ref&lt;CSSPrimitiveValue&gt; lineThrough = cssValuePool().createIdentifierValue(CSSValueLineThrough);
</del><ins>+            Ref&lt;CSSPrimitiveValue&gt; lineThrough = CSSValuePool::singleton().createIdentifierValue(CSSValueLineThrough);
</ins><span class="cx">             if (shouldRemoveStrikeThrough &amp;&amp; valueList-&gt;hasValue(lineThrough.ptr())) {
</span><span class="cx">                 if (!newInlineStyle)
</span><span class="cx">                     return true;
</span><span class="lines">@@ -1013,9 +1014,10 @@
</span><span class="cx">         bool hasLineThrough = false;
</span><span class="cx">         if (RefPtr&lt;CSSValue&gt; value = computedStyle.propertyValue(CSSPropertyTextDecoration)) {
</span><span class="cx">             if (value-&gt;isValueList()) {
</span><ins>+                auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">                 const CSSValueList&amp; valueList = downcast&lt;CSSValueList&gt;(*value);
</span><del>-                hasUnderline = valueList.hasValue(&amp;cssValuePool().createIdentifierValue(CSSValueUnderline).get());
-                hasLineThrough = valueList.hasValue(&amp;cssValuePool().createIdentifierValue(CSSValueLineThrough).get());
</del><ins>+                hasUnderline = valueList.hasValue(cssValuePool.createIdentifierValue(CSSValueUnderline).ptr());
+                hasLineThrough = valueList.hasValue(cssValuePool.createIdentifierValue(CSSValueLineThrough).ptr());
</ins><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx">         if ((shouldAddUnderline &amp;&amp; !hasUnderline) || (shouldAddLineThrough &amp;&amp; !hasLineThrough))
</span><span class="lines">@@ -1225,8 +1227,9 @@
</span><span class="cx"> 
</span><span class="cx"> static void mergeTextDecorationValues(CSSValueList&amp; mergedValue, const CSSValueList&amp; valueToMerge)
</span><span class="cx"> {
</span><del>-    Ref&lt;CSSPrimitiveValue&gt; underline = cssValuePool().createIdentifierValue(CSSValueUnderline);
-    Ref&lt;CSSPrimitiveValue&gt; lineThrough = cssValuePool().createIdentifierValue(CSSValueLineThrough);
</del><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
+    Ref&lt;CSSPrimitiveValue&gt; underline = cssValuePool.createIdentifierValue(CSSValueUnderline);
+    Ref&lt;CSSPrimitiveValue&gt; lineThrough = cssValuePool.createIdentifierValue(CSSValueLineThrough);
</ins><span class="cx"> 
</span><span class="cx">     if (valueToMerge.hasValue(underline.ptr()) &amp;&amp; !mergedValue.hasValue(underline.ptr()))
</span><span class="cx">         mergedValue.append(WTF::move(underline));
</span><span class="lines">@@ -1399,17 +1402,18 @@
</span><span class="cx">     if (!m_mutableStyle)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;CSSPrimitiveValue&gt; sticky = cssValuePool().createIdentifierValue(CSSValueWebkitSticky);
</del><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
+    RefPtr&lt;CSSPrimitiveValue&gt; sticky = cssValuePool.createIdentifierValue(CSSValueWebkitSticky);
</ins><span class="cx">     if (m_mutableStyle-&gt;propertyMatches(CSSPropertyPosition, sticky.get())) {
</span><del>-        m_mutableStyle-&gt;setProperty(CSSPropertyPosition, cssValuePool().createIdentifierValue(CSSValueStatic), m_mutableStyle-&gt;propertyIsImportant(CSSPropertyPosition));
</del><ins>+        m_mutableStyle-&gt;setProperty(CSSPropertyPosition, cssValuePool.createIdentifierValue(CSSValueStatic), m_mutableStyle-&gt;propertyIsImportant(CSSPropertyPosition));
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><del>-    RefPtr&lt;CSSPrimitiveValue&gt; fixed = cssValuePool().createIdentifierValue(CSSValueFixed);
</del><ins>+    RefPtr&lt;CSSPrimitiveValue&gt; fixed = cssValuePool.createIdentifierValue(CSSValueFixed);
</ins><span class="cx">     if (m_mutableStyle-&gt;propertyMatches(CSSPropertyPosition, fixed.get())) {
</span><del>-        m_mutableStyle-&gt;setProperty(CSSPropertyPosition, cssValuePool().createIdentifierValue(CSSValueAbsolute), m_mutableStyle-&gt;propertyIsImportant(CSSPropertyPosition));
</del><ins>+        m_mutableStyle-&gt;setProperty(CSSPropertyPosition, cssValuePool.createIdentifierValue(CSSValueAbsolute), m_mutableStyle-&gt;propertyIsImportant(CSSPropertyPosition));
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><del>-    RefPtr&lt;CSSPrimitiveValue&gt; absolute = cssValuePool().createIdentifierValue(CSSValueAbsolute);
</del><ins>+    RefPtr&lt;CSSPrimitiveValue&gt; absolute = cssValuePool.createIdentifierValue(CSSValueAbsolute);
</ins><span class="cx">     if (m_mutableStyle-&gt;propertyMatches(CSSPropertyPosition, absolute.get()))
</span><span class="cx">         return true;
</span><span class="cx">     return false;
</span><span class="lines">@@ -1418,7 +1422,7 @@
</span><span class="cx"> bool EditingStyle::isFloating()
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSValue&gt; v = m_mutableStyle-&gt;getPropertyCSSValue(CSSPropertyFloat);
</span><del>-    RefPtr&lt;CSSPrimitiveValue&gt; noneValue = cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+    RefPtr&lt;CSSPrimitiveValue&gt; noneValue = CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx">     return v &amp;&amp; !v-&gt;equals(*noneValue);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1604,10 +1608,11 @@
</span><span class="cx">         if (is&lt;CSSValueList&gt;(value.get()))
</span><span class="cx">             valueList = downcast&lt;CSSValueList&gt;(value.get());
</span><span class="cx"> 
</span><del>-        Ref&lt;CSSValue&gt; underline = cssValuePool().createIdentifierValue(CSSValueUnderline);
</del><ins>+        auto&amp; cssValuePool = CSSValuePool::singleton();
+        Ref&lt;CSSValue&gt; underline = cssValuePool.createIdentifierValue(CSSValueUnderline);
</ins><span class="cx">         bool hasUnderline = valueList &amp;&amp; valueList-&gt;hasValue(underline.ptr());
</span><span class="cx"> 
</span><del>-        Ref&lt;CSSValue&gt; lineThrough = cssValuePool().createIdentifierValue(CSSValueLineThrough);
</del><ins>+        Ref&lt;CSSValue&gt; lineThrough = cssValuePool.createIdentifierValue(CSSValueLineThrough);
</ins><span class="cx">         bool hasLineThrough = valueList &amp;&amp; valueList-&gt;hasValue(lineThrough.ptr());
</span><span class="cx"> 
</span><span class="cx">         if (shouldStyleWithCSS) {
</span><span class="lines">@@ -1680,8 +1685,9 @@
</span><span class="cx">     // Furthermore, text-decoration: none has been trimmed so that text-decoration property is always a CSSValueList.
</span><span class="cx">     RefPtr&lt;CSSValue&gt; textDecoration = style.getPropertyCSSValue(CSSPropertyTextDecoration);
</span><span class="cx">     if (is&lt;CSSValueList&gt;(textDecoration.get())) {
</span><del>-        RefPtr&lt;CSSPrimitiveValue&gt; underline = cssValuePool().createIdentifierValue(CSSValueUnderline);
-        RefPtr&lt;CSSPrimitiveValue&gt; lineThrough = cssValuePool().createIdentifierValue(CSSValueLineThrough);
</del><ins>+        auto&amp; cssValuePool = CSSValuePool::singleton();
+        RefPtr&lt;CSSPrimitiveValue&gt; underline = cssValuePool.createIdentifierValue(CSSValueUnderline);
+        RefPtr&lt;CSSPrimitiveValue&gt; lineThrough = cssValuePool.createIdentifierValue(CSSValueLineThrough);
</ins><span class="cx"> 
</span><span class="cx">         RefPtr&lt;CSSValueList&gt; newTextDecoration = downcast&lt;CSSValueList&gt;(*textDecoration).copy();
</span><span class="cx">         if (newTextDecoration-&gt;removeAll(underline.get()))
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingcocoaEditorCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -78,9 +78,9 @@
</span><span class="cx">         RefPtr&lt;CSSValue&gt; value = typingStyle-&gt;style()-&gt;getPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect);
</span><span class="cx">         if (value &amp;&amp; value-&gt;isValueList()) {
</span><span class="cx">             CSSValueList&amp; valueList = downcast&lt;CSSValueList&gt;(*value);
</span><del>-            if (valueList.hasValue(cssValuePool().createIdentifierValue(CSSValueLineThrough).ptr()))
</del><ins>+            if (valueList.hasValue(CSSValuePool::singleton().createIdentifierValue(CSSValueLineThrough).ptr()))
</ins><span class="cx">                 [result setObject:[NSNumber numberWithInt:NSUnderlineStyleSingle] forKey:NSStrikethroughStyleAttributeName];
</span><del>-            if (valueList.hasValue(cssValuePool().createIdentifierValue(CSSValueUnderline).ptr()))
</del><ins>+            if (valueList.hasValue(CSSValuePool::singleton().createIdentifierValue(CSSValueUnderline).ptr()))
</ins><span class="cx">                 [result setObject:[NSNumber numberWithInt:NSUnderlineStyleSingle] forKey:NSUnderlineStyleAttributeName];
</span><span class="cx">         }
</span><span class="cx">     } else {
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingmacEditorMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/mac/EditorMac.mm (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/mac/EditorMac.mm        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/editing/mac/EditorMac.mm        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -688,11 +688,12 @@
</span><span class="cx"> 
</span><span class="cx"> void Editor::applyFontStyles(const String&amp; fontFamily, double fontSize, unsigned fontTraits)
</span><span class="cx"> {
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     Ref&lt;MutableStyleProperties&gt; style = MutableStyleProperties::create();
</span><del>-    style-&gt;setProperty(CSSPropertyFontFamily, cssValuePool().createFontFamilyValue(fontFamily));
</del><ins>+    style-&gt;setProperty(CSSPropertyFontFamily, cssValuePool.createFontFamilyValue(fontFamily));
</ins><span class="cx">     style-&gt;setProperty(CSSPropertyFontStyle, (fontTraits &amp; NSFontItalicTrait) ? CSSValueItalic : CSSValueNormal);
</span><del>-    style-&gt;setProperty(CSSPropertyFontWeight, cssValuePool().createValue(fontTraits &amp; NSFontBoldTrait ? FontWeightBold : FontWeightNormal));
-    style-&gt;setProperty(CSSPropertyFontSize, cssValuePool().createValue(fontSize, CSSPrimitiveValue::CSS_PX));
</del><ins>+    style-&gt;setProperty(CSSPropertyFontWeight, cssValuePool.createValue(fontTraits &amp; NSFontBoldTrait ? FontWeightBold : FontWeightNormal));
+    style-&gt;setProperty(CSSPropertyFontSize, cssValuePool.createValue(fontSize, CSSPrimitiveValue::CSS_PX));
</ins><span class="cx">     applyStyleToSelection(style.ptr(), EditActionSetFont);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLElement.cpp (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLElement.cpp        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/html/HTMLElement.cpp        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -1150,7 +1150,7 @@
</span><span class="cx">     if (!parsedColor.isValid())
</span><span class="cx">         parsedColor.setRGB(parseColorStringWithCrazyLegacyRules(colorString));
</span><span class="cx"> 
</span><del>-    style.setProperty(propertyID, cssValuePool().createColorValue(parsedColor.rgb()));
</del><ins>+    style.setProperty(propertyID, CSSValuePool::singleton().createColorValue(parsedColor.rgb()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool HTMLElement::willRespondToMouseMoveEvents()
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFontElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFontElement.cpp (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFontElement.cpp        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/html/HTMLFontElement.cpp        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -194,7 +194,7 @@
</span><span class="cx">     } else if (name == colorAttr)
</span><span class="cx">         addHTMLColorToStyle(style, CSSPropertyColor, value);
</span><span class="cx">     else if (name == faceAttr) {
</span><del>-        if (RefPtr&lt;CSSValueList&gt; fontFaceValue = cssValuePool().createFontFaceValue(value))
</del><ins>+        if (RefPtr&lt;CSSValueList&gt; fontFaceValue = CSSValuePool::singleton().createFontFaceValue(value))
</ins><span class="cx">             style.setProperty(CSSProperty(CSSPropertyFontFamily, fontFaceValue.release()));
</span><span class="cx">     } else
</span><span class="cx">         HTMLElement::collectStyleForPresentationAttribute(name, value, style);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLHRElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLHRElement.cpp (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLHRElement.cpp        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/html/HTMLHRElement.cpp        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx">         if (!fastHasAttribute(colorAttr)) {
</span><span class="cx">             addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderStyle, CSSValueSolid);
</span><span class="cx"> 
</span><del>-            RefPtr&lt;CSSPrimitiveValue&gt; darkGrayValue = cssValuePool().createColorValue(Color::darkGray);
</del><ins>+            RefPtr&lt;CSSPrimitiveValue&gt; darkGrayValue = CSSValuePool::singleton().createColorValue(Color::darkGray);
</ins><span class="cx">             style.setProperty(CSSPropertyBorderColor, darkGrayValue);
</span><span class="cx">             style.setProperty(CSSPropertyBackgroundColor, darkGrayValue);
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableElement.cpp (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableElement.cpp        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/html/HTMLTableElement.cpp        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -473,30 +473,31 @@
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;MutableStyleProperties&gt; style = MutableStyleProperties::create();
</span><span class="cx"> 
</span><ins>+    auto&amp; cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">     switch (cellBorders()) {
</span><span class="cx">     case SolidBordersColsOnly:
</span><span class="cx">         style-&gt;setProperty(CSSPropertyBorderLeftWidth, CSSValueThin);
</span><span class="cx">         style-&gt;setProperty(CSSPropertyBorderRightWidth, CSSValueThin);
</span><span class="cx">         style-&gt;setProperty(CSSPropertyBorderLeftStyle, CSSValueSolid);
</span><span class="cx">         style-&gt;setProperty(CSSPropertyBorderRightStyle, CSSValueSolid);
</span><del>-        style-&gt;setProperty(CSSPropertyBorderColor, cssValuePool().createInheritedValue());
</del><ins>+        style-&gt;setProperty(CSSPropertyBorderColor, cssValuePool.createInheritedValue());
</ins><span class="cx">         break;
</span><span class="cx">     case SolidBordersRowsOnly:
</span><span class="cx">         style-&gt;setProperty(CSSPropertyBorderTopWidth, CSSValueThin);
</span><span class="cx">         style-&gt;setProperty(CSSPropertyBorderBottomWidth, CSSValueThin);
</span><span class="cx">         style-&gt;setProperty(CSSPropertyBorderTopStyle, CSSValueSolid);
</span><span class="cx">         style-&gt;setProperty(CSSPropertyBorderBottomStyle, CSSValueSolid);
</span><del>-        style-&gt;setProperty(CSSPropertyBorderColor, cssValuePool().createInheritedValue());
</del><ins>+        style-&gt;setProperty(CSSPropertyBorderColor, cssValuePool.createInheritedValue());
</ins><span class="cx">         break;
</span><span class="cx">     case SolidBorders:
</span><del>-        style-&gt;setProperty(CSSPropertyBorderWidth, cssValuePool().createValue(1, CSSPrimitiveValue::CSS_PX));
-        style-&gt;setProperty(CSSPropertyBorderStyle, cssValuePool().createIdentifierValue(CSSValueSolid));
-        style-&gt;setProperty(CSSPropertyBorderColor, cssValuePool().createInheritedValue());
</del><ins>+        style-&gt;setProperty(CSSPropertyBorderWidth, cssValuePool.createValue(1, CSSPrimitiveValue::CSS_PX));
+        style-&gt;setProperty(CSSPropertyBorderStyle, cssValuePool.createIdentifierValue(CSSValueSolid));
+        style-&gt;setProperty(CSSPropertyBorderColor, cssValuePool.createInheritedValue());
</ins><span class="cx">         break;
</span><span class="cx">     case InsetBorders:
</span><del>-        style-&gt;setProperty(CSSPropertyBorderWidth, cssValuePool().createValue(1, CSSPrimitiveValue::CSS_PX));
-        style-&gt;setProperty(CSSPropertyBorderStyle, cssValuePool().createIdentifierValue(CSSValueInset));
-        style-&gt;setProperty(CSSPropertyBorderColor, cssValuePool().createInheritedValue());
</del><ins>+        style-&gt;setProperty(CSSPropertyBorderWidth, cssValuePool.createValue(1, CSSPrimitiveValue::CSS_PX));
+        style-&gt;setProperty(CSSPropertyBorderStyle, cssValuePool.createIdentifierValue(CSSValueInset));
+        style-&gt;setProperty(CSSPropertyBorderColor, cssValuePool.createInheritedValue());
</ins><span class="cx">         break;
</span><span class="cx">     case NoBorders:
</span><span class="cx">         // If 'rules=none' then allow any borders set at cell level to take effect. 
</span><span class="lines">@@ -504,7 +505,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (m_padding)
</span><del>-        style-&gt;setProperty(CSSPropertyPadding, cssValuePool().createValue(m_padding, CSSPrimitiveValue::CSS_PX));
</del><ins>+        style-&gt;setProperty(CSSPropertyPadding, cssValuePool.createValue(m_padding, CSSPrimitiveValue::CSS_PX));
</ins><span class="cx"> 
</span><span class="cx">     return style;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformMemoryPressureHandlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/MemoryPressureHandler.cpp (188618 => 188619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/MemoryPressureHandler.cpp        2015-08-19 01:25:31 UTC (rev 188618)
+++ trunk/Source/WebCore/platform/MemoryPressureHandler.cpp        2015-08-19 01:28:03 UTC (rev 188619)
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx"> 
</span><span class="cx">     {
</span><span class="cx">         ReliefLogger log(&quot;Drain CSSValuePool&quot;);
</span><del>-        cssValuePool().drain();
</del><ins>+        CSSValuePool::singleton().drain();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     {
</span></span></pre>
</div>
</div>

</body>
</html>