summaryrefslogtreecommitdiff
path: root/Source/WebCore/css/CSSValuePool.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2013-09-13 12:51:20 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-19 20:50:05 +0200
commitd441d6f39bb846989d95bcf5caf387b42414718d (patch)
treee367e64a75991c554930278175d403c072de6bb8 /Source/WebCore/css/CSSValuePool.cpp
parent0060b2994c07842f4c59de64b5e3e430525c4b90 (diff)
downloadqtwebkit-d441d6f39bb846989d95bcf5caf387b42414718d.tar.gz
Import Qt5x2 branch of QtWebkit for Qt 5.2
Importing a new snapshot of webkit. Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Source/WebCore/css/CSSValuePool.cpp')
-rw-r--r--Source/WebCore/css/CSSValuePool.cpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/Source/WebCore/css/CSSValuePool.cpp b/Source/WebCore/css/CSSValuePool.cpp
index c1689919d..855682693 100644
--- a/Source/WebCore/css/CSSValuePool.cpp
+++ b/Source/WebCore/css/CSSValuePool.cpp
@@ -49,16 +49,22 @@ CSSValuePool::CSSValuePool()
{
}
-PassRefPtr<CSSPrimitiveValue> CSSValuePool::createIdentifierValue(int ident)
+PassRefPtr<CSSPrimitiveValue> CSSValuePool::createIdentifierValue(CSSValueID ident)
{
- if (ident <= 0 || ident >= numCSSValueKeywords)
+ if (!ident)
return CSSPrimitiveValue::createIdentifier(ident);
+ RELEASE_ASSERT(ident > 0 && ident < numCSSValueKeywords);
if (!m_identifierValueCache[ident])
m_identifierValueCache[ident] = CSSPrimitiveValue::createIdentifier(ident);
return m_identifierValueCache[ident];
}
+PassRefPtr<CSSPrimitiveValue> CSSValuePool::createIdentifierValue(CSSPropertyID ident)
+{
+ return CSSPrimitiveValue::createIdentifier(ident);
+}
+
PassRefPtr<CSSPrimitiveValue> CSSValuePool::createColorValue(unsigned rgbValue)
{
// These are the empty and deleted values of the hash table.
@@ -132,4 +138,20 @@ PassRefPtr<CSSValueList> CSSValuePool::createFontFaceValue(const AtomicString& s
return value;
}
+void CSSValuePool::drain()
+{
+ m_colorValueCache.clear();
+ m_fontFaceValueCache.clear();
+ m_fontFamilyValueCache.clear();
+
+ for (int i = 0; i < numCSSValueKeywords; ++i)
+ m_identifierValueCache[i] = 0;
+
+ for (int i = 0; i < maximumCacheableIntegerValue; ++i) {
+ m_pixelValueCache[i] = 0;
+ m_percentValueCache[i] = 0;
+ m_numberValueCache[i] = 0;
+ }
+}
+
}