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 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
263 CSSPropertyFlexDirection, | 263 CSSPropertyFlexDirection, |
264 CSSPropertyFlexWrap, | 264 CSSPropertyFlexWrap, |
265 CSSPropertyJustifyContent, | 265 CSSPropertyJustifyContent, |
266 CSSPropertyWebkitFontSmoothing, | 266 CSSPropertyWebkitFontSmoothing, |
267 CSSPropertyWebkitFontVariantLigatures, | 267 CSSPropertyWebkitFontVariantLigatures, |
268 CSSPropertyGridAutoColumns, | 268 CSSPropertyGridAutoColumns, |
269 CSSPropertyGridAutoFlow, | 269 CSSPropertyGridAutoFlow, |
270 CSSPropertyGridAutoRows, | 270 CSSPropertyGridAutoRows, |
271 CSSPropertyGridColumnEnd, | 271 CSSPropertyGridColumnEnd, |
272 CSSPropertyGridColumnStart, | 272 CSSPropertyGridColumnStart, |
273 CSSPropertyGridDefinitionColumns, | 273 CSSPropertyGridTemplateColumns, |
274 CSSPropertyGridDefinitionRows, | 274 CSSPropertyGridTemplateRows, |
275 CSSPropertyGridRowEnd, | 275 CSSPropertyGridRowEnd, |
276 CSSPropertyGridRowStart, | 276 CSSPropertyGridRowStart, |
277 CSSPropertyWebkitHighlight, | 277 CSSPropertyWebkitHighlight, |
278 CSSPropertyWebkitHyphenateCharacter, | 278 CSSPropertyWebkitHyphenateCharacter, |
279 CSSPropertyWebkitLineAlign, | 279 CSSPropertyWebkitLineAlign, |
280 CSSPropertyWebkitLineBoxContain, | 280 CSSPropertyWebkitLineBoxContain, |
281 CSSPropertyWebkitLineBreak, | 281 CSSPropertyWebkitLineBreak, |
282 CSSPropertyWebkitLineClamp, | 282 CSSPropertyWebkitLineClamp, |
283 CSSPropertyWebkitLineGrid, | 283 CSSPropertyWebkitLineGrid, |
284 CSSPropertyWebkitLineSnap, | 284 CSSPropertyWebkitLineSnap, |
(...skipping 602 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 return; | 887 return; |
888 | 888 |
889 RefPtr<CSSGridLineNamesValue> lineNames = CSSGridLineNamesValue::create(); | 889 RefPtr<CSSGridLineNamesValue> lineNames = CSSGridLineNamesValue::create(); |
890 for (size_t j = 0; j < namedGridLines.size(); ++j) | 890 for (size_t j = 0; j < namedGridLines.size(); ++j) |
891 lineNames->append(cssValuePool().createValue(namedGridLines[j], CSSPrimi
tiveValue::CSS_STRING)); | 891 lineNames->append(cssValuePool().createValue(namedGridLines[j], CSSPrimi
tiveValue::CSS_STRING)); |
892 list.append(lineNames.release()); | 892 list.append(lineNames.release()); |
893 } | 893 } |
894 | 894 |
895 static PassRefPtr<CSSValue> valueForGridTrackList(GridTrackSizingDirection direc
tion, RenderObject* renderer, const RenderStyle& style) | 895 static PassRefPtr<CSSValue> valueForGridTrackList(GridTrackSizingDirection direc
tion, RenderObject* renderer, const RenderStyle& style) |
896 { | 896 { |
897 const Vector<GridTrackSize>& trackSizes = direction == ForColumns ? style.gr
idDefinitionColumns() : style.gridDefinitionRows(); | 897 const Vector<GridTrackSize>& trackSizes = direction == ForColumns ? style.gr
idTemplateColumns() : style.gridTemplateRows(); |
898 const OrderedNamedGridLines& orderedNamedGridLines = direction == ForColumns
? style.orderedNamedGridColumnLines() : style.orderedNamedGridRowLines(); | 898 const OrderedNamedGridLines& orderedNamedGridLines = direction == ForColumns
? style.orderedNamedGridColumnLines() : style.orderedNamedGridRowLines(); |
899 | 899 |
900 // Handle the 'none' case here. | 900 // Handle the 'none' case here. |
901 if (!trackSizes.size()) { | 901 if (!trackSizes.size()) { |
902 ASSERT(orderedNamedGridLines.isEmpty()); | 902 ASSERT(orderedNamedGridLines.isEmpty()); |
903 return cssValuePool().createIdentifierValue(CSSValueNone); | 903 return cssValuePool().createIdentifierValue(CSSValueNone); |
904 } | 904 } |
905 | 905 |
906 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); | 906 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
907 if (renderer && renderer->isRenderGrid()) { | 907 if (renderer && renderer->isRenderGrid()) { |
(...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1447 | 1447 |
1448 static bool isLayoutDependent(CSSPropertyID propertyID, PassRefPtr<RenderStyle>
style, RenderObject* renderer) | 1448 static bool isLayoutDependent(CSSPropertyID propertyID, PassRefPtr<RenderStyle>
style, RenderObject* renderer) |
1449 { | 1449 { |
1450 // Some properties only depend on layout in certain conditions which | 1450 // Some properties only depend on layout in certain conditions which |
1451 // are specified in the main switch statement below. So we can avoid | 1451 // are specified in the main switch statement below. So we can avoid |
1452 // forcing layout in those conditions. The conditions in this switch | 1452 // forcing layout in those conditions. The conditions in this switch |
1453 // statement must remain in sync with the conditions in the main switch. | 1453 // statement must remain in sync with the conditions in the main switch. |
1454 // FIXME: Some of these cases could be narrowed down or optimized better. | 1454 // FIXME: Some of these cases could be narrowed down or optimized better. |
1455 switch (propertyID) { | 1455 switch (propertyID) { |
1456 case CSSPropertyBottom: | 1456 case CSSPropertyBottom: |
1457 case CSSPropertyGridDefinitionColumns: | 1457 case CSSPropertyGridTemplateColumns: |
1458 case CSSPropertyGridDefinitionRows: | 1458 case CSSPropertyGridTemplateRows: |
1459 case CSSPropertyHeight: | 1459 case CSSPropertyHeight: |
1460 case CSSPropertyLeft: | 1460 case CSSPropertyLeft: |
1461 case CSSPropertyRight: | 1461 case CSSPropertyRight: |
1462 case CSSPropertyTop: | 1462 case CSSPropertyTop: |
1463 case CSSPropertyWebkitPerspectiveOrigin: | 1463 case CSSPropertyWebkitPerspectiveOrigin: |
1464 case CSSPropertyWebkitTransform: | 1464 case CSSPropertyWebkitTransform: |
1465 case CSSPropertyWebkitTransformOrigin: | 1465 case CSSPropertyWebkitTransformOrigin: |
1466 case CSSPropertyWidth: | 1466 case CSSPropertyWidth: |
1467 case CSSPropertyWebkitFilter: | 1467 case CSSPropertyWebkitFilter: |
1468 return true; | 1468 return true; |
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1941 // Specs mention that getComputedStyle() should return the used value of
the property instead of the computed | 1941 // Specs mention that getComputedStyle() should return the used value of
the property instead of the computed |
1942 // one for grid-definition-{rows|columns} but not for the grid-auto-{row
s|columns} as things like | 1942 // one for grid-definition-{rows|columns} but not for the grid-auto-{row
s|columns} as things like |
1943 // grid-auto-columns: 2fr; cannot be resolved to a value in pixels as th
e '2fr' means very different things | 1943 // grid-auto-columns: 2fr; cannot be resolved to a value in pixels as th
e '2fr' means very different things |
1944 // depending on the size of the explicit grid or the number of implicit
tracks added to the grid. See | 1944 // depending on the size of the explicit grid or the number of implicit
tracks added to the grid. See |
1945 // http://lists.w3.org/Archives/Public/www-style/2013Nov/0014.html | 1945 // http://lists.w3.org/Archives/Public/www-style/2013Nov/0014.html |
1946 case CSSPropertyGridAutoColumns: | 1946 case CSSPropertyGridAutoColumns: |
1947 return specifiedValueForGridTrackSize(style->gridAutoColumns(), *sty
le); | 1947 return specifiedValueForGridTrackSize(style->gridAutoColumns(), *sty
le); |
1948 case CSSPropertyGridAutoRows: | 1948 case CSSPropertyGridAutoRows: |
1949 return specifiedValueForGridTrackSize(style->gridAutoRows(), *style)
; | 1949 return specifiedValueForGridTrackSize(style->gridAutoRows(), *style)
; |
1950 | 1950 |
1951 case CSSPropertyGridDefinitionColumns: | 1951 case CSSPropertyGridTemplateColumns: |
1952 return valueForGridTrackList(ForColumns, renderer, *style); | 1952 return valueForGridTrackList(ForColumns, renderer, *style); |
1953 case CSSPropertyGridDefinitionRows: | 1953 case CSSPropertyGridTemplateRows: |
1954 return valueForGridTrackList(ForRows, renderer, *style); | 1954 return valueForGridTrackList(ForRows, renderer, *style); |
1955 | 1955 |
1956 case CSSPropertyGridColumnStart: | 1956 case CSSPropertyGridColumnStart: |
1957 return valueForGridPosition(style->gridColumnStart()); | 1957 return valueForGridPosition(style->gridColumnStart()); |
1958 case CSSPropertyGridColumnEnd: | 1958 case CSSPropertyGridColumnEnd: |
1959 return valueForGridPosition(style->gridColumnEnd()); | 1959 return valueForGridPosition(style->gridColumnEnd()); |
1960 case CSSPropertyGridRowStart: | 1960 case CSSPropertyGridRowStart: |
1961 return valueForGridPosition(style->gridRowStart()); | 1961 return valueForGridPosition(style->gridRowStart()); |
1962 case CSSPropertyGridRowEnd: | 1962 case CSSPropertyGridRowEnd: |
1963 return valueForGridPosition(style->gridRowEnd()); | 1963 return valueForGridPosition(style->gridRowEnd()); |
(...skipping 1182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3146 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB
ackgroundSize, CSSPropertyBackgroundOrigin, | 3146 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB
ackgroundSize, CSSPropertyBackgroundOrigin, |
3147 CSSPropertyB
ackgroundClip }; | 3147 CSSPropertyB
ackgroundClip }; |
3148 | 3148 |
3149 RefPtr<CSSValueList> list = CSSValueList::createSlashSeparated(); | 3149 RefPtr<CSSValueList> list = CSSValueList::createSlashSeparated(); |
3150 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa
ckground, propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlash
Seperator)))); | 3150 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa
ckground, propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlash
Seperator)))); |
3151 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa
ckground, propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSe
perator)))); | 3151 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa
ckground, propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSe
perator)))); |
3152 return list.release(); | 3152 return list.release(); |
3153 } | 3153 } |
3154 | 3154 |
3155 } // namespace WebCore | 3155 } // namespace WebCore |
OLD | NEW |