| 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 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 #include "core/css/Rect.h" | 56 #include "core/css/Rect.h" |
| 57 #include "core/css/RuntimeCSSEnabled.h" | 57 #include "core/css/RuntimeCSSEnabled.h" |
| 58 #include "core/css/StylePropertySet.h" | 58 #include "core/css/StylePropertySet.h" |
| 59 #include "core/css/resolver/StyleResolver.h" | 59 #include "core/css/resolver/StyleResolver.h" |
| 60 #include "core/dom/Document.h" | 60 #include "core/dom/Document.h" |
| 61 #include "core/dom/ExceptionCode.h" | 61 #include "core/dom/ExceptionCode.h" |
| 62 #include "core/dom/PseudoElement.h" | 62 #include "core/dom/PseudoElement.h" |
| 63 #include "core/frame/animation/AnimationController.h" | 63 #include "core/frame/animation/AnimationController.h" |
| 64 #include "core/rendering/RenderBox.h" | 64 #include "core/rendering/RenderBox.h" |
| 65 #include "core/rendering/RenderGrid.h" | 65 #include "core/rendering/RenderGrid.h" |
| 66 #include "core/rendering/RenderView.h" | |
| 67 #include "core/rendering/style/ContentData.h" | 66 #include "core/rendering/style/ContentData.h" |
| 68 #include "core/rendering/style/CounterContent.h" | 67 #include "core/rendering/style/CounterContent.h" |
| 69 #include "core/rendering/style/CursorList.h" | 68 #include "core/rendering/style/CursorList.h" |
| 70 #include "core/rendering/style/RenderStyle.h" | 69 #include "core/rendering/style/RenderStyle.h" |
| 71 #include "core/rendering/style/ShadowList.h" | 70 #include "core/rendering/style/ShadowList.h" |
| 72 #include "core/rendering/style/ShapeValue.h" | 71 #include "core/rendering/style/ShapeValue.h" |
| 73 #include "core/rendering/style/StyleCustomFilterProgram.h" | 72 #include "core/rendering/style/StyleCustomFilterProgram.h" |
| 74 #include "platform/fonts/FontFeatureSettings.h" | 73 #include "platform/fonts/FontFeatureSettings.h" |
| 75 #include "platform/graphics/filters/custom/CustomFilterArrayParameter.h" | 74 #include "platform/graphics/filters/custom/CustomFilterArrayParameter.h" |
| 76 #include "platform/graphics/filters/custom/CustomFilterNumberParameter.h" | 75 #include "platform/graphics/filters/custom/CustomFilterNumberParameter.h" |
| (...skipping 531 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 608 } | 607 } |
| 609 positionList->append(zoomAdjustedPixelValueForLength(layer->xPosition(), sty
le)); | 608 positionList->append(zoomAdjustedPixelValueForLength(layer->xPosition(), sty
le)); |
| 610 if (layer->isBackgroundYOriginSet()) { | 609 if (layer->isBackgroundYOriginSet()) { |
| 611 ASSERT(propertyID == CSSPropertyBackgroundPosition || propertyID == CSSP
ropertyWebkitMaskPosition); | 610 ASSERT(propertyID == CSSPropertyBackgroundPosition || propertyID == CSSP
ropertyWebkitMaskPosition); |
| 612 positionList->append(cssValuePool().createValue(layer->backgroundYOrigin
())); | 611 positionList->append(cssValuePool().createValue(layer->backgroundYOrigin
())); |
| 613 } | 612 } |
| 614 positionList->append(zoomAdjustedPixelValueForLength(layer->yPosition(), sty
le)); | 613 positionList->append(zoomAdjustedPixelValueForLength(layer->yPosition(), sty
le)); |
| 615 return positionList.release(); | 614 return positionList.release(); |
| 616 } | 615 } |
| 617 | 616 |
| 618 static PassRefPtr<CSSValue> valueForPositionOffset(RenderStyle& style, CSSProper
tyID propertyID, const RenderObject* renderer, RenderView* renderView) | 617 static PassRefPtr<CSSValue> valueForPositionOffset(RenderStyle& style, CSSProper
tyID propertyID, const RenderObject* renderer) |
| 619 { | 618 { |
| 620 Length l; | 619 Length l; |
| 621 switch (propertyID) { | 620 switch (propertyID) { |
| 622 case CSSPropertyLeft: | 621 case CSSPropertyLeft: |
| 623 l = style.left(); | 622 l = style.left(); |
| 624 break; | 623 break; |
| 625 case CSSPropertyRight: | 624 case CSSPropertyRight: |
| 626 l = style.right(); | 625 l = style.right(); |
| 627 break; | 626 break; |
| 628 case CSSPropertyTop: | 627 case CSSPropertyTop: |
| 629 l = style.top(); | 628 l = style.top(); |
| 630 break; | 629 break; |
| 631 case CSSPropertyBottom: | 630 case CSSPropertyBottom: |
| 632 l = style.bottom(); | 631 l = style.bottom(); |
| 633 break; | 632 break; |
| 634 default: | 633 default: |
| 635 return 0; | 634 return 0; |
| 636 } | 635 } |
| 637 | 636 |
| 638 if (l.isPercent() && renderer && renderer->isBox()) { | 637 if (l.isPercent() && renderer && renderer->isBox()) { |
| 639 LayoutUnit containingBlockSize = (propertyID == CSSPropertyLeft || prope
rtyID == CSSPropertyRight) ? | 638 LayoutUnit containingBlockSize = (propertyID == CSSPropertyLeft || prope
rtyID == CSSPropertyRight) ? |
| 640 toRenderBox(renderer)->containingBlockLogicalWidthForContent() : | 639 toRenderBox(renderer)->containingBlockLogicalWidthForContent() : |
| 641 toRenderBox(renderer)->containingBlockLogicalHeightForContent(Exclud
eMarginBorderPadding); | 640 toRenderBox(renderer)->containingBlockLogicalHeightForContent(Exclud
eMarginBorderPadding); |
| 642 return zoomAdjustedPixelValue(valueForLength(l, containingBlockSize, 0),
style); | 641 return zoomAdjustedPixelValue(valueForLength(l, containingBlockSize), st
yle); |
| 643 } | 642 } |
| 644 if (l.isViewportPercentage()) | |
| 645 return zoomAdjustedPixelValue(valueForLength(l, 0, renderView), style); | |
| 646 if (l.isAuto()) { | 643 if (l.isAuto()) { |
| 647 // FIXME: It's not enough to simply return "auto" values for one offset
if the other side is defined. | 644 // FIXME: It's not enough to simply return "auto" values for one offset
if the other side is defined. |
| 648 // In other words if left is auto and right is not auto, then left's com
puted value is negative right(). | 645 // In other words if left is auto and right is not auto, then left's com
puted value is negative right(). |
| 649 // So we should get the opposite length unit and see if it is auto. | 646 // So we should get the opposite length unit and see if it is auto. |
| 650 return cssValuePool().createValue(l); | 647 return cssValuePool().createValue(l); |
| 651 } | 648 } |
| 652 | 649 |
| 653 return zoomAdjustedPixelValueForLength(l, style); | 650 return zoomAdjustedPixelValueForLength(l, style); |
| 654 } | 651 } |
| 655 | 652 |
| (...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 964 default: | 961 default: |
| 965 filterValue = CSSFilterValue::create(CSSFilterValue::UnknownFilterOp
eration); | 962 filterValue = CSSFilterValue::create(CSSFilterValue::UnknownFilterOp
eration); |
| 966 break; | 963 break; |
| 967 } | 964 } |
| 968 list->append(filterValue.release()); | 965 list->append(filterValue.release()); |
| 969 } | 966 } |
| 970 | 967 |
| 971 return list.release(); | 968 return list.release(); |
| 972 } | 969 } |
| 973 | 970 |
| 974 static PassRefPtr<CSSValue> specifiedValueForGridTrackBreadth(const GridLength&
trackBreadth, const RenderStyle& style, RenderView* renderView) | 971 static PassRefPtr<CSSValue> specifiedValueForGridTrackBreadth(const GridLength&
trackBreadth, const RenderStyle& style) |
| 975 { | 972 { |
| 976 if (!trackBreadth.isLength()) | 973 if (!trackBreadth.isLength()) |
| 977 return cssValuePool().createValue(trackBreadth.flex(), CSSPrimitiveValue
::CSS_FR); | 974 return cssValuePool().createValue(trackBreadth.flex(), CSSPrimitiveValue
::CSS_FR); |
| 978 | 975 |
| 979 const Length& trackBreadthLength = trackBreadth.length(); | 976 const Length& trackBreadthLength = trackBreadth.length(); |
| 980 if (trackBreadthLength.isAuto()) | 977 if (trackBreadthLength.isAuto()) |
| 981 return cssValuePool().createIdentifierValue(CSSValueAuto); | 978 return cssValuePool().createIdentifierValue(CSSValueAuto); |
| 982 if (trackBreadthLength.isViewportPercentage()) | |
| 983 return zoomAdjustedPixelValue(valueForLength(trackBreadthLength, 0, rend
erView), style); | |
| 984 return zoomAdjustedPixelValueForLength(trackBreadthLength, style); | 979 return zoomAdjustedPixelValueForLength(trackBreadthLength, style); |
| 985 } | 980 } |
| 986 | 981 |
| 987 static PassRefPtr<CSSValue> specifiedValueForGridTrackSize(const GridTrackSize&
trackSize, const RenderStyle& style, RenderView* renderView) | 982 static PassRefPtr<CSSValue> specifiedValueForGridTrackSize(const GridTrackSize&
trackSize, const RenderStyle& style) |
| 988 { | 983 { |
| 989 switch (trackSize.type()) { | 984 switch (trackSize.type()) { |
| 990 case LengthTrackSizing: | 985 case LengthTrackSizing: |
| 991 return specifiedValueForGridTrackBreadth(trackSize.length(), style, rend
erView); | 986 return specifiedValueForGridTrackBreadth(trackSize.length(), style); |
| 992 case MinMaxTrackSizing: | 987 case MinMaxTrackSizing: |
| 993 RefPtr<CSSValueList> minMaxTrackBreadths = CSSValueList::createCommaSepa
rated(); | 988 RefPtr<CSSValueList> minMaxTrackBreadths = CSSValueList::createCommaSepa
rated(); |
| 994 minMaxTrackBreadths->append(specifiedValueForGridTrackBreadth(trackSize.
minTrackBreadth(), style, renderView)); | 989 minMaxTrackBreadths->append(specifiedValueForGridTrackBreadth(trackSize.
minTrackBreadth(), style)); |
| 995 minMaxTrackBreadths->append(specifiedValueForGridTrackBreadth(trackSize.
maxTrackBreadth(), style, renderView)); | 990 minMaxTrackBreadths->append(specifiedValueForGridTrackBreadth(trackSize.
maxTrackBreadth(), style)); |
| 996 return CSSFunctionValue::create("minmax(", minMaxTrackBreadths); | 991 return CSSFunctionValue::create("minmax(", minMaxTrackBreadths); |
| 997 } | 992 } |
| 998 ASSERT_NOT_REACHED(); | 993 ASSERT_NOT_REACHED(); |
| 999 return 0; | 994 return 0; |
| 1000 } | 995 } |
| 1001 | 996 |
| 1002 static void addValuesForNamedGridLinesAtIndex(const OrderedNamedGridLines& order
edNamedGridLines, size_t i, CSSValueList& list) | 997 static void addValuesForNamedGridLinesAtIndex(const OrderedNamedGridLines& order
edNamedGridLines, size_t i, CSSValueList& list) |
| 1003 { | 998 { |
| 1004 const Vector<String>& namedGridLines = orderedNamedGridLines.get(i); | 999 const Vector<String>& namedGridLines = orderedNamedGridLines.get(i); |
| 1005 if (namedGridLines.isEmpty()) | 1000 if (namedGridLines.isEmpty()) |
| 1006 return; | 1001 return; |
| 1007 | 1002 |
| 1008 RefPtr<CSSGridLineNamesValue> lineNames = CSSGridLineNamesValue::create(); | 1003 RefPtr<CSSGridLineNamesValue> lineNames = CSSGridLineNamesValue::create(); |
| 1009 for (size_t j = 0; j < namedGridLines.size(); ++j) | 1004 for (size_t j = 0; j < namedGridLines.size(); ++j) |
| 1010 lineNames->append(cssValuePool().createValue(namedGridLines[j], CSSPrimi
tiveValue::CSS_STRING)); | 1005 lineNames->append(cssValuePool().createValue(namedGridLines[j], CSSPrimi
tiveValue::CSS_STRING)); |
| 1011 list.append(lineNames.release()); | 1006 list.append(lineNames.release()); |
| 1012 } | 1007 } |
| 1013 | 1008 |
| 1014 static PassRefPtr<CSSValue> valueForGridTrackList(GridTrackSizingDirection direc
tion, RenderObject* renderer, const RenderStyle& style, RenderView* renderView) | 1009 static PassRefPtr<CSSValue> valueForGridTrackList(GridTrackSizingDirection direc
tion, RenderObject* renderer, const RenderStyle& style) |
| 1015 { | 1010 { |
| 1016 const Vector<GridTrackSize>& trackSizes = direction == ForColumns ? style.gr
idDefinitionColumns() : style.gridDefinitionRows(); | 1011 const Vector<GridTrackSize>& trackSizes = direction == ForColumns ? style.gr
idDefinitionColumns() : style.gridDefinitionRows(); |
| 1017 const OrderedNamedGridLines& orderedNamedGridLines = direction == ForColumns
? style.orderedNamedGridColumnLines() : style.orderedNamedGridRowLines(); | 1012 const OrderedNamedGridLines& orderedNamedGridLines = direction == ForColumns
? style.orderedNamedGridColumnLines() : style.orderedNamedGridRowLines(); |
| 1018 | 1013 |
| 1019 // Handle the 'none' case here. | 1014 // Handle the 'none' case here. |
| 1020 if (!trackSizes.size()) { | 1015 if (!trackSizes.size()) { |
| 1021 ASSERT(orderedNamedGridLines.isEmpty()); | 1016 ASSERT(orderedNamedGridLines.isEmpty()); |
| 1022 return cssValuePool().createIdentifierValue(CSSValueNone); | 1017 return cssValuePool().createIdentifierValue(CSSValueNone); |
| 1023 } | 1018 } |
| 1024 | 1019 |
| 1025 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); | 1020 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
| 1026 if (renderer && renderer->isRenderGrid()) { | 1021 if (renderer && renderer->isRenderGrid()) { |
| 1027 const Vector<LayoutUnit>& trackPositions = direction == ForColumns ? toR
enderGrid(renderer)->columnPositions() : toRenderGrid(renderer)->rowPositions(); | 1022 const Vector<LayoutUnit>& trackPositions = direction == ForColumns ? toR
enderGrid(renderer)->columnPositions() : toRenderGrid(renderer)->rowPositions(); |
| 1028 // There are at least #tracks + 1 grid lines (trackPositions). Apart fro
m that, the grid container can generate implicit grid tracks, | 1023 // There are at least #tracks + 1 grid lines (trackPositions). Apart fro
m that, the grid container can generate implicit grid tracks, |
| 1029 // so we'll have more trackPositions than trackSizes as the latter only
contain the explicit grid. | 1024 // so we'll have more trackPositions than trackSizes as the latter only
contain the explicit grid. |
| 1030 ASSERT(trackPositions.size() - 1 >= trackSizes.size()); | 1025 ASSERT(trackPositions.size() - 1 >= trackSizes.size()); |
| 1031 | 1026 |
| 1032 for (size_t i = 0; i < trackSizes.size(); ++i) { | 1027 for (size_t i = 0; i < trackSizes.size(); ++i) { |
| 1033 addValuesForNamedGridLinesAtIndex(orderedNamedGridLines, i, *list); | 1028 addValuesForNamedGridLinesAtIndex(orderedNamedGridLines, i, *list); |
| 1034 list->append(zoomAdjustedPixelValue(trackPositions[i + 1] - trackPos
itions[i], style)); | 1029 list->append(zoomAdjustedPixelValue(trackPositions[i + 1] - trackPos
itions[i], style)); |
| 1035 } | 1030 } |
| 1036 } else { | 1031 } else { |
| 1037 for (size_t i = 0; i < trackSizes.size(); ++i) { | 1032 for (size_t i = 0; i < trackSizes.size(); ++i) { |
| 1038 addValuesForNamedGridLinesAtIndex(orderedNamedGridLines, i, *list); | 1033 addValuesForNamedGridLinesAtIndex(orderedNamedGridLines, i, *list); |
| 1039 list->append(specifiedValueForGridTrackSize(trackSizes[i], style, re
nderView)); | 1034 list->append(specifiedValueForGridTrackSize(trackSizes[i], style)); |
| 1040 } | 1035 } |
| 1041 } | 1036 } |
| 1042 // Those are the trailing <string>* allowed in the syntax. | 1037 // Those are the trailing <string>* allowed in the syntax. |
| 1043 addValuesForNamedGridLinesAtIndex(orderedNamedGridLines, trackSizes.size(),
*list); | 1038 addValuesForNamedGridLinesAtIndex(orderedNamedGridLines, trackSizes.size(),
*list); |
| 1044 return list.release(); | 1039 return list.release(); |
| 1045 } | 1040 } |
| 1046 | 1041 |
| 1047 static PassRefPtr<CSSValue> valueForGridPosition(const GridPosition& position) | 1042 static PassRefPtr<CSSValue> valueForGridPosition(const GridPosition& position) |
| 1048 { | 1043 { |
| 1049 if (position.isAuto()) | 1044 if (position.isAuto()) |
| (...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1485 | 1480 |
| 1486 static PassRefPtr<CSSValueList> valueForFontFamily(RenderStyle& style) | 1481 static PassRefPtr<CSSValueList> valueForFontFamily(RenderStyle& style) |
| 1487 { | 1482 { |
| 1488 const FontFamily& firstFamily = style.fontDescription().family(); | 1483 const FontFamily& firstFamily = style.fontDescription().family(); |
| 1489 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); | 1484 RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); |
| 1490 for (const FontFamily* family = &firstFamily; family; family = family->next(
)) | 1485 for (const FontFamily* family = &firstFamily; family; family = family->next(
)) |
| 1491 list->append(valueForFamily(family->family())); | 1486 list->append(valueForFamily(family->family())); |
| 1492 return list.release(); | 1487 return list.release(); |
| 1493 } | 1488 } |
| 1494 | 1489 |
| 1495 static PassRefPtr<CSSPrimitiveValue> valueForLineHeight(RenderStyle& style, Rend
erView* renderView) | 1490 static PassRefPtr<CSSPrimitiveValue> valueForLineHeight(RenderStyle& style) |
| 1496 { | 1491 { |
| 1497 Length length = style.lineHeight(); | 1492 Length length = style.lineHeight(); |
| 1498 if (length.isNegative()) | 1493 if (length.isNegative()) |
| 1499 return cssValuePool().createIdentifierValue(CSSValueNormal); | 1494 return cssValuePool().createIdentifierValue(CSSValueNormal); |
| 1500 | 1495 |
| 1501 return zoomAdjustedPixelValue(floatValueForLength(length, style.fontDescript
ion().specifiedSize(), renderView), style); | 1496 return zoomAdjustedPixelValue(floatValueForLength(length, style.fontDescript
ion().specifiedSize()), style); |
| 1502 } | 1497 } |
| 1503 | 1498 |
| 1504 static PassRefPtr<CSSPrimitiveValue> valueForFontSize(RenderStyle& style) | 1499 static PassRefPtr<CSSPrimitiveValue> valueForFontSize(RenderStyle& style) |
| 1505 { | 1500 { |
| 1506 return zoomAdjustedPixelValue(style.fontDescription().computedPixelSize(), s
tyle); | 1501 return zoomAdjustedPixelValue(style.fontDescription().computedPixelSize(), s
tyle); |
| 1507 } | 1502 } |
| 1508 | 1503 |
| 1509 static PassRefPtr<CSSPrimitiveValue> valueForFontStyle(RenderStyle& style) | 1504 static PassRefPtr<CSSPrimitiveValue> valueForFontStyle(RenderStyle& style) |
| 1510 { | 1505 { |
| 1511 if (style.fontDescription().italic()) | 1506 if (style.fontDescription().italic()) |
| (...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1866 return cssValuePool().createValue(style->borderLeftStyle()); | 1861 return cssValuePool().createValue(style->borderLeftStyle()); |
| 1867 case CSSPropertyBorderTopWidth: | 1862 case CSSPropertyBorderTopWidth: |
| 1868 return zoomAdjustedPixelValue(style->borderTopWidth(), *style); | 1863 return zoomAdjustedPixelValue(style->borderTopWidth(), *style); |
| 1869 case CSSPropertyBorderRightWidth: | 1864 case CSSPropertyBorderRightWidth: |
| 1870 return zoomAdjustedPixelValue(style->borderRightWidth(), *style); | 1865 return zoomAdjustedPixelValue(style->borderRightWidth(), *style); |
| 1871 case CSSPropertyBorderBottomWidth: | 1866 case CSSPropertyBorderBottomWidth: |
| 1872 return zoomAdjustedPixelValue(style->borderBottomWidth(), *style); | 1867 return zoomAdjustedPixelValue(style->borderBottomWidth(), *style); |
| 1873 case CSSPropertyBorderLeftWidth: | 1868 case CSSPropertyBorderLeftWidth: |
| 1874 return zoomAdjustedPixelValue(style->borderLeftWidth(), *style); | 1869 return zoomAdjustedPixelValue(style->borderLeftWidth(), *style); |
| 1875 case CSSPropertyBottom: | 1870 case CSSPropertyBottom: |
| 1876 return valueForPositionOffset(*style, CSSPropertyBottom, renderer, m
_node->document().renderView()); | 1871 return valueForPositionOffset(*style, CSSPropertyBottom, renderer); |
| 1877 case CSSPropertyWebkitBoxAlign: | 1872 case CSSPropertyWebkitBoxAlign: |
| 1878 return cssValuePool().createValue(style->boxAlign()); | 1873 return cssValuePool().createValue(style->boxAlign()); |
| 1879 case CSSPropertyWebkitBoxDecorationBreak: | 1874 case CSSPropertyWebkitBoxDecorationBreak: |
| 1880 if (style->boxDecorationBreak() == DSLICE) | 1875 if (style->boxDecorationBreak() == DSLICE) |
| 1881 return cssValuePool().createIdentifierValue(CSSValueSlice); | 1876 return cssValuePool().createIdentifierValue(CSSValueSlice); |
| 1882 return cssValuePool().createIdentifierValue(CSSValueClone); | 1877 return cssValuePool().createIdentifierValue(CSSValueClone); |
| 1883 case CSSPropertyWebkitBoxDirection: | 1878 case CSSPropertyWebkitBoxDirection: |
| 1884 return cssValuePool().createValue(style->boxDirection()); | 1879 return cssValuePool().createValue(style->boxDirection()); |
| 1885 case CSSPropertyWebkitBoxFlex: | 1880 case CSSPropertyWebkitBoxFlex: |
| 1886 return cssValuePool().createValue(style->boxFlex(), CSSPrimitiveValu
e::CSS_NUMBER); | 1881 return cssValuePool().createValue(style->boxFlex(), CSSPrimitiveValu
e::CSS_NUMBER); |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2004 case CSSPropertyFloat: | 1999 case CSSPropertyFloat: |
| 2005 if (style->display() != NONE && style->hasOutOfFlowPosition()) | 2000 if (style->display() != NONE && style->hasOutOfFlowPosition()) |
| 2006 return cssValuePool().createIdentifierValue(CSSValueNone); | 2001 return cssValuePool().createIdentifierValue(CSSValueNone); |
| 2007 return cssValuePool().createValue(style->floating()); | 2002 return cssValuePool().createValue(style->floating()); |
| 2008 case CSSPropertyFont: { | 2003 case CSSPropertyFont: { |
| 2009 RefPtr<CSSFontValue> computedFont = CSSFontValue::create(); | 2004 RefPtr<CSSFontValue> computedFont = CSSFontValue::create(); |
| 2010 computedFont->style = valueForFontStyle(*style); | 2005 computedFont->style = valueForFontStyle(*style); |
| 2011 computedFont->variant = valueForFontVariant(*style); | 2006 computedFont->variant = valueForFontVariant(*style); |
| 2012 computedFont->weight = valueForFontWeight(*style); | 2007 computedFont->weight = valueForFontWeight(*style); |
| 2013 computedFont->size = valueForFontSize(*style); | 2008 computedFont->size = valueForFontSize(*style); |
| 2014 computedFont->lineHeight = valueForLineHeight(*style, m_node->docume
nt().renderView()); | 2009 computedFont->lineHeight = valueForLineHeight(*style); |
| 2015 computedFont->family = valueForFontFamily(*style); | 2010 computedFont->family = valueForFontFamily(*style); |
| 2016 return computedFont.release(); | 2011 return computedFont.release(); |
| 2017 } | 2012 } |
| 2018 case CSSPropertyFontFamily: { | 2013 case CSSPropertyFontFamily: { |
| 2019 RefPtr<CSSValueList> fontFamilyList = valueForFontFamily(*style); | 2014 RefPtr<CSSValueList> fontFamilyList = valueForFontFamily(*style); |
| 2020 // If there's only a single family, return that as a CSSPrimitiveVal
ue. | 2015 // If there's only a single family, return that as a CSSPrimitiveVal
ue. |
| 2021 // NOTE: Gecko always returns this as a comma-separated CSSPrimitive
Value string. | 2016 // NOTE: Gecko always returns this as a comma-separated CSSPrimitive
Value string. |
| 2022 if (fontFamilyList->length() == 1) | 2017 if (fontFamilyList->length() == 1) |
| 2023 return fontFamilyList->item(0); | 2018 return fontFamilyList->item(0); |
| 2024 return fontFamilyList.release(); | 2019 return fontFamilyList.release(); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 2045 } | 2040 } |
| 2046 case CSSPropertyGridAutoFlow: | 2041 case CSSPropertyGridAutoFlow: |
| 2047 return cssValuePool().createValue(style->gridAutoFlow()); | 2042 return cssValuePool().createValue(style->gridAutoFlow()); |
| 2048 | 2043 |
| 2049 // Specs mention that getComputedStyle() should return the used value of
the property instead of the computed | 2044 // Specs mention that getComputedStyle() should return the used value of
the property instead of the computed |
| 2050 // one for grid-definition-{rows|columns} but not for the grid-auto-{row
s|columns} as things like | 2045 // one for grid-definition-{rows|columns} but not for the grid-auto-{row
s|columns} as things like |
| 2051 // grid-auto-columns: 2fr; cannot be resolved to a value in pixels as th
e '2fr' means very different things | 2046 // grid-auto-columns: 2fr; cannot be resolved to a value in pixels as th
e '2fr' means very different things |
| 2052 // depending on the size of the explicit grid or the number of implicit
tracks added to the grid. See | 2047 // depending on the size of the explicit grid or the number of implicit
tracks added to the grid. See |
| 2053 // http://lists.w3.org/Archives/Public/www-style/2013Nov/0014.html | 2048 // http://lists.w3.org/Archives/Public/www-style/2013Nov/0014.html |
| 2054 case CSSPropertyGridAutoColumns: | 2049 case CSSPropertyGridAutoColumns: |
| 2055 return specifiedValueForGridTrackSize(style->gridAutoColumns(), *sty
le, m_node->document().renderView()); | 2050 return specifiedValueForGridTrackSize(style->gridAutoColumns(), *sty
le); |
| 2056 case CSSPropertyGridAutoRows: | 2051 case CSSPropertyGridAutoRows: |
| 2057 return specifiedValueForGridTrackSize(style->gridAutoRows(), *style,
m_node->document().renderView()); | 2052 return specifiedValueForGridTrackSize(style->gridAutoRows(), *style)
; |
| 2058 | 2053 |
| 2059 case CSSPropertyGridDefinitionColumns: | 2054 case CSSPropertyGridDefinitionColumns: |
| 2060 return valueForGridTrackList(ForColumns, renderer, *style, m_node->d
ocument().renderView()); | 2055 return valueForGridTrackList(ForColumns, renderer, *style); |
| 2061 case CSSPropertyGridDefinitionRows: | 2056 case CSSPropertyGridDefinitionRows: |
| 2062 return valueForGridTrackList(ForRows, renderer, *style, m_node->docu
ment().renderView()); | 2057 return valueForGridTrackList(ForRows, renderer, *style); |
| 2063 | 2058 |
| 2064 case CSSPropertyGridColumnStart: | 2059 case CSSPropertyGridColumnStart: |
| 2065 return valueForGridPosition(style->gridColumnStart()); | 2060 return valueForGridPosition(style->gridColumnStart()); |
| 2066 case CSSPropertyGridColumnEnd: | 2061 case CSSPropertyGridColumnEnd: |
| 2067 return valueForGridPosition(style->gridColumnEnd()); | 2062 return valueForGridPosition(style->gridColumnEnd()); |
| 2068 case CSSPropertyGridRowStart: | 2063 case CSSPropertyGridRowStart: |
| 2069 return valueForGridPosition(style->gridRowStart()); | 2064 return valueForGridPosition(style->gridRowStart()); |
| 2070 case CSSPropertyGridRowEnd: | 2065 case CSSPropertyGridRowEnd: |
| 2071 return valueForGridPosition(style->gridRowEnd()); | 2066 return valueForGridPosition(style->gridRowEnd()); |
| 2072 case CSSPropertyGridColumn: | 2067 case CSSPropertyGridColumn: |
| (...skipping 30 matching lines...) Expand all Loading... |
| 2103 return cssValuePool().createValue(style->hyphenationString(), CSSPri
mitiveValue::CSS_STRING); | 2098 return cssValuePool().createValue(style->hyphenationString(), CSSPri
mitiveValue::CSS_STRING); |
| 2104 case CSSPropertyWebkitBorderFit: | 2099 case CSSPropertyWebkitBorderFit: |
| 2105 if (style->borderFit() == BorderFitBorder) | 2100 if (style->borderFit() == BorderFitBorder) |
| 2106 return cssValuePool().createIdentifierValue(CSSValueBorder); | 2101 return cssValuePool().createIdentifierValue(CSSValueBorder); |
| 2107 return cssValuePool().createIdentifierValue(CSSValueLines); | 2102 return cssValuePool().createIdentifierValue(CSSValueLines); |
| 2108 case CSSPropertyImageRendering: | 2103 case CSSPropertyImageRendering: |
| 2109 return CSSPrimitiveValue::create(style->imageRendering()); | 2104 return CSSPrimitiveValue::create(style->imageRendering()); |
| 2110 case CSSPropertyIsolation: | 2105 case CSSPropertyIsolation: |
| 2111 return cssValuePool().createValue(style->isolation()); | 2106 return cssValuePool().createValue(style->isolation()); |
| 2112 case CSSPropertyLeft: | 2107 case CSSPropertyLeft: |
| 2113 return valueForPositionOffset(*style, CSSPropertyLeft, renderer, m_n
ode->document().renderView()); | 2108 return valueForPositionOffset(*style, CSSPropertyLeft, renderer); |
| 2114 case CSSPropertyLetterSpacing: | 2109 case CSSPropertyLetterSpacing: |
| 2115 if (!style->letterSpacing()) | 2110 if (!style->letterSpacing()) |
| 2116 return cssValuePool().createIdentifierValue(CSSValueNormal); | 2111 return cssValuePool().createIdentifierValue(CSSValueNormal); |
| 2117 return zoomAdjustedPixelValue(style->letterSpacing(), *style); | 2112 return zoomAdjustedPixelValue(style->letterSpacing(), *style); |
| 2118 case CSSPropertyWebkitLineClamp: | 2113 case CSSPropertyWebkitLineClamp: |
| 2119 if (style->lineClamp().isNone()) | 2114 if (style->lineClamp().isNone()) |
| 2120 return cssValuePool().createIdentifierValue(CSSValueNone); | 2115 return cssValuePool().createIdentifierValue(CSSValueNone); |
| 2121 return cssValuePool().createValue(style->lineClamp().value(), style-
>lineClamp().isPercentage() ? CSSPrimitiveValue::CSS_PERCENTAGE : CSSPrimitiveVa
lue::CSS_NUMBER); | 2116 return cssValuePool().createValue(style->lineClamp().value(), style-
>lineClamp().isPercentage() ? CSSPrimitiveValue::CSS_PERCENTAGE : CSSPrimitiveVa
lue::CSS_NUMBER); |
| 2122 case CSSPropertyLineHeight: | 2117 case CSSPropertyLineHeight: |
| 2123 return valueForLineHeight(*style, m_node->document().renderView()); | 2118 return valueForLineHeight(*style); |
| 2124 case CSSPropertyListStyleImage: | 2119 case CSSPropertyListStyleImage: |
| 2125 if (style->listStyleImage()) | 2120 if (style->listStyleImage()) |
| 2126 return style->listStyleImage()->cssValue(); | 2121 return style->listStyleImage()->cssValue(); |
| 2127 return cssValuePool().createIdentifierValue(CSSValueNone); | 2122 return cssValuePool().createIdentifierValue(CSSValueNone); |
| 2128 case CSSPropertyListStylePosition: | 2123 case CSSPropertyListStylePosition: |
| 2129 return cssValuePool().createValue(style->listStylePosition()); | 2124 return cssValuePool().createValue(style->listStylePosition()); |
| 2130 case CSSPropertyListStyleType: | 2125 case CSSPropertyListStyleType: |
| 2131 return cssValuePool().createValue(style->listStyleType()); | 2126 return cssValuePool().createValue(style->listStyleType()); |
| 2132 case CSSPropertyWebkitLocale: | 2127 case CSSPropertyWebkitLocale: |
| 2133 if (style->locale().isNull()) | 2128 if (style->locale().isNull()) |
| 2134 return cssValuePool().createIdentifierValue(CSSValueAuto); | 2129 return cssValuePool().createIdentifierValue(CSSValueAuto); |
| 2135 return cssValuePool().createValue(style->locale(), CSSPrimitiveValue
::CSS_STRING); | 2130 return cssValuePool().createValue(style->locale(), CSSPrimitiveValue
::CSS_STRING); |
| 2136 case CSSPropertyMarginTop: { | 2131 case CSSPropertyMarginTop: { |
| 2137 Length marginTop = style->marginTop(); | 2132 Length marginTop = style->marginTop(); |
| 2138 if (marginTop.isFixed() || !renderer || !renderer->isBox()) | 2133 if (marginTop.isFixed() || !renderer || !renderer->isBox()) |
| 2139 return zoomAdjustedPixelValueForLength(marginTop, *style); | 2134 return zoomAdjustedPixelValueForLength(marginTop, *style); |
| 2140 return zoomAdjustedPixelValue(toRenderBox(renderer)->marginTop(), *s
tyle); | 2135 return zoomAdjustedPixelValue(toRenderBox(renderer)->marginTop(), *s
tyle); |
| 2141 } | 2136 } |
| 2142 case CSSPropertyMarginRight: { | 2137 case CSSPropertyMarginRight: { |
| 2143 Length marginRight = style->marginRight(); | 2138 Length marginRight = style->marginRight(); |
| 2144 if (marginRight.isFixed() || !renderer || !renderer->isBox()) | 2139 if (marginRight.isFixed() || !renderer || !renderer->isBox()) |
| 2145 return zoomAdjustedPixelValueForLength(marginRight, *style); | 2140 return zoomAdjustedPixelValueForLength(marginRight, *style); |
| 2146 float value; | 2141 float value; |
| 2147 if (marginRight.isPercent() || marginRight.isViewportPercentage()) { | 2142 if (marginRight.isPercent()) { |
| 2148 // RenderBox gives a marginRight() that is the distance between
the right-edge of the child box | 2143 // RenderBox gives a marginRight() that is the distance between
the right-edge of the child box |
| 2149 // and the right-edge of the containing box, when display == BLO
CK. Let's calculate the absolute | 2144 // and the right-edge of the containing box, when display == BLO
CK. Let's calculate the absolute |
| 2150 // value of the specified margin-right % instead of relying on R
enderBox's marginRight() value. | 2145 // value of the specified margin-right % instead of relying on R
enderBox's marginRight() value. |
| 2151 value = minimumValueForLength(marginRight, toRenderBox(renderer)
->containingBlockLogicalWidthForContent(), m_node->document().renderView()); | 2146 value = minimumValueForLength(marginRight, toRenderBox(renderer)
->containingBlockLogicalWidthForContent()); |
| 2152 } else { | 2147 } else { |
| 2153 value = toRenderBox(renderer)->marginRight(); | 2148 value = toRenderBox(renderer)->marginRight(); |
| 2154 } | 2149 } |
| 2155 return zoomAdjustedPixelValue(value, *style); | 2150 return zoomAdjustedPixelValue(value, *style); |
| 2156 } | 2151 } |
| 2157 case CSSPropertyMarginBottom: { | 2152 case CSSPropertyMarginBottom: { |
| 2158 Length marginBottom = style->marginBottom(); | 2153 Length marginBottom = style->marginBottom(); |
| 2159 if (marginBottom.isFixed() || !renderer || !renderer->isBox()) | 2154 if (marginBottom.isFixed() || !renderer || !renderer->isBox()) |
| 2160 return zoomAdjustedPixelValueForLength(marginBottom, *style); | 2155 return zoomAdjustedPixelValueForLength(marginBottom, *style); |
| 2161 return zoomAdjustedPixelValue(toRenderBox(renderer)->marginBottom(),
*style); | 2156 return zoomAdjustedPixelValue(toRenderBox(renderer)->marginBottom(),
*style); |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2253 case CSSPropertyPageBreakInside: { | 2248 case CSSPropertyPageBreakInside: { |
| 2254 EPageBreak pageBreak = style->pageBreakInside(); | 2249 EPageBreak pageBreak = style->pageBreakInside(); |
| 2255 ASSERT(pageBreak != PBALWAYS); | 2250 ASSERT(pageBreak != PBALWAYS); |
| 2256 if (pageBreak == PBALWAYS) | 2251 if (pageBreak == PBALWAYS) |
| 2257 return 0; | 2252 return 0; |
| 2258 return cssValuePool().createValue(style->pageBreakInside()); | 2253 return cssValuePool().createValue(style->pageBreakInside()); |
| 2259 } | 2254 } |
| 2260 case CSSPropertyPosition: | 2255 case CSSPropertyPosition: |
| 2261 return cssValuePool().createValue(style->position()); | 2256 return cssValuePool().createValue(style->position()); |
| 2262 case CSSPropertyRight: | 2257 case CSSPropertyRight: |
| 2263 return valueForPositionOffset(*style, CSSPropertyRight, renderer, m_
node->document().renderView()); | 2258 return valueForPositionOffset(*style, CSSPropertyRight, renderer); |
| 2264 case CSSPropertyWebkitRubyPosition: | 2259 case CSSPropertyWebkitRubyPosition: |
| 2265 return cssValuePool().createValue(style->rubyPosition()); | 2260 return cssValuePool().createValue(style->rubyPosition()); |
| 2266 case CSSPropertyTableLayout: | 2261 case CSSPropertyTableLayout: |
| 2267 return cssValuePool().createValue(style->tableLayout()); | 2262 return cssValuePool().createValue(style->tableLayout()); |
| 2268 case CSSPropertyTextAlign: | 2263 case CSSPropertyTextAlign: |
| 2269 return cssValuePool().createValue(style->textAlign()); | 2264 return cssValuePool().createValue(style->textAlign()); |
| 2270 case CSSPropertyTextAlignLast: | 2265 case CSSPropertyTextAlignLast: |
| 2271 return cssValuePool().createValue(style->textAlignLast()); | 2266 return cssValuePool().createValue(style->textAlignLast()); |
| 2272 case CSSPropertyTextDecoration: | 2267 case CSSPropertyTextDecoration: |
| 2273 return valuesForShorthandProperty(textDecorationShorthand()); | 2268 return valuesForShorthandProperty(textDecorationShorthand()); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2329 return cssValuePool().createIdentifierValue(CSSValueClip); | 2324 return cssValuePool().createIdentifierValue(CSSValueClip); |
| 2330 case CSSPropertyWebkitTextSecurity: | 2325 case CSSPropertyWebkitTextSecurity: |
| 2331 return cssValuePool().createValue(style->textSecurity()); | 2326 return cssValuePool().createValue(style->textSecurity()); |
| 2332 case CSSPropertyWebkitTextStrokeColor: | 2327 case CSSPropertyWebkitTextStrokeColor: |
| 2333 return currentColorOrValidColor(*style, style->textStrokeColor()); | 2328 return currentColorOrValidColor(*style, style->textStrokeColor()); |
| 2334 case CSSPropertyWebkitTextStrokeWidth: | 2329 case CSSPropertyWebkitTextStrokeWidth: |
| 2335 return zoomAdjustedPixelValue(style->textStrokeWidth(), *style); | 2330 return zoomAdjustedPixelValue(style->textStrokeWidth(), *style); |
| 2336 case CSSPropertyTextTransform: | 2331 case CSSPropertyTextTransform: |
| 2337 return cssValuePool().createValue(style->textTransform()); | 2332 return cssValuePool().createValue(style->textTransform()); |
| 2338 case CSSPropertyTop: | 2333 case CSSPropertyTop: |
| 2339 return valueForPositionOffset(*style, CSSPropertyTop, renderer, m_no
de->document().renderView()); | 2334 return valueForPositionOffset(*style, CSSPropertyTop, renderer); |
| 2340 case CSSPropertyTouchAction: | 2335 case CSSPropertyTouchAction: |
| 2341 return touchActionFlagsToCSSValue(style->touchAction()); | 2336 return touchActionFlagsToCSSValue(style->touchAction()); |
| 2342 case CSSPropertyTouchActionDelay: | 2337 case CSSPropertyTouchActionDelay: |
| 2343 return cssValuePool().createValue(style->touchActionDelay()); | 2338 return cssValuePool().createValue(style->touchActionDelay()); |
| 2344 case CSSPropertyUnicodeBidi: | 2339 case CSSPropertyUnicodeBidi: |
| 2345 return cssValuePool().createValue(style->unicodeBidi()); | 2340 return cssValuePool().createValue(style->unicodeBidi()); |
| 2346 case CSSPropertyVerticalAlign: | 2341 case CSSPropertyVerticalAlign: |
| 2347 switch (style->verticalAlign()) { | 2342 switch (style->verticalAlign()) { |
| 2348 case BASELINE: | 2343 case BASELINE: |
| 2349 return cssValuePool().createIdentifierValue(CSSValueBaseline
); | 2344 return cssValuePool().createIdentifierValue(CSSValueBaseline
); |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2595 if (!style->hasPerspective()) | 2590 if (!style->hasPerspective()) |
| 2596 return cssValuePool().createIdentifierValue(CSSValueNone); | 2591 return cssValuePool().createIdentifierValue(CSSValueNone); |
| 2597 return zoomAdjustedPixelValue(style->perspective(), *style); | 2592 return zoomAdjustedPixelValue(style->perspective(), *style); |
| 2598 case CSSPropertyWebkitPerspectiveOrigin: { | 2593 case CSSPropertyWebkitPerspectiveOrigin: { |
| 2599 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); | 2594 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
| 2600 if (renderer) { | 2595 if (renderer) { |
| 2601 LayoutRect box; | 2596 LayoutRect box; |
| 2602 if (renderer->isBox()) | 2597 if (renderer->isBox()) |
| 2603 box = toRenderBox(renderer)->borderBoxRect(); | 2598 box = toRenderBox(renderer)->borderBoxRect(); |
| 2604 | 2599 |
| 2605 RenderView* renderView = m_node->document().renderView(); | 2600 list->append(zoomAdjustedPixelValue(minimumValueForLength(style-
>perspectiveOriginX(), box.width()), *style)); |
| 2606 list->append(zoomAdjustedPixelValue(minimumValueForLength(style-
>perspectiveOriginX(), box.width(), renderView), *style)); | 2601 list->append(zoomAdjustedPixelValue(minimumValueForLength(style-
>perspectiveOriginY(), box.height()), *style)); |
| 2607 list->append(zoomAdjustedPixelValue(minimumValueForLength(style-
>perspectiveOriginY(), box.height(), renderView), *style)); | |
| 2608 } | 2602 } |
| 2609 else { | 2603 else { |
| 2610 list->append(zoomAdjustedPixelValueForLength(style->perspectiveO
riginX(), *style)); | 2604 list->append(zoomAdjustedPixelValueForLength(style->perspectiveO
riginX(), *style)); |
| 2611 list->append(zoomAdjustedPixelValueForLength(style->perspectiveO
riginY(), *style)); | 2605 list->append(zoomAdjustedPixelValueForLength(style->perspectiveO
riginY(), *style)); |
| 2612 | 2606 |
| 2613 } | 2607 } |
| 2614 return list.release(); | 2608 return list.release(); |
| 2615 } | 2609 } |
| 2616 case CSSPropertyWebkitRtlOrdering: | 2610 case CSSPropertyWebkitRtlOrdering: |
| 2617 return cssValuePool().createIdentifierValue(style->rtlOrdering() ? C
SSValueVisual : CSSValueLogical); | 2611 return cssValuePool().createIdentifierValue(style->rtlOrdering() ? C
SSValueVisual : CSSValueLogical); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 2643 return cssValuePool().createValue(style->speak()); | 2637 return cssValuePool().createValue(style->speak()); |
| 2644 case CSSPropertyWebkitTransform: | 2638 case CSSPropertyWebkitTransform: |
| 2645 return computedTransform(renderer, *style); | 2639 return computedTransform(renderer, *style); |
| 2646 case CSSPropertyWebkitTransformOrigin: { | 2640 case CSSPropertyWebkitTransformOrigin: { |
| 2647 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); | 2641 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
| 2648 if (renderer) { | 2642 if (renderer) { |
| 2649 LayoutRect box; | 2643 LayoutRect box; |
| 2650 if (renderer->isBox()) | 2644 if (renderer->isBox()) |
| 2651 box = toRenderBox(renderer)->borderBoxRect(); | 2645 box = toRenderBox(renderer)->borderBoxRect(); |
| 2652 | 2646 |
| 2653 RenderView* renderView = m_node->document().renderView(); | 2647 list->append(zoomAdjustedPixelValue(minimumValueForLength(style-
>transformOriginX(), box.width()), *style)); |
| 2654 list->append(zoomAdjustedPixelValue(minimumValueForLength(style-
>transformOriginX(), box.width(), renderView), *style)); | 2648 list->append(zoomAdjustedPixelValue(minimumValueForLength(style-
>transformOriginY(), box.height()), *style)); |
| 2655 list->append(zoomAdjustedPixelValue(minimumValueForLength(style-
>transformOriginY(), box.height(), renderView), *style)); | |
| 2656 if (style->transformOriginZ() != 0) | 2649 if (style->transformOriginZ() != 0) |
| 2657 list->append(zoomAdjustedPixelValue(style->transformOriginZ(
), *style)); | 2650 list->append(zoomAdjustedPixelValue(style->transformOriginZ(
), *style)); |
| 2658 } else { | 2651 } else { |
| 2659 list->append(zoomAdjustedPixelValueForLength(style->transformOri
ginX(), *style)); | 2652 list->append(zoomAdjustedPixelValueForLength(style->transformOri
ginX(), *style)); |
| 2660 list->append(zoomAdjustedPixelValueForLength(style->transformOri
ginY(), *style)); | 2653 list->append(zoomAdjustedPixelValueForLength(style->transformOri
ginY(), *style)); |
| 2661 if (style->transformOriginZ() != 0) | 2654 if (style->transformOriginZ() != 0) |
| 2662 list->append(zoomAdjustedPixelValue(style->transformOriginZ(
), *style)); | 2655 list->append(zoomAdjustedPixelValue(style->transformOriginZ(
), *style)); |
| 2663 } | 2656 } |
| 2664 return list.release(); | 2657 return list.release(); |
| 2665 } | 2658 } |
| (...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3252 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB
ackgroundSize, CSSPropertyBackgroundOrigin, | 3245 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB
ackgroundSize, CSSPropertyBackgroundOrigin, |
| 3253 CSSPropertyB
ackgroundClip }; | 3246 CSSPropertyB
ackgroundClip }; |
| 3254 | 3247 |
| 3255 RefPtr<CSSValueList> list = CSSValueList::createSlashSeparated(); | 3248 RefPtr<CSSValueList> list = CSSValueList::createSlashSeparated(); |
| 3256 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa
ckground, propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlash
Seperator)))); | 3249 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa
ckground, propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlash
Seperator)))); |
| 3257 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa
ckground, propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSe
perator)))); | 3250 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa
ckground, propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSe
perator)))); |
| 3258 return list.release(); | 3251 return list.release(); |
| 3259 } | 3252 } |
| 3260 | 3253 |
| 3261 } // namespace WebCore | 3254 } // namespace WebCore |
| OLD | NEW |