Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Side by Side Diff: Source/core/style/ComputedStyle.h

Issue 1158603003: CSS Independent Transform Properties (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase master and explicit applyTransform parameters Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved. 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved.
6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) 6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com)
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 Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 #include "platform/fonts/FontBaseline.h" 70 #include "platform/fonts/FontBaseline.h"
71 #include "platform/fonts/FontDescription.h" 71 #include "platform/fonts/FontDescription.h"
72 #include "platform/geometry/FloatRoundedRect.h" 72 #include "platform/geometry/FloatRoundedRect.h"
73 #include "platform/geometry/LayoutRectOutsets.h" 73 #include "platform/geometry/LayoutRectOutsets.h"
74 #include "platform/graphics/Color.h" 74 #include "platform/graphics/Color.h"
75 #include "platform/graphics/GraphicsTypes.h" 75 #include "platform/graphics/GraphicsTypes.h"
76 #include "platform/scroll/ScrollableArea.h" 76 #include "platform/scroll/ScrollableArea.h"
77 #include "platform/text/TextDirection.h" 77 #include "platform/text/TextDirection.h"
78 #include "platform/text/TextRun.h" 78 #include "platform/text/TextRun.h"
79 #include "platform/text/UnicodeBidi.h" 79 #include "platform/text/UnicodeBidi.h"
80 #include "platform/transforms/RotateTransformOperation.h"
81 #include "platform/transforms/ScaleTransformOperation.h"
80 #include "platform/transforms/TransformOperations.h" 82 #include "platform/transforms/TransformOperations.h"
83 #include "platform/transforms/TranslateTransformOperation.h"
alancutter (OOO until 2018) 2015/06/18 13:03:24 Can these be forward declared?
81 #include "public/platform/WebScrollBlocksOn.h" 84 #include "public/platform/WebScrollBlocksOn.h"
82 #include "wtf/Forward.h" 85 #include "wtf/Forward.h"
83 #include "wtf/OwnPtr.h" 86 #include "wtf/OwnPtr.h"
84 #include "wtf/RefCounted.h" 87 #include "wtf/RefCounted.h"
85 #include "wtf/StdLibExtras.h" 88 #include "wtf/StdLibExtras.h"
86 #include "wtf/Vector.h" 89 #include "wtf/Vector.h"
87 90
88 template<typename T, typename U> inline bool compareEqual(const T& t, const U& u ) { return t == static_cast<T>(u); } 91 template<typename T, typename U> inline bool compareEqual(const T& t, const U& u ) { return t == static_cast<T>(u); }
89 92
90 #define SET_VAR(group, variable, value) \ 93 #define SET_VAR(group, variable, value) \
(...skipping 745 matching lines...) Expand 10 before | Expand all | Expand 10 after
836 ColumnSpan columnSpan() const { return static_cast<ColumnSpan>(rareNonInheri tedData->m_multiCol->m_columnSpan); } 839 ColumnSpan columnSpan() const { return static_cast<ColumnSpan>(rareNonInheri tedData->m_multiCol->m_columnSpan); }
837 EPageBreak columnBreakBefore() const { return static_cast<EPageBreak>(rareNo nInheritedData->m_multiCol->m_breakBefore); } 840 EPageBreak columnBreakBefore() const { return static_cast<EPageBreak>(rareNo nInheritedData->m_multiCol->m_breakBefore); }
838 EPageBreak columnBreakInside() const { return static_cast<EPageBreak>(rareNo nInheritedData->m_multiCol->m_breakInside); } 841 EPageBreak columnBreakInside() const { return static_cast<EPageBreak>(rareNo nInheritedData->m_multiCol->m_breakInside); }
839 EPageBreak columnBreakAfter() const { return static_cast<EPageBreak>(rareNon InheritedData->m_multiCol->m_breakAfter); } 842 EPageBreak columnBreakAfter() const { return static_cast<EPageBreak>(rareNon InheritedData->m_multiCol->m_breakAfter); }
840 bool hasInlineTransform() const { return rareNonInheritedData->m_hasInlineTr ansform; } 843 bool hasInlineTransform() const { return rareNonInheritedData->m_hasInlineTr ansform; }
841 bool hasCompositorProxy() const { return rareNonInheritedData->m_hasComposit orProxy; } 844 bool hasCompositorProxy() const { return rareNonInheritedData->m_hasComposit orProxy; }
842 const TransformOperations& transform() const { return rareNonInheritedData-> m_transform->m_operations; } 845 const TransformOperations& transform() const { return rareNonInheritedData-> m_transform->m_operations; }
843 const TransformOrigin& transformOrigin() const { return rareNonInheritedData ->m_transform->m_origin; } 846 const TransformOrigin& transformOrigin() const { return rareNonInheritedData ->m_transform->m_origin; }
844 const Length& transformOriginX() const { return transformOrigin().x(); } 847 const Length& transformOriginX() const { return transformOrigin().x(); }
845 const Length& transformOriginY() const { return transformOrigin().y(); } 848 const Length& transformOriginY() const { return transformOrigin().y(); }
849 TranslateTransformOperation* translate() const { return rareNonInheritedData ->m_transform->m_translate.get(); }
850 RotateTransformOperation* rotate() const { return rareNonInheritedData->m_tr ansform->m_rotate.get(); }
851 ScaleTransformOperation* scale() const { return rareNonInheritedData->m_tran sform->m_scale.get(); }
alancutter (OOO until 2018) 2015/06/18 13:03:24 The returned pointer should be const.
soonm 2015/06/19 04:39:52 As discussed, there is a use case for non-const ra
846 float transformOriginZ() const { return transformOrigin().z(); } 852 float transformOriginZ() const { return transformOrigin().z(); }
847 bool hasTransform() const { return hasTransformOperations() || hasMotionPath () || hasCurrentTransformAnimation(); } 853 bool has3DTransform() const { return rareNonInheritedData->m_transform->has3 DTransform(); }
854 bool hasTransform() const { return hasTransformOperations() || hasMotionPath () || hasCurrentTransformAnimation() || translate() || rotate() || scale(); }
848 bool transformDataEquivalent(const ComputedStyle& otherStyle) const { return rareNonInheritedData->m_transform == otherStyle.rareNonInheritedData->m_transfo rm; } 855 bool transformDataEquivalent(const ComputedStyle& otherStyle) const { return rareNonInheritedData->m_transform == otherStyle.rareNonInheritedData->m_transfo rm; }
849 856
850 StyleMotionPath* motionPath() const { return rareNonInheritedData->m_transfo rm->m_motion.m_path.get(); } 857 StyleMotionPath* motionPath() const { return rareNonInheritedData->m_transfo rm->m_motion.m_path.get(); }
851 bool hasMotionPath() const { return rareNonInheritedData->m_transform->m_mot ion.m_path; } 858 bool hasMotionPath() const { return rareNonInheritedData->m_transform->m_mot ion.m_path; }
852 const Length& motionOffset() const { return rareNonInheritedData->m_transfor m->m_motion.m_offset; } 859 const Length& motionOffset() const { return rareNonInheritedData->m_transfor m->m_motion.m_offset; }
853 float motionRotation() const { return rareNonInheritedData->m_transform->m_m otion.m_rotation; } 860 float motionRotation() const { return rareNonInheritedData->m_transform->m_m otion.m_rotation; }
854 MotionRotationType motionRotationType() const { return rareNonInheritedData- >m_transform->m_motion.m_rotationType; } 861 MotionRotationType motionRotationType() const { return rareNonInheritedData- >m_transform->m_motion.m_rotationType; }
855 862
856 TextEmphasisFill textEmphasisFill() const { return static_cast<TextEmphasisF ill>(rareInheritedData->textEmphasisFill); } 863 TextEmphasisFill textEmphasisFill() const { return static_cast<TextEmphasisF ill>(rareInheritedData->textEmphasisFill); }
857 TextEmphasisMark textEmphasisMark() const; 864 TextEmphasisMark textEmphasisMark() const;
858 const AtomicString& textEmphasisCustomMark() const { return rareInheritedDat a->textEmphasisCustomMark; } 865 const AtomicString& textEmphasisCustomMark() const { return rareInheritedDat a->textEmphasisCustomMark; }
859 TextEmphasisPosition textEmphasisPosition() const { return static_cast<TextE mphasisPosition>(rareInheritedData->textEmphasisPosition); } 866 TextEmphasisPosition textEmphasisPosition() const { return static_cast<TextE mphasisPosition>(rareInheritedData->textEmphasisPosition); }
860 const AtomicString& textEmphasisMarkString() const; 867 const AtomicString& textEmphasisMarkString() const;
861 868
862 RubyPosition rubyPosition() const { return static_cast<RubyPosition>(rareInh eritedData->m_rubyPosition); } 869 RubyPosition rubyPosition() const { return static_cast<RubyPosition>(rareInh eritedData->m_rubyPosition); }
863 870
864 TextOrientation textOrientation() const { return static_cast<TextOrientation >(rareInheritedData->m_textOrientation); } 871 TextOrientation textOrientation() const { return static_cast<TextOrientation >(rareInheritedData->m_textOrientation); }
865 872
866 ObjectFit objectFit() const { return static_cast<ObjectFit>(rareNonInherited Data->m_objectFit); } 873 ObjectFit objectFit() const { return static_cast<ObjectFit>(rareNonInherited Data->m_objectFit); }
867 LengthPoint objectPosition() const { return rareNonInheritedData->m_objectPo sition; } 874 LengthPoint objectPosition() const { return rareNonInheritedData->m_objectPo sition; }
868 875
869 // Return true if any transform related property (currently transform/motion Path, transformStyle3D or perspective) 876 // Return true if any transform related property (currently transform/motion Path, transformStyle3D or perspective)
870 // indicates that we are transforming 877 // indicates that we are transforming
871 bool hasTransformRelatedProperty() const { return hasTransform() || preserve s3D() || hasPerspective(); } 878 bool hasTransformRelatedProperty() const { return hasTransform() || preserve s3D() || hasPerspective(); }
872 879
873 enum ApplyTransformOrigin { IncludeTransformOrigin, ExcludeTransformOrigin } ; 880 enum ApplyTransformOrigin { IncludeTransformOrigin, ExcludeTransformOrigin } ;
874 enum ApplyMotionPath { IncludeMotionPath, ExcludeMotionPath }; 881 enum ApplyMotionPath { IncludeMotionPath, ExcludeMotionPath };
875 void applyTransform(TransformationMatrix&, const LayoutSize& borderBoxSize, ApplyTransformOrigin = IncludeTransformOrigin, ApplyMotionPath = IncludeMotionPa th) const; 882 enum ApplyIndependentTransformProperties { IncludeIndependentTransformProper ties , ExcludeIndependentTransformProperties };
876 void applyTransform(TransformationMatrix&, const FloatRect& boundingBox, App lyTransformOrigin = IncludeTransformOrigin, ApplyMotionPath = IncludeMotionPath) const; 883 void applyTransform(TransformationMatrix&, const LayoutSize& borderBoxSize, ApplyTransformOrigin, ApplyMotionPath, ApplyIndependentTransformProperties) cons t;
877 884 void applyTransform(TransformationMatrix&, const FloatRect& boundingBox, App lyTransformOrigin, ApplyMotionPath, ApplyIndependentTransformProperties) const;
878 bool hasMask() const { return rareNonInheritedData->m_mask.hasImage() || rar eNonInheritedData->m_maskBoxImage.hasImage(); } 885 bool hasMask() const { return rareNonInheritedData->m_mask.hasImage() || rar eNonInheritedData->m_maskBoxImage.hasImage(); }
879 886
880 TextCombine textCombine() const { return static_cast<TextCombine>(rareNonInh eritedData->m_textCombine); } 887 TextCombine textCombine() const { return static_cast<TextCombine>(rareNonInh eritedData->m_textCombine); }
881 bool hasTextCombine() const { return textCombine() != TextCombineNone; } 888 bool hasTextCombine() const { return textCombine() != TextCombineNone; }
882 889
883 TabSize tabSize() const { return rareInheritedData->m_tabSize; } 890 TabSize tabSize() const { return rareInheritedData->m_tabSize; }
884 891
885 // End CSS3 Getters 892 // End CSS3 Getters
886 893
887 // Apple-specific property getter methods 894 // Apple-specific property getter methods
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
1331 void setColumnBreakInside(EPageBreak p) { ASSERT(p == PBAUTO || p == PBAVOID ); SET_VAR(rareNonInheritedData.access()->m_multiCol, m_breakInside, p); } 1338 void setColumnBreakInside(EPageBreak p) { ASSERT(p == PBAUTO || p == PBAVOID ); SET_VAR(rareNonInheritedData.access()->m_multiCol, m_breakInside, p); }
1332 void setColumnBreakAfter(EPageBreak p) { SET_VAR(rareNonInheritedData.access ()->m_multiCol, m_breakAfter, p); } 1339 void setColumnBreakAfter(EPageBreak p) { SET_VAR(rareNonInheritedData.access ()->m_multiCol, m_breakAfter, p); }
1333 void inheritColumnPropertiesFrom(const ComputedStyle& parent) { rareNonInher itedData.access()->m_multiCol = parent.rareNonInheritedData->m_multiCol; } 1340 void inheritColumnPropertiesFrom(const ComputedStyle& parent) { rareNonInher itedData.access()->m_multiCol = parent.rareNonInheritedData->m_multiCol; }
1334 void setHasInlineTransform(bool b) { SET_VAR(rareNonInheritedData, m_hasInli neTransform, b); } 1341 void setHasInlineTransform(bool b) { SET_VAR(rareNonInheritedData, m_hasInli neTransform, b); }
1335 void setHasCompositorProxy(bool b) { SET_VAR(rareNonInheritedData, m_hasComp ositorProxy, b); } 1342 void setHasCompositorProxy(bool b) { SET_VAR(rareNonInheritedData, m_hasComp ositorProxy, b); }
1336 void setTransform(const TransformOperations& ops) { SET_VAR(rareNonInherited Data.access()->m_transform, m_operations, ops); } 1343 void setTransform(const TransformOperations& ops) { SET_VAR(rareNonInherited Data.access()->m_transform, m_operations, ops); }
1337 void setTransformOriginX(const Length& v) { setTransformOrigin(TransformOrig in(v, transformOriginY(), transformOriginZ())); } 1344 void setTransformOriginX(const Length& v) { setTransformOrigin(TransformOrig in(v, transformOriginY(), transformOriginZ())); }
1338 void setTransformOriginY(const Length& v) { setTransformOrigin(TransformOrig in(transformOriginX(), v, transformOriginZ())); } 1345 void setTransformOriginY(const Length& v) { setTransformOrigin(TransformOrig in(transformOriginX(), v, transformOriginZ())); }
1339 void setTransformOriginZ(float f) { setTransformOrigin(TransformOrigin(trans formOriginX(), transformOriginY(), f)); } 1346 void setTransformOriginZ(float f) { setTransformOrigin(TransformOrigin(trans formOriginX(), transformOriginY(), f)); }
1340 void setTransformOrigin(const TransformOrigin& o) { SET_VAR(rareNonInherited Data.access()->m_transform, m_origin, o); } 1347 void setTransformOrigin(const TransformOrigin& o) { SET_VAR(rareNonInherited Data.access()->m_transform, m_origin, o); }
1348 void setTranslate(PassRefPtr<TranslateTransformOperation> v) { rareNonInheri tedData.access()->m_transform.access()->m_translate = v; }
1349 void setRotate(PassRefPtr<RotateTransformOperation> v) { rareNonInheritedDat a.access()->m_transform.access()->m_rotate = v; }
1350 void setScale(PassRefPtr<ScaleTransformOperation> v) { rareNonInheritedData. access()->m_transform.access()->m_scale = v; }
1351
1341 void setSpeak(ESpeak s) { SET_VAR(rareInheritedData, speak, s); } 1352 void setSpeak(ESpeak s) { SET_VAR(rareInheritedData, speak, s); }
1342 void setTextCombine(TextCombine v) { SET_VAR(rareNonInheritedData, m_textCom bine, v); } 1353 void setTextCombine(TextCombine v) { SET_VAR(rareNonInheritedData, m_textCom bine, v); }
1343 void setTextDecorationColor(const StyleColor& c) { SET_VAR(rareNonInheritedD ata, m_textDecorationColor, c); } 1354 void setTextDecorationColor(const StyleColor& c) { SET_VAR(rareNonInheritedD ata, m_textDecorationColor, c); }
1344 void setTextEmphasisColor(const StyleColor& c) { SET_VAR_WITH_SETTER(rareInh eritedData, textEmphasisColor, setTextEmphasisColor, c); } 1355 void setTextEmphasisColor(const StyleColor& c) { SET_VAR_WITH_SETTER(rareInh eritedData, textEmphasisColor, setTextEmphasisColor, c); }
1345 void setTextEmphasisFill(TextEmphasisFill fill) { SET_VAR(rareInheritedData, textEmphasisFill, fill); } 1356 void setTextEmphasisFill(TextEmphasisFill fill) { SET_VAR(rareInheritedData, textEmphasisFill, fill); }
1346 void setTextEmphasisMark(TextEmphasisMark mark) { SET_VAR(rareInheritedData, textEmphasisMark, mark); } 1357 void setTextEmphasisMark(TextEmphasisMark mark) { SET_VAR(rareInheritedData, textEmphasisMark, mark); }
1347 void setTextEmphasisCustomMark(const AtomicString& mark) { SET_VAR(rareInher itedData, textEmphasisCustomMark, mark); } 1358 void setTextEmphasisCustomMark(const AtomicString& mark) { SET_VAR(rareInher itedData, textEmphasisCustomMark, mark); }
1348 void setTextEmphasisPosition(TextEmphasisPosition position) { SET_VAR(rareIn heritedData, textEmphasisPosition, position); } 1359 void setTextEmphasisPosition(TextEmphasisPosition position) { SET_VAR(rareIn heritedData, textEmphasisPosition, position); }
1349 bool setTextOrientation(TextOrientation); 1360 bool setTextOrientation(TextOrientation);
1350 1361
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
1639 static const AtomicString& initialHyphenationString() { return nullAtom; } 1650 static const AtomicString& initialHyphenationString() { return nullAtom; }
1640 static const AtomicString& initialLocale() { return nullAtom; } 1651 static const AtomicString& initialLocale() { return nullAtom; }
1641 static EResize initialResize() { return RESIZE_NONE; } 1652 static EResize initialResize() { return RESIZE_NONE; }
1642 static ControlPart initialAppearance() { return NoControlPart; } 1653 static ControlPart initialAppearance() { return NoControlPart; }
1643 static Order initialRTLOrdering() { return LogicalOrder; } 1654 static Order initialRTLOrdering() { return LogicalOrder; }
1644 static float initialTextStrokeWidth() { return 0; } 1655 static float initialTextStrokeWidth() { return 0; }
1645 static unsigned short initialColumnCount() { return 1; } 1656 static unsigned short initialColumnCount() { return 1; }
1646 static ColumnFill initialColumnFill() { return ColumnFillBalance; } 1657 static ColumnFill initialColumnFill() { return ColumnFillBalance; }
1647 static ColumnSpan initialColumnSpan() { return ColumnSpanNone; } 1658 static ColumnSpan initialColumnSpan() { return ColumnSpanNone; }
1648 static const TransformOperations& initialTransform() { DEFINE_STATIC_LOCAL(T ransformOperations, ops, ()); return ops; } 1659 static const TransformOperations& initialTransform() { DEFINE_STATIC_LOCAL(T ransformOperations, ops, ()); return ops; }
1660 static const PassRefPtr<TranslateTransformOperation> initialTranslate() { re turn TranslateTransformOperation::create(Length(0, Fixed), Length(0, Fixed), 0, TransformOperation::Translate3D); }
Timothy Loh 2015/06/19 01:16:45 returning const values is... weird. I'm pretty sur
soonm 2015/06/19 04:39:52 Done - Yep no need to be const here
1661 static const PassRefPtr<RotateTransformOperation> initialRotate() { return R otateTransformOperation::create(0, 0, 1, 0, TransformOperation::Rotate3D); }
1662 static const PassRefPtr<ScaleTransformOperation> initialScale() { return Sca leTransformOperation::create(1, 1, 1, TransformOperation::Scale3D); }
1649 static Length initialTransformOriginX() { return Length(50.0, Percent); } 1663 static Length initialTransformOriginX() { return Length(50.0, Percent); }
1650 static Length initialTransformOriginY() { return Length(50.0, Percent); } 1664 static Length initialTransformOriginY() { return Length(50.0, Percent); }
1651 static float initialTransformOriginZ() { return 0; } 1665 static float initialTransformOriginZ() { return 0; }
1652 static TransformOrigin initialTransformOrigin() { return TransformOrigin(Len gth(50.0, Percent), Length(50.0, Percent), 0); } 1666 static TransformOrigin initialTransformOrigin() { return TransformOrigin(Len gth(50.0, Percent), Length(50.0, Percent), 0); }
1653 static EPointerEvents initialPointerEvents() { return PE_AUTO; } 1667 static EPointerEvents initialPointerEvents() { return PE_AUTO; }
1654 static ETransformStyle3D initialTransformStyle3D() { return TransformStyle3D Flat; } 1668 static ETransformStyle3D initialTransformStyle3D() { return TransformStyle3D Flat; }
1655 static const StyleMotionPath* initialMotionPath() { return nullptr; } 1669 static const StyleMotionPath* initialMotionPath() { return nullptr; }
1656 static Length initialMotionOffset() { return Length(0, Fixed); } 1670 static Length initialMotionOffset() { return Length(0, Fixed); }
1657 static float initialMotionRotation() { return 0; } 1671 static float initialMotionRotation() { return 0; }
1658 static MotionRotationType initialMotionRotationType() { return MotionRotatio nAuto; } 1672 static MotionRotationType initialMotionRotationType() { return MotionRotatio nAuto; }
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
1803 void appendContent(PassOwnPtr<ContentData>); 1817 void appendContent(PassOwnPtr<ContentData>);
1804 void addAppliedTextDecoration(const AppliedTextDecoration&); 1818 void addAppliedTextDecoration(const AppliedTextDecoration&);
1805 bool hasTransformOperations() const { return !rareNonInheritedData->m_transf orm->m_operations.operations().isEmpty(); } 1819 bool hasTransformOperations() const { return !rareNonInheritedData->m_transf orm->m_operations.operations().isEmpty(); }
1806 void applyMotionPathTransform(TransformationMatrix&) const; 1820 void applyMotionPathTransform(TransformationMatrix&) const;
1807 1821
1808 bool diffNeedsFullLayoutAndPaintInvalidation(const ComputedStyle& other) con st; 1822 bool diffNeedsFullLayoutAndPaintInvalidation(const ComputedStyle& other) con st;
1809 bool diffNeedsFullLayout(const ComputedStyle& other) const; 1823 bool diffNeedsFullLayout(const ComputedStyle& other) const;
1810 bool diffNeedsPaintInvalidationLayer(const ComputedStyle& other) const; 1824 bool diffNeedsPaintInvalidationLayer(const ComputedStyle& other) const;
1811 bool diffNeedsPaintInvalidationObject(const ComputedStyle& other) const; 1825 bool diffNeedsPaintInvalidationObject(const ComputedStyle& other) const;
1812 void updatePropertySpecificDifferences(const ComputedStyle& other, StyleDiff erence&) const; 1826 void updatePropertySpecificDifferences(const ComputedStyle& other, StyleDiff erence&) const;
1827
1828 bool requireTransformOrigin(ApplyTransformOrigin applyOrigin, ApplyMotionPat h) const;
1813 }; 1829 };
1814 1830
1815 // FIXME: Reduce/remove the dependency on zoom adjusted int values. 1831 // FIXME: Reduce/remove the dependency on zoom adjusted int values.
1816 // The float or LayoutUnit versions of layout values should be used. 1832 // The float or LayoutUnit versions of layout values should be used.
1817 inline int adjustForAbsoluteZoom(int value, float zoomFactor) 1833 inline int adjustForAbsoluteZoom(int value, float zoomFactor)
1818 { 1834 {
1819 if (zoomFactor == 1) 1835 if (zoomFactor == 1)
1820 return value; 1836 return value;
1821 // Needed because computeLengthInt truncates (rather than rounds) when scali ng up. 1837 // Needed because computeLengthInt truncates (rather than rounds) when scali ng up.
1822 float fvalue = value; 1838 float fvalue = value;
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
1915 } 1931 }
1916 1932
1917 inline bool ComputedStyle::hasPseudoElementStyle() const 1933 inline bool ComputedStyle::hasPseudoElementStyle() const
1918 { 1934 {
1919 return noninherited_flags.pseudoBits & PSEUDO_ELEMENT_MASK; 1935 return noninherited_flags.pseudoBits & PSEUDO_ELEMENT_MASK;
1920 } 1936 }
1921 1937
1922 } // namespace blink 1938 } // namespace blink
1923 1939
1924 #endif // ComputedStyle_h 1940 #endif // ComputedStyle_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698