| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2011, 2012 Apple Inc. All rights reserved. | 2  * Copyright (C) 2011, 2012 Apple Inc. All rights reserved. | 
| 3  * | 3  * | 
| 4  * Redistribution and use in source and binary forms, with or without | 4  * Redistribution and use in source and binary forms, with or without | 
| 5  * modification, are permitted provided that the following conditions | 5  * modification, are permitted provided that the following conditions | 
| 6  * are met: | 6  * are met: | 
| 7  * 1. Redistributions of source code must retain the above copyright | 7  * 1. Redistributions of source code must retain the above copyright | 
| 8  *    notice, this list of conditions and the following disclaimer. | 8  *    notice, this list of conditions and the following disclaimer. | 
| 9  * 2. Redistributions in binary form must reproduce the above copyright | 9  * 2. Redistributions in binary form must reproduce the above copyright | 
| 10  *    notice, this list of conditions and the following disclaimer in the | 10  *    notice, this list of conditions and the following disclaimer in the | 
| 11  *    documentation and/or other materials provided with the distribution. | 11  *    documentation and/or other materials provided with the distribution. | 
| 12  * | 12  * | 
| 13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' | 13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' | 
| 14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, | 14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, | 
| 15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 
| 16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS | 16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS | 
| 17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 
| 18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 
| 19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 
| 20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | 20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | 
| 21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 
| 22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | 22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | 
| 23  * THE POSSIBILITY OF SUCH DAMAGE. | 23  * THE POSSIBILITY OF SUCH DAMAGE. | 
| 24  */ | 24  */ | 
| 25 | 25 | 
| 26 #include "config.h" | 26 #include "config.h" | 
| 27 #include "core/css/CSSValuePool.h" | 27 #include "core/css/CSSValuePool.h" | 
| 28 | 28 | 
| 29 #include "core/css/parser/BisonCSSParser.h" |  | 
| 30 #include "core/css/CSSValueList.h" | 29 #include "core/css/CSSValueList.h" | 
|  | 30 #include "core/css/parser/CSSParser.h" | 
| 31 #include "core/rendering/style/RenderStyle.h" | 31 #include "core/rendering/style/RenderStyle.h" | 
| 32 | 32 | 
| 33 namespace blink { | 33 namespace blink { | 
| 34 | 34 | 
| 35 CSSValuePool& cssValuePool() | 35 CSSValuePool& cssValuePool() | 
| 36 { | 36 { | 
| 37     DEFINE_STATIC_LOCAL(OwnPtrWillBePersistent<CSSValuePool>, pool, (adoptPtrWil
     lBeNoop(new CSSValuePool()))); | 37     DEFINE_STATIC_LOCAL(OwnPtrWillBePersistent<CSSValuePool>, pool, (adoptPtrWil
     lBeNoop(new CSSValuePool()))); | 
| 38     return *pool; | 38     return *pool; | 
| 39 } | 39 } | 
| 40 | 40 | 
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 135 | 135 | 
| 136 PassRefPtrWillBeRawPtr<CSSValueList> CSSValuePool::createFontFaceValue(const Ato
     micString& string) | 136 PassRefPtrWillBeRawPtr<CSSValueList> CSSValuePool::createFontFaceValue(const Ato
     micString& string) | 
| 137 { | 137 { | 
| 138     // Just wipe out the cache and start rebuilding if it gets too big. | 138     // Just wipe out the cache and start rebuilding if it gets too big. | 
| 139     const unsigned maximumFontFaceCacheSize = 128; | 139     const unsigned maximumFontFaceCacheSize = 128; | 
| 140     if (m_fontFaceValueCache.size() > maximumFontFaceCacheSize) | 140     if (m_fontFaceValueCache.size() > maximumFontFaceCacheSize) | 
| 141         m_fontFaceValueCache.clear(); | 141         m_fontFaceValueCache.clear(); | 
| 142 | 142 | 
| 143     RefPtrWillBeMember<CSSValueList>& value = m_fontFaceValueCache.add(string, n
     ullptr).storedValue->value; | 143     RefPtrWillBeMember<CSSValueList>& value = m_fontFaceValueCache.add(string, n
     ullptr).storedValue->value; | 
| 144     if (!value) | 144     if (!value) | 
| 145         value = BisonCSSParser::parseFontFaceValue(string); | 145         value = CSSParser::parseFontFaceValue(string); | 
| 146     return value; | 146     return value; | 
| 147 } | 147 } | 
| 148 | 148 | 
| 149 void CSSValuePool::trace(Visitor* visitor) | 149 void CSSValuePool::trace(Visitor* visitor) | 
| 150 { | 150 { | 
| 151 #if ENABLE(OILPAN) | 151 #if ENABLE(OILPAN) | 
| 152     visitor->trace(m_inheritedValue); | 152     visitor->trace(m_inheritedValue); | 
| 153     visitor->trace(m_implicitInitialValue); | 153     visitor->trace(m_implicitInitialValue); | 
| 154     visitor->trace(m_explicitInitialValue); | 154     visitor->trace(m_explicitInitialValue); | 
| 155     visitor->trace(m_identifierValueCache); | 155     visitor->trace(m_identifierValueCache); | 
| 156     visitor->trace(m_colorValueCache); | 156     visitor->trace(m_colorValueCache); | 
| 157     visitor->trace(m_colorTransparent); | 157     visitor->trace(m_colorTransparent); | 
| 158     visitor->trace(m_colorWhite); | 158     visitor->trace(m_colorWhite); | 
| 159     visitor->trace(m_colorBlack); | 159     visitor->trace(m_colorBlack); | 
| 160     visitor->trace(m_pixelValueCache); | 160     visitor->trace(m_pixelValueCache); | 
| 161     visitor->trace(m_percentValueCache); | 161     visitor->trace(m_percentValueCache); | 
| 162     visitor->trace(m_numberValueCache); | 162     visitor->trace(m_numberValueCache); | 
| 163     visitor->trace(m_fontFaceValueCache); | 163     visitor->trace(m_fontFaceValueCache); | 
| 164     visitor->trace(m_fontFamilyValueCache); | 164     visitor->trace(m_fontFamilyValueCache); | 
| 165 #endif | 165 #endif | 
| 166 } | 166 } | 
| 167 | 167 | 
| 168 } | 168 } | 
| OLD | NEW | 
|---|