| 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 * Copyright (C) 2015 Google Inc. All rights reserved. | 7 * Copyright (C) 2015 Google Inc. All rights reserved. |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Lesser General Public | 10 * modify it under the terms of the GNU Lesser General Public |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 #include "core/css/CSSGridTemplateAreasValue.h" | 36 #include "core/css/CSSGridTemplateAreasValue.h" |
| 37 #include "core/css/CSSPathValue.h" | 37 #include "core/css/CSSPathValue.h" |
| 38 #include "core/css/CSSPrimitiveValueMappings.h" | 38 #include "core/css/CSSPrimitiveValueMappings.h" |
| 39 #include "core/css/CSSReflectValue.h" | 39 #include "core/css/CSSReflectValue.h" |
| 40 #include "core/css/CSSShadowValue.h" | 40 #include "core/css/CSSShadowValue.h" |
| 41 #include "core/css/CSSTimingFunctionValue.h" | 41 #include "core/css/CSSTimingFunctionValue.h" |
| 42 #include "core/css/CSSValueList.h" | 42 #include "core/css/CSSValueList.h" |
| 43 #include "core/css/CSSValuePool.h" | 43 #include "core/css/CSSValuePool.h" |
| 44 #include "core/css/Pair.h" | 44 #include "core/css/Pair.h" |
| 45 #include "core/css/Rect.h" | 45 #include "core/css/Rect.h" |
| 46 #include "core/layout/LayoutBox.h" |
| 46 #include "core/layout/LayoutObject.h" | 47 #include "core/layout/LayoutObject.h" |
| 47 #include "core/layout/style/ContentData.h" | 48 #include "core/layout/style/ContentData.h" |
| 48 #include "core/layout/style/LayoutStyle.h" | 49 #include "core/layout/style/LayoutStyle.h" |
| 49 #include "core/layout/style/PathStyleMotionPath.h" | 50 #include "core/layout/style/PathStyleMotionPath.h" |
| 50 #include "core/layout/style/ShadowList.h" | 51 #include "core/layout/style/ShadowList.h" |
| 51 #include "core/rendering/RenderBlock.h" | 52 #include "core/rendering/RenderBlock.h" |
| 52 #include "core/rendering/RenderBox.h" | |
| 53 #include "core/rendering/RenderGrid.h" | 53 #include "core/rendering/RenderGrid.h" |
| 54 #include "platform/LengthFunctions.h" | 54 #include "platform/LengthFunctions.h" |
| 55 | 55 |
| 56 namespace blink { | 56 namespace blink { |
| 57 | 57 |
| 58 inline static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> zoomAdjustedPixelValue(d
ouble value, const LayoutStyle& style) | 58 inline static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> zoomAdjustedPixelValue(d
ouble value, const LayoutStyle& style) |
| 59 { | 59 { |
| 60 return cssValuePool().createValue(adjustFloatForAbsoluteZoom(value, style),
CSSPrimitiveValue::CSS_PX); | 60 return cssValuePool().createValue(adjustFloatForAbsoluteZoom(value, style),
CSSPrimitiveValue::CSS_PX); |
| 61 } | 61 } |
| 62 | 62 |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 break; | 157 break; |
| 158 case CSSPropertyBottom: | 158 case CSSPropertyBottom: |
| 159 offset = style.bottom(); | 159 offset = style.bottom(); |
| 160 break; | 160 break; |
| 161 default: | 161 default: |
| 162 return nullptr; | 162 return nullptr; |
| 163 } | 163 } |
| 164 | 164 |
| 165 if (offset.isPercent() && renderer && renderer->isBox()) { | 165 if (offset.isPercent() && renderer && renderer->isBox()) { |
| 166 LayoutUnit containingBlockSize = (propertyID == CSSPropertyLeft || prope
rtyID == CSSPropertyRight) ? | 166 LayoutUnit containingBlockSize = (propertyID == CSSPropertyLeft || prope
rtyID == CSSPropertyRight) ? |
| 167 toRenderBox(renderer)->containingBlockLogicalWidthForContent() : | 167 toLayoutBox(renderer)->containingBlockLogicalWidthForContent() : |
| 168 toRenderBox(renderer)->containingBlockLogicalHeightForContent(Exclud
eMarginBorderPadding); | 168 toLayoutBox(renderer)->containingBlockLogicalHeightForContent(Exclud
eMarginBorderPadding); |
| 169 return zoomAdjustedPixelValue(valueForLength(offset, containingBlockSize
), style); | 169 return zoomAdjustedPixelValue(valueForLength(offset, containingBlockSize
), style); |
| 170 } | 170 } |
| 171 if (offset.isAuto()) { | 171 if (offset.isAuto()) { |
| 172 // FIXME: It's not enough to simply return "auto" values for one offset
if the other side is defined. | 172 // FIXME: It's not enough to simply return "auto" values for one offset
if the other side is defined. |
| 173 // In other words if left is auto and right is not auto, then left's com
puted value is negative right(). | 173 // In other words if left is auto and right is not auto, then left's com
puted value is negative right(). |
| 174 // So we should get the opposite length unit and see if it is auto. | 174 // So we should get the opposite length unit and see if it is auto. |
| 175 return cssValuePool().createIdentifierValue(CSSValueAuto); | 175 return cssValuePool().createIdentifierValue(CSSValueAuto); |
| 176 } | 176 } |
| 177 | 177 |
| 178 return zoomAdjustedPixelValueForLength(offset, style); | 178 return zoomAdjustedPixelValueForLength(offset, style); |
| (...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 628 if (!position.namedGridLine().isNull()) | 628 if (!position.namedGridLine().isNull()) |
| 629 list->append(cssValuePool().createValue(position.namedGridLine(), CSSPri
mitiveValue::CSS_STRING)); | 629 list->append(cssValuePool().createValue(position.namedGridLine(), CSSPri
mitiveValue::CSS_STRING)); |
| 630 return list; | 630 return list; |
| 631 } | 631 } |
| 632 | 632 |
| 633 static LayoutRect sizingBox(const LayoutObject* renderer) | 633 static LayoutRect sizingBox(const LayoutObject* renderer) |
| 634 { | 634 { |
| 635 if (!renderer->isBox()) | 635 if (!renderer->isBox()) |
| 636 return LayoutRect(); | 636 return LayoutRect(); |
| 637 | 637 |
| 638 const RenderBox* box = toRenderBox(renderer); | 638 const LayoutBox* box = toLayoutBox(renderer); |
| 639 return box->style()->boxSizing() == BORDER_BOX ? box->borderBoxRect() : box-
>computedCSSContentBoxRect(); | 639 return box->style()->boxSizing() == BORDER_BOX ? box->borderBoxRect() : box-
>computedCSSContentBoxRect(); |
| 640 } | 640 } |
| 641 | 641 |
| 642 static PassRefPtrWillBeRawPtr<CSSValue> scrollBlocksOnFlagsToCSSValue(WebScrollB
locksOn scrollBlocksOn) | 642 static PassRefPtrWillBeRawPtr<CSSValue> scrollBlocksOnFlagsToCSSValue(WebScrollB
locksOn scrollBlocksOn) |
| 643 { | 643 { |
| 644 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated()
; | 644 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated()
; |
| 645 | 645 |
| 646 if (scrollBlocksOn == WebScrollBlocksOnNone) | 646 if (scrollBlocksOn == WebScrollBlocksOnNone) |
| 647 return cssValuePool().createIdentifierValue(CSSValueNone); | 647 return cssValuePool().createIdentifierValue(CSSValueNone); |
| 648 | 648 |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 920 return transformValue.release(); | 920 return transformValue.release(); |
| 921 } | 921 } |
| 922 | 922 |
| 923 static PassRefPtrWillBeRawPtr<CSSValue> computedTransform(const LayoutObject* re
nderer, const LayoutStyle& style) | 923 static PassRefPtrWillBeRawPtr<CSSValue> computedTransform(const LayoutObject* re
nderer, const LayoutStyle& style) |
| 924 { | 924 { |
| 925 if (!renderer || !renderer->hasTransformRelatedProperty() || !style.hasTrans
form()) | 925 if (!renderer || !renderer->hasTransformRelatedProperty() || !style.hasTrans
form()) |
| 926 return cssValuePool().createIdentifierValue(CSSValueNone); | 926 return cssValuePool().createIdentifierValue(CSSValueNone); |
| 927 | 927 |
| 928 IntRect box; | 928 IntRect box; |
| 929 if (renderer->isBox()) | 929 if (renderer->isBox()) |
| 930 box = pixelSnappedIntRect(toRenderBox(renderer)->borderBoxRect()); | 930 box = pixelSnappedIntRect(toLayoutBox(renderer)->borderBoxRect()); |
| 931 | 931 |
| 932 TransformationMatrix transform; | 932 TransformationMatrix transform; |
| 933 style.applyTransform(transform, LayoutSize(box.size()), LayoutStyle::Exclude
TransformOrigin, LayoutStyle::ExcludeMotionPath); | 933 style.applyTransform(transform, LayoutSize(box.size()), LayoutStyle::Exclude
TransformOrigin, LayoutStyle::ExcludeMotionPath); |
| 934 | 934 |
| 935 // FIXME: Need to print out individual functions (https://bugs.webkit.org/sh
ow_bug.cgi?id=23924) | 935 // FIXME: Need to print out individual functions (https://bugs.webkit.org/sh
ow_bug.cgi?id=23924) |
| 936 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated()
; | 936 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated()
; |
| 937 list->append(valueForMatrixTransform(transform, style)); | 937 list->append(valueForMatrixTransform(transform, style)); |
| 938 | 938 |
| 939 return list.release(); | 939 return list.release(); |
| 940 } | 940 } |
| (...skipping 748 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1689 case CSSPropertyListStyleType: | 1689 case CSSPropertyListStyleType: |
| 1690 return cssValuePool().createValue(style.listStyleType()); | 1690 return cssValuePool().createValue(style.listStyleType()); |
| 1691 case CSSPropertyWebkitLocale: | 1691 case CSSPropertyWebkitLocale: |
| 1692 if (style.locale().isNull()) | 1692 if (style.locale().isNull()) |
| 1693 return cssValuePool().createIdentifierValue(CSSValueAuto); | 1693 return cssValuePool().createIdentifierValue(CSSValueAuto); |
| 1694 return cssValuePool().createValue(style.locale(), CSSPrimitiveValue::CSS
_STRING); | 1694 return cssValuePool().createValue(style.locale(), CSSPrimitiveValue::CSS
_STRING); |
| 1695 case CSSPropertyMarginTop: { | 1695 case CSSPropertyMarginTop: { |
| 1696 Length marginTop = style.marginTop(); | 1696 Length marginTop = style.marginTop(); |
| 1697 if (marginTop.isFixed() || !renderer || !renderer->isBox()) | 1697 if (marginTop.isFixed() || !renderer || !renderer->isBox()) |
| 1698 return zoomAdjustedPixelValueForLength(marginTop, style); | 1698 return zoomAdjustedPixelValueForLength(marginTop, style); |
| 1699 return zoomAdjustedPixelValue(toRenderBox(renderer)->marginTop(), style)
; | 1699 return zoomAdjustedPixelValue(toLayoutBox(renderer)->marginTop(), style)
; |
| 1700 } | 1700 } |
| 1701 case CSSPropertyMarginRight: { | 1701 case CSSPropertyMarginRight: { |
| 1702 Length marginRight = style.marginRight(); | 1702 Length marginRight = style.marginRight(); |
| 1703 if (marginRight.isFixed() || !renderer || !renderer->isBox()) | 1703 if (marginRight.isFixed() || !renderer || !renderer->isBox()) |
| 1704 return zoomAdjustedPixelValueForLength(marginRight, style); | 1704 return zoomAdjustedPixelValueForLength(marginRight, style); |
| 1705 float value; | 1705 float value; |
| 1706 if (marginRight.isPercent()) { | 1706 if (marginRight.isPercent()) { |
| 1707 // RenderBox gives a marginRight() that is the distance between the
right-edge of the child box | 1707 // LayoutBox gives a marginRight() that is the distance between the
right-edge of the child box |
| 1708 // and the right-edge of the containing box, when display == BLOCK.
Let's calculate the absolute | 1708 // and the right-edge of the containing box, when display == BLOCK.
Let's calculate the absolute |
| 1709 // value of the specified margin-right % instead of relying on Rende
rBox's marginRight() value. | 1709 // value of the specified margin-right % instead of relying on Layou
tBox's marginRight() value. |
| 1710 value = minimumValueForLength(marginRight, toRenderBox(renderer)->co
ntainingBlockLogicalWidthForContent()).toFloat(); | 1710 value = minimumValueForLength(marginRight, toLayoutBox(renderer)->co
ntainingBlockLogicalWidthForContent()).toFloat(); |
| 1711 } else { | 1711 } else { |
| 1712 value = toRenderBox(renderer)->marginRight().toFloat(); | 1712 value = toLayoutBox(renderer)->marginRight().toFloat(); |
| 1713 } | 1713 } |
| 1714 return zoomAdjustedPixelValue(value, style); | 1714 return zoomAdjustedPixelValue(value, style); |
| 1715 } | 1715 } |
| 1716 case CSSPropertyMarginBottom: { | 1716 case CSSPropertyMarginBottom: { |
| 1717 Length marginBottom = style.marginBottom(); | 1717 Length marginBottom = style.marginBottom(); |
| 1718 if (marginBottom.isFixed() || !renderer || !renderer->isBox()) | 1718 if (marginBottom.isFixed() || !renderer || !renderer->isBox()) |
| 1719 return zoomAdjustedPixelValueForLength(marginBottom, style); | 1719 return zoomAdjustedPixelValueForLength(marginBottom, style); |
| 1720 return zoomAdjustedPixelValue(toRenderBox(renderer)->marginBottom(), sty
le); | 1720 return zoomAdjustedPixelValue(toLayoutBox(renderer)->marginBottom(), sty
le); |
| 1721 } | 1721 } |
| 1722 case CSSPropertyMarginLeft: { | 1722 case CSSPropertyMarginLeft: { |
| 1723 Length marginLeft = style.marginLeft(); | 1723 Length marginLeft = style.marginLeft(); |
| 1724 if (marginLeft.isFixed() || !renderer || !renderer->isBox()) | 1724 if (marginLeft.isFixed() || !renderer || !renderer->isBox()) |
| 1725 return zoomAdjustedPixelValueForLength(marginLeft, style); | 1725 return zoomAdjustedPixelValueForLength(marginLeft, style); |
| 1726 return zoomAdjustedPixelValue(toRenderBox(renderer)->marginLeft(), style
); | 1726 return zoomAdjustedPixelValue(toLayoutBox(renderer)->marginLeft(), style
); |
| 1727 } | 1727 } |
| 1728 case CSSPropertyWebkitUserModify: | 1728 case CSSPropertyWebkitUserModify: |
| 1729 return cssValuePool().createValue(style.userModify()); | 1729 return cssValuePool().createValue(style.userModify()); |
| 1730 case CSSPropertyMaxHeight: { | 1730 case CSSPropertyMaxHeight: { |
| 1731 const Length& maxHeight = style.maxHeight(); | 1731 const Length& maxHeight = style.maxHeight(); |
| 1732 if (maxHeight.isMaxSizeNone()) | 1732 if (maxHeight.isMaxSizeNone()) |
| 1733 return cssValuePool().createIdentifierValue(CSSValueNone); | 1733 return cssValuePool().createIdentifierValue(CSSValueNone); |
| 1734 return zoomAdjustedPixelValueForLength(maxHeight, style); | 1734 return zoomAdjustedPixelValueForLength(maxHeight, style); |
| 1735 } | 1735 } |
| 1736 case CSSPropertyMaxWidth: { | 1736 case CSSPropertyMaxWidth: { |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1778 case CSSPropertyOverflowWrap: | 1778 case CSSPropertyOverflowWrap: |
| 1779 return cssValuePool().createValue(style.overflowWrap()); | 1779 return cssValuePool().createValue(style.overflowWrap()); |
| 1780 case CSSPropertyOverflowX: | 1780 case CSSPropertyOverflowX: |
| 1781 return cssValuePool().createValue(style.overflowX()); | 1781 return cssValuePool().createValue(style.overflowX()); |
| 1782 case CSSPropertyOverflowY: | 1782 case CSSPropertyOverflowY: |
| 1783 return cssValuePool().createValue(style.overflowY()); | 1783 return cssValuePool().createValue(style.overflowY()); |
| 1784 case CSSPropertyPaddingTop: { | 1784 case CSSPropertyPaddingTop: { |
| 1785 Length paddingTop = style.paddingTop(); | 1785 Length paddingTop = style.paddingTop(); |
| 1786 if (paddingTop.isFixed() || !renderer || !renderer->isBox()) | 1786 if (paddingTop.isFixed() || !renderer || !renderer->isBox()) |
| 1787 return zoomAdjustedPixelValueForLength(paddingTop, style); | 1787 return zoomAdjustedPixelValueForLength(paddingTop, style); |
| 1788 return zoomAdjustedPixelValue(toRenderBox(renderer)->computedCSSPaddingT
op(), style); | 1788 return zoomAdjustedPixelValue(toLayoutBox(renderer)->computedCSSPaddingT
op(), style); |
| 1789 } | 1789 } |
| 1790 case CSSPropertyPaddingRight: { | 1790 case CSSPropertyPaddingRight: { |
| 1791 Length paddingRight = style.paddingRight(); | 1791 Length paddingRight = style.paddingRight(); |
| 1792 if (paddingRight.isFixed() || !renderer || !renderer->isBox()) | 1792 if (paddingRight.isFixed() || !renderer || !renderer->isBox()) |
| 1793 return zoomAdjustedPixelValueForLength(paddingRight, style); | 1793 return zoomAdjustedPixelValueForLength(paddingRight, style); |
| 1794 return zoomAdjustedPixelValue(toRenderBox(renderer)->computedCSSPaddingR
ight(), style); | 1794 return zoomAdjustedPixelValue(toLayoutBox(renderer)->computedCSSPaddingR
ight(), style); |
| 1795 } | 1795 } |
| 1796 case CSSPropertyPaddingBottom: { | 1796 case CSSPropertyPaddingBottom: { |
| 1797 Length paddingBottom = style.paddingBottom(); | 1797 Length paddingBottom = style.paddingBottom(); |
| 1798 if (paddingBottom.isFixed() || !renderer || !renderer->isBox()) | 1798 if (paddingBottom.isFixed() || !renderer || !renderer->isBox()) |
| 1799 return zoomAdjustedPixelValueForLength(paddingBottom, style); | 1799 return zoomAdjustedPixelValueForLength(paddingBottom, style); |
| 1800 return zoomAdjustedPixelValue(toRenderBox(renderer)->computedCSSPaddingB
ottom(), style); | 1800 return zoomAdjustedPixelValue(toLayoutBox(renderer)->computedCSSPaddingB
ottom(), style); |
| 1801 } | 1801 } |
| 1802 case CSSPropertyPaddingLeft: { | 1802 case CSSPropertyPaddingLeft: { |
| 1803 Length paddingLeft = style.paddingLeft(); | 1803 Length paddingLeft = style.paddingLeft(); |
| 1804 if (paddingLeft.isFixed() || !renderer || !renderer->isBox()) | 1804 if (paddingLeft.isFixed() || !renderer || !renderer->isBox()) |
| 1805 return zoomAdjustedPixelValueForLength(paddingLeft, style); | 1805 return zoomAdjustedPixelValueForLength(paddingLeft, style); |
| 1806 return zoomAdjustedPixelValue(toRenderBox(renderer)->computedCSSPaddingL
eft(), style); | 1806 return zoomAdjustedPixelValue(toLayoutBox(renderer)->computedCSSPaddingL
eft(), style); |
| 1807 } | 1807 } |
| 1808 case CSSPropertyPageBreakAfter: | 1808 case CSSPropertyPageBreakAfter: |
| 1809 return cssValuePool().createValue(style.pageBreakAfter()); | 1809 return cssValuePool().createValue(style.pageBreakAfter()); |
| 1810 case CSSPropertyPageBreakBefore: | 1810 case CSSPropertyPageBreakBefore: |
| 1811 return cssValuePool().createValue(style.pageBreakBefore()); | 1811 return cssValuePool().createValue(style.pageBreakBefore()); |
| 1812 case CSSPropertyPageBreakInside: { | 1812 case CSSPropertyPageBreakInside: { |
| 1813 EPageBreak pageBreak = style.pageBreakInside(); | 1813 EPageBreak pageBreak = style.pageBreakInside(); |
| 1814 ASSERT(pageBreak != PBALWAYS); | 1814 ASSERT(pageBreak != PBALWAYS); |
| 1815 if (pageBreak == PBALWAYS) | 1815 if (pageBreak == PBALWAYS) |
| 1816 return nullptr; | 1816 return nullptr; |
| (...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2153 case CSSPropertyWebkitPerspective: | 2153 case CSSPropertyWebkitPerspective: |
| 2154 if (!style.hasPerspective()) | 2154 if (!style.hasPerspective()) |
| 2155 return cssValuePool().createIdentifierValue(CSSValueNone); | 2155 return cssValuePool().createIdentifierValue(CSSValueNone); |
| 2156 return zoomAdjustedPixelValue(style.perspective(), style); | 2156 return zoomAdjustedPixelValue(style.perspective(), style); |
| 2157 case CSSPropertyPerspectiveOrigin: | 2157 case CSSPropertyPerspectiveOrigin: |
| 2158 case CSSPropertyWebkitPerspectiveOrigin: { | 2158 case CSSPropertyWebkitPerspectiveOrigin: { |
| 2159 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparat
ed(); | 2159 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparat
ed(); |
| 2160 if (renderer) { | 2160 if (renderer) { |
| 2161 LayoutRect box; | 2161 LayoutRect box; |
| 2162 if (renderer->isBox()) | 2162 if (renderer->isBox()) |
| 2163 box = toRenderBox(renderer)->borderBoxRect(); | 2163 box = toLayoutBox(renderer)->borderBoxRect(); |
| 2164 | 2164 |
| 2165 list->append(zoomAdjustedPixelValue(minimumValueForLength(style.pers
pectiveOriginX(), box.width()), style)); | 2165 list->append(zoomAdjustedPixelValue(minimumValueForLength(style.pers
pectiveOriginX(), box.width()), style)); |
| 2166 list->append(zoomAdjustedPixelValue(minimumValueForLength(style.pers
pectiveOriginY(), box.height()), style)); | 2166 list->append(zoomAdjustedPixelValue(minimumValueForLength(style.pers
pectiveOriginY(), box.height()), style)); |
| 2167 } else { | 2167 } else { |
| 2168 list->append(zoomAdjustedPixelValueForLength(style.perspectiveOrigin
X(), style)); | 2168 list->append(zoomAdjustedPixelValueForLength(style.perspectiveOrigin
X(), style)); |
| 2169 list->append(zoomAdjustedPixelValueForLength(style.perspectiveOrigin
Y(), style)); | 2169 list->append(zoomAdjustedPixelValueForLength(style.perspectiveOrigin
Y(), style)); |
| 2170 } | 2170 } |
| 2171 return list.release(); | 2171 return list.release(); |
| 2172 } | 2172 } |
| 2173 case CSSPropertyWebkitRtlOrdering: | 2173 case CSSPropertyWebkitRtlOrdering: |
| (...skipping 26 matching lines...) Expand all Loading... |
| 2200 return cssValuePool().createValue(style.speak()); | 2200 return cssValuePool().createValue(style.speak()); |
| 2201 case CSSPropertyTransform: | 2201 case CSSPropertyTransform: |
| 2202 case CSSPropertyWebkitTransform: | 2202 case CSSPropertyWebkitTransform: |
| 2203 return computedTransform(renderer, style); | 2203 return computedTransform(renderer, style); |
| 2204 case CSSPropertyTransformOrigin: | 2204 case CSSPropertyTransformOrigin: |
| 2205 case CSSPropertyWebkitTransformOrigin: { | 2205 case CSSPropertyWebkitTransformOrigin: { |
| 2206 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparat
ed(); | 2206 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparat
ed(); |
| 2207 if (renderer) { | 2207 if (renderer) { |
| 2208 LayoutRect box; | 2208 LayoutRect box; |
| 2209 if (renderer->isBox()) | 2209 if (renderer->isBox()) |
| 2210 box = toRenderBox(renderer)->borderBoxRect(); | 2210 box = toLayoutBox(renderer)->borderBoxRect(); |
| 2211 | 2211 |
| 2212 list->append(zoomAdjustedPixelValue(minimumValueForLength(style.tran
sformOriginX(), box.width()), style)); | 2212 list->append(zoomAdjustedPixelValue(minimumValueForLength(style.tran
sformOriginX(), box.width()), style)); |
| 2213 list->append(zoomAdjustedPixelValue(minimumValueForLength(style.tran
sformOriginY(), box.height()), style)); | 2213 list->append(zoomAdjustedPixelValue(minimumValueForLength(style.tran
sformOriginY(), box.height()), style)); |
| 2214 if (style.transformOriginZ() != 0) | 2214 if (style.transformOriginZ() != 0) |
| 2215 list->append(zoomAdjustedPixelValue(style.transformOriginZ(), st
yle)); | 2215 list->append(zoomAdjustedPixelValue(style.transformOriginZ(), st
yle)); |
| 2216 } else { | 2216 } else { |
| 2217 list->append(zoomAdjustedPixelValueForLength(style.transformOriginX(
), style)); | 2217 list->append(zoomAdjustedPixelValueForLength(style.transformOriginX(
), style)); |
| 2218 list->append(zoomAdjustedPixelValueForLength(style.transformOriginY(
), style)); | 2218 list->append(zoomAdjustedPixelValueForLength(style.transformOriginY(
), style)); |
| 2219 if (style.transformOriginZ() != 0) | 2219 if (style.transformOriginZ() != 0) |
| 2220 list->append(zoomAdjustedPixelValue(style.transformOriginZ(), st
yle)); | 2220 list->append(zoomAdjustedPixelValue(style.transformOriginZ(), st
yle)); |
| (...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2564 return zoomAdjustedPixelValueForLength(svgStyle.y(), style); | 2564 return zoomAdjustedPixelValueForLength(svgStyle.y(), style); |
| 2565 | 2565 |
| 2566 case CSSPropertyAll: | 2566 case CSSPropertyAll: |
| 2567 return nullptr; | 2567 return nullptr; |
| 2568 } | 2568 } |
| 2569 ASSERT_NOT_REACHED(); | 2569 ASSERT_NOT_REACHED(); |
| 2570 return nullptr; | 2570 return nullptr; |
| 2571 } | 2571 } |
| 2572 | 2572 |
| 2573 } | 2573 } |
| OLD | NEW |