diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/css/CSSValuePool.h')
-rw-r--r-- | chromium/third_party/WebKit/Source/core/css/CSSValuePool.h | 62 |
1 files changed, 32 insertions, 30 deletions
diff --git a/chromium/third_party/WebKit/Source/core/css/CSSValuePool.h b/chromium/third_party/WebKit/Source/core/css/CSSValuePool.h index 75b8984a1f7..87eacf6d385 100644 --- a/chromium/third_party/WebKit/Source/core/css/CSSValuePool.h +++ b/chromium/third_party/WebKit/Source/core/css/CSSValuePool.h @@ -26,8 +26,8 @@ #ifndef CSSValuePool_h #define CSSValuePool_h -#include "CSSPropertyNames.h" -#include "CSSValueKeywords.h" +#include "core/CSSPropertyNames.h" +#include "core/CSSValueKeywords.h" #include "core/css/CSSInheritedValue.h" #include "core/css/CSSInitialValue.h" #include "core/css/CSSPrimitiveValue.h" @@ -39,48 +39,50 @@ namespace WebCore { class CSSValueList; -class CSSValuePool { - WTF_MAKE_FAST_ALLOCATED; +class CSSValuePool : public NoBaseWillBeGarbageCollected<CSSValuePool> { + WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; public: - PassRefPtr<CSSValueList> createFontFaceValue(const AtomicString&); - PassRefPtr<CSSPrimitiveValue> createFontFamilyValue(const String&); - PassRefPtr<CSSInheritedValue> createInheritedValue() { return m_inheritedValue; } - PassRefPtr<CSSInitialValue> createImplicitInitialValue() { return m_implicitInitialValue; } - PassRefPtr<CSSInitialValue> createExplicitInitialValue() { return m_explicitInitialValue; } - PassRefPtr<CSSPrimitiveValue> createIdentifierValue(CSSValueID identifier); - PassRefPtr<CSSPrimitiveValue> createIdentifierValue(CSSPropertyID identifier); - PassRefPtr<CSSPrimitiveValue> createColorValue(unsigned rgbValue); - PassRefPtr<CSSPrimitiveValue> createValue(double value, CSSPrimitiveValue::UnitTypes); - PassRefPtr<CSSPrimitiveValue> createValue(const String& value, CSSPrimitiveValue::UnitTypes type) { return CSSPrimitiveValue::create(value, type); } - PassRefPtr<CSSPrimitiveValue> createValue(const Length& value, const RenderStyle&); - PassRefPtr<CSSPrimitiveValue> createValue(const Length& value, float zoom) { return CSSPrimitiveValue::create(value, zoom); } - template<typename T> static PassRefPtr<CSSPrimitiveValue> createValue(T value) { return CSSPrimitiveValue::create(value); } + PassRefPtrWillBeRawPtr<CSSValueList> createFontFaceValue(const AtomicString&); + PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createFontFamilyValue(const String&); + PassRefPtrWillBeRawPtr<CSSInheritedValue> createInheritedValue() { return m_inheritedValue; } + PassRefPtrWillBeRawPtr<CSSInitialValue> createImplicitInitialValue() { return m_implicitInitialValue; } + PassRefPtrWillBeRawPtr<CSSInitialValue> createExplicitInitialValue() { return m_explicitInitialValue; } + PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createIdentifierValue(CSSValueID identifier); + PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createIdentifierValue(CSSPropertyID identifier); + PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createColorValue(unsigned rgbValue); + PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createValue(double value, CSSPrimitiveValue::UnitType); + PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createValue(const String& value, CSSPrimitiveValue::UnitType type) { return CSSPrimitiveValue::create(value, type); } + PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createValue(const Length& value, const RenderStyle&); + PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createValue(const Length& value, float zoom) { return CSSPrimitiveValue::create(value, zoom); } + template<typename T> static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createValue(T value) { return CSSPrimitiveValue::create(value); } + + void trace(Visitor*); private: CSSValuePool(); - RefPtr<CSSInheritedValue> m_inheritedValue; - RefPtr<CSSInitialValue> m_implicitInitialValue; - RefPtr<CSSInitialValue> m_explicitInitialValue; + RefPtrWillBeMember<CSSInheritedValue> m_inheritedValue; + RefPtrWillBeMember<CSSInitialValue> m_implicitInitialValue; + RefPtrWillBeMember<CSSInitialValue> m_explicitInitialValue; - RefPtr<CSSPrimitiveValue> m_identifierValueCache[numCSSValueKeywords]; + WillBeHeapVector<RefPtrWillBeMember<CSSPrimitiveValue>, numCSSValueKeywords> m_identifierValueCache; - typedef HashMap<unsigned, RefPtr<CSSPrimitiveValue> > ColorValueCache; + typedef WillBeHeapHashMap<unsigned, RefPtrWillBeMember<CSSPrimitiveValue> > ColorValueCache; ColorValueCache m_colorValueCache; - RefPtr<CSSPrimitiveValue> m_colorTransparent; - RefPtr<CSSPrimitiveValue> m_colorWhite; - RefPtr<CSSPrimitiveValue> m_colorBlack; + RefPtrWillBeMember<CSSPrimitiveValue> m_colorTransparent; + RefPtrWillBeMember<CSSPrimitiveValue> m_colorWhite; + RefPtrWillBeMember<CSSPrimitiveValue> m_colorBlack; static const int maximumCacheableIntegerValue = 255; - RefPtr<CSSPrimitiveValue> m_pixelValueCache[maximumCacheableIntegerValue + 1]; - RefPtr<CSSPrimitiveValue> m_percentValueCache[maximumCacheableIntegerValue + 1]; - RefPtr<CSSPrimitiveValue> m_numberValueCache[maximumCacheableIntegerValue + 1]; + WillBeHeapVector<RefPtrWillBeMember<CSSPrimitiveValue>, maximumCacheableIntegerValue + 1> m_pixelValueCache; + WillBeHeapVector<RefPtrWillBeMember<CSSPrimitiveValue>, maximumCacheableIntegerValue + 1> m_percentValueCache; + WillBeHeapVector<RefPtrWillBeMember<CSSPrimitiveValue>, maximumCacheableIntegerValue + 1> m_numberValueCache; - typedef HashMap<AtomicString, RefPtr<CSSValueList> > FontFaceValueCache; + typedef WillBeHeapHashMap<AtomicString, RefPtrWillBeMember<CSSValueList> > FontFaceValueCache; FontFaceValueCache m_fontFaceValueCache; - typedef HashMap<String, RefPtr<CSSPrimitiveValue> > FontFamilyValueCache; + typedef WillBeHeapHashMap<String, RefPtrWillBeMember<CSSPrimitiveValue> > FontFamilyValueCache; FontFamilyValueCache m_fontFamilyValueCache; friend CSSValuePool& cssValuePool(); |