| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004 Zack Rusin <zack@kde.org> | 2 * Copyright (C) 2004 Zack Rusin <zack@kde.org> |
| 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. |
| 4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
| 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> | 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> |
| 6 * Copyright (C) 2011 Sencha, Inc. All rights reserved. | 6 * Copyright (C) 2011 Sencha, Inc. All rights reserved. |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Lesser General Public | 9 * modify it under the terms of the GNU Lesser General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 CSSPropertyVerticalAlign, | 186 CSSPropertyVerticalAlign, |
| 187 CSSPropertyWhiteSpace, | 187 CSSPropertyWhiteSpace, |
| 188 CSSPropertyWidows, | 188 CSSPropertyWidows, |
| 189 CSSPropertyWidth, | 189 CSSPropertyWidth, |
| 190 CSSPropertyWillChange, | 190 CSSPropertyWillChange, |
| 191 CSSPropertyWordBreak, | 191 CSSPropertyWordBreak, |
| 192 CSSPropertyWordSpacing, | 192 CSSPropertyWordSpacing, |
| 193 CSSPropertyWordWrap, | 193 CSSPropertyWordWrap, |
| 194 CSSPropertyZIndex, | 194 CSSPropertyZIndex, |
| 195 | 195 |
| 196 CSSPropertyWebkitAnimationDelay, | |
| 197 CSSPropertyWebkitAnimationDirection, | |
| 198 CSSPropertyWebkitAnimationDuration, | |
| 199 CSSPropertyWebkitAnimationFillMode, | |
| 200 CSSPropertyWebkitAnimationIterationCount, | |
| 201 CSSPropertyWebkitAnimationName, | |
| 202 CSSPropertyWebkitAnimationPlayState, | |
| 203 CSSPropertyWebkitAnimationTimingFunction, | |
| 204 CSSPropertyBackfaceVisibility, | 196 CSSPropertyBackfaceVisibility, |
| 205 CSSPropertyWebkitBackfaceVisibility, | 197 CSSPropertyWebkitBackfaceVisibility, |
| 206 CSSPropertyWebkitBackgroundClip, | 198 CSSPropertyWebkitBackgroundClip, |
| 207 CSSPropertyWebkitBackgroundComposite, | 199 CSSPropertyWebkitBackgroundComposite, |
| 208 CSSPropertyWebkitBackgroundOrigin, | 200 CSSPropertyWebkitBackgroundOrigin, |
| 209 CSSPropertyWebkitBackgroundSize, | 201 CSSPropertyWebkitBackgroundSize, |
| 210 CSSPropertyWebkitBorderHorizontalSpacing, | 202 CSSPropertyWebkitBorderHorizontalSpacing, |
| 211 CSSPropertyWebkitBorderImage, | 203 CSSPropertyWebkitBorderImage, |
| 212 CSSPropertyWebkitBorderVerticalSpacing, | 204 CSSPropertyWebkitBorderVerticalSpacing, |
| 213 CSSPropertyWebkitBoxDecorationBreak, | 205 CSSPropertyWebkitBoxDecorationBreak, |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 CSSPropertyWebkitTextFillColor, | 248 CSSPropertyWebkitTextFillColor, |
| 257 CSSPropertyWebkitTextOrientation, | 249 CSSPropertyWebkitTextOrientation, |
| 258 CSSPropertyWebkitTextStrokeColor, | 250 CSSPropertyWebkitTextStrokeColor, |
| 259 CSSPropertyWebkitTextStrokeWidth, | 251 CSSPropertyWebkitTextStrokeWidth, |
| 260 CSSPropertyTransform, | 252 CSSPropertyTransform, |
| 261 CSSPropertyWebkitTransform, | 253 CSSPropertyWebkitTransform, |
| 262 CSSPropertyTransformOrigin, | 254 CSSPropertyTransformOrigin, |
| 263 CSSPropertyWebkitTransformOrigin, | 255 CSSPropertyWebkitTransformOrigin, |
| 264 CSSPropertyTransformStyle, | 256 CSSPropertyTransformStyle, |
| 265 CSSPropertyWebkitTransformStyle, | 257 CSSPropertyWebkitTransformStyle, |
| 266 CSSPropertyWebkitTransitionDelay, | |
| 267 CSSPropertyWebkitTransitionDuration, | |
| 268 CSSPropertyWebkitTransitionProperty, | |
| 269 CSSPropertyWebkitTransitionTimingFunction, | |
| 270 CSSPropertyWebkitUserDrag, | 258 CSSPropertyWebkitUserDrag, |
| 271 CSSPropertyWebkitUserModify, | 259 CSSPropertyWebkitUserModify, |
| 272 CSSPropertyWebkitUserSelect, | 260 CSSPropertyWebkitUserSelect, |
| 273 CSSPropertyMaskSourceType, | 261 CSSPropertyMaskSourceType, |
| 274 }; | 262 }; |
| 275 | 263 |
| 276 static const Vector<CSSPropertyID>& computableProperties() | 264 static const Vector<CSSPropertyID>& computableProperties() |
| 277 { | 265 { |
| 278 DEFINE_STATIC_LOCAL(Vector<CSSPropertyID>, properties, ()); | 266 DEFINE_STATIC_LOCAL(Vector<CSSPropertyID>, properties, ()); |
| 279 if (properties.isEmpty()) | 267 if (properties.isEmpty()) |
| (...skipping 1585 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1865 } | 1853 } |
| 1866 case CSSPropertyZIndex: | 1854 case CSSPropertyZIndex: |
| 1867 if (style->hasAutoZIndex()) | 1855 if (style->hasAutoZIndex()) |
| 1868 return cssValuePool().createIdentifierValue(CSSValueAuto); | 1856 return cssValuePool().createIdentifierValue(CSSValueAuto); |
| 1869 return cssValuePool().createValue(style->zIndex(), CSSPrimitiveValue
::CSS_NUMBER); | 1857 return cssValuePool().createValue(style->zIndex(), CSSPrimitiveValue
::CSS_NUMBER); |
| 1870 case CSSPropertyBoxSizing: | 1858 case CSSPropertyBoxSizing: |
| 1871 if (style->boxSizing() == CONTENT_BOX) | 1859 if (style->boxSizing() == CONTENT_BOX) |
| 1872 return cssValuePool().createIdentifierValue(CSSValueContentBox); | 1860 return cssValuePool().createIdentifierValue(CSSValueContentBox); |
| 1873 return cssValuePool().createIdentifierValue(CSSValueBorderBox); | 1861 return cssValuePool().createIdentifierValue(CSSValueBorderBox); |
| 1874 case CSSPropertyAnimationDelay: | 1862 case CSSPropertyAnimationDelay: |
| 1875 ASSERT(RuntimeEnabledFeatures::cssAnimationUnprefixedEnabled()); | |
| 1876 case CSSPropertyWebkitAnimationDelay: | |
| 1877 return valueForAnimationDelay(style->animations()); | 1863 return valueForAnimationDelay(style->animations()); |
| 1878 case CSSPropertyAnimationDirection: | 1864 case CSSPropertyAnimationDirection: { |
| 1879 ASSERT(RuntimeEnabledFeatures::cssAnimationUnprefixedEnabled()); | |
| 1880 case CSSPropertyWebkitAnimationDirection: { | |
| 1881 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 1865 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 1882 const CSSAnimationData* animationData = style->animations(); | 1866 const CSSAnimationData* animationData = style->animations(); |
| 1883 if (animationData) { | 1867 if (animationData) { |
| 1884 for (size_t i = 0; i < animationData->directionList().size(); ++
i) | 1868 for (size_t i = 0; i < animationData->directionList().size(); ++
i) |
| 1885 list->append(valueForAnimationDirection(animationData->direc
tionList()[i])); | 1869 list->append(valueForAnimationDirection(animationData->direc
tionList()[i])); |
| 1886 } else { | 1870 } else { |
| 1887 list->append(cssValuePool().createIdentifierValue(CSSValueNormal
)); | 1871 list->append(cssValuePool().createIdentifierValue(CSSValueNormal
)); |
| 1888 } | 1872 } |
| 1889 return list.release(); | 1873 return list.release(); |
| 1890 } | 1874 } |
| 1891 case CSSPropertyAnimationDuration: | 1875 case CSSPropertyAnimationDuration: |
| 1892 ASSERT(RuntimeEnabledFeatures::cssAnimationUnprefixedEnabled()); | |
| 1893 case CSSPropertyWebkitAnimationDuration: | |
| 1894 return valueForAnimationDuration(style->animations()); | 1876 return valueForAnimationDuration(style->animations()); |
| 1895 case CSSPropertyAnimationFillMode: | 1877 case CSSPropertyAnimationFillMode: { |
| 1896 ASSERT(RuntimeEnabledFeatures::cssAnimationUnprefixedEnabled()); | |
| 1897 case CSSPropertyWebkitAnimationFillMode: { | |
| 1898 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 1878 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 1899 const CSSAnimationData* animationData = style->animations(); | 1879 const CSSAnimationData* animationData = style->animations(); |
| 1900 if (animationData) { | 1880 if (animationData) { |
| 1901 for (size_t i = 0; i < animationData->fillModeList().size(); ++i
) | 1881 for (size_t i = 0; i < animationData->fillModeList().size(); ++i
) |
| 1902 list->append(valueForAnimationFillMode(animationData->fillMo
deList()[i])); | 1882 list->append(valueForAnimationFillMode(animationData->fillMo
deList()[i])); |
| 1903 } else { | 1883 } else { |
| 1904 list->append(cssValuePool().createIdentifierValue(CSSValueNone))
; | 1884 list->append(cssValuePool().createIdentifierValue(CSSValueNone))
; |
| 1905 } | 1885 } |
| 1906 return list.release(); | 1886 return list.release(); |
| 1907 } | 1887 } |
| 1908 case CSSPropertyAnimationIterationCount: | 1888 case CSSPropertyAnimationIterationCount: { |
| 1909 ASSERT(RuntimeEnabledFeatures::cssAnimationUnprefixedEnabled()); | |
| 1910 case CSSPropertyWebkitAnimationIterationCount: { | |
| 1911 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 1889 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 1912 const CSSAnimationData* animationData = style->animations(); | 1890 const CSSAnimationData* animationData = style->animations(); |
| 1913 if (animationData) { | 1891 if (animationData) { |
| 1914 for (size_t i = 0; i < animationData->iterationCountList().size(
); ++i) | 1892 for (size_t i = 0; i < animationData->iterationCountList().size(
); ++i) |
| 1915 list->append(valueForAnimationIterationCount(animationData->
iterationCountList()[i])); | 1893 list->append(valueForAnimationIterationCount(animationData->
iterationCountList()[i])); |
| 1916 } else { | 1894 } else { |
| 1917 list->append(cssValuePool().createValue(CSSAnimationData::initia
lIterationCount(), CSSPrimitiveValue::CSS_NUMBER)); | 1895 list->append(cssValuePool().createValue(CSSAnimationData::initia
lIterationCount(), CSSPrimitiveValue::CSS_NUMBER)); |
| 1918 } | 1896 } |
| 1919 return list.release(); | 1897 return list.release(); |
| 1920 } | 1898 } |
| 1921 case CSSPropertyAnimationName: | 1899 case CSSPropertyAnimationName: { |
| 1922 ASSERT(RuntimeEnabledFeatures::cssAnimationUnprefixedEnabled()); | |
| 1923 case CSSPropertyWebkitAnimationName: { | |
| 1924 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 1900 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 1925 const CSSAnimationData* animationData = style->animations(); | 1901 const CSSAnimationData* animationData = style->animations(); |
| 1926 if (animationData) { | 1902 if (animationData) { |
| 1927 for (size_t i = 0; i < animationData->nameList().size(); ++i) | 1903 for (size_t i = 0; i < animationData->nameList().size(); ++i) |
| 1928 list->append(cssValuePool().createValue(animationData->nameL
ist()[i], CSSPrimitiveValue::CSS_STRING)); | 1904 list->append(cssValuePool().createValue(animationData->nameL
ist()[i], CSSPrimitiveValue::CSS_STRING)); |
| 1929 } else { | 1905 } else { |
| 1930 list->append(cssValuePool().createIdentifierValue(CSSValueNone))
; | 1906 list->append(cssValuePool().createIdentifierValue(CSSValueNone))
; |
| 1931 } | 1907 } |
| 1932 return list.release(); | 1908 return list.release(); |
| 1933 } | 1909 } |
| 1934 case CSSPropertyAnimationPlayState: | 1910 case CSSPropertyAnimationPlayState: { |
| 1935 ASSERT(RuntimeEnabledFeatures::cssAnimationUnprefixedEnabled()); | |
| 1936 case CSSPropertyWebkitAnimationPlayState: { | |
| 1937 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 1911 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 1938 const CSSAnimationData* animationData = style->animations(); | 1912 const CSSAnimationData* animationData = style->animations(); |
| 1939 if (animationData) { | 1913 if (animationData) { |
| 1940 for (size_t i = 0; i < animationData->playStateList().size(); ++
i) | 1914 for (size_t i = 0; i < animationData->playStateList().size(); ++
i) |
| 1941 list->append(valueForAnimationPlayState(animationData->playS
tateList()[i])); | 1915 list->append(valueForAnimationPlayState(animationData->playS
tateList()[i])); |
| 1942 } else { | 1916 } else { |
| 1943 list->append(cssValuePool().createIdentifierValue(CSSValueRunnin
g)); | 1917 list->append(cssValuePool().createIdentifierValue(CSSValueRunnin
g)); |
| 1944 } | 1918 } |
| 1945 return list.release(); | 1919 return list.release(); |
| 1946 } | 1920 } |
| 1947 case CSSPropertyAnimationTimingFunction: | 1921 case CSSPropertyAnimationTimingFunction: |
| 1948 ASSERT(RuntimeEnabledFeatures::cssAnimationUnprefixedEnabled()); | |
| 1949 case CSSPropertyWebkitAnimationTimingFunction: | |
| 1950 return valueForAnimationTimingFunction(style->animations()); | 1922 return valueForAnimationTimingFunction(style->animations()); |
| 1951 case CSSPropertyAnimation: | 1923 case CSSPropertyAnimation: { |
| 1952 case CSSPropertyWebkitAnimation: { | |
| 1953 const CSSAnimationData* animationData = style->animations(); | 1924 const CSSAnimationData* animationData = style->animations(); |
| 1954 if (animationData) { | 1925 if (animationData) { |
| 1955 RefPtr<CSSValueList> animationsList = CSSValueList::createCommaS
eparated(); | 1926 RefPtr<CSSValueList> animationsList = CSSValueList::createCommaS
eparated(); |
| 1956 for (size_t i = 0; i < animationData->nameList().size(); ++i) { | 1927 for (size_t i = 0; i < animationData->nameList().size(); ++i) { |
| 1957 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparat
ed(); | 1928 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparat
ed(); |
| 1958 list->append(cssValuePool().createValue(animationData->nameL
ist()[i], CSSPrimitiveValue::CSS_STRING)); | 1929 list->append(cssValuePool().createValue(animationData->nameL
ist()[i], CSSPrimitiveValue::CSS_STRING)); |
| 1959 list->append(cssValuePool().createValue(CSSTimingData::getRe
peated(animationData->durationList(), i), CSSPrimitiveValue::CSS_S)); | 1930 list->append(cssValuePool().createValue(CSSTimingData::getRe
peated(animationData->durationList(), i), CSSPrimitiveValue::CSS_S)); |
| 1960 list->append(createTimingFunctionValue(CSSTimingData::getRep
eated(animationData->timingFunctionList(), i).get())); | 1931 list->append(createTimingFunctionValue(CSSTimingData::getRep
eated(animationData->timingFunctionList(), i).get())); |
| 1961 list->append(cssValuePool().createValue(CSSTimingData::getRe
peated(animationData->delayList(), i), CSSPrimitiveValue::CSS_S)); | 1932 list->append(cssValuePool().createValue(CSSTimingData::getRe
peated(animationData->delayList(), i), CSSPrimitiveValue::CSS_S)); |
| 1962 list->append(valueForAnimationIterationCount(CSSTimingData::
getRepeated(animationData->iterationCountList(), i))); | 1933 list->append(valueForAnimationIterationCount(CSSTimingData::
getRepeated(animationData->iterationCountList(), i))); |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2086 list->append(pixelValueForLength(style->transformOriginY(), *sty
le)); | 2057 list->append(pixelValueForLength(style->transformOriginY(), *sty
le)); |
| 2087 if (style->transformOriginZ() != 0) | 2058 if (style->transformOriginZ() != 0) |
| 2088 list->append(pixelValue(style->transformOriginZ(), *style)); | 2059 list->append(pixelValue(style->transformOriginZ(), *style)); |
| 2089 } | 2060 } |
| 2090 return list.release(); | 2061 return list.release(); |
| 2091 } | 2062 } |
| 2092 case CSSPropertyTransformStyle: | 2063 case CSSPropertyTransformStyle: |
| 2093 case CSSPropertyWebkitTransformStyle: | 2064 case CSSPropertyWebkitTransformStyle: |
| 2094 return cssValuePool().createIdentifierValue((style->transformStyle3D
() == TransformStyle3DPreserve3D) ? CSSValuePreserve3d : CSSValueFlat); | 2065 return cssValuePool().createIdentifierValue((style->transformStyle3D
() == TransformStyle3DPreserve3D) ? CSSValuePreserve3d : CSSValueFlat); |
| 2095 case CSSPropertyTransitionDelay: | 2066 case CSSPropertyTransitionDelay: |
| 2096 case CSSPropertyWebkitTransitionDelay: | |
| 2097 return valueForAnimationDelay(style->transitions()); | 2067 return valueForAnimationDelay(style->transitions()); |
| 2098 case CSSPropertyTransitionDuration: | 2068 case CSSPropertyTransitionDuration: |
| 2099 case CSSPropertyWebkitTransitionDuration: | |
| 2100 return valueForAnimationDuration(style->transitions()); | 2069 return valueForAnimationDuration(style->transitions()); |
| 2101 case CSSPropertyTransitionProperty: | 2070 case CSSPropertyTransitionProperty: |
| 2102 case CSSPropertyWebkitTransitionProperty: | |
| 2103 return valueForTransitionProperty(style->transitions()); | 2071 return valueForTransitionProperty(style->transitions()); |
| 2104 case CSSPropertyTransitionTimingFunction: | 2072 case CSSPropertyTransitionTimingFunction: |
| 2105 case CSSPropertyWebkitTransitionTimingFunction: | |
| 2106 return valueForAnimationTimingFunction(style->transitions()); | 2073 return valueForAnimationTimingFunction(style->transitions()); |
| 2107 case CSSPropertyTransition: | 2074 case CSSPropertyTransition: { |
| 2108 case CSSPropertyWebkitTransition: { | |
| 2109 const CSSTransitionData* transitionData = style->transitions(); | 2075 const CSSTransitionData* transitionData = style->transitions(); |
| 2110 if (transitionData) { | 2076 if (transitionData) { |
| 2111 RefPtr<CSSValueList> transitionsList = CSSValueList::createComma
Separated(); | 2077 RefPtr<CSSValueList> transitionsList = CSSValueList::createComma
Separated(); |
| 2112 for (size_t i = 0; i < transitionData->propertyList().size(); ++
i) { | 2078 for (size_t i = 0; i < transitionData->propertyList().size(); ++
i) { |
| 2113 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparat
ed(); | 2079 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparat
ed(); |
| 2114 list->append(createTransitionPropertyValue(transitionData->p
ropertyList()[i])); | 2080 list->append(createTransitionPropertyValue(transitionData->p
ropertyList()[i])); |
| 2115 list->append(cssValuePool().createValue(CSSTimingData::getRe
peated(transitionData->durationList(), i), CSSPrimitiveValue::CSS_S)); | 2081 list->append(cssValuePool().createValue(CSSTimingData::getRe
peated(transitionData->durationList(), i), CSSPrimitiveValue::CSS_S)); |
| 2116 list->append(createTimingFunctionValue(CSSTimingData::getRep
eated(transitionData->timingFunctionList(), i).get())); | 2082 list->append(createTimingFunctionValue(CSSTimingData::getRep
eated(transitionData->timingFunctionList(), i).get())); |
| 2117 list->append(cssValuePool().createValue(CSSTimingData::getRe
peated(transitionData->delayList(), i), CSSPrimitiveValue::CSS_S)); | 2083 list->append(cssValuePool().createValue(CSSTimingData::getRe
peated(transitionData->delayList(), i), CSSPrimitiveValue::CSS_S)); |
| 2118 transitionsList->append(list); | 2084 transitionsList->append(list); |
| (...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2429 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB
ackgroundSize, CSSPropertyBackgroundOrigin, | 2395 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB
ackgroundSize, CSSPropertyBackgroundOrigin, |
| 2430 CSSPropertyB
ackgroundClip }; | 2396 CSSPropertyB
ackgroundClip }; |
| 2431 | 2397 |
| 2432 RefPtr<CSSValueList> list = CSSValueList::createSlashSeparated(); | 2398 RefPtr<CSSValueList> list = CSSValueList::createSlashSeparated(); |
| 2433 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa
ckground, propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlash
Seperator)))); | 2399 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa
ckground, propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlash
Seperator)))); |
| 2434 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa
ckground, propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSe
perator)))); | 2400 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa
ckground, propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSe
perator)))); |
| 2435 return list.release(); | 2401 return list.release(); |
| 2436 } | 2402 } |
| 2437 | 2403 |
| 2438 } // namespace blink | 2404 } // namespace blink |
| OLD | NEW |