<!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 <cdumez@apple.com>
+
+ 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 <mrajca@apple.com>
</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<CSSValue> valueForBasicShape(const RenderStyle& style, const BasicShape& basicShape)
</span><span class="cx"> {
</span><del>- CSSValuePool& pool = cssValuePool();
</del><ins>+ auto& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx">
</span><span class="cx"> RefPtr<CSSBasicShape> basicShapeValue;
</span><span class="cx"> switch (basicShape.type()) {
</span><span class="lines">@@ -74,9 +74,9 @@
</span><span class="cx"> const auto& circle = downcast<BasicShapeCircle>(basicShape);
</span><span class="cx"> auto circleValue = CSSBasicShapeCircle::create();
</span><span class="cx">
</span><del>- circleValue->setCenterX(valueForCenterCoordinate(pool, style, circle.centerX(), HORIZONTAL));
- circleValue->setCenterY(valueForCenterCoordinate(pool, style, circle.centerY(), VERTICAL));
- circleValue->setRadius(basicShapeRadiusToCSSValue(style, pool, circle.radius()));
</del><ins>+ circleValue->setCenterX(valueForCenterCoordinate(cssValuePool, style, circle.centerX(), HORIZONTAL));
+ circleValue->setCenterY(valueForCenterCoordinate(cssValuePool, style, circle.centerY(), VERTICAL));
+ circleValue->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& ellipse = downcast<BasicShapeEllipse>(basicShape);
</span><span class="cx"> auto ellipseValue = CSSBasicShapeEllipse::create();
</span><span class="cx">
</span><del>- ellipseValue->setCenterX(valueForCenterCoordinate(pool, style, ellipse.centerX(), HORIZONTAL));
- ellipseValue->setCenterY(valueForCenterCoordinate(pool, style, ellipse.centerY(), VERTICAL));
- ellipseValue->setRadiusX(basicShapeRadiusToCSSValue(style, pool, ellipse.radiusX()));
- ellipseValue->setRadiusY(basicShapeRadiusToCSSValue(style, pool, ellipse.radiusY()));
</del><ins>+ ellipseValue->setCenterX(valueForCenterCoordinate(cssValuePool, style, ellipse.centerX(), HORIZONTAL));
+ ellipseValue->setCenterY(valueForCenterCoordinate(cssValuePool, style, ellipse.centerY(), VERTICAL));
+ ellipseValue->setRadiusX(basicShapeRadiusToCSSValue(style, cssValuePool, ellipse.radiusX()));
+ ellipseValue->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->setWindRule(polygon.windRule());
</span><span class="cx"> const Vector<Length>& values = polygon.values();
</span><span class="cx"> for (unsigned i = 0; i < values.size(); i += 2)
</span><del>- polygonValue->appendPoint(pool.createValue(values.at(i), style), pool.createValue(values.at(i + 1), style));
</del><ins>+ polygonValue->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& inset = downcast<BasicShapeInset>(basicShape);
</span><span class="cx"> auto insetValue = CSSBasicShapeInset::create();
</span><span class="cx">
</span><del>- insetValue->setTop(pool.createValue(inset.top(), style));
- insetValue->setRight(pool.createValue(inset.right(), style));
- insetValue->setBottom(pool.createValue(inset.bottom(), style));
- insetValue->setLeft(pool.createValue(inset.left(), style));
</del><ins>+ insetValue->setTop(cssValuePool.createValue(inset.top(), style));
+ insetValue->setRight(cssValuePool.createValue(inset.right(), style));
+ insetValue->setBottom(cssValuePool.createValue(inset.bottom(), style));
+ insetValue->setLeft(cssValuePool.createValue(inset.left(), style));
</ins><span class="cx">
</span><del>- insetValue->setTopLeftRadius(pool.createValue(inset.topLeftRadius(), style));
- insetValue->setTopRightRadius(pool.createValue(inset.topRightRadius(), style));
- insetValue->setBottomRightRadius(pool.createValue(inset.bottomRightRadius(), style));
- insetValue->setBottomLeftRadius(pool.createValue(inset.bottomLeftRadius(), style));
</del><ins>+ insetValue->setTopLeftRadius(cssValuePool.createValue(inset.topLeftRadius(), style));
+ insetValue->setTopRightRadius(cssValuePool.createValue(inset.topRightRadius(), style));
+ insetValue->setBottomRightRadius(cssValuePool.createValue(inset.bottomRightRadius(), style));
+ insetValue->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& 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& 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"> && amount->isPercentage()) {
</span><span class="cx"> side = defaultSide;
</span><del>- amount = cssValuePool().createValue(Length(100 - amount->getFloatValue(), Percent));
</del><ins>+ amount = cssValuePool.createValue(Length(100 - amount->getFloatValue(), Percent));
</ins><span class="cx"> } else if (amount->isLength() && !amount->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& radius, const String& centerX, const String& centerY, const String& 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<CSSBorderImageSliceValue> valueForNinePieceImageSlice(const NinePieceImage& image)
</span><span class="lines">@@ -535,7 +535,7 @@
</span><span class="cx"> quad->setBottom(bottom.release());
</span><span class="cx"> quad->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<CSSPrimitiveValue> valueForNinePieceImageQuad(const LengthBox& box)
</span><span class="lines">@@ -545,10 +545,12 @@
</span><span class="cx"> RefPtr<CSSPrimitiveValue> bottom;
</span><span class="cx"> RefPtr<CSSPrimitiveValue> left;
</span><span class="cx">
</span><ins>+ auto& 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() && box.bottom() == box.top() && 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() && 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->setBottom(bottom);
</span><span class="cx"> quad->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<CSSValue> valueForNinePieceImageRepeat(const NinePieceImage& image)
</span><span class="cx"> {
</span><del>- RefPtr<CSSPrimitiveValue> horizontalRepeat;
</del><ins>+ auto& cssValuePool = CSSValuePool::singleton();
+ RefPtr<CSSPrimitiveValue> horizontalRepeat = cssValuePool.createIdentifierValue(valueForRepeatRule(image.horizontalRule()));
+
</ins><span class="cx"> RefPtr<CSSPrimitiveValue> 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<CSSValue> valueForNinePieceImage(const NinePieceImage& 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<CSSValue> imageValue;
</span><span class="lines">@@ -629,45 +631,45 @@
</span><span class="cx">
</span><span class="cx"> inline static Ref<CSSPrimitiveValue> zoomAdjustedPixelValue(double value, const RenderStyle& 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<CSSPrimitiveValue> zoomAdjustedNumberValue(double value, const RenderStyle& 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<CSSValue> zoomAdjustedPixelValueForLength(const Length& length, const RenderStyle& 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<CSSValue> valueForReflection(const StyleReflection* reflection, const RenderStyle& 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<CSSPrimitiveValue> offset;
</span><span class="cx"> if (reflection->offset().isPercentOrCalculated())
</span><del>- offset = cssValuePool().createValue(reflection->offset().percent(), CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+ offset = CSSValuePool::singleton().createValue(reflection->offset().percent(), CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx"> else
</span><span class="cx"> offset = zoomAdjustedPixelValue(reflection->offset().value(), style);
</span><span class="cx">
</span><span class="cx"> RefPtr<CSSPrimitiveValue> direction;
</span><span class="cx"> switch (reflection->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->isBackgroundOriginSet()) {
</span><span class="cx"> ASSERT_UNUSED(propertyID, propertyID == CSSPropertyBackgroundPosition || propertyID == CSSPropertyWebkitMaskPosition);
</span><del>- positionList.get().append(cssValuePool().createValue(layer->backgroundXOrigin()));
</del><ins>+ positionList.get().append(CSSValuePool::singleton().createValue(layer->backgroundXOrigin()));
</ins><span class="cx"> }
</span><span class="cx"> positionList.get().append(zoomAdjustedPixelValueForLength(layer->xPosition(), style));
</span><span class="cx"> if (layer->isBackgroundOriginSet()) {
</span><span class="cx"> ASSERT(propertyID == CSSPropertyBackgroundPosition || propertyID == CSSPropertyWebkitMaskPosition);
</span><del>- positionList.get().append(cssValuePool().createValue(layer->backgroundYOrigin()));
</del><ins>+ positionList.get().append(CSSValuePool::singleton().createValue(layer->backgroundYOrigin()));
</ins><span class="cx"> }
</span><span class="cx"> positionList.get().append(zoomAdjustedPixelValueForLength(layer->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 "auto" 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<CSSPrimitiveValue> ComputedStyleExtractor::currentColorOrValidColor(RenderStyle* style, const Color& 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->color().rgb());
- return cssValuePool().createColorValue(color.rgb());
</del><ins>+ return CSSValuePool::singleton().createColorValue(style->color().rgb());
+ return CSSValuePool::singleton().createColorValue(color.rgb());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static Ref<CSSPrimitiveValue> percentageOrZoomAdjustedValue(Length length, const RenderStyle& 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<CSSPrimitiveValue> autoOrZoomAdjustedValue(Length length, const RenderStyle& 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<WebKitCSSTransformValue> matrixTransformValue(const TransformationMatrix& transform, const RenderStyle& style)
</span><span class="cx"> {
</span><span class="cx"> RefPtr<WebKitCSSTransformValue> transformValue;
</span><ins>+ auto& 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->append(cssValuePool().createValue(transform.a(), CSSPrimitiveValue::CSS_NUMBER));
- transformValue->append(cssValuePool().createValue(transform.b(), CSSPrimitiveValue::CSS_NUMBER));
- transformValue->append(cssValuePool().createValue(transform.c(), CSSPrimitiveValue::CSS_NUMBER));
- transformValue->append(cssValuePool().createValue(transform.d(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ transformValue->append(cssValuePool.createValue(transform.a(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool.createValue(transform.b(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool.createValue(transform.c(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool.createValue(transform.d(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx"> transformValue->append(zoomAdjustedNumberValue(transform.e(), style));
</span><span class="cx"> transformValue->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->append(cssValuePool().createValue(transform.m11(), CSSPrimitiveValue::CSS_NUMBER));
- transformValue->append(cssValuePool().createValue(transform.m12(), CSSPrimitiveValue::CSS_NUMBER));
- transformValue->append(cssValuePool().createValue(transform.m13(), CSSPrimitiveValue::CSS_NUMBER));
- transformValue->append(cssValuePool().createValue(transform.m14(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ transformValue->append(cssValuePool.createValue(transform.m11(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool.createValue(transform.m12(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool.createValue(transform.m13(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool.createValue(transform.m14(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">
</span><del>- transformValue->append(cssValuePool().createValue(transform.m21(), CSSPrimitiveValue::CSS_NUMBER));
- transformValue->append(cssValuePool().createValue(transform.m22(), CSSPrimitiveValue::CSS_NUMBER));
- transformValue->append(cssValuePool().createValue(transform.m23(), CSSPrimitiveValue::CSS_NUMBER));
- transformValue->append(cssValuePool().createValue(transform.m24(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ transformValue->append(cssValuePool.createValue(transform.m21(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool.createValue(transform.m22(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool.createValue(transform.m23(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool.createValue(transform.m24(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">
</span><del>- transformValue->append(cssValuePool().createValue(transform.m31(), CSSPrimitiveValue::CSS_NUMBER));
- transformValue->append(cssValuePool().createValue(transform.m32(), CSSPrimitiveValue::CSS_NUMBER));
- transformValue->append(cssValuePool().createValue(transform.m33(), CSSPrimitiveValue::CSS_NUMBER));
- transformValue->append(cssValuePool().createValue(transform.m34(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ transformValue->append(cssValuePool.createValue(transform.m31(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool.createValue(transform.m32(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool.createValue(transform.m33(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool.createValue(transform.m34(), CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx">
</span><span class="cx"> transformValue->append(zoomAdjustedNumberValue(transform.m41(), style));
</span><span class="cx"> transformValue->append(zoomAdjustedNumberValue(transform.m42(), style));
</span><span class="cx"> transformValue->append(zoomAdjustedNumberValue(transform.m43(), style));
</span><del>- transformValue->append(cssValuePool().createValue(transform.m44(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ transformValue->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<CSSValue> computedTransform(RenderObject* renderer, const RenderStyle& style)
</span><span class="cx"> {
</span><span class="cx"> if (!renderer || !renderer->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<RenderBox>(*renderer))
</span><span class="lines">@@ -878,18 +881,19 @@
</span><span class="cx">
</span><span class="cx"> static inline Ref<CSSPrimitiveValue> adjustLengthForZoom(double length, const RenderStyle& 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<CSSPrimitiveValue> adjustLengthForZoom(const Length& length, const RenderStyle& 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<CSSValue> ComputedStyleExtractor::valueForShadow(const ShadowData* shadow, CSSPropertyID propertyID, const RenderStyle& style, AdjustPixelValuesForComputedStyle adjust)
</span><span class="cx"> {
</span><ins>+ auto& 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->next()) {
</span><span class="lines">@@ -897,8 +901,8 @@
</span><span class="cx"> RefPtr<CSSPrimitiveValue> y = adjustLengthForZoom(currShadowData->y(), style, adjust);
</span><span class="cx"> RefPtr<CSSPrimitiveValue> blur = adjustLengthForZoom(currShadowData->radius(), style, adjust);
</span><span class="cx"> RefPtr<CSSPrimitiveValue> spread = propertyID == CSSPropertyTextShadow ? PassRefPtr<CSSPrimitiveValue>() : adjustLengthForZoom(currShadowData->spread(), style, adjust);
</span><del>- RefPtr<CSSPrimitiveValue> style = propertyID == CSSPropertyTextShadow || currShadowData->style() == Normal ? PassRefPtr<CSSPrimitiveValue>() : cssValuePool().createIdentifierValue(CSSValueInset);
- RefPtr<CSSPrimitiveValue> color = cssValuePool().createColorValue(currShadowData->color().rgb());
</del><ins>+ RefPtr<CSSPrimitiveValue> style = propertyID == CSSPropertyTextShadow || currShadowData->style() == Normal ? PassRefPtr<CSSPrimitiveValue>() : cssValuePool.createIdentifierValue(CSSValueInset);
+ RefPtr<CSSPrimitiveValue> color = cssValuePool.createColorValue(currShadowData->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<CSSValue> ComputedStyleExtractor::valueForFilter(const RenderStyle& style, const FilterOperations& filterOperations, AdjustPixelValuesForComputedStyle adjust)
</span><span class="cx"> {
</span><ins>+ auto& 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& referenceOperation = downcast<ReferenceFilterOperation>(filterOperation);
</span><span class="cx"> filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::ReferenceFilterOperation);
</span><del>- filterValue->append(cssValuePool().createValue(referenceOperation.url(), CSSPrimitiveValue::CSS_URI));
</del><ins>+ filterValue->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& colorMatrixOperation = downcast<BasicColorMatrixFilterOperation>(filterOperation);
</span><span class="cx"> filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::GrayscaleFilterOperation);
</span><del>- filterValue->append(cssValuePool().createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ filterValue->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& colorMatrixOperation = downcast<BasicColorMatrixFilterOperation>(filterOperation);
</span><span class="cx"> filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::SepiaFilterOperation);
</span><del>- filterValue->append(cssValuePool().createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ filterValue->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& colorMatrixOperation = downcast<BasicColorMatrixFilterOperation>(filterOperation);
</span><span class="cx"> filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::SaturateFilterOperation);
</span><del>- filterValue->append(cssValuePool().createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ filterValue->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& colorMatrixOperation = downcast<BasicColorMatrixFilterOperation>(filterOperation);
</span><span class="cx"> filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::HueRotateFilterOperation);
</span><del>- filterValue->append(cssValuePool().createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_DEG));
</del><ins>+ filterValue->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& componentTransferOperation = downcast<BasicComponentTransferFilterOperation>(filterOperation);
</span><span class="cx"> filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::InvertFilterOperation);
</span><del>- filterValue->append(cssValuePool().createValue(componentTransferOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ filterValue->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& componentTransferOperation = downcast<BasicComponentTransferFilterOperation>(filterOperation);
</span><span class="cx"> filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::OpacityFilterOperation);
</span><del>- filterValue->append(cssValuePool().createValue(componentTransferOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ filterValue->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& brightnessOperation = downcast<BasicComponentTransferFilterOperation>(filterOperation);
</span><span class="cx"> filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::BrightnessFilterOperation);
</span><del>- filterValue->append(cssValuePool().createValue(brightnessOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ filterValue->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& contrastOperation = downcast<BasicComponentTransferFilterOperation>(filterOperation);
</span><span class="cx"> filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::ContrastFilterOperation);
</span><del>- filterValue->append(cssValuePool().createValue(contrastOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ filterValue->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<CSSValue> specifiedValueForGridTrackBreadth(const GridLength& trackBreadth, const RenderStyle& 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& 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& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> RefPtr<CSSGridLineNamesValue> lineNames = CSSGridLineNamesValue::create();
</span><span class="cx"> for (auto& name : namedGridLines)
</span><del>- lineNames->append(cssValuePool().createValue(name, CSSPrimitiveValue::CSS_STRING));
</del><ins>+ lineNames->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<CSSValue> valueForGridPosition(const GridPosition& position)
</span><span class="cx"> {
</span><ins>+ auto& 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<CSSValue> createTransitionPropertyValue(const Animation& 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<CSSValueList> getTransitionPropertyValue(const AnimationList* animList)
</span><span class="lines">@@ -1116,7 +1123,7 @@
</span><span class="cx"> for (size_t i = 0; i < animList->size(); ++i)
</span><span class="cx"> list.get().append(createTransitionPropertyValue(animList->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<CSSValue> scrollSnapPoints(RenderStyle& 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->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& point : points->offsets)
</span><span class="cx"> list.get().append(zoomAdjustedPixelValueForLength(point, style));
</span><span class="cx"> if (points->hasRepeat)
</span><del>- list.get().append(cssValuePool().createValue(LengthRepeat::create(zoomAdjustedPixelValueForLength(points->repeatOffset, style))));
</del><ins>+ list.get().append(CSSValuePool::singleton().createValue(LengthRepeat::create(zoomAdjustedPixelValueForLength(points->repeatOffset, style))));
</ins><span class="cx"> return WTF::move(list);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static Ref<CSSValue> scrollSnapCoordinates(RenderStyle& style, const Vector<LengthSize>& 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<CSSValue> getWillChangePropertyValue(const WillChangeData* willChangeData)
</span><span class="cx"> {
</span><ins>+ auto& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> if (!willChangeData || !willChangeData->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 < willChangeData->numFeatures(); ++i) {
</span><span class="cx"> WillChangeData::FeaturePropertyPair feature = willChangeData->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<CSSValueList> getDelayValue(const AnimationList* animList)
</span><span class="cx"> {
</span><ins>+ auto& 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 < animList->size(); ++i)
</span><del>- list.get().append(cssValuePool().createValue(animList->animation(i).delay(), CSSPrimitiveValue::CSS_S));
</del><ins>+ list.get().append(cssValuePool.createValue(animList->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<CSSValueList> getDurationValue(const AnimationList* animList)
</span><span class="cx"> {
</span><ins>+ auto& 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 < animList->size(); ++i)
</span><del>- list.get().append(cssValuePool().createValue(animList->animation(i).duration(), CSSPrimitiveValue::CSS_S));
</del><ins>+ list.get().append(cssValuePool.createValue(animList->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->x1(), bezierTimingFunction->y1(), bezierTimingFunction->x2(), bezierTimingFunction->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->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->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<CSSValue> 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->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->fontDescription().computedPixelSize(), *style);
</span><span class="cx"> }
</span><span class="lines">@@ -1405,27 +1415,28 @@
</span><span class="cx"> static Ref<CSSPrimitiveValue> valueForFamily(const AtomicString& 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<CSSValue> renderTextDecorationFlagsToCSSValue(int textDecoration)
</span><span class="cx"> {
</span><ins>+ auto& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> // Blink value is ignored.
</span><span class="cx"> RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
</span><span class="cx"> if (textDecoration & TextDecorationUnderline)
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueUnderline));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueUnderline));
</ins><span class="cx"> if (textDecoration & TextDecorationOverline)
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueOverline));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueOverline));
</ins><span class="cx"> if (textDecoration & TextDecorationLineThrough)
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueLineThrough));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueLineThrough));
</ins><span class="cx"> #if ENABLE(LETTERPRESS)
</span><span class="cx"> if (textDecoration & TextDecorationLetterpress)
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueWebkitLetterpress));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueWebkitLetterpress));
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> if (!list->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<CSSValue> 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<CSSValue> renderEmphasisPositionFlagsToCSSValue(TextEmphasisPosition textEmphasisPosition)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(!((textEmphasisPosition & TextEmphasisPositionOver) && (textEmphasisPosition & TextEmphasisPositionUnder)));
</span><span class="cx"> ASSERT(!((textEmphasisPosition & TextEmphasisPositionLeft) && (textEmphasisPosition & TextEmphasisPositionRight)));
</span><ins>+ auto& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
</span><span class="cx"> if (textEmphasisPosition & TextEmphasisPositionOver)
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueOver));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueOver));
</ins><span class="cx"> if (textEmphasisPosition & TextEmphasisPositionUnder)
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueUnder));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueUnder));
</ins><span class="cx"> if (textEmphasisPosition & TextEmphasisPositionLeft)
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueLeft));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueLeft));
</ins><span class="cx"> if (textEmphasisPosition & TextEmphasisPositionRight)
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueRight));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueRight));
</ins><span class="cx">
</span><span class="cx"> if (!list->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& 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 && yRepeat == NoRepeatFill)
</span><del>- return cssValuePool().createIdentifierValue(CSSValueRepeatX);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueRepeatX);
</ins><span class="cx"> if (xRepeat == NoRepeatFill && 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<CSSValue> fillSizeToCSSValue(const FillSize& fillSize, const RenderStyle& 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<CSSValue> altTextToCSSValue(const RenderStyle* style)
</span><span class="cx"> {
</span><del>- return cssValuePool().createValue(style->contentAltText(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+ return CSSValuePool::singleton().createValue(style->contentAltText(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static Ref<CSSValueList> contentToCSSValue(const RenderStyle* style)
</span><span class="cx"> {
</span><ins>+ auto& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> auto list = CSSValueList::createSpaceSeparated();
</span><span class="cx"> for (const ContentData* contentData = style->contentData(); contentData; contentData = contentData->next()) {
</span><span class="cx"> if (is<CounterContentData>(*contentData))
</span><del>- list.get().append(cssValuePool().createValue(downcast<CounterContentData>(*contentData).counter().identifier(), CSSPrimitiveValue::CSS_COUNTER_NAME));
</del><ins>+ list.get().append(cssValuePool.createValue(downcast<CounterContentData>(*contentData).counter().identifier(), CSSPrimitiveValue::CSS_COUNTER_NAME));
</ins><span class="cx"> else if (is<ImageContentData>(*contentData))
</span><span class="cx"> list.get().append(*downcast<ImageContentData>(*contentData).image().cssValue());
</span><span class="cx"> else if (is<TextContentData>(*contentData))
</span><del>- list.get().append(cssValuePool().createValue(downcast<TextContentData>(*contentData).text(), CSSPrimitiveValue::CSS_STRING));
</del><ins>+ list.get().append(cssValuePool.createValue(downcast<TextContentData>(*contentData).text(), CSSPrimitiveValue::CSS_STRING));
</ins><span class="cx"> }
</span><span class="cx"> if (style->hasFlowFrom())
</span><del>- list.get().append(cssValuePool().createValue(style->regionThread(), CSSPrimitiveValue::CSS_STRING));
</del><ins>+ list.get().append(cssValuePool.createValue(style->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& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
</span><span class="cx"> for (CounterDirectiveMap::const_iterator it = map->begin(); it != map->end(); ++it) {
</span><del>- list->append(cssValuePool().createValue(it->key, CSSPrimitiveValue::CSS_STRING));
</del><ins>+ list->append(cssValuePool.createValue(it->key, CSSPrimitiveValue::CSS_STRING));
</ins><span class="cx"> short number = propertyID == CSSPropertyCounterIncrement ? it->value.incrementValue() : it->value.resetValue();
</span><del>- list->append(cssValuePool().createValue((double)number, CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ list->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<CSSPrimitiveValue> fontStyleFromStyle(RenderStyle* style)
</span><span class="cx"> {
</span><span class="cx"> if (style->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<CSSPrimitiveValue> fontVariantFromStyle(RenderStyle* style)
</span><span class="cx"> {
</span><span class="cx"> if (style->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<CSSPrimitiveValue> fontWeightFromStyle(RenderStyle* style)
</span><span class="cx"> {
</span><span class="cx"> switch (style->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<CSSValue> fontSynthesisFromStyle(RenderStyle& 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() & 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() & FontSynthesisWeight)
</span><del>- list.get().append(cssValuePool().createIdentifierValue(CSSValueWeight));
</del><ins>+ list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueWeight));
</ins><span class="cx"> return Ref<CSSValue>(list.get());
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1836,15 +1851,15 @@
</span><span class="cx"> static Ref<CSSValue> shapePropertyValue(const RenderStyle& 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->type() == ShapeValue::Type::Box)
</span><del>- return cssValuePool().createValue(shapeValue->cssBox());
</del><ins>+ return CSSValuePool::singleton().createValue(shapeValue->cssBox());
</ins><span class="cx">
</span><span class="cx"> if (shapeValue->type() == ShapeValue::Type::Image) {
</span><span class="cx"> if (shapeValue->image())
</span><span class="cx"> return *shapeValue->image()->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->type() == ShapeValue::Type::Shape);
</span><span class="lines">@@ -1852,19 +1867,20 @@
</span><span class="cx"> RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
</span><span class="cx"> list->append(valueForBasicShape(style, *shapeValue->shape()));
</span><span class="cx"> if (shapeValue->cssBox() != BoxMissing)
</span><del>- list->append(cssValuePool().createValue(shapeValue->cssBox()));
</del><ins>+ list->append(CSSValuePool::singleton().createValue(shapeValue->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<CSSValueList> valueForItemPositionWithOverflowAlignment(ItemPosition itemPosition, OverflowAlignment overflowAlignment, ItemPositionType positionType)
</span><span class="cx"> {
</span><ins>+ auto& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> RefPtr<CSSValueList> result = CSSValueList::createSpaceSeparated();
</span><span class="cx"> if (positionType == LegacyPosition)
</span><span class="cx"> result->append(CSSPrimitiveValue::createIdentifier(CSSValueLegacy));
</span><del>- result->append(cssValuePool().createValue(itemPosition));
</del><ins>+ result->append(cssValuePool.createValue(itemPosition));
</ins><span class="cx"> if (overflowAlignment != OverflowAlignmentDefault)
</span><del>- result->append(cssValuePool().createValue(overflowAlignment));
</del><ins>+ result->append(cssValuePool.createValue(overflowAlignment));
</ins><span class="cx"> ASSERT(result->length() <= 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& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> propertyID = CSSProperty::resolveDirectionAwareProperty(propertyID, style->direction(), style->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->visitedDependentColor(CSSPropertyBackgroundColor).rgb() : style->backgroundColor().rgb());
</del><ins>+ return cssValuePool.createColorValue(m_allowVisitedStyle? style->visitedDependentColor(CSSPropertyBackgroundColor).rgb() : style->backgroundColor().rgb());
</ins><span class="cx"> case CSSPropertyBackgroundImage:
</span><span class="cx"> case CSSPropertyWebkitMaskImage: {
</span><span class="cx"> const FillLayer* layers = propertyID == CSSPropertyWebkitMaskImage ? style->maskLayers() : style->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->next()) {
</span><span class="cx"> if (layers->image())
</span><span class="cx"> return layers->image()->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<CSSValueList> list = CSSValueList::createCommaSeparated();
</span><span class="lines">@@ -1953,7 +1970,7 @@
</span><span class="cx"> if (currLayer->image())
</span><span class="cx"> list->append(*currLayer->image()->cssValue());
</span><span class="cx"> else
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueNone));
</del><ins>+ list->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->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->next())
</span><span class="cx"> return fillSourceTypeToCSSValue(layers->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->maskLayers() : style->backgroundLayers();
</span><span class="cx"> if (!layers->next())
</span><del>- return cssValuePool().createValue(layers->composite());
</del><ins>+ return cssValuePool.createValue(layers->composite());
</ins><span class="cx">
</span><span class="cx"> RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated();
</span><span class="cx"> for (const FillLayer* currLayer = layers; currLayer; currLayer = currLayer->next())
</span><del>- list->append(cssValuePool().createValue(currLayer->composite()));
</del><ins>+ list->append(cssValuePool.createValue(currLayer->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->backgroundLayers();
</span><span class="cx"> if (!layers->next())
</span><del>- return cssValuePool().createValue(layers->attachment());
</del><ins>+ return cssValuePool.createValue(layers->attachment());
</ins><span class="cx">
</span><span class="cx"> RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated();
</span><span class="cx"> for (const FillLayer* currLayer = layers; currLayer; currLayer = currLayer->next())
</span><del>- list->append(cssValuePool().createValue(currLayer->attachment()));
</del><ins>+ list->append(cssValuePool.createValue(currLayer->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->next()) {
</span><span class="cx"> EFillBox box = isClip ? layers->clip() : layers->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<CSSValueList> list = CSSValueList::createCommaSeparated();
</span><span class="cx"> for (const FillLayer* currLayer = layers; currLayer; currLayer = currLayer->next()) {
</span><span class="cx"> EFillBox box = isClip ? currLayer->clip() : currLayer->origin();
</span><del>- list->append(cssValuePool().createValue(box));
</del><ins>+ list->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->maskLayers() : style->backgroundLayers();
</span><span class="cx"> if (!layers->next())
</span><del>- return cssValuePool().createValue(layers->xPosition());
</del><ins>+ return cssValuePool.createValue(layers->xPosition());
</ins><span class="cx">
</span><span class="cx"> RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated();
</span><span class="cx"> for (const FillLayer* currLayer = layers; currLayer; currLayer = currLayer->next())
</span><del>- list->append(cssValuePool().createValue(currLayer->xPosition()));
</del><ins>+ list->append(cssValuePool.createValue(currLayer->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->maskLayers() : style->backgroundLayers();
</span><span class="cx"> if (!layers->next())
</span><del>- return cssValuePool().createValue(layers->yPosition());
</del><ins>+ return cssValuePool.createValue(layers->yPosition());
</ins><span class="cx">
</span><span class="cx"> RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated();
</span><span class="cx"> for (const FillLayer* currLayer = layers; currLayer; currLayer = currLayer->next())
</span><del>- list->append(cssValuePool().createValue(currLayer->yPosition()));
</del><ins>+ list->append(cssValuePool.createValue(currLayer->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->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<CSSValueList> list = CSSValueList::createSpaceSeparated();
</span><span class="cx"> list->append(zoomAdjustedPixelValue(style->horizontalBorderSpacing(), *style));
</span><span class="lines">@@ -2093,23 +2110,23 @@
</span><span class="cx"> case CSSPropertyBorderImageSource:
</span><span class="cx"> if (style->borderImageSource())
</span><span class="cx"> return style->borderImageSource()->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->visitedDependentColor(CSSPropertyBorderTopColor).rgb()) : currentColorOrValidColor(style.get(), style->borderTopColor());
</del><ins>+ return m_allowVisitedStyle ? cssValuePool.createColorValue(style->visitedDependentColor(CSSPropertyBorderTopColor).rgb()) : currentColorOrValidColor(style.get(), style->borderTopColor());
</ins><span class="cx"> case CSSPropertyBorderRightColor:
</span><del>- return m_allowVisitedStyle ? cssValuePool().createColorValue(style->visitedDependentColor(CSSPropertyBorderRightColor).rgb()) : currentColorOrValidColor(style.get(), style->borderRightColor());
</del><ins>+ return m_allowVisitedStyle ? cssValuePool.createColorValue(style->visitedDependentColor(CSSPropertyBorderRightColor).rgb()) : currentColorOrValidColor(style.get(), style->borderRightColor());
</ins><span class="cx"> case CSSPropertyBorderBottomColor:
</span><del>- return m_allowVisitedStyle ? cssValuePool().createColorValue(style->visitedDependentColor(CSSPropertyBorderBottomColor).rgb()) : currentColorOrValidColor(style.get(), style->borderBottomColor());
</del><ins>+ return m_allowVisitedStyle ? cssValuePool.createColorValue(style->visitedDependentColor(CSSPropertyBorderBottomColor).rgb()) : currentColorOrValidColor(style.get(), style->borderBottomColor());
</ins><span class="cx"> case CSSPropertyBorderLeftColor:
</span><del>- return m_allowVisitedStyle ? cssValuePool().createColorValue(style->visitedDependentColor(CSSPropertyBorderLeftColor).rgb()) : currentColorOrValidColor(style.get(), style->borderLeftColor());
</del><ins>+ return m_allowVisitedStyle ? cssValuePool.createColorValue(style->visitedDependentColor(CSSPropertyBorderLeftColor).rgb()) : currentColorOrValidColor(style.get(), style->borderLeftColor());
</ins><span class="cx"> case CSSPropertyBorderTopStyle:
</span><del>- return cssValuePool().createValue(style->borderTopStyle());
</del><ins>+ return cssValuePool.createValue(style->borderTopStyle());
</ins><span class="cx"> case CSSPropertyBorderRightStyle:
</span><del>- return cssValuePool().createValue(style->borderRightStyle());
</del><ins>+ return cssValuePool.createValue(style->borderRightStyle());
</ins><span class="cx"> case CSSPropertyBorderBottomStyle:
</span><del>- return cssValuePool().createValue(style->borderBottomStyle());
</del><ins>+ return cssValuePool.createValue(style->borderBottomStyle());
</ins><span class="cx"> case CSSPropertyBorderLeftStyle:
</span><del>- return cssValuePool().createValue(style->borderLeftStyle());
</del><ins>+ return cssValuePool.createValue(style->borderLeftStyle());
</ins><span class="cx"> case CSSPropertyBorderTopWidth:
</span><span class="cx"> return zoomAdjustedPixelValue(style->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->boxAlign());
</del><ins>+ return cssValuePool.createValue(style->boxAlign());
</ins><span class="cx"> #if ENABLE(CSS_BOX_DECORATION_BREAK)
</span><span class="cx"> case CSSPropertyWebkitBoxDecorationBreak:
</span><span class="cx"> if (style->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->boxDirection());
</del><ins>+ return cssValuePool.createValue(style->boxDirection());
</ins><span class="cx"> case CSSPropertyWebkitBoxFlex:
</span><del>- return cssValuePool().createValue(style->boxFlex(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ return cssValuePool.createValue(style->boxFlex(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> case CSSPropertyWebkitBoxFlexGroup:
</span><del>- return cssValuePool().createValue(style->boxFlexGroup(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ return cssValuePool.createValue(style->boxFlexGroup(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> case CSSPropertyWebkitBoxLines:
</span><del>- return cssValuePool().createValue(style->boxLines());
</del><ins>+ return cssValuePool.createValue(style->boxLines());
</ins><span class="cx"> case CSSPropertyWebkitBoxOrdinalGroup:
</span><del>- return cssValuePool().createValue(style->boxOrdinalGroup(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ return cssValuePool.createValue(style->boxOrdinalGroup(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> case CSSPropertyWebkitBoxOrient:
</span><del>- return cssValuePool().createValue(style->boxOrient());
</del><ins>+ return cssValuePool.createValue(style->boxOrient());
</ins><span class="cx"> case CSSPropertyWebkitBoxPack:
</span><del>- return cssValuePool().createValue(style->boxPack());
</del><ins>+ return cssValuePool.createValue(style->boxPack());
</ins><span class="cx"> case CSSPropertyWebkitBoxReflect:
</span><span class="cx"> return valueForReflection(style->boxReflect(), *style);
</span><span class="cx"> case CSSPropertyBoxShadow:
</span><span class="cx"> case CSSPropertyWebkitBoxShadow:
</span><span class="cx"> return valueForShadow(style->boxShadow(), propertyID, *style);
</span><span class="cx"> case CSSPropertyCaptionSide:
</span><del>- return cssValuePool().createValue(style->captionSide());
</del><ins>+ return cssValuePool.createValue(style->captionSide());
</ins><span class="cx"> case CSSPropertyClear:
</span><del>- return cssValuePool().createValue(style->clear());
</del><ins>+ return cssValuePool.createValue(style->clear());
</ins><span class="cx"> case CSSPropertyColor:
</span><del>- return cssValuePool().createColorValue(m_allowVisitedStyle ? style->visitedDependentColor(CSSPropertyColor).rgb() : style->color().rgb());
</del><ins>+ return cssValuePool.createColorValue(m_allowVisitedStyle ? style->visitedDependentColor(CSSPropertyColor).rgb() : style->color().rgb());
</ins><span class="cx"> case CSSPropertyWebkitPrintColorAdjust:
</span><del>- return cssValuePool().createValue(style->printColorAdjust());
</del><ins>+ return cssValuePool.createValue(style->printColorAdjust());
</ins><span class="cx"> case CSSPropertyWebkitColumnAxis:
</span><del>- return cssValuePool().createValue(style->columnAxis());
</del><ins>+ return cssValuePool.createValue(style->columnAxis());
</ins><span class="cx"> case CSSPropertyColumnCount:
</span><span class="cx"> if (style->hasAutoColumnCount())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueAuto);
- return cssValuePool().createValue(style->columnCount(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueAuto);
+ return cssValuePool.createValue(style->columnCount(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> case CSSPropertyColumnFill:
</span><del>- return cssValuePool().createValue(style->columnFill());
</del><ins>+ return cssValuePool.createValue(style->columnFill());
</ins><span class="cx"> case CSSPropertyColumnGap:
</span><span class="cx"> if (style->hasNormalColumnGap())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueNormal);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueNormal);
</ins><span class="cx"> return zoomAdjustedPixelValue(style->columnGap(), *style);
</span><span class="cx"> case CSSPropertyColumnProgression:
</span><del>- return cssValuePool().createValue(style->columnProgression());
</del><ins>+ return cssValuePool.createValue(style->columnProgression());
</ins><span class="cx"> case CSSPropertyColumnRuleColor:
</span><del>- return m_allowVisitedStyle ? cssValuePool().createColorValue(style->visitedDependentColor(CSSPropertyOutlineColor).rgb()) : currentColorOrValidColor(style.get(), style->columnRuleColor());
</del><ins>+ return m_allowVisitedStyle ? cssValuePool.createColorValue(style->visitedDependentColor(CSSPropertyOutlineColor).rgb()) : currentColorOrValidColor(style.get(), style->columnRuleColor());
</ins><span class="cx"> case CSSPropertyColumnRuleStyle:
</span><del>- return cssValuePool().createValue(style->columnRuleStyle());
</del><ins>+ return cssValuePool.createValue(style->columnRuleStyle());
</ins><span class="cx"> case CSSPropertyColumnRuleWidth:
</span><span class="cx"> return zoomAdjustedPixelValue(style->columnRuleWidth(), *style);
</span><span class="cx"> case CSSPropertyColumnSpan:
</span><del>- return cssValuePool().createIdentifierValue(style->columnSpan() ? CSSValueAll : CSSValueNone);
</del><ins>+ return cssValuePool.createIdentifierValue(style->columnSpan() ? CSSValueAll : CSSValueNone);
</ins><span class="cx"> case CSSPropertyWebkitColumnBreakAfter:
</span><del>- return cssValuePool().createValue(style->columnBreakAfter());
</del><ins>+ return cssValuePool.createValue(style->columnBreakAfter());
</ins><span class="cx"> case CSSPropertyWebkitColumnBreakBefore:
</span><del>- return cssValuePool().createValue(style->columnBreakBefore());
</del><ins>+ return cssValuePool.createValue(style->columnBreakBefore());
</ins><span class="cx"> case CSSPropertyWebkitColumnBreakInside:
</span><del>- return cssValuePool().createValue(style->columnBreakInside());
</del><ins>+ return cssValuePool.createValue(style->columnBreakInside());
</ins><span class="cx"> case CSSPropertyColumnWidth:
</span><span class="cx"> if (style->hasAutoColumnWidth())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueAuto);
</ins><span class="cx"> return zoomAdjustedPixelValue(style->columnWidth(), *style);
</span><span class="cx"> case CSSPropertyTabSize:
</span><del>- return cssValuePool().createValue(style->tabSize(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ return cssValuePool.createValue(style->tabSize(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> #if ENABLE(CSS_REGIONS)
</span><span class="cx"> case CSSPropertyWebkitRegionBreakAfter:
</span><del>- return cssValuePool().createValue(style->regionBreakAfter());
</del><ins>+ return cssValuePool.createValue(style->regionBreakAfter());
</ins><span class="cx"> case CSSPropertyWebkitRegionBreakBefore:
</span><del>- return cssValuePool().createValue(style->regionBreakBefore());
</del><ins>+ return cssValuePool.createValue(style->regionBreakBefore());
</ins><span class="cx"> case CSSPropertyWebkitRegionBreakInside:
</span><del>- return cssValuePool().createValue(style->regionBreakInside());
</del><ins>+ return cssValuePool.createValue(style->regionBreakInside());
</ins><span class="cx"> #endif
</span><span class="cx"> case CSSPropertyCursor: {
</span><span class="cx"> RefPtr<CSSValueList> list;
</span><span class="lines">@@ -2206,7 +2223,7 @@
</span><span class="cx"> if (StyleImage* image = cursors->at(i).image())
</span><span class="cx"> list->append(*image->cssValue());
</span><span class="cx"> }
</span><del>- auto value = cssValuePool().createValue(style->cursor());
</del><ins>+ auto value = cssValuePool.createValue(style->cursor());
</ins><span class="cx"> if (list) {
</span><span class="cx"> list->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->cursorVisibility());
</del><ins>+ return cssValuePool.createValue(style->cursorVisibility());
</ins><span class="cx"> #endif
</span><span class="cx"> case CSSPropertyDirection:
</span><del>- return cssValuePool().createValue(style->direction());
</del><ins>+ return cssValuePool.createValue(style->direction());
</ins><span class="cx"> case CSSPropertyDisplay:
</span><del>- return cssValuePool().createValue(style->display());
</del><ins>+ return cssValuePool.createValue(style->display());
</ins><span class="cx"> case CSSPropertyEmptyCells:
</span><del>- return cssValuePool().createValue(style->emptyCells());
</del><ins>+ return cssValuePool.createValue(style->emptyCells());
</ins><span class="cx"> case CSSPropertyAlignContent: {
</span><span class="cx"> ContentPosition position = style->alignContentPosition();
</span><span class="cx"> ContentDistributionType distribution = style->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->flexBasis());
</del><ins>+ return cssValuePool.createValue(style->flexBasis());
</ins><span class="cx"> case CSSPropertyFlexDirection:
</span><del>- return cssValuePool().createValue(style->flexDirection());
</del><ins>+ return cssValuePool.createValue(style->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->flexGrow());
</del><ins>+ return cssValuePool.createValue(style->flexGrow());
</ins><span class="cx"> case CSSPropertyFlexShrink:
</span><del>- return cssValuePool().createValue(style->flexShrink());
</del><ins>+ return cssValuePool.createValue(style->flexShrink());
</ins><span class="cx"> case CSSPropertyFlexWrap:
</span><del>- return cssValuePool().createValue(style->flexWrap());
</del><ins>+ return cssValuePool.createValue(style->flexWrap());
</ins><span class="cx"> case CSSPropertyJustifyContent: {
</span><span class="cx"> ContentPosition position = style->justifyContentPosition();
</span><span class="cx"> ContentDistributionType distribution = style->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->order(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ return cssValuePool.createValue(style->order(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> case CSSPropertyFloat:
</span><span class="cx"> if (style->display() != NONE && style->hasOutOfFlowPosition())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueNone);
- return cssValuePool().createValue(style->floating());
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueNone);
+ return cssValuePool.createValue(style->floating());
</ins><span class="cx"> case CSSPropertyFont: {
</span><span class="cx"> RefPtr<CSSFontValue> computedFont = CSSFontValue::create();
</span><span class="cx"> computedFont->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->fontDescription().featureSettings();
</span><span class="cx"> if (!featureSettings || !featureSettings->size())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueNormal);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueNormal);
</ins><span class="cx"> RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated();
</span><span class="cx"> for (unsigned i = 0; i < featureSettings->size(); ++i) {
</span><span class="cx"> const FontFeature& feature = featureSettings->at(i);
</span><span class="lines">@@ -2313,12 +2330,12 @@
</span><span class="cx"> RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
</span><span class="cx"> ASSERT(style->isGridAutoFlowDirectionRow() || style->isGridAutoFlowDirectionColumn());
</span><span class="cx"> if (style->isGridAutoFlowDirectionRow())
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueRow));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueRow));
</ins><span class="cx"> else
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueColumn));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueColumn));
</ins><span class="cx">
</span><span class="cx"> if (style->isGridAutoFlowAlgorithmDense())
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueDense));
</del><ins>+ list->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->namedGridAreaRowCount()) {
</span><span class="cx"> ASSERT(!style->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->namedGridArea(), style->namedGridAreaRowCount(), style->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 "height" property does not apply for non-replaced inline elements.
</span><span class="cx"> if (!renderer->isReplaced() && renderer->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->height(), *style);
</span><span class="cx"> case CSSPropertyWebkitHyphens:
</span><del>- return cssValuePool().createValue(style->hyphens());
</del><ins>+ return cssValuePool.createValue(style->hyphens());
</ins><span class="cx"> case CSSPropertyWebkitHyphenateCharacter:
</span><span class="cx"> if (style->hyphenationString().isNull())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueAuto);
- return cssValuePool().createValue(style->hyphenationString(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueAuto);
+ return cssValuePool.createValue(style->hyphenationString(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx"> case CSSPropertyWebkitHyphenateLimitAfter:
</span><span class="cx"> if (style->hyphenationLimitAfter() < 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->hyphenationLimitLines(), CSSPrimitiveValue::CSS_NUMBER);
</span><span class="cx"> case CSSPropertyWebkitBorderFit:
</span><span class="cx"> if (style->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->imageOrientation());
</del><ins>+ return cssValuePool.createValue(style->imageOrientation());
</ins><span class="cx"> #endif
</span><span class="cx"> case CSSPropertyImageRendering:
</span><span class="cx"> return CSSPrimitiveValue::create(style->imageRendering());
</span><span class="cx"> #if ENABLE(CSS_IMAGE_RESOLUTION)
</span><span class="cx"> case CSSPropertyImageResolution:
</span><del>- return cssValuePool().createValue(style->imageResolution(), CSSPrimitiveValue::CSS_DPPX);
</del><ins>+ return cssValuePool.createValue(style->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->letterSpacing())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueNormal);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueNormal);
</ins><span class="cx"> return zoomAdjustedPixelValue(style->letterSpacing(), *style);
</span><span class="cx"> case CSSPropertyWebkitLineClamp:
</span><span class="cx"> if (style->lineClamp().isNone())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueNone);
- return cssValuePool().createValue(style->lineClamp().value(), style->lineClamp().isPercentage() ? CSSPrimitiveValue::CSS_PERCENTAGE : CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueNone);
+ return cssValuePool.createValue(style->lineClamp().value(), style->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->listStyleImage())
</span><span class="cx"> return style->listStyleImage()->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->listStylePosition());
</del><ins>+ return cssValuePool.createValue(style->listStylePosition());
</ins><span class="cx"> case CSSPropertyListStyleType:
</span><del>- return cssValuePool().createValue(style->listStyleType());
</del><ins>+ return cssValuePool.createValue(style->listStyleType());
</ins><span class="cx"> case CSSPropertyWebkitLocale:
</span><span class="cx"> if (style->locale().isNull())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueAuto);
- return cssValuePool().createValue(style->locale(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueAuto);
+ return cssValuePool.createValue(style->locale(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx"> case CSSPropertyMarginTop:
</span><span class="cx"> return zoomAdjustedPaddingOrMarginPixelValue<&RenderStyle::marginTop, &RenderBoxModelObject::marginTop>(*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<&RenderStyle::marginLeft, &RenderBoxModelObject::marginLeft>(*style, renderer);
</span><span class="cx"> case CSSPropertyWebkitMarqueeDirection:
</span><del>- return cssValuePool().createValue(style->marqueeDirection());
</del><ins>+ return cssValuePool.createValue(style->marqueeDirection());
</ins><span class="cx"> case CSSPropertyWebkitMarqueeIncrement:
</span><del>- return cssValuePool().createValue(style->marqueeIncrement());
</del><ins>+ return cssValuePool.createValue(style->marqueeIncrement());
</ins><span class="cx"> case CSSPropertyWebkitMarqueeRepetition:
</span><span class="cx"> if (style->marqueeLoopCount() < 0)
</span><del>- return cssValuePool().createIdentifierValue(CSSValueInfinite);
- return cssValuePool().createValue(style->marqueeLoopCount(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueInfinite);
+ return cssValuePool.createValue(style->marqueeLoopCount(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> case CSSPropertyWebkitMarqueeStyle:
</span><del>- return cssValuePool().createValue(style->marqueeBehavior());
</del><ins>+ return cssValuePool.createValue(style->marqueeBehavior());
</ins><span class="cx"> case CSSPropertyWebkitUserModify:
</span><del>- return cssValuePool().createValue(style->userModify());
</del><ins>+ return cssValuePool.createValue(style->userModify());
</ins><span class="cx"> case CSSPropertyMaxHeight: {
</span><span class="cx"> const Length& maxHeight = style->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& maxWidth = style->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->minWidth(), *style);
</span><span class="cx"> case CSSPropertyObjectFit:
</span><del>- return cssValuePool().createValue(style->objectFit());
</del><ins>+ return cssValuePool.createValue(style->objectFit());
</ins><span class="cx"> case CSSPropertyOpacity:
</span><del>- return cssValuePool().createValue(style->opacity(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ return cssValuePool.createValue(style->opacity(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> case CSSPropertyOrphans:
</span><span class="cx"> if (style->hasAutoOrphans())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueAuto);
- return cssValuePool().createValue(style->orphans(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueAuto);
+ return cssValuePool.createValue(style->orphans(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> case CSSPropertyOutlineColor:
</span><del>- return m_allowVisitedStyle ? cssValuePool().createColorValue(style->visitedDependentColor(CSSPropertyOutlineColor).rgb()) : currentColorOrValidColor(style.get(), style->outlineColor());
</del><ins>+ return m_allowVisitedStyle ? cssValuePool.createColorValue(style->visitedDependentColor(CSSPropertyOutlineColor).rgb()) : currentColorOrValidColor(style.get(), style->outlineColor());
</ins><span class="cx"> case CSSPropertyOutlineOffset:
</span><span class="cx"> return zoomAdjustedPixelValue(style->outlineOffset(), *style);
</span><span class="cx"> case CSSPropertyOutlineStyle:
</span><span class="cx"> if (style->outlineStyleIsAuto())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueAuto);
- return cssValuePool().createValue(style->outlineStyle());
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueAuto);
+ return cssValuePool.createValue(style->outlineStyle());
</ins><span class="cx"> case CSSPropertyOutlineWidth:
</span><span class="cx"> return zoomAdjustedPixelValue(style->outlineWidth(), *style);
</span><span class="cx"> case CSSPropertyOverflow:
</span><del>- return cssValuePool().createValue(std::max(style->overflowX(), style->overflowY()));
</del><ins>+ return cssValuePool.createValue(std::max(style->overflowX(), style->overflowY()));
</ins><span class="cx"> case CSSPropertyOverflowWrap:
</span><del>- return cssValuePool().createValue(style->overflowWrap());
</del><ins>+ return cssValuePool.createValue(style->overflowWrap());
</ins><span class="cx"> case CSSPropertyOverflowX:
</span><del>- return cssValuePool().createValue(style->overflowX());
</del><ins>+ return cssValuePool.createValue(style->overflowX());
</ins><span class="cx"> case CSSPropertyOverflowY:
</span><del>- return cssValuePool().createValue(style->overflowY());
</del><ins>+ return cssValuePool.createValue(style->overflowY());
</ins><span class="cx"> case CSSPropertyPaddingTop:
</span><span class="cx"> return zoomAdjustedPaddingOrMarginPixelValue<&RenderStyle::paddingTop, &RenderBoxModelObject::computedCSSPaddingTop>(*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<&RenderStyle::paddingLeft, &RenderBoxModelObject::computedCSSPaddingLeft>(*style, renderer);
</span><span class="cx"> case CSSPropertyPageBreakAfter:
</span><del>- return cssValuePool().createValue(style->pageBreakAfter());
</del><ins>+ return cssValuePool.createValue(style->pageBreakAfter());
</ins><span class="cx"> case CSSPropertyPageBreakBefore:
</span><del>- return cssValuePool().createValue(style->pageBreakBefore());
</del><ins>+ return cssValuePool.createValue(style->pageBreakBefore());
</ins><span class="cx"> case CSSPropertyPageBreakInside: {
</span><span class="cx"> EPageBreak pageBreak = style->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->pageBreakInside());
</del><ins>+ return cssValuePool.createValue(style->pageBreakInside());
</ins><span class="cx"> }
</span><span class="cx"> case CSSPropertyPosition:
</span><del>- return cssValuePool().createValue(style->position());
</del><ins>+ return cssValuePool.createValue(style->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->rubyPosition());
</del><ins>+ return cssValuePool.createValue(style->rubyPosition());
</ins><span class="cx"> case CSSPropertyTableLayout:
</span><del>- return cssValuePool().createValue(style->tableLayout());
</del><ins>+ return cssValuePool.createValue(style->tableLayout());
</ins><span class="cx"> case CSSPropertyTextAlign:
</span><del>- return cssValuePool().createValue(style->textAlign());
</del><ins>+ return cssValuePool.createValue(style->textAlign());
</ins><span class="cx"> case CSSPropertyTextDecoration:
</span><span class="cx"> return renderTextDecorationFlagsToCSSValue(style->textDecoration());
</span><span class="cx"> #if ENABLE(CSS3_TEXT)
</span><span class="cx"> case CSSPropertyWebkitTextAlignLast:
</span><del>- return cssValuePool().createValue(style->textAlignLast());
</del><ins>+ return cssValuePool.createValue(style->textAlignLast());
</ins><span class="cx"> case CSSPropertyWebkitTextJustify:
</span><del>- return cssValuePool().createValue(style->textJustify());
</del><ins>+ return cssValuePool.createValue(style->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->textDecorationSkip());
</span><span class="cx"> case CSSPropertyWebkitTextUnderlinePosition:
</span><del>- return cssValuePool().createValue(style->textUnderlinePosition());
</del><ins>+ return cssValuePool.createValue(style->textUnderlinePosition());
</ins><span class="cx"> case CSSPropertyWebkitTextDecorationsInEffect:
</span><span class="cx"> return renderTextDecorationFlagsToCSSValue(style->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->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->textEmphasisCustomMark(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+ return cssValuePool.createValue(style->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<CSSValueList> list = CSSValueList::createSpaceSeparated();
</span><del>- list->append(cssValuePool().createValue(style->textEmphasisFill()));
- list->append(cssValuePool().createValue(style->textEmphasisMark()));
</del><ins>+ list->append(cssValuePool.createValue(style->textEmphasisFill()));
+ list->append(cssValuePool.createValue(style->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<CSSValueList> list = CSSValueList::createSpaceSeparated();
</span><span class="cx"> list->append(textIndent.releaseNonNull());
</span><span class="cx"> if (style->textIndentLine() == TextIndentEachLine)
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueWebkitEachLine));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueWebkitEachLine));
</ins><span class="cx"> if (style->textIndentType() == TextIndentHanging)
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueWebkitHanging));
</del><ins>+ list->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->textShadow(), propertyID, *style);
</span><span class="cx"> case CSSPropertyTextRendering:
</span><del>- return cssValuePool().createValue(style->fontDescription().textRenderingMode());
</del><ins>+ return cssValuePool.createValue(style->fontDescription().textRenderingMode());
</ins><span class="cx"> case CSSPropertyTextOverflow:
</span><span class="cx"> if (style->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->textSecurity());
</del><ins>+ return cssValuePool.createValue(style->textSecurity());
</ins><span class="cx"> #if ENABLE(IOS_TEXT_AUTOSIZING)
</span><span class="cx"> case CSSPropertyWebkitTextSizeAdjust:
</span><span class="cx"> if (style->textSizeAdjust().isAuto())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueAuto);
</ins><span class="cx"> if (style->textSizeAdjust().isNone())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx"> return CSSPrimitiveValue::create(style->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->textStrokeWidth(), *style);
</span><span class="cx"> case CSSPropertyTextTransform:
</span><del>- return cssValuePool().createValue(style->textTransform());
</del><ins>+ return cssValuePool.createValue(style->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->unicodeBidi());
</del><ins>+ return cssValuePool.createValue(style->unicodeBidi());
</ins><span class="cx"> case CSSPropertyVerticalAlign:
</span><span class="cx"> switch (style->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->verticalAlignLength());
</del><ins>+ return cssValuePool.createValue(style->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->visibility());
</del><ins>+ return cssValuePool.createValue(style->visibility());
</ins><span class="cx"> case CSSPropertyWhiteSpace:
</span><del>- return cssValuePool().createValue(style->whiteSpace());
</del><ins>+ return cssValuePool.createValue(style->whiteSpace());
</ins><span class="cx"> case CSSPropertyWidows:
</span><span class="cx"> if (style->hasAutoWidows())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueAuto);
- return cssValuePool().createValue(style->widows(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueAuto);
+ return cssValuePool.createValue(style->widows(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> case CSSPropertyWidth:
</span><span class="cx"> if (renderer && !renderer->isRenderSVGModelObject()) {
</span><span class="cx"> // According to http://www.w3.org/TR/CSS2/visudet.html#the-width-property,
</span><span class="cx"> // the "width" property does not apply for non-replaced inline elements.
</span><span class="cx"> if (!renderer->isReplaced() && renderer->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->width(), *style);
</span><span class="lines">@@ -2682,55 +2699,55 @@
</span><span class="cx"> return getWillChangePropertyValue(style->willChange());
</span><span class="cx"> break;
</span><span class="cx"> case CSSPropertyWordBreak:
</span><del>- return cssValuePool().createValue(style->wordBreak());
</del><ins>+ return cssValuePool.createValue(style->wordBreak());
</ins><span class="cx"> case CSSPropertyWordSpacing:
</span><span class="cx"> return zoomAdjustedPixelValue(style->fontCascade().wordSpacing(), *style);
</span><span class="cx"> case CSSPropertyWordWrap:
</span><del>- return cssValuePool().createValue(style->overflowWrap());
</del><ins>+ return cssValuePool.createValue(style->overflowWrap());
</ins><span class="cx"> case CSSPropertyWebkitLineBreak:
</span><del>- return cssValuePool().createValue(style->lineBreak());
</del><ins>+ return cssValuePool.createValue(style->lineBreak());
</ins><span class="cx"> case CSSPropertyWebkitNbspMode:
</span><del>- return cssValuePool().createValue(style->nbspMode());
</del><ins>+ return cssValuePool.createValue(style->nbspMode());
</ins><span class="cx"> case CSSPropertyResize:
</span><del>- return cssValuePool().createValue(style->resize());
</del><ins>+ return cssValuePool.createValue(style->resize());
</ins><span class="cx"> case CSSPropertyWebkitFontKerning:
</span><del>- return cssValuePool().createValue(style->fontDescription().kerning());
</del><ins>+ return cssValuePool.createValue(style->fontDescription().kerning());
</ins><span class="cx"> case CSSPropertyWebkitFontSmoothing:
</span><del>- return cssValuePool().createValue(style->fontDescription().fontSmoothing());
</del><ins>+ return cssValuePool.createValue(style->fontDescription().fontSmoothing());
</ins><span class="cx"> case CSSPropertyWebkitFontVariantLigatures: {
</span><span class="cx"> FontDescription::LigaturesState commonLigaturesState = style->fontDescription().commonLigaturesState();
</span><span class="cx"> FontDescription::LigaturesState discretionaryLigaturesState = style->fontDescription().discretionaryLigaturesState();
</span><span class="cx"> FontDescription::LigaturesState historicalLigaturesState = style->fontDescription().historicalLigaturesState();
</span><span class="cx"> if (commonLigaturesState == FontDescription::NormalLigaturesState && discretionaryLigaturesState == FontDescription::NormalLigaturesState
</span><span class="cx"> && historicalLigaturesState == FontDescription::NormalLigaturesState)
</span><del>- return cssValuePool().createIdentifierValue(CSSValueNormal);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueNormal);
</ins><span class="cx">
</span><span class="cx"> RefPtr<CSSValueList> valueList = CSSValueList::createSpaceSeparated();
</span><span class="cx"> if (commonLigaturesState != FontDescription::NormalLigaturesState)
</span><del>- valueList->append(cssValuePool().createIdentifierValue(commonLigaturesState == FontDescription::DisabledLigaturesState ? CSSValueNoCommonLigatures : CSSValueCommonLigatures));
</del><ins>+ valueList->append(cssValuePool.createIdentifierValue(commonLigaturesState == FontDescription::DisabledLigaturesState ? CSSValueNoCommonLigatures : CSSValueCommonLigatures));
</ins><span class="cx"> if (discretionaryLigaturesState != FontDescription::NormalLigaturesState)
</span><del>- valueList->append(cssValuePool().createIdentifierValue(discretionaryLigaturesState == FontDescription::DisabledLigaturesState ? CSSValueNoDiscretionaryLigatures : CSSValueDiscretionaryLigatures));
</del><ins>+ valueList->append(cssValuePool.createIdentifierValue(discretionaryLigaturesState == FontDescription::DisabledLigaturesState ? CSSValueNoDiscretionaryLigatures : CSSValueDiscretionaryLigatures));
</ins><span class="cx"> if (historicalLigaturesState != FontDescription::NormalLigaturesState)
</span><del>- valueList->append(cssValuePool().createIdentifierValue(historicalLigaturesState == FontDescription::DisabledLigaturesState ? CSSValueNoHistoricalLigatures : CSSValueHistoricalLigatures));
</del><ins>+ valueList->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->hasAutoZIndex())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueAuto);
- return cssValuePool().createValue(style->zIndex(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueAuto);
+ return cssValuePool.createValue(style->zIndex(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> case CSSPropertyZoom:
</span><del>- return cssValuePool().createValue(style->zoom(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ return cssValuePool.createValue(style->zoom(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> case CSSPropertyBoxSizing:
</span><span class="cx"> if (style->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<StyleDashboardRegion>& regions = style->dashboardRegions();
</span><span class="cx"> unsigned count = regions.size();
</span><span class="cx"> if (count == 1 && 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<DashboardRegion> 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 < t->size(); ++i) {
</span><span class="cx"> switch (t->animation(i).direction()) {
</span><span class="cx"> case Animation::AnimationDirectionNormal:
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueNormal));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueNormal));
</ins><span class="cx"> break;
</span><span class="cx"> case Animation::AnimationDirectionAlternate:
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueAlternate));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueAlternate));
</ins><span class="cx"> break;
</span><span class="cx"> case Animation::AnimationDirectionReverse:
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueReverse));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueReverse));
</ins><span class="cx"> break;
</span><span class="cx"> case Animation::AnimationDirectionAlternateReverse:
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueAlternateReverse));
</del><ins>+ list->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->append(cssValuePool().createIdentifierValue(CSSValueNormal));
</del><ins>+ list->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 < t->size(); ++i) {
</span><span class="cx"> switch (t->animation(i).fillMode()) {
</span><span class="cx"> case AnimationFillModeNone:
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueNone));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueNone));
</ins><span class="cx"> break;
</span><span class="cx"> case AnimationFillModeForwards:
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueForwards));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueForwards));
</ins><span class="cx"> break;
</span><span class="cx"> case AnimationFillModeBackwards:
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueBackwards));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueBackwards));
</ins><span class="cx"> break;
</span><span class="cx"> case AnimationFillModeBoth:
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueBoth));
</del><ins>+ list->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->append(cssValuePool().createIdentifierValue(CSSValueNone));
</del><ins>+ list->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 < t->size(); ++i) {
</span><span class="cx"> double iterationCount = t->animation(i).iterationCount();
</span><span class="cx"> if (iterationCount == Animation::IterationCountInfinite)
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueInfinite));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueInfinite));
</ins><span class="cx"> else
</span><del>- list->append(cssValuePool().createValue(iterationCount, CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ list->append(cssValuePool.createValue(iterationCount, CSSPrimitiveValue::CSS_NUMBER));
</ins><span class="cx"> }
</span><span class="cx"> } else
</span><del>- list->append(cssValuePool().createValue(Animation::initialIterationCount(), CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ list->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->animations();
</span><span class="cx"> if (t) {
</span><span class="cx"> for (size_t i = 0; i < t->size(); ++i)
</span><del>- list->append(cssValuePool().createValue(t->animation(i).name(), CSSPrimitiveValue::CSS_STRING));
</del><ins>+ list->append(cssValuePool.createValue(t->animation(i).name(), CSSPrimitiveValue::CSS_STRING));
</ins><span class="cx"> } else
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueNone));
</del><ins>+ list->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 < t->size(); ++i) {
</span><span class="cx"> int prop = t->animation(i).playState();
</span><span class="cx"> if (prop == AnimPlayStatePlaying)
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueRunning));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueRunning));
</ins><span class="cx"> else
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValuePaused));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValuePaused));
</ins><span class="cx"> }
</span><span class="cx"> } else
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueRunning));
</del><ins>+ list->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->animations(), *style);
</span><span class="cx"> #endif
</span><span class="cx"> case CSSPropertyWebkitAppearance:
</span><del>- return cssValuePool().createValue(style->appearance());
</del><ins>+ return cssValuePool.createValue(style->appearance());
</ins><span class="cx"> case CSSPropertyWebkitAspectRatio:
</span><span class="cx"> if (style->aspectRatioType() == AspectRatioAuto)
</span><del>- return cssValuePool().createIdentifierValue(CSSValueAuto);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueAuto);
</ins><span class="cx"> if (style->aspectRatioType() == AspectRatioFromDimensions)
</span><del>- return cssValuePool().createIdentifierValue(CSSValueFromDimensions);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueFromDimensions);
</ins><span class="cx"> if (style->aspectRatioType() == AspectRatioFromIntrinsic)
</span><del>- return cssValuePool().createIdentifierValue(CSSValueFromIntrinsic);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueFromIntrinsic);
</ins><span class="cx"> return CSSAspectRatioValue::create(style->aspectRatioNumerator(), style->aspectRatioDenominator());
</span><span class="cx"> case CSSPropertyWebkitBackfaceVisibility:
</span><del>- return cssValuePool().createIdentifierValue((style->backfaceVisibility() == BackfaceVisibilityHidden) ? CSSValueHidden : CSSValueVisible);
</del><ins>+ return cssValuePool.createIdentifierValue((style->backfaceVisibility() == BackfaceVisibilityHidden) ? CSSValueHidden : CSSValueVisible);
</ins><span class="cx"> case CSSPropertyWebkitBorderImage:
</span><span class="cx"> return valueForNinePieceImage(style->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->maskBoxImageSource())
</span><span class="cx"> return style->maskBoxImageSource()->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<CSSPrimitiveValue> drop = !style->initialLetterDrop() ? cssValuePool().createIdentifierValue(CSSValueNormal) : cssValuePool().createValue(style->initialLetterDrop(), CSSPrimitiveValue::CSS_NUMBER);
- RefPtr<CSSPrimitiveValue> size = !style->initialLetterHeight() ? cssValuePool().createIdentifierValue(CSSValueNormal) : cssValuePool().createValue(style->initialLetterHeight(), CSSPrimitiveValue::CSS_NUMBER);
- return cssValuePool().createValue(Pair::create(drop.release(), size.release()));
</del><ins>+ RefPtr<CSSPrimitiveValue> drop = !style->initialLetterDrop() ? cssValuePool.createIdentifierValue(CSSValueNormal) : cssValuePool.createValue(style->initialLetterDrop(), CSSPrimitiveValue::CSS_NUMBER);
+ RefPtr<CSSPrimitiveValue> size = !style->initialLetterHeight() ? cssValuePool.createIdentifierValue(CSSValueNormal) : cssValuePool.createValue(style->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->marginAfterCollapse());
</del><ins>+ return cssValuePool.createValue(style->marginAfterCollapse());
</ins><span class="cx"> case CSSPropertyWebkitMarginTopCollapse:
</span><span class="cx"> case CSSPropertyWebkitMarginBeforeCollapse:
</span><del>- return cssValuePool().createValue(style->marginBeforeCollapse());
</del><ins>+ return cssValuePool.createValue(style->marginBeforeCollapse());
</ins><span class="cx"> #if ENABLE(ACCELERATED_OVERFLOW_SCROLLING)
</span><span class="cx"> case CSSPropertyWebkitOverflowScrolling:
</span><span class="cx"> if (!style->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->hasPerspective())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueNone);
</ins><span class="cx"> return zoomAdjustedPixelValue(style->perspective(), *style);
</span><span class="cx"> case CSSPropertyPerspectiveOrigin: {
</span><span class="cx"> RefPtr<CSSValueList> 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->rtlOrdering() ? CSSValueVisual : CSSValueLogical);
</del><ins>+ return cssValuePool.createIdentifierValue(style->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->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->touchCalloutEnabled() ? CSSValueDefault : CSSValueNone);
</del><ins>+ return cssValuePool.createIdentifierValue(style->touchCalloutEnabled() ? CSSValueDefault : CSSValueNone);
</ins><span class="cx"> #endif
</span><span class="cx"> case CSSPropertyWebkitUserDrag:
</span><del>- return cssValuePool().createValue(style->userDrag());
</del><ins>+ return cssValuePool.createValue(style->userDrag());
</ins><span class="cx"> case CSSPropertyWebkitUserSelect:
</span><del>- return cssValuePool().createValue(style->userSelect());
</del><ins>+ return cssValuePool.createValue(style->userSelect());
</ins><span class="cx"> case CSSPropertyBorderBottomLeftRadius:
</span><span class="cx"> return getBorderRadiusCornerValue(style->borderBottomLeftRadius(), *style);
</span><span class="cx"> case CSSPropertyBorderBottomRightRadius:
</span><span class="lines">@@ -2963,16 +2980,16 @@
</span><span class="cx"> return getBorderRadiusCornerValue(style->borderTopRightRadius(), *style);
</span><span class="cx"> case CSSPropertyClip: {
</span><span class="cx"> if (!style->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->setTop(autoOrZoomAdjustedValue(style->clip().top(), *style));
</span><span class="cx"> rect->setRight(autoOrZoomAdjustedValue(style->clip().right(), *style));
</span><span class="cx"> rect->setBottom(autoOrZoomAdjustedValue(style->clip().bottom(), *style));
</span><span class="cx"> rect->setLeft(autoOrZoomAdjustedValue(style->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->speak());
</del><ins>+ return cssValuePool.createValue(style->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->transformStyle3D() == TransformStyle3DPreserve3D) ? CSSValuePreserve3d : CSSValueFlat);
</del><ins>+ return cssValuePool.createIdentifierValue((style->transformStyle3D() == TransformStyle3DPreserve3D) ? CSSValuePreserve3d : CSSValueFlat);
</ins><span class="cx"> case CSSPropertyTransitionDelay:
</span><span class="cx"> case CSSPropertyWebkitTransitionDelay:
</span><span class="cx"> return getDelayValue(style->transitions());
</span><span class="lines">@@ -3018,9 +3035,9 @@
</span><span class="cx"> RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
</span><span class="cx"> const Animation& animation = animList->animation(i);
</span><span class="cx"> list->append(createTransitionPropertyValue(animation));
</span><del>- list->append(cssValuePool().createValue(animation.duration(), CSSPrimitiveValue::CSS_S));
</del><ins>+ list->append(cssValuePool.createValue(animation.duration(), CSSPrimitiveValue::CSS_S));
</ins><span class="cx"> list->append(createTimingFunctionValue(animation.timingFunction().get()));
</span><del>- list->append(cssValuePool().createValue(animation.delay(), CSSPrimitiveValue::CSS_S));
</del><ins>+ list->append(cssValuePool.createValue(animation.delay(), CSSPrimitiveValue::CSS_S));
</ins><span class="cx"> transitionsList->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<CSSValueList> list = CSSValueList::createSpaceSeparated();
</span><span class="cx"> // transition-property default value.
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueAll));
- list->append(cssValuePool().createValue(Animation::initialDuration(), CSSPrimitiveValue::CSS_S));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValueAll));
+ list->append(cssValuePool.createValue(Animation::initialDuration(), CSSPrimitiveValue::CSS_S));
</ins><span class="cx"> list->append(createTimingFunctionValue(Animation::initialTimingFunction().get()));
</span><del>- list->append(cssValuePool().createValue(Animation::initialDelay(), CSSPrimitiveValue::CSS_S));
</del><ins>+ list->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->pointerEvents());
</del><ins>+ return cssValuePool.createValue(style->pointerEvents());
</ins><span class="cx"> case CSSPropertyWebkitLineGrid:
</span><span class="cx"> if (style->lineGrid().isNull())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueNone);
- return cssValuePool().createValue(style->lineGrid(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueNone);
+ return cssValuePool.createValue(style->lineGrid(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx"> case CSSPropertyWebkitLineSnap:
</span><span class="cx"> return CSSPrimitiveValue::create(style->lineSnap());
</span><span class="cx"> case CSSPropertyWebkitLineAlign:
</span><span class="cx"> return CSSPrimitiveValue::create(style->lineAlign());
</span><span class="cx"> case CSSPropertyWebkitWritingMode:
</span><del>- return cssValuePool().createValue(style->writingMode());
</del><ins>+ return cssValuePool.createValue(style->writingMode());
</ins><span class="cx"> case CSSPropertyWebkitTextCombine:
</span><del>- return cssValuePool().createValue(style->textCombine());
</del><ins>+ return cssValuePool.createValue(style->textCombine());
</ins><span class="cx"> case CSSPropertyWebkitTextOrientation:
</span><span class="cx"> return CSSPrimitiveValue::create(style->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->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<ReferenceClipPathOperation>(*operation)) {
</span><span class="cx"> const auto& referenceOperation = downcast<ReferenceClipPathOperation>(*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& shapeOperation = downcast<ShapeClipPathOperation>(*operation);
</span><span class="cx"> list->append(valueForBasicShape(*style, shapeOperation.basicShape()));
</span><span class="cx"> if (shapeOperation.referenceBox() != BoxMissing)
</span><del>- list->append(cssValuePool().createValue(shapeOperation.referenceBox()));
</del><ins>+ list->append(cssValuePool.createValue(shapeOperation.referenceBox()));
</ins><span class="cx"> }
</span><span class="cx"> if (is<BoxClipPathOperation>(*operation)) {
</span><span class="cx"> const auto& boxOperation = downcast<BoxClipPathOperation>(*operation);
</span><del>- list->append(cssValuePool().createValue(boxOperation.referenceBox()));
</del><ins>+ list->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->hasFlowInto())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueNone);
- return cssValuePool().createValue(style->flowThread(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueNone);
+ return cssValuePool.createValue(style->flowThread(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx"> case CSSPropertyWebkitFlowFrom:
</span><span class="cx"> if (!style->hasFlowFrom())
</span><del>- return cssValuePool().createIdentifierValue(CSSValueNone);
- return cssValuePool().createValue(style->regionThread(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+ return cssValuePool.createIdentifierValue(CSSValueNone);
+ return cssValuePool.createValue(style->regionThread(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx"> case CSSPropertyWebkitRegionFragment:
</span><del>- return cssValuePool().createValue(style->regionFragment());
</del><ins>+ return cssValuePool.createValue(style->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->shapeMargin(), *style);
</del><ins>+ return cssValuePool.createValue(style->shapeMargin(), *style);
</ins><span class="cx"> case CSSPropertyWebkitShapeImageThreshold:
</span><del>- return cssValuePool().createValue(style->shapeImageThreshold(), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ return cssValuePool.createValue(style->shapeImageThreshold(), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> case CSSPropertyWebkitShapeOutside:
</span><span class="cx"> return shapePropertyValue(*style, style->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->blendMode());
</del><ins>+ return cssValuePool.createValue(style->blendMode());
</ins><span class="cx"> case CSSPropertyIsolation:
</span><del>- return cssValuePool().createValue(style->isolation());
</del><ins>+ return cssValuePool.createValue(style->isolation());
</ins><span class="cx"> #endif
</span><span class="cx"> case CSSPropertyBackgroundBlendMode: {
</span><span class="cx"> const FillLayer* layers = style->backgroundLayers();
</span><span class="cx"> if (!layers->next())
</span><del>- return cssValuePool().createValue(layers->blendMode());
</del><ins>+ return cssValuePool.createValue(layers->blendMode());
</ins><span class="cx">
</span><span class="cx"> RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated();
</span><span class="cx"> for (const FillLayer* currLayer = layers; currLayer; currLayer = currLayer->next())
</span><del>- list->append(cssValuePool().createValue(currLayer->blendMode()));
</del><ins>+ list->append(cssValuePool.createValue(currLayer->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->scrollSnapType());
</del><ins>+ return cssValuePool.createValue(style->scrollSnapType());
</ins><span class="cx"> case CSSPropertyWebkitScrollSnapDestination:
</span><span class="cx"> return scrollSnapDestination(*style, style->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->trailingWord());
</del><ins>+ return cssValuePool.createValue(style->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->svgStyle().y(), *style);
</span><span class="cx"> case CSSPropertyWebkitTextZoom:
</span><del>- return cssValuePool().createValue(style->textZoom());
</del><ins>+ return cssValuePool.createValue(style->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<CSSPrimitiveValue> distribution() const { return cssValuePool().createIdentifierValue(m_distribution); }
- Ref<CSSPrimitiveValue> position() const { return cssValuePool().createIdentifierValue(m_position); }
- Ref<CSSPrimitiveValue> overflow() const { return cssValuePool().createIdentifierValue(m_overflow); }
</del><ins>+ Ref<CSSPrimitiveValue> distribution() const { return CSSValuePool::singleton().createIdentifierValue(m_distribution); }
+ Ref<CSSPrimitiveValue> position() const { return CSSValuePool::singleton().createIdentifierValue(m_position); }
+ Ref<CSSPrimitiveValue> 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<typename... Args>
</span><span class="cx"> static Ref<CSSPrimitiveValue> createPrimitiveValuePair(Args&&... args)
</span><span class="cx"> {
</span><del>- return cssValuePool().createValue(Pair::create(std::forward<Args>(args)...));
</del><ins>+ return CSSValuePool::singleton().createValue(Pair::create(std::forward<Args>(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<CSSValue> value = cssValuePool().createIdentifierValue(valueID);
</del><ins>+ RefPtr<CSSValue> value = CSSValuePool::singleton().createIdentifierValue(valueID);
</ins><span class="cx"> return declaration->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 && string[0] != '#'))
</span><span class="cx"> return CSSParser::ParseResult::Error;
</span><span class="cx">
</span><del>- RefPtr<CSSValue> value = cssValuePool().createColorValue(color);
</del><ins>+ RefPtr<CSSValue> value = CSSValuePool::singleton().createColorValue(color);
</ins><span class="cx"> return declaration->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<CSSValue> value = cssValuePool().createValue(number, unit);
</del><ins>+ RefPtr<CSSValue> value = CSSValuePool::singleton().createValue(number, unit);
</ins><span class="cx"> return declaration->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<CSSValue> 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 <typename CharacterType>
</span><span class="cx"> static bool parseTransformTranslateArguments(WebKitCSSTransformValue& transformValue, CharacterType* characters, unsigned length, unsigned start, unsigned expectedCount)
</span><span class="cx"> {
</span><ins>+ auto& 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 && 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 && (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<String> familyNames;
</span><span class="cx"> string.string().split(',', true, familyNames);
</span><span class="cx">
</span><ins>+ auto& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> for (auto& 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<CSSValue> 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->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 >= CSSPrimitiveValue::CSS_TURN && value.unit <= CSSPrimitiveValue::CSS_CHS)
</span><span class="cx"> || (value.unit >= CSSPrimitiveValue::CSS_VW && value.unit <= CSSPrimitiveValue::CSS_VMAX));
</span><span class="cx"> #endif
</span><del>- return cssValuePool().createValue(value.fValue, static_cast<CSSPrimitiveValue::UnitTypes>(value.unit));
</del><ins>+ return CSSValuePool::singleton().createValue(value.fValue, static_cast<CSSPrimitiveValue::UnitTypes>(value.unit));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> inline Ref<CSSPrimitiveValue> CSSParser::createPrimitiveStringValue(CSSParserValue& 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<CSSPrimitiveValue> CSSParser::parseValidPrimitive(CSSValueID identifier, ValueWithCalculation& 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->current());
</span><span class="cx"> CSSValueID id = valueWithCalculation.value().id;
</span><span class="cx">
</span><ins>+ auto& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> unsigned num = inShorthand() ? 1 : m_valueList->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->next() && !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->length() != 1)
</span><span class="cx"> return false;
</span><span class="cx"> } else if (inQuirksMode() && value->id == CSSValueHand) // MSIE 5 compatibility :/
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValuePointer));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(CSSValuePointer));
</ins><span class="cx"> else if ((value->id >= CSSValueAuto && value->id <= CSSValueWebkitZoomOut) || value->id == CSSValueCopy || value->id == CSSValueNone)
</span><del>- list->append(cssValuePool().createIdentifierValue(value->id));
</del><ins>+ list->append(cssValuePool.createIdentifierValue(value->id));
</ins><span class="cx"> m_valueList->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->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<double>(std::numeric_limits<int>::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->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) && 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->id)), important);
</del><ins>+ auto& cssValuePool = CSSValuePool::singleton();
+ addProperty(propId, createPrimitiveValuePair(cssValuePool.createIdentifierValue(CSSValueLegacy), cssValuePool.createIdentifierValue(value->id)), important);
</ins><span class="cx"> return !m_valueList->next();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -3341,25 +3345,25 @@
</span><span class="cx"> if (m_valueList->next())
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- addProperty(propId, cssValuePool().createIdentifierValue(value->id), important);
</del><ins>+ addProperty(propId, CSSValuePool::singleton().createIdentifierValue(value->id), important);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> RefPtr<CSSPrimitiveValue> position;
</span><span class="cx"> RefPtr<CSSPrimitiveValue> overflowAlignmentKeyword;
</span><span class="cx"> if (isItemPositionKeyword(value->id)) {
</span><del>- position = cssValuePool().createIdentifierValue(value->id);
</del><ins>+ position = CSSValuePool::singleton().createIdentifierValue(value->id);
</ins><span class="cx"> value = m_valueList->next();
</span><span class="cx"> if (value) {
</span><span class="cx"> if (value->id != CSSValueTrue && value->id != CSSValueSafe)
</span><span class="cx"> return false;
</span><del>- overflowAlignmentKeyword = cssValuePool().createIdentifierValue(value->id);
</del><ins>+ overflowAlignmentKeyword = CSSValuePool::singleton().createIdentifierValue(value->id);
</ins><span class="cx"> }
</span><span class="cx"> } else if (isAlignmentOverflowKeyword(value->id)) {
</span><del>- overflowAlignmentKeyword = cssValuePool().createIdentifierValue(value->id);
</del><ins>+ overflowAlignmentKeyword = CSSValuePool::singleton().createIdentifierValue(value->id);
</ins><span class="cx"> value = m_valueList->next();
</span><span class="cx"> if (value && isItemPositionKeyword(value->id))
</span><del>- position = cssValuePool().createIdentifierValue(value->id);
</del><ins>+ position = CSSValuePool::singleton().createIdentifierValue(value->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"> && equalIgnoringCase(value->function->name, "repeat(")) {
</span><span class="cx"> ValueWithCalculation argumentWithCalculation(*value->function->args.get()->current());
</span><span class="cx"> if (validateUnit(argumentWithCalculation, FLength | FPercent | FNonNeg)) {
</span><del>- values->append(cssValuePool().createValue(LengthRepeat::create(createPrimitiveNumericValue(argumentWithCalculation))));
</del><ins>+ values->append(CSSValuePool::singleton().createValue(LengthRepeat::create(createPrimitiveNumericValue(argumentWithCalculation))));
</ins><span class="cx"> m_valueList->next();
</span><span class="cx"> if (m_valueList->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& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> while (m_valueList->current()) {
</span><span class="cx"> CSSParserValue& currentValue = *m_valueList->current();
</span><span class="cx"> if (currentValue.unit == CSSParserValue::Operator && 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] && 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) && !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 < 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<CSSValue> values[numProperties];
</span><span class="cx">
</span><ins>+ auto& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> unsigned i;
</span><span class="cx"> while (m_valueList->current()) {
</span><span class="cx"> CSSParserValue* val = m_valueList->current();
</span><span class="lines">@@ -3669,7 +3675,7 @@
</span><span class="cx"> m_valueList->next();
</span><span class="cx"> for (i = 0; i < 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->current())
</span><span class="lines">@@ -3702,7 +3708,7 @@
</span><span class="cx"> for (i = 0; i < 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<CSSValue> values[numProperties];
</span><span class="cx">
</span><ins>+ auto& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> unsigned i;
</span><span class="cx"> while (m_valueList->current()) {
</span><span class="cx"> CSSParserValue* val = m_valueList->current();
</span><span class="lines">@@ -3800,7 +3807,7 @@
</span><span class="cx"> m_valueList->next();
</span><span class="cx"> for (i = 0; i < 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->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 < 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& 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 < shorthand.length(); ++i) {
</span><span class="lines">@@ -3881,9 +3889,9 @@
</span><span class="cx"> if (propertiesForInitialization) {
</span><span class="cx"> const StylePropertyShorthand& initProperties = propertiesForInitialization[i];
</span><span class="cx"> for (unsigned propIndex = 0; propIndex < 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->id == CSSValueAuto) {
</span><del>- addProperty(propId, cssValuePool().createIdentifierValue(value->id), important);
</del><ins>+ addProperty(propId, CSSValuePool::singleton().createIdentifierValue(value->id), important);
</ins><span class="cx"> return true;
</span><span class="cx"> } else if (value->id == 0 && value->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->id);
</del><ins>+ parsedValue = CSSValuePool::singleton().createIdentifierValue(value->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<CSSValue> CSSParser::parseBackgroundColor()
</span><span class="lines">@@ -4194,14 +4202,14 @@
</span><span class="cx"> CSSValueID id = m_valueList->current()->id;
</span><span class="cx"> if (id == CSSValueWebkitText || isValidSystemColorValue(id) || id == CSSValueMenu || id == CSSValueCurrentcolor
</span><span class="cx"> || (id >= CSSValueGrey && id < CSSValueWebkitText && 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& valueList, RefPtr<CSSValue>& value)
</span><span class="cx"> {
</span><span class="cx"> if (valueList.current()->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()->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& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> if (ident1 == CSSValueCenter) {
</span><span class="cx"> // <position> 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<CSSPrimitiveValue> firstPositionValue;
</span><span class="cx"> RefPtr<CSSPrimitiveValue> 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 ] [ <percentage> | <length> ] [ 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->current()->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->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->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 && !isComma(value)) {
</span><span class="cx"> id = value->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->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<CSSPrimitiveValue>(*value1).getValueID());
</del><ins>+ value2 = CSSValuePool::singleton().createIdentifierValue(downcast<CSSPrimitiveValue>(*value1).getValueID());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> RefPtr<CSSValue> CSSParser::parseFillSize(CSSPropertyID propId, bool& allowComma)
</span><span class="lines">@@ -4621,12 +4630,12 @@
</span><span class="cx"> CSSParserValue* value = m_valueList->current();
</span><span class="cx">
</span><span class="cx"> if (value->id == CSSValueContain || value->id == CSSValueCover)
</span><del>- return cssValuePool().createIdentifierValue(value->id);
</del><ins>+ return CSSValuePool::singleton().createIdentifierValue(value->id);
</ins><span class="cx">
</span><span class="cx"> RefPtr<CSSPrimitiveValue> parsedValue1;
</span><span class="cx">
</span><span class="cx"> if (value->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->id == CSSValueScroll || currentValue->id == CSSValueFixed || currentValue->id == CSSValueLocal) {
</span><del>- currValue = cssValuePool().createIdentifierValue(currentValue->id);
</del><ins>+ currValue = CSSValuePool::singleton().createIdentifierValue(currentValue->id);
</ins><span class="cx"> m_valueList->next();
</span><span class="cx"> }
</span><span class="cx"> break;
</span><span class="lines">@@ -4726,7 +4735,7 @@
</span><span class="cx"> || currentValue->id == CSSValueBorderBox || currentValue->id == CSSValuePaddingBox || currentValue->id == CSSValueContentBox
</span><span class="cx"> || ((propId == CSSPropertyWebkitBackgroundClip || propId == CSSPropertyWebkitMaskClip)
</span><span class="cx"> && (currentValue->id == CSSValueText || currentValue->id == CSSValueWebkitText))) {
</span><del>- currValue = cssValuePool().createIdentifierValue(currentValue->id);
</del><ins>+ currValue = CSSValuePool::singleton().createIdentifierValue(currentValue->id);
</ins><span class="cx"> m_valueList->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->id == CSSValueBorderBox || currentValue->id == CSSValuePaddingBox || currentValue->id == CSSValueContentBox) {
</span><del>- currValue = cssValuePool().createIdentifierValue(currentValue->id);
</del><ins>+ currValue = CSSValuePool::singleton().createIdentifierValue(currentValue->id);
</ins><span class="cx"> m_valueList->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->id >= CSSValueClear && currentValue->id <= CSSValuePlusLighter) {
</span><del>- currValue = cssValuePool().createIdentifierValue(currentValue->id);
</del><ins>+ currValue = CSSValuePool::singleton().createIdentifierValue(currentValue->id);
</ins><span class="cx"> m_valueList->next();
</span><span class="cx"> }
</span><span class="cx"> break;
</span><span class="lines">@@ -4772,7 +4781,7 @@
</span><span class="cx"> || currentValue->id == CSSValueLighten || currentValue->id == CSSValueColorDodge || currentValue->id == CSSValueColorBurn
</span><span class="cx"> || currentValue->id == CSSValueHardLight || currentValue->id == CSSValueSoftLight || currentValue->id == CSSValueDifference
</span><span class="cx"> || currentValue->id == CSSValueExclusion)) {
</span><del>- currValue = cssValuePool().createIdentifierValue(currentValue->id);
</del><ins>+ currValue = CSSValuePool::singleton().createIdentifierValue(currentValue->id);
</ins><span class="cx"> m_valueList->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->id == CSSValueAuto || currentValue->id == CSSValueAlpha || currentValue->id == CSSValueLuminance) {
</span><del>- currValue = cssValuePool().createIdentifierValue(currentValue->id);
</del><ins>+ currValue = CSSValuePool::singleton().createIdentifierValue(currentValue->id);
</ins><span class="cx"> m_valueList->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->current();
</span><span class="cx"> if (value->id == CSSValueNormal || value->id == CSSValueAlternate || value->id == CSSValueReverse || value->id == CSSValueAlternateReverse)
</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">@@ -4873,7 +4882,7 @@
</span><span class="cx"> {
</span><span class="cx"> CSSParserValue* value = m_valueList->current();
</span><span class="cx"> if (value->id == CSSValueNone || value->id == CSSValueForwards || value->id == CSSValueBackwards || value->id == CSSValueBoth)
</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">@@ -4881,7 +4890,7 @@
</span><span class="cx"> {
</span><span class="cx"> CSSParserValue& value = *m_valueList->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& value = *m_valueList->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 && equalIgnoringCase(value, "none"))) {
</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& value = *m_valueList->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->current();
</span><span class="cx"> if (value->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->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, "all")) {
</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, "none")) {
</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& value = *m_valueList->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->current();
</span><span class="cx"> if (value->id == CSSValueAuto) {
</span><span class="cx"> m_valueList->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<CSSPrimitiveValue> numericValue;
</span><span class="lines">@@ -5311,11 +5320,11 @@
</span><span class="cx">
</span><span class="cx"> // For the <custom-ident> case.
</span><span class="cx"> if (gridLineName && !numericValue && !hasSeenSpanKeyword)
</span><del>- return cssValuePool().createValue(gridLineName->getStringValue(), CSSPrimitiveValue::CSS_STRING);
</del><ins>+ return CSSValuePool::singleton().createValue(gridLineName->getStringValue(), CSSPrimitiveValue::CSS_STRING);
</ins><span class="cx">
</span><span class="cx"> RefPtr<CSSValueList> values = CSSValueList::createSpaceSeparated();
</span><span class="cx"> if (hasSeenSpanKeyword)
</span><del>- values->append(cssValuePool().createIdentifierValue(CSSValueSpan));
</del><ins>+ values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueSpan));
</ins><span class="cx"> if (numericValue)
</span><span class="cx"> values->append(numericValue.releaseNonNull());
</span><span class="cx"> if (gridLineName)
</span><span class="lines">@@ -5329,7 +5338,7 @@
</span><span class="cx"> if (is<CSSPrimitiveValue>(value) && downcast<CSSPrimitiveValue>(value).isString())
</span><span class="cx"> return &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->append(value.releaseNonNull());
</span><span class="cx"> } else
</span><del>- templateRows->append(cssValuePool().createIdentifierValue(CSSValueAuto));
</del><ins>+ templateRows->append(CSSValuePool::singleton().createIdentifierValue(CSSValueAuto));
</ins><span class="cx">
</span><span class="cx"> // This will handle the trailing/leading <custom-ident>* 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"> // [<line-names>? <string> [<track-size> <line-names>]? ]+
</span><span class="cx"> RefPtr<CSSValue> 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 && !m_valueList->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<CSSValue> columnsValue = firstValueIsNone ? cssValuePool().createIdentifierValue(CSSValueNone) : parseGridTrackList();
</del><ins>+ RefPtr<CSSValue> columnsValue = firstValueIsNone ? CSSValuePool::singleton().createIdentifierValue(CSSValueNone) : parseGridTrackList();
</ins><span class="cx">
</span><span class="cx"> // 2- <grid-template-columns> / <grid-template-columns> 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 <grid-auto-rows> 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->current();
</span><span class="cx"> if (value->id == CSSValueNone) {
</span><span class="cx"> m_valueList->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<CSSValueList> 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 && equalIgnoringCase(currentValue.function->name, "minmax(")) {
</span><span class="cx"> // The spec defines the following grammar: minmax( <track-breadth> , <track-breadth> )
</span><span class="lines">@@ -5735,7 +5744,7 @@
</span><span class="cx"> RefPtr<CSSPrimitiveValue> CSSParser::parseGridBreadth(CSSParserValue& 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 <= 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->id)) {
</span><span class="cx"> if (firstId == CSSValueDense)
</span><del>- parsedValues->append(cssValuePool().createIdentifierValue(CSSValueRow));
</del><ins>+ parsedValues->append(CSSValuePool::singleton().createIdentifierValue(CSSValueRow));
</ins><span class="cx">
</span><del>- parsedValues->append(cssValuePool().createIdentifierValue(firstId));
</del><ins>+ parsedValues->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->append(cssValuePool().createIdentifierValue(firstId));
</del><ins>+ parsedValues->append(CSSValuePool::singleton().createIdentifierValue(firstId));
</ins><span class="cx"> if (value->id == CSSValueDense) {
</span><del>- parsedValues->append(cssValuePool().createIdentifierValue(value->id));
</del><ins>+ parsedValues->append(CSSValuePool::singleton().createIdentifierValue(value->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->id == CSSValueRow || value->id == CSSValueColumn) {
</span><del>- parsedValues->append(cssValuePool().createIdentifierValue(value->id));
</del><ins>+ parsedValues->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> inputList.next();
</span><span class="cx"> }
</span><del>- parsedValues->append(cssValuePool().createIdentifierValue(firstId));
</del><ins>+ parsedValues->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->id == CSSValueNone) {
</span><span class="cx"> if (m_valueList->next())
</span><span class="cx"> return false;
</span><del>- addProperty(propId, cssValuePool().createIdentifierValue(value->id), important);
</del><ins>+ addProperty(propId, CSSValuePool::singleton().createIdentifierValue(value->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<CSSPrimitiveValue> amount = cssValuePool().createIdentifierValue(CSSValueInvalid);
</del><ins>+ RefPtr<CSSPrimitiveValue> amount = CSSValuePool::singleton().createIdentifierValue(CSSValueInvalid);
</ins><span class="cx">
</span><span class="cx"> region->setTop(amount);
</span><span class="cx"> region->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<CSSPrimitiveValue> amount = arg->id == CSSValueAuto ? cssValuePool().createIdentifierValue(CSSValueAuto) : createPrimitiveNumericValue(argWithCalculation);
</del><ins>+ RefPtr<CSSPrimitiveValue> amount = arg->id == CSSValueAuto ? CSSValuePool::singleton().createIdentifierValue(CSSValueAuto) : createPrimitiveNumericValue(argWithCalculation);
</ins><span class="cx">
</span><span class="cx"> if (i == 0)
</span><span class="cx"> region->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<DashboardRegion>(WTF::move(firstRegion))), important);
</del><ins>+ addProperty(propId, CSSValuePool::singleton().createValue(RefPtr<DashboardRegion>(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->current() && m_valueList->current()->id == CSSValueNone) {
</span><span class="cx"> m_valueList->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<CSSPrimitiveValue> 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->unit != CSSParserValue::Operator || argument->iValue != ',')
</span><span class="lines">@@ -6095,7 +6104,7 @@
</span><span class="cx"> RefPtr<CSSPrimitiveValue> 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->unit != CSSParserValue::Operator || argument->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->id == CSSValueAuto || validateUnit(argumentWithCalculation, FLength);
</span><span class="cx"> if (!valid)
</span><span class="cx"> break;
</span><del>- RefPtr<CSSPrimitiveValue> length = argument->id == CSSValueAuto ? cssValuePool().createIdentifierValue(CSSValueAuto) : createPrimitiveNumericValue(argumentWithCalculation);
</del><ins>+ RefPtr<CSSPrimitiveValue> length = argument->id == CSSValueAuto ? CSSValuePool::singleton().createIdentifierValue(CSSValueAuto) : createPrimitiveNumericValue(argumentWithCalculation);
</ins><span class="cx"> if (i == 0)
</span><span class="cx"> rect->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->next();
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="lines">@@ -6293,7 +6302,7 @@
</span><span class="cx"> RefPtr<CSSPrimitiveValue> CSSParser::parseShapeRadius(CSSParserValue& 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->append(shapeValue.releaseNonNull());
</span><span class="cx"> shapeFound = true;
</span><span class="cx"> } else if (isBoxValue(valueId, propId) && !boxFound) {
</span><del>- RefPtr<CSSPrimitiveValue> parsedValue = cssValuePool().createIdentifierValue(valueId);
</del><ins>+ RefPtr<CSSPrimitiveValue> parsedValue = CSSValuePool::singleton().createIdentifierValue(valueId);
</ins><span class="cx"> list->append(parsedValue.releaseNonNull());
</span><span class="cx"> boxFound = true;
</span><span class="cx"> m_valueList->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->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<CSSValue> 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->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->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->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->current())) {
</span><span class="cx"> if (!fontStyleParsed && isValidKeywordPropertyAndValue(CSSPropertyFontStyle, value->id, m_context, m_styleSheet)) {
</span><del>- addProperty(CSSPropertyFontStyle, cssValuePool().createIdentifierValue(value->id), important);
</del><ins>+ addProperty(CSSPropertyFontStyle, CSSValuePool::singleton().createIdentifierValue(value->id), important);
</ins><span class="cx"> fontStyleParsed = true;
</span><span class="cx"> } else if (!fontVariantParsed && (value->id == CSSValueNormal || value->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->id), important);
</del><ins>+ addProperty(CSSPropertyFontVariant, CSSValuePool::singleton().createIdentifierValue(value->id), important);
</ins><span class="cx"> fontVariantParsed = true;
</span><span class="cx"> } else if (!fontWeightParsed && 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"> // <absolute-size> | <relative-size> | <length> | <percentage> | 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<CSSValue> 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<CSSValueList> fontFamilyList = CSSValueList::createCommaSeparated();
</span><del>- fontFamilyList->append(cssValuePool().createFontFamilyValue(fontDescription.familyAt(0), FromSystemFontID::Yes));
</del><ins>+ fontFamilyList->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->string);
</span><span class="cx"> else if (nextValBreaksFont || !nextValIsFontName)
</span><del>- list->append(cssValuePool().createIdentifierValue(value->id));
</del><ins>+ list->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> else {
</span><span class="cx"> familyBuilder.commit();
</span><span class="cx"> familyBuilder.add(value->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->append(cssValuePool().createFontFamilyValue(value->string));
</del><ins>+ list->append(CSSValuePool::singleton().createFontFamilyValue(value->string));
</ins><span class="cx"> } else if (value->unit == CSSPrimitiveValue::CSS_IDENT) {
</span><span class="cx"> if (inFamily)
</span><span class="cx"> familyBuilder.add(value->string);
</span><span class="cx"> else if (nextValBreaksFont || !nextValIsFontName)
</span><del>- list->append(cssValuePool().createFontFamilyValue(value->string));
</del><ins>+ list->append(CSSValuePool::singleton().createFontFamilyValue(value->string));
</ins><span class="cx"> else {
</span><span class="cx"> familyBuilder.commit();
</span><span class="cx"> familyBuilder.add(value->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->id == CSSValueNormal || val->id == CSSValueSmallCaps)
</span><del>- parsedValue = cssValuePool().createIdentifierValue(val->id);
</del><ins>+ parsedValue = CSSValuePool::singleton().createIdentifierValue(val->id);
</ins><span class="cx"> else if (val->id == CSSValueAll && !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->id);
</del><ins>+ parsedValue = CSSValuePool::singleton().createIdentifierValue(val->id);
</ins><span class="cx"> }
</span><span class="cx"> } else if (val->unit == CSSParserValue::Operator && val->iValue == ',') {
</span><span class="cx"> expectComma = false;
</span><span class="lines">@@ -6861,14 +6870,14 @@
</span><span class="cx"> {
</span><span class="cx"> CSSParserValue& value = *m_valueList->current();
</span><span class="cx"> if ((value.id >= CSSValueNormal) && (value.id <= 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<int>(parsedDouble(valueWithCalculation));
</span><span class="cx"> if (!(weight % 100) && weight >= 100 && weight <= 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->current();
</span><span class="cx"> if (value && value->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->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<CSSValueList> list = CSSValueList::createSpaceSeparated();
</span><span class="cx"> if (encounteredWeight)
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueWeight));
</del><ins>+ list->append(CSSValuePool::singleton().createIdentifierValue(CSSValueWeight));
</ins><span class="cx"> if (encounteredStyle)
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueStyle));
</del><ins>+ list->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->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& value, RGBA32& c)
</span><span class="lines">@@ -7658,7 +7667,7 @@
</span><span class="cx">
</span><span class="cx"> void commitStyle(CSSParserValue& 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->id);
</del><ins>+ parsedColor = CSSValuePool::singleton().createIdentifierValue(value->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->id);
</del><ins>+ direction = CSSValuePool::singleton().createIdentifierValue(value->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->next();
</span><span class="cx"> RefPtr<CSSPrimitiveValue> 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->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() && 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->id))
</span><del>- firstValue = cssValuePool().createIdentifierValue(val->id);
</del><ins>+ firstValue = CSSValuePool::singleton().createIdentifierValue(val->id);
</ins><span class="cx"> else
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> val = m_valueList->next();
</span><span class="cx"> if (val) {
</span><span class="cx"> if (isBorderImageRepeatKeyword(val->id))
</span><del>- secondValue = cssValuePool().createIdentifierValue(val->id);
</del><ins>+ secondValue = CSSValuePool::singleton().createIdentifierValue(val->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->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<CSSPrimitiveValue> 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->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->valueAt(0)->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->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, "left") && horizontal)
</span><span class="cx"> || (equalIgnoringCase(value, "top") && !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, "right") && horizontal)
</span><span class="cx"> || (equalIgnoringCase(value, "bottom") && !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, "center"))
</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<CSSPrimitiveValue::UnitTypes>(value.unit));
</del><ins>+ result = CSSValuePool::singleton().createValue(value.fValue, static_cast<CSSPrimitiveValue::UnitTypes>(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->name, "from("))
</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->current()->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->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->current();
</span><span class="cx"> if (stopArg->unit == CSSPrimitiveValue::CSS_PERCENTAGE)
</span><del>- stop.m_position = cssValuePool().createValue(stopArg->fValue / 100, CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ stop.m_position = CSSValuePool::singleton().createValue(stopArg->fValue / 100, CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> else if (stopArg->unit == CSSPrimitiveValue::CSS_NUMBER)
</span><del>- stop.m_position = cssValuePool().createValue(stopArg->fValue, CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ stop.m_position = CSSValuePool::singleton().createValue(stopArg->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->next();
</span><span class="cx"> CSSValueID id = stopArg->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<CSSPrimitiveValue> parseGradientColorOrKeyword(CSSParser& parser, CSSParserValue& 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(&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 && !startY)
</span><del>- startY = cssValuePool().createIdentifierValue(CSSValueTop);
</del><ins>+ startY = CSSValuePool::singleton().createIdentifierValue(CSSValueTop);
</ins><span class="cx">
</span><span class="cx"> result->setFirstX(startX.release());
</span><span class="cx"> result->setFirstY(startY.release());
</span><span class="lines">@@ -8812,7 +8821,7 @@
</span><span class="cx"> switch (argument->id) {
</span><span class="cx"> case CSSValueCircle:
</span><span class="cx"> case CSSValueEllipse:
</span><del>- shapeValue = cssValuePool().createIdentifierValue(argument->id);
</del><ins>+ shapeValue = CSSValuePool::singleton().createIdentifierValue(argument->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->id);
</del><ins>+ sizeValue = CSSValuePool::singleton().createIdentifierValue(argument->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->id);
</del><ins>+ shapeValue = CSSValuePool::singleton().createIdentifierValue(argument->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->id);
</del><ins>+ sizeValue = CSSValuePool::singleton().createIdentifierValue(argument->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->unit == CSSPrimitiveValue::CSS_PERCENTAGE)
</span><del>- percentage = cssValuePool().createValue(clampTo<double>(argument->fValue / 100, 0, 1), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ percentage = CSSValuePool::singleton().createValue(clampTo<double>(argument->fValue / 100, 0, 1), CSSPrimitiveValue::CSS_NUMBER);
</ins><span class="cx"> else if (argument->unit == CSSPrimitiveValue::CSS_NUMBER)
</span><del>- percentage = cssValuePool().createValue(clampTo<double>(argument->fValue, 0, 1), CSSPrimitiveValue::CSS_NUMBER);
</del><ins>+ percentage = CSSValuePool::singleton().createValue(clampTo<double>(argument->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 && value->id == CSSValueFromImage) {
</span><del>- list->append(cssValuePool().createIdentifierValue(value->id));
</del><ins>+ list->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> haveFromImage = true;
</span><span class="cx"> } else if (!haveSnap && value->id == CSSValueSnap) {
</span><del>- list->append(cssValuePool().createIdentifierValue(value->id));
</del><ins>+ list->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> haveSnap = true;
</span><span class="cx"> } else if (!haveResolution && validateUnit(valueWithCalculation, FResolution | FNonNeg) && value->fValue > 0) {
</span><span class="cx"> list->append(createPrimitiveNumericValue(valueWithCalculation));
</span><span class="lines">@@ -9390,7 +9399,7 @@
</span><span class="cx"> }
</span><span class="cx"> if (imageScaleFactor <= 0)
</span><span class="cx"> return nullptr;
</span><del>- imageSet->append(cssValuePool().createValue(imageScaleFactor, CSSPrimitiveValue::CSS_NUMBER));
</del><ins>+ imageSet->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->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->id == CSSValueNone) {
</span><del>- addProperty(propId, cssValuePool().createIdentifierValue(value->id), important);
</del><ins>+ addProperty(propId, CSSValuePool::singleton().createIdentifierValue(value->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->id == CSSValueNone)
</span><del>- addProperty(propId, cssValuePool().createIdentifierValue(value->id), important);
</del><ins>+ addProperty(propId, CSSValuePool::singleton().createIdentifierValue(value->id), important);
</ins><span class="cx"> else {
</span><span class="cx"> String inputProperty = String(value->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->current();
</span><span class="cx"> if (value && value->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->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->append(cssValuePool().createIdentifierValue(value->id));
</del><ins>+ list->append(CSSValuePool::singleton().createIdentifierValue(value->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->id), important);
</del><ins>+ addProperty(CSSPropertyWebkitTextDecorationSkip, 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">@@ -10173,7 +10182,7 @@
</span><span class="cx"> if (m_valueList->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->id == CSSValueNone) {
</span><span class="cx"> if (fill || shape || (valueListSize != 1 && !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->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->id == CSSValueOpen || value->id == CSSValueFilled) {
</span><span class="cx"> if (fill)
</span><span class="cx"> return false;
</span><del>- fill = cssValuePool().createIdentifierValue(value->id);
</del><ins>+ fill = CSSValuePool::singleton().createIdentifierValue(value->id);
</ins><span class="cx"> } else if (value->id == CSSValueDot || value->id == CSSValueCircle || value->id == CSSValueDoubleCircle || value->id == CSSValueTriangle || value->id == CSSValueSesame) {
</span><span class="cx"> if (shape)
</span><span class="cx"> return false;
</span><del>- shape = cssValuePool().createIdentifierValue(value->id);
</del><ins>+ shape = CSSValuePool::singleton().createIdentifierValue(value->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<CSSValueList> list = CSSValueList::createSpaceSeparated();
</span><del>- list->append(cssValuePool().createIdentifierValue(overUnderValueID));
</del><ins>+ list->append(CSSValuePool::singleton().createIdentifierValue(overUnderValueID));
</ins><span class="cx"> if (foundLeftOrRight)
</span><del>- list->append(cssValuePool().createIdentifierValue(leftRightValueID));
</del><ins>+ list->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 && value->id == CSSValueWebkitEachLine) {
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueWebkitEachLine));
</del><ins>+ list->append(CSSValuePool::singleton().createIdentifierValue(CSSValueWebkitEachLine));
</ins><span class="cx"> hasEachLine = true;
</span><span class="cx"> } else if (!hasHanging && value->id == CSSValueWebkitHanging) {
</span><del>- list->append(cssValuePool().createIdentifierValue(CSSValueWebkitHanging));
</del><ins>+ list->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->size() == 1 && m_valueList->current()->id == CSSValueNormal) {
</span><del>- RefPtr<CSSPrimitiveValue> normalValue = cssValuePool().createIdentifierValue(CSSValueNormal);
</del><ins>+ RefPtr<CSSPrimitiveValue> normalValue = CSSValuePool::singleton().createIdentifierValue(CSSValueNormal);
</ins><span class="cx"> m_valueList->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->append(cssValuePool().createIdentifierValue(value->id));
</del><ins>+ ligatureValues->append(CSSValuePool::singleton().createIdentifierValue(value->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->append(cssValuePool().createIdentifierValue(value->id));
</del><ins>+ ligatureValues->append(CSSValuePool::singleton().createIdentifierValue(value->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->append(cssValuePool().createIdentifierValue(value->id));
</del><ins>+ ligatureValues->append(CSSValuePool::singleton().createIdentifierValue(value->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<CSSValue> cssValue;
</span><span class="cx"> if (value->id == CSSValueScrollPosition || value->id == CSSValueContents)
</span><del>- cssValue = cssValuePool().createIdentifierValue(value->id);
</del><ins>+ cssValue = CSSValuePool::singleton().createIdentifierValue(value->id);
</ins><span class="cx"> else {
</span><span class="cx"> CSSPropertyID propertyID = cssPropertyID(value->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& cssValuePool()
</del><ins>+CSSValuePool& CSSValuePool::singleton()
</ins><span class="cx"> {
</span><span class="cx"> static NeverDestroyed<CSSValuePool> 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& singleton();
+
</ins><span class="cx"> PassRefPtr<CSSValueList> createFontFaceValue(const AtomicString&);
</span><span class="cx"> Ref<CSSPrimitiveValue> createFontFamilyValue(const String&, FromSystemFontID = FromSystemFontID::No);
</span><span class="cx"> Ref<CSSInheritedValue> createInheritedValue() { return m_inheritedValue.copyRef(); }
</span><span class="lines">@@ -93,8 +95,6 @@
</span><span class="cx"> friend class WTF::NeverDestroyed<CSSValuePool>;
</span><span class="cx"> };
</span><span class="cx">
</span><del>-CSSValuePool& 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& 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& 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& 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& style, CSSPropertyID propertyID, const String& 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->setProperty(CSSPropertyFontSize, cssValuePool().createValue(desiredFontSize, CSSPrimitiveValue::CSS_PX), false);
</del><ins>+ inlineStyle->setProperty(CSSPropertyFontSize, CSSValuePool::singleton().createValue(desiredFontSize, CSSPrimitiveValue::CSS_PX), false);
</ins><span class="cx"> setNodeAttribute(element.get(), styleAttr, inlineStyle->asText());
</span><span class="cx"> }
</span><span class="cx"> if (inlineStyle->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<CSSValueList> valueList = CSSValueList::createSpaceSeparated();
</span><span class="cx"> if (underlineChange() == TextDecorationChange::Add)
</span><del>- valueList->append(cssValuePool().createIdentifierValue(CSSValueUnderline));
</del><ins>+ valueList->append(CSSValuePool::singleton().createIdentifierValue(CSSValueUnderline));
</ins><span class="cx"> if (strikeThroughChange() == TextDecorationChange::Add)
</span><del>- valueList->append(cssValuePool().createIdentifierValue(CSSValueLineThrough));
</del><ins>+ valueList->append(CSSValuePool::singleton().createIdentifierValue(CSSValueLineThrough));
</ins><span class="cx">
</span><span class="cx"> if (valueList->length())
</span><span class="cx"> style->setProperty(CSSPropertyTextDecoration, valueList.ptr());
</span><span class="cx"> else
</span><del>- style->setProperty(CSSPropertyTextDecoration, cssValuePool().createIdentifierValue(CSSValueNone));
</del><ins>+ style->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<CSSPrimitiveValue> underline = cssValuePool().createIdentifierValue(CSSValueUnderline);
- Ref<CSSPrimitiveValue> lineThrough = cssValuePool().createIdentifierValue(CSSValueLineThrough);
</del><ins>+ auto& cssValuePool = CSSValuePool::singleton();
+ Ref<CSSPrimitiveValue> underline = cssValuePool.createIdentifierValue(CSSValueUnderline);
+ Ref<CSSPrimitiveValue> lineThrough = cssValuePool.createIdentifierValue(CSSValueLineThrough);
</ins><span class="cx"> RefPtr<CSSValue> value = m_mutableStyle->getPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect);
</span><span class="cx"> RefPtr<CSSValueList> valueList;
</span><span class="cx"> if (value && value->isValueList()) {
</span><span class="lines">@@ -826,7 +827,7 @@
</span><span class="cx"> RefPtr<CSSValueList> newValueList = valueList->copy();
</span><span class="cx"> RefPtr<CSSValueList> extractedValueList = CSSValueList::createSpaceSeparated();
</span><span class="cx">
</span><del>- Ref<CSSPrimitiveValue> underline = cssValuePool().createIdentifierValue(CSSValueUnderline);
</del><ins>+ Ref<CSSPrimitiveValue> underline = CSSValuePool::singleton().createIdentifierValue(CSSValueUnderline);
</ins><span class="cx"> if (shouldRemoveUnderline && valueList->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->append(WTF::move(underline));
</span><span class="cx"> }
</span><span class="cx">
</span><del>- Ref<CSSPrimitiveValue> lineThrough = cssValuePool().createIdentifierValue(CSSValueLineThrough);
</del><ins>+ Ref<CSSPrimitiveValue> lineThrough = CSSValuePool::singleton().createIdentifierValue(CSSValueLineThrough);
</ins><span class="cx"> if (shouldRemoveStrikeThrough && valueList->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<CSSValue> value = computedStyle.propertyValue(CSSPropertyTextDecoration)) {
</span><span class="cx"> if (value->isValueList()) {
</span><ins>+ auto& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> const CSSValueList& valueList = downcast<CSSValueList>(*value);
</span><del>- hasUnderline = valueList.hasValue(&cssValuePool().createIdentifierValue(CSSValueUnderline).get());
- hasLineThrough = valueList.hasValue(&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 && !hasUnderline) || (shouldAddLineThrough && !hasLineThrough))
</span><span class="lines">@@ -1225,8 +1227,9 @@
</span><span class="cx">
</span><span class="cx"> static void mergeTextDecorationValues(CSSValueList& mergedValue, const CSSValueList& valueToMerge)
</span><span class="cx"> {
</span><del>- Ref<CSSPrimitiveValue> underline = cssValuePool().createIdentifierValue(CSSValueUnderline);
- Ref<CSSPrimitiveValue> lineThrough = cssValuePool().createIdentifierValue(CSSValueLineThrough);
</del><ins>+ auto& cssValuePool = CSSValuePool::singleton();
+ Ref<CSSPrimitiveValue> underline = cssValuePool.createIdentifierValue(CSSValueUnderline);
+ Ref<CSSPrimitiveValue> lineThrough = cssValuePool.createIdentifierValue(CSSValueLineThrough);
</ins><span class="cx">
</span><span class="cx"> if (valueToMerge.hasValue(underline.ptr()) && !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<CSSPrimitiveValue> sticky = cssValuePool().createIdentifierValue(CSSValueWebkitSticky);
</del><ins>+ auto& cssValuePool = CSSValuePool::singleton();
+ RefPtr<CSSPrimitiveValue> sticky = cssValuePool.createIdentifierValue(CSSValueWebkitSticky);
</ins><span class="cx"> if (m_mutableStyle->propertyMatches(CSSPropertyPosition, sticky.get())) {
</span><del>- m_mutableStyle->setProperty(CSSPropertyPosition, cssValuePool().createIdentifierValue(CSSValueStatic), m_mutableStyle->propertyIsImportant(CSSPropertyPosition));
</del><ins>+ m_mutableStyle->setProperty(CSSPropertyPosition, cssValuePool.createIdentifierValue(CSSValueStatic), m_mutableStyle->propertyIsImportant(CSSPropertyPosition));
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><del>- RefPtr<CSSPrimitiveValue> fixed = cssValuePool().createIdentifierValue(CSSValueFixed);
</del><ins>+ RefPtr<CSSPrimitiveValue> fixed = cssValuePool.createIdentifierValue(CSSValueFixed);
</ins><span class="cx"> if (m_mutableStyle->propertyMatches(CSSPropertyPosition, fixed.get())) {
</span><del>- m_mutableStyle->setProperty(CSSPropertyPosition, cssValuePool().createIdentifierValue(CSSValueAbsolute), m_mutableStyle->propertyIsImportant(CSSPropertyPosition));
</del><ins>+ m_mutableStyle->setProperty(CSSPropertyPosition, cssValuePool.createIdentifierValue(CSSValueAbsolute), m_mutableStyle->propertyIsImportant(CSSPropertyPosition));
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><del>- RefPtr<CSSPrimitiveValue> absolute = cssValuePool().createIdentifierValue(CSSValueAbsolute);
</del><ins>+ RefPtr<CSSPrimitiveValue> absolute = cssValuePool.createIdentifierValue(CSSValueAbsolute);
</ins><span class="cx"> if (m_mutableStyle->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<CSSValue> v = m_mutableStyle->getPropertyCSSValue(CSSPropertyFloat);
</span><del>- RefPtr<CSSPrimitiveValue> noneValue = cssValuePool().createIdentifierValue(CSSValueNone);
</del><ins>+ RefPtr<CSSPrimitiveValue> noneValue = CSSValuePool::singleton().createIdentifierValue(CSSValueNone);
</ins><span class="cx"> return v && !v->equals(*noneValue);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1604,10 +1608,11 @@
</span><span class="cx"> if (is<CSSValueList>(value.get()))
</span><span class="cx"> valueList = downcast<CSSValueList>(value.get());
</span><span class="cx">
</span><del>- Ref<CSSValue> underline = cssValuePool().createIdentifierValue(CSSValueUnderline);
</del><ins>+ auto& cssValuePool = CSSValuePool::singleton();
+ Ref<CSSValue> underline = cssValuePool.createIdentifierValue(CSSValueUnderline);
</ins><span class="cx"> bool hasUnderline = valueList && valueList->hasValue(underline.ptr());
</span><span class="cx">
</span><del>- Ref<CSSValue> lineThrough = cssValuePool().createIdentifierValue(CSSValueLineThrough);
</del><ins>+ Ref<CSSValue> lineThrough = cssValuePool.createIdentifierValue(CSSValueLineThrough);
</ins><span class="cx"> bool hasLineThrough = valueList && valueList->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<CSSValue> textDecoration = style.getPropertyCSSValue(CSSPropertyTextDecoration);
</span><span class="cx"> if (is<CSSValueList>(textDecoration.get())) {
</span><del>- RefPtr<CSSPrimitiveValue> underline = cssValuePool().createIdentifierValue(CSSValueUnderline);
- RefPtr<CSSPrimitiveValue> lineThrough = cssValuePool().createIdentifierValue(CSSValueLineThrough);
</del><ins>+ auto& cssValuePool = CSSValuePool::singleton();
+ RefPtr<CSSPrimitiveValue> underline = cssValuePool.createIdentifierValue(CSSValueUnderline);
+ RefPtr<CSSPrimitiveValue> lineThrough = cssValuePool.createIdentifierValue(CSSValueLineThrough);
</ins><span class="cx">
</span><span class="cx"> RefPtr<CSSValueList> newTextDecoration = downcast<CSSValueList>(*textDecoration).copy();
</span><span class="cx"> if (newTextDecoration->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<CSSValue> value = typingStyle->style()->getPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect);
</span><span class="cx"> if (value && value->isValueList()) {
</span><span class="cx"> CSSValueList& valueList = downcast<CSSValueList>(*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& fontFamily, double fontSize, unsigned fontTraits)
</span><span class="cx"> {
</span><ins>+ auto& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> Ref<MutableStyleProperties> style = MutableStyleProperties::create();
</span><del>- style->setProperty(CSSPropertyFontFamily, cssValuePool().createFontFamilyValue(fontFamily));
</del><ins>+ style->setProperty(CSSPropertyFontFamily, cssValuePool.createFontFamilyValue(fontFamily));
</ins><span class="cx"> style->setProperty(CSSPropertyFontStyle, (fontTraits & NSFontItalicTrait) ? CSSValueItalic : CSSValueNormal);
</span><del>- style->setProperty(CSSPropertyFontWeight, cssValuePool().createValue(fontTraits & NSFontBoldTrait ? FontWeightBold : FontWeightNormal));
- style->setProperty(CSSPropertyFontSize, cssValuePool().createValue(fontSize, CSSPrimitiveValue::CSS_PX));
</del><ins>+ style->setProperty(CSSPropertyFontWeight, cssValuePool.createValue(fontTraits & NSFontBoldTrait ? FontWeightBold : FontWeightNormal));
+ style->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<CSSValueList> fontFaceValue = cssValuePool().createFontFaceValue(value))
</del><ins>+ if (RefPtr<CSSValueList> 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<CSSPrimitiveValue> darkGrayValue = cssValuePool().createColorValue(Color::darkGray);
</del><ins>+ RefPtr<CSSPrimitiveValue> 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<MutableStyleProperties> style = MutableStyleProperties::create();
</span><span class="cx">
</span><ins>+ auto& cssValuePool = CSSValuePool::singleton();
</ins><span class="cx"> switch (cellBorders()) {
</span><span class="cx"> case SolidBordersColsOnly:
</span><span class="cx"> style->setProperty(CSSPropertyBorderLeftWidth, CSSValueThin);
</span><span class="cx"> style->setProperty(CSSPropertyBorderRightWidth, CSSValueThin);
</span><span class="cx"> style->setProperty(CSSPropertyBorderLeftStyle, CSSValueSolid);
</span><span class="cx"> style->setProperty(CSSPropertyBorderRightStyle, CSSValueSolid);
</span><del>- style->setProperty(CSSPropertyBorderColor, cssValuePool().createInheritedValue());
</del><ins>+ style->setProperty(CSSPropertyBorderColor, cssValuePool.createInheritedValue());
</ins><span class="cx"> break;
</span><span class="cx"> case SolidBordersRowsOnly:
</span><span class="cx"> style->setProperty(CSSPropertyBorderTopWidth, CSSValueThin);
</span><span class="cx"> style->setProperty(CSSPropertyBorderBottomWidth, CSSValueThin);
</span><span class="cx"> style->setProperty(CSSPropertyBorderTopStyle, CSSValueSolid);
</span><span class="cx"> style->setProperty(CSSPropertyBorderBottomStyle, CSSValueSolid);
</span><del>- style->setProperty(CSSPropertyBorderColor, cssValuePool().createInheritedValue());
</del><ins>+ style->setProperty(CSSPropertyBorderColor, cssValuePool.createInheritedValue());
</ins><span class="cx"> break;
</span><span class="cx"> case SolidBorders:
</span><del>- style->setProperty(CSSPropertyBorderWidth, cssValuePool().createValue(1, CSSPrimitiveValue::CSS_PX));
- style->setProperty(CSSPropertyBorderStyle, cssValuePool().createIdentifierValue(CSSValueSolid));
- style->setProperty(CSSPropertyBorderColor, cssValuePool().createInheritedValue());
</del><ins>+ style->setProperty(CSSPropertyBorderWidth, cssValuePool.createValue(1, CSSPrimitiveValue::CSS_PX));
+ style->setProperty(CSSPropertyBorderStyle, cssValuePool.createIdentifierValue(CSSValueSolid));
+ style->setProperty(CSSPropertyBorderColor, cssValuePool.createInheritedValue());
</ins><span class="cx"> break;
</span><span class="cx"> case InsetBorders:
</span><del>- style->setProperty(CSSPropertyBorderWidth, cssValuePool().createValue(1, CSSPrimitiveValue::CSS_PX));
- style->setProperty(CSSPropertyBorderStyle, cssValuePool().createIdentifierValue(CSSValueInset));
- style->setProperty(CSSPropertyBorderColor, cssValuePool().createInheritedValue());
</del><ins>+ style->setProperty(CSSPropertyBorderWidth, cssValuePool.createValue(1, CSSPrimitiveValue::CSS_PX));
+ style->setProperty(CSSPropertyBorderStyle, cssValuePool.createIdentifierValue(CSSValueInset));
+ style->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->setProperty(CSSPropertyPadding, cssValuePool().createValue(m_padding, CSSPrimitiveValue::CSS_PX));
</del><ins>+ style->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("Drain CSSValuePool");
</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>