Changeset 200341 in webkit
- Timestamp:
- May 2, 2016 3:19:23 PM (8 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 1 added
- 28 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r200250 r200341 2110 2110 platform/Language.cpp 2111 2111 platform/Length.cpp 2112 platform/LengthBox.cpp 2112 2113 platform/LengthPoint.cpp 2113 2114 platform/LengthSize.cpp … … 2283 2284 platform/graphics/transforms/ScaleTransformOperation.cpp 2284 2285 platform/graphics/transforms/SkewTransformOperation.cpp 2286 platform/graphics/transforms/TransformOperation.cpp 2285 2287 platform/graphics/transforms/TransformOperations.cpp 2286 2288 platform/graphics/transforms/TransformState.cpp -
trunk/Source/WebCore/ChangeLog
r200340 r200341 1 2016-05-02 Simon Fraser <simon.fraser@apple.com> 2 3 Add to the Animations log channel output about which properties are being blended 4 https://bugs.webkit.org/show_bug.cgi?id=157271 5 6 Reviewed by Dean Jackson. 7 8 Make the Animations log channel dump information as CSS properties are being blended. 9 Sample output: 10 11 blending left from 0px to 400px at 0.57 -> 227.76px 12 blending transform from translate(0px, 0px, 0px) to translate(400px, 0px, 0px) at 0.74 -> translate(294.97px, 0px, 0px) 13 14 This makes it easier to see, for example, transitions to or from "auto" values. 15 16 * CMakeLists.txt: 17 * WebCore.xcodeproj/project.pbxproj: 18 * page/animation/CSSPropertyAnimation.cpp: 19 (WebCore::PropertyWrapperGetter::value): 20 (WebCore::PropertyWrapperMaybeInvalidColor::value): 21 (WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty): 22 (WebCore::CSSPropertyAnimation::blendProperties): 23 * platform/Length.cpp: 24 (WebCore::operator<<): 25 * platform/LengthBox.h: 26 * platform/graphics/transforms/IdentityTransformOperation.h: 27 * platform/graphics/transforms/Matrix3DTransformOperation.cpp: 28 (WebCore::Matrix3DTransformOperation::dump): 29 * platform/graphics/transforms/Matrix3DTransformOperation.h: 30 * platform/graphics/transforms/MatrixTransformOperation.cpp: 31 (WebCore::MatrixTransformOperation::dump): 32 * platform/graphics/transforms/MatrixTransformOperation.h: 33 * platform/graphics/transforms/PerspectiveTransformOperation.cpp: 34 (WebCore::PerspectiveTransformOperation::dump): 35 * platform/graphics/transforms/PerspectiveTransformOperation.h: 36 * platform/graphics/transforms/RotateTransformOperation.cpp: 37 (WebCore::RotateTransformOperation::dump): 38 * platform/graphics/transforms/RotateTransformOperation.h: 39 * platform/graphics/transforms/ScaleTransformOperation.cpp: 40 (WebCore::ScaleTransformOperation::dump): 41 * platform/graphics/transforms/ScaleTransformOperation.h: 42 * platform/graphics/transforms/SkewTransformOperation.cpp: 43 (WebCore::SkewTransformOperation::dump): 44 * platform/graphics/transforms/SkewTransformOperation.h: 45 * platform/graphics/transforms/TransformOperation.h: 46 * platform/graphics/transforms/TransformOperations.cpp: 47 (WebCore::operator<<): 48 * platform/graphics/transforms/TransformOperations.h: 49 * platform/graphics/transforms/TranslateTransformOperation.cpp: 50 (WebCore::TranslateTransformOperation::dump): 51 * platform/graphics/transforms/TranslateTransformOperation.h: 52 * rendering/style/NinePieceImage.cpp: 53 (WebCore::operator<<): 54 * rendering/style/NinePieceImage.h: 55 * svg/SVGLength.cpp: 56 (WebCore::operator<<): 57 * svg/SVGLength.h: 58 1 59 2016-05-02 Chris Dumez <cdumez@apple.com> 2 60 -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r200320 r200341 560 560 0FE71405142170B800DB33BA /* ScrollbarThemeMock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FE71403142170B800DB33BA /* ScrollbarThemeMock.cpp */; }; 561 561 0FE71406142170B800DB33BA /* ScrollbarThemeMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FE71404142170B800DB33BA /* ScrollbarThemeMock.h */; }; 562 0FE95F1B1CD540D000D2F45A /* LengthBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FE95F1A1CD540D000D2F45A /* LengthBox.cpp */; }; 563 0FE95F1D1CD543DF00D2F45A /* TransformOperation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FE95F1C1CD543DF00D2F45A /* TransformOperation.cpp */; }; 562 564 0FEA3E7B191B2FC5000F1B55 /* ScrollingStateFrameScrollingNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FEA3E79191B2FC5000F1B55 /* ScrollingStateFrameScrollingNode.h */; settings = {ATTRIBUTES = (Private, ); }; }; 563 565 0FEA3E7C191B2FC5000F1B55 /* ScrollingStateFrameScrollingNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FEA3E7A191B2FC5000F1B55 /* ScrollingStateFrameScrollingNode.cpp */; }; … … 7975 7977 0FE71404142170B800DB33BA /* ScrollbarThemeMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollbarThemeMock.h; sourceTree = "<group>"; }; 7976 7978 0FE71415142189FC00DB33BA /* ScrollbarTheme.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScrollbarTheme.cpp; sourceTree = "<group>"; }; 7979 0FE95F1A1CD540D000D2F45A /* LengthBox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LengthBox.cpp; sourceTree = "<group>"; }; 7980 0FE95F1C1CD543DF00D2F45A /* TransformOperation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransformOperation.cpp; sourceTree = "<group>"; }; 7977 7981 0FEA3E79191B2FC5000F1B55 /* ScrollingStateFrameScrollingNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollingStateFrameScrollingNode.h; sourceTree = "<group>"; }; 7978 7982 0FEA3E7A191B2FC5000F1B55 /* ScrollingStateFrameScrollingNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScrollingStateFrameScrollingNode.cpp; sourceTree = "<group>"; }; … … 17215 17219 49E911B30EF86D47009D0CAF /* TransformationMatrix.cpp */, 17216 17220 49E911B40EF86D47009D0CAF /* TransformationMatrix.h */, 17221 0FE95F1C1CD543DF00D2F45A /* TransformOperation.cpp */, 17217 17222 49E911BE0EF86D47009D0CAF /* TransformOperation.h */, 17218 17223 49E911BF0EF86D47009D0CAF /* TransformOperations.cpp */, … … 22946 22951 BCE65BE80EACDF16007E4533 /* Length.cpp */, 22947 22952 BCE65BE90EACDF16007E4533 /* Length.h */, 22953 0FE95F1A1CD540D000D2F45A /* LengthBox.cpp */, 22948 22954 BCFF648F0EAD15C200C1D6F7 /* LengthBox.h */, 22949 22955 0F87166D1C869D83004FF0DE /* LengthPoint.cpp */, … … 30925 30931 7633A72713D8B33A008501B6 /* LocaleToScriptMappingDefault.cpp in Sources */, 30926 30932 A516E8B8136E04DB0076C3C0 /* LocalizedDateCache.mm in Sources */, 30933 0FE95F1B1CD540D000D2F45A /* LengthBox.cpp in Sources */, 30927 30934 C046E1AC1208A9FE00BA2CF7 /* LocalizedStrings.cpp in Sources */, 30928 30935 1A4832B31A953BA6008B4DFE /* LocalizedStringsCocoa.mm in Sources */, … … 31283 31290 0F580CFE0F12DE9B0051D689 /* RenderLayerCompositor.cpp in Sources */, 31284 31291 50D10D991545F5760096D288 /* RenderLayerFilterInfo.cpp in Sources */, 31292 0FE95F1D1CD543DF00D2F45A /* TransformOperation.cpp in Sources */, 31285 31293 3C244FEBA375AC633F88BE6F /* RenderLayerModelObject.cpp in Sources */, 31286 31294 BC33FB1B0F30EE85002CDD7C /* RenderLineBoxList.cpp in Sources */, -
trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp
r199561 r200341 43 43 #include "FloatConversion.h" 44 44 #include "IdentityTransformOperation.h" 45 #include "Logging.h" 45 46 #include "Matrix3DTransformOperation.h" 46 47 #include "MatrixTransformOperation.h" … … 51 52 #include "StylePropertyShorthand.h" 52 53 #include "StyleResolver.h" 54 #include "TextStream.h" 53 55 #include <algorithm> 54 56 #include <memory> … … 385 387 virtual bool equals(const RenderStyle* a, const RenderStyle* b) const = 0; 386 388 virtual void blend(const AnimationBase*, RenderStyle*, const RenderStyle*, const RenderStyle*, double) const = 0; 389 390 #if !LOG_DISABLED 391 virtual void logBlend(const RenderStyle* a, const RenderStyle* b, const RenderStyle* result, double) const = 0; 392 #endif 387 393 388 394 CSSPropertyID property() const { return m_prop; } … … 412 418 return (a->*m_getter)() == (b->*m_getter)(); 413 419 } 420 421 T value(const RenderStyle* a) const 422 { 423 return (a->*m_getter)(); 424 } 425 426 #if !LOG_DISABLED 427 void logBlend(const RenderStyle* a, const RenderStyle* b, const RenderStyle* result, double progress) const final 428 { 429 LOG_WITH_STREAM(Animations, stream << " blending " << getPropertyName(property()) << " from " << value(a) << " to " << value(b) << " at " << TextStream::FormatNumberRespectingIntegers(progress) << " -> " << value(result)); 430 } 431 #endif 414 432 415 433 protected: … … 718 736 } 719 737 738 #if !LOG_DISABLED 739 void logBlend(const RenderStyle*, const RenderStyle*, const RenderStyle*, double progress) const final 740 { 741 // FIXME: better logging. 742 LOG_WITH_STREAM(Animations, stream << " blending ShadowData at " << TextStream::FormatNumberRespectingIntegers(progress)); 743 } 744 #endif 745 720 746 private: 721 747 std::unique_ptr<ShadowData> blendSimpleOrMatchedShadowLists(const AnimationBase* anim, double progress, const ShadowData* shadowA, const ShadowData* shadowB) const … … 801 827 return false; 802 828 803 Color fromColor = (a->*m_getter)();804 Color toColor = (b->*m_getter)();829 Color fromColor = value(a); 830 Color toColor = value(b); 805 831 806 832 if (!fromColor.isValid() && !toColor.isValid()) … … 817 843 void blend(const AnimationBase* anim, RenderStyle* dst, const RenderStyle* a, const RenderStyle* b, double progress) const override 818 844 { 819 Color fromColor = (a->*m_getter)();820 Color toColor = (b->*m_getter)();845 Color fromColor = value(a); 846 Color toColor = value(b); 821 847 822 848 if (!fromColor.isValid() && !toColor.isValid()) … … 830 856 } 831 857 858 Color value(const RenderStyle* a) const 859 { 860 return (a->*m_getter)(); 861 } 862 863 #if !LOG_DISABLED 864 void logBlend(const RenderStyle* a, const RenderStyle* b, const RenderStyle* result, double progress) const final 865 { 866 // FIXME: better logging. 867 LOG_WITH_STREAM(Animations, stream << " blending " << getPropertyName(property()) << " from " << value(a) << " to " << value(b) << " at " << TextStream::FormatNumberRespectingIntegers(progress) << " -> " << value(result)); 868 } 869 #endif 870 832 871 private: 833 872 Color (RenderStyle::*m_getter)() const; … … 863 902 m_visitedWrapper->blend(anim, dst, a, b, progress); 864 903 } 904 905 #if !LOG_DISABLED 906 void logBlend(const RenderStyle* a, const RenderStyle* b, const RenderStyle* result, double progress) const final 907 { 908 m_wrapper->logBlend(a, b, result, progress); 909 m_visitedWrapper->logBlend(a, b, result, progress); 910 } 911 #endif 865 912 866 913 private: … … 1033 1080 } 1034 1081 1082 #if !LOG_DISABLED 1083 void logBlend(const RenderStyle*, const RenderStyle*, const RenderStyle*, double progress) const final 1084 { 1085 // FIXME: better logging. 1086 LOG_WITH_STREAM(Animations, stream << " blending FillLayers at " << TextStream::FormatNumberRespectingIntegers(progress)); 1087 } 1088 #endif 1089 1035 1090 private: 1036 1091 std::unique_ptr<FillLayerAnimationPropertyWrapperBase> m_fillLayerPropertyWrapper; … … 1071 1126 } 1072 1127 1128 #if !LOG_DISABLED 1129 void logBlend(const RenderStyle*, const RenderStyle*, const RenderStyle*, double progress) const final 1130 { 1131 // FIXME: better logging. 1132 LOG_WITH_STREAM(Animations, stream << " blending shorthand property " << getPropertyName(property()) << " at " << TextStream::FormatNumberRespectingIntegers(progress)); 1133 } 1134 #endif 1135 1073 1136 const Vector<AnimationPropertyWrapperBase*>& propertyWrappers() const { return m_propertyWrappers; } 1074 1137 … … 1101 1164 dst->setFlexShrink(blendFunc(anim, a->flexShrink(), b->flexShrink(), progress)); 1102 1165 } 1166 1167 #if !LOG_DISABLED 1168 void logBlend(const RenderStyle*, const RenderStyle*, const RenderStyle*, double progress) const final 1169 { 1170 // FIXME: better logging. 1171 LOG_WITH_STREAM(Animations, stream << " blending flex at " << TextStream::FormatNumberRespectingIntegers(progress)); 1172 } 1173 #endif 1103 1174 }; 1104 1175 … … 1163 1234 } 1164 1235 1236 #if !LOG_DISABLED 1237 void logBlend(const RenderStyle*, const RenderStyle*, const RenderStyle*, double progress) const final 1238 { 1239 // FIXME: better logging. 1240 LOG_WITH_STREAM(Animations, stream << " blending SVGPaint at " << TextStream::FormatNumberRespectingIntegers(progress)); 1241 } 1242 #endif 1243 1165 1244 private: 1166 1245 const SVGPaint::SVGPaintType& (RenderStyle::*m_paintTypeGetter)() const; … … 1182 1261 { 1183 1262 if (propertyID < firstCSSProperty || propertyID > lastCSSProperty) 1184 return 0;1263 return nullptr; 1185 1264 1186 1265 unsigned wrapperIndex = indexFromPropertyID(propertyID); 1187 1266 if (wrapperIndex == cInvalidPropertyWrapperIndex) 1188 return 0;1267 return nullptr; 1189 1268 1190 1269 return m_propertyWrappers[wrapperIndex].get(); … … 1471 1550 if (wrapper) { 1472 1551 wrapper->blend(anim, dst, a, b, progress); 1552 #if !LOG_DISABLED 1553 wrapper->logBlend(a, b, dst, progress); 1554 #endif 1473 1555 return !wrapper->animationIsAccelerated() || !anim->isAccelerated(); 1474 1556 } -
trunk/Source/WebCore/platform/Length.cpp
r194496 r200341 329 329 ts << length.type(); 330 330 break; 331 case Fixed: 332 ts << TextStream::FormatNumberRespectingIntegers(length.value()) << "px"; 333 break; 331 334 case Relative: 332 case Fixed:333 335 case Intrinsic: 334 336 case MinIntrinsic: … … 344 346 case Calculated: 345 347 // FIXME: dump CalculationValue. 348 ts << "calc(...)"; 346 349 break; 347 350 } -
trunk/Source/WebCore/platform/LengthBox.cpp
r200340 r200341 1 1 /* 2 * Copyright (C) 20 09Apple Inc. All rights reserved.2 * Copyright (C) 2016 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 25 25 26 26 #include "config.h" 27 #include " Matrix3DTransformOperation.h"27 #include "LengthBox.h" 28 28 29 #include <algorithm>29 #include "TextStream.h" 30 30 31 31 namespace WebCore { 32 32 33 bool Matrix3DTransformOperation::operator==(const TransformOperation& other) const 33 TextStream& operator<<(TextStream& ts, const LengthBox& box) 34 34 { 35 return isSameType(other) && m_matrix == downcast<Matrix3DTransformOperation>(other).m_matrix; 36 } 37 38 static Ref<TransformOperation> createOperation(TransformationMatrix& to, TransformationMatrix& from, double progress) 39 { 40 to.blend(from, progress); 41 return Matrix3DTransformOperation::create(to); 42 } 43 44 Ref<TransformOperation> Matrix3DTransformOperation::blend(const TransformOperation* from, double progress, bool blendToIdentity) 45 { 46 if (from && !from->isSameType(*this)) 47 return *this; 48 49 // Convert the TransformOperations into matrices 50 FloatSize size; 51 TransformationMatrix fromT; 52 TransformationMatrix toT; 53 if (from) 54 from->apply(fromT, size); 55 56 apply(toT, size); 57 58 if (blendToIdentity) 59 return createOperation(fromT, toT, progress); 60 return createOperation(toT, fromT, progress); 35 ts << "top: " << box.top() << " right: " << box.right() << " bottom: " << box.bottom() << " left: " << box.left(); 36 return ts; 61 37 } 62 38 -
trunk/Source/WebCore/platform/LengthBox.h
r184962 r200341 154 154 typedef BoxExtent<float> FloatBoxExtent; 155 155 156 TextStream& operator<<(TextStream&, const LengthBox&); 157 156 158 } // namespace WebCore 157 159 -
trunk/Source/WebCore/platform/graphics/transforms/IdentityTransformOperation.h
r197563 r200341 63 63 } 64 64 65 void dump(TextStream&) const final; 66 65 67 IdentityTransformOperation() 66 68 { -
trunk/Source/WebCore/platform/graphics/transforms/Matrix3DTransformOperation.cpp
r184274 r200341 27 27 #include "Matrix3DTransformOperation.h" 28 28 29 #include "TextStream.h" 29 30 #include <algorithm> 30 31 … … 61 62 } 62 63 64 void Matrix3DTransformOperation::dump(TextStream& ts) const 65 { 66 ts << type() << "(" << m_matrix << ")"; 67 } 68 63 69 } // namespace WebCore -
trunk/Source/WebCore/platform/graphics/transforms/Matrix3DTransformOperation.h
r197563 r200341 63 63 Ref<TransformOperation> blend(const TransformOperation* from, double progress, bool blendToIdentity = false) override; 64 64 65 void dump(TextStream&) const final; 66 65 67 Matrix3DTransformOperation(const TransformationMatrix& mat) 66 68 { -
trunk/Source/WebCore/platform/graphics/transforms/MatrixTransformOperation.cpp
r184274 r200341 23 23 #include "MatrixTransformOperation.h" 24 24 25 #include "TextStream.h" 25 26 #include <algorithm> 26 27 … … 59 60 } 60 61 62 void MatrixTransformOperation::dump(TextStream& ts) const 63 { 64 ts << "(" 65 << TextStream::FormatNumberRespectingIntegers(m_a) << ", " 66 << TextStream::FormatNumberRespectingIntegers(m_b) << ", " 67 << TextStream::FormatNumberRespectingIntegers(m_c) << ", " 68 << TextStream::FormatNumberRespectingIntegers(m_d) << ", " 69 << TextStream::FormatNumberRespectingIntegers(m_e) << ", " 70 << TextStream::FormatNumberRespectingIntegers(m_f) << ")"; 71 } 72 61 73 } // namespace WebCore -
trunk/Source/WebCore/platform/graphics/transforms/MatrixTransformOperation.h
r197563 r200341 68 68 69 69 Ref<TransformOperation> blend(const TransformOperation* from, double progress, bool blendToIdentity = false) override; 70 70 71 void dump(TextStream&) const final; 72 71 73 MatrixTransformOperation(double a, double b, double c, double d, double e, double f) 72 74 : m_a(a) -
trunk/Source/WebCore/platform/graphics/transforms/PerspectiveTransformOperation.cpp
r184193 r200341 28 28 29 29 #include "AnimationUtilities.h" 30 #include "TextStream.h" 30 31 #include <wtf/MathExtras.h> 31 32 … … 69 70 } 70 71 72 void PerspectiveTransformOperation::dump(TextStream& ts) const 73 { 74 ts << type() << "(" << m_p << ")"; 75 } 76 71 77 } // namespace WebCore -
trunk/Source/WebCore/platform/graphics/transforms/PerspectiveTransformOperation.h
r197563 r200341 65 65 Ref<TransformOperation> blend(const TransformOperation* from, double progress, bool blendToIdentity = false) override; 66 66 67 void dump(TextStream&) const final; 68 67 69 PerspectiveTransformOperation(const Length& p) 68 70 : m_p(p) -
trunk/Source/WebCore/platform/graphics/transforms/RotateTransformOperation.cpp
r184193 r200341 24 24 25 25 #include "AnimationUtilities.h" 26 #include "TextStream.h" 26 27 #include <algorithm> 27 28 #include <wtf/MathExtras.h> … … 100 101 } 101 102 103 void RotateTransformOperation::dump(TextStream& ts) const 104 { 105 ts << type() << "(" << TextStream::FormatNumberRespectingIntegers(m_x) << ", " << TextStream::FormatNumberRespectingIntegers(m_y) << ", " << TextStream::FormatNumberRespectingIntegers(m_z) << ", " << TextStream::FormatNumberRespectingIntegers(m_angle) << "deg)"; 106 } 107 102 108 } // namespace WebCore -
trunk/Source/WebCore/platform/graphics/transforms/RotateTransformOperation.h
r197563 r200341 70 70 Ref<TransformOperation> blend(const TransformOperation* from, double progress, bool blendToIdentity = false) override; 71 71 72 void dump(TextStream&) const final; 73 72 74 RotateTransformOperation(double x, double y, double z, double angle, OperationType type) 73 75 : m_x(x) -
trunk/Source/WebCore/platform/graphics/transforms/ScaleTransformOperation.cpp
r184193 r200341 24 24 25 25 #include "AnimationUtilities.h" 26 #include "TextStream.h" 26 27 27 28 namespace WebCore { … … 54 55 } 55 56 57 void ScaleTransformOperation::dump(TextStream& ts) const 58 { 59 ts << type() << "(" << TextStream::FormatNumberRespectingIntegers(m_x) << ", " << TextStream::FormatNumberRespectingIntegers(m_y) << ", " << TextStream::FormatNumberRespectingIntegers(m_z) << ")"; 60 } 61 56 62 } // namespace WebCore -
trunk/Source/WebCore/platform/graphics/transforms/ScaleTransformOperation.h
r197563 r200341 69 69 Ref<TransformOperation> blend(const TransformOperation* from, double progress, bool blendToIdentity = false) override; 70 70 71 void dump(TextStream&) const final; 72 71 73 ScaleTransformOperation(double sx, double sy, double sz, OperationType type) 72 74 : m_x(sx) -
trunk/Source/WebCore/platform/graphics/transforms/SkewTransformOperation.cpp
r184193 r200341 24 24 25 25 #include "AnimationUtilities.h" 26 #include "TextStream.h" 26 27 27 28 namespace WebCore { … … 49 50 } 50 51 52 void SkewTransformOperation::dump(TextStream& ts) const 53 { 54 ts << type() << "(" << TextStream::FormatNumberRespectingIntegers(m_angleX) << "deg, " << TextStream::FormatNumberRespectingIntegers(m_angleY) << "deg)"; 55 } 56 51 57 } // namespace WebCore -
trunk/Source/WebCore/platform/graphics/transforms/SkewTransformOperation.h
r197563 r200341 62 62 63 63 Ref<TransformOperation> blend(const TransformOperation* from, double progress, bool blendToIdentity = false) override; 64 65 void dump(TextStream&) const final; 64 66 65 67 SkewTransformOperation(double angleX, double angleY, OperationType type) -
trunk/Source/WebCore/platform/graphics/transforms/TransformOperation.h
r184193 r200341 105 105 return type() == TRANSLATE_X || type() == TRANSLATE_Y || type() == TRANSLATE_Z || type() == TRANSLATE || type() == TRANSLATE_3D; 106 106 } 107 108 virtual void dump(TextStream&) const = 0; 107 109 }; 110 111 TextStream& operator<<(TextStream&, TransformOperation::OperationType); 112 TextStream& operator<<(TextStream&, const TransformOperation&); 108 113 109 114 } // namespace WebCore -
trunk/Source/WebCore/platform/graphics/transforms/TransformOperations.cpp
r184193 r200341 25 25 #include "IdentityTransformOperation.h" 26 26 #include "Matrix3DTransformOperation.h" 27 #include "TextStream.h" 27 28 #include <algorithm> 28 29 … … 127 128 } 128 129 130 TextStream& operator<<(TextStream& ts, const TransformOperations& ops) 131 { 132 for (const auto& operation : ops.operations()) 133 ts << *operation; 134 return ts; 135 } 136 129 137 } // namespace WebCore -
trunk/Source/WebCore/platform/graphics/transforms/TransformOperations.h
r181515 r200341 83 83 }; 84 84 85 TextStream& operator<<(TextStream&, const TransformOperations&); 86 85 87 } // namespace WebCore 86 88 -
trunk/Source/WebCore/platform/graphics/transforms/TranslateTransformOperation.cpp
r184193 r200341 22 22 #include "config.h" 23 23 #include "TranslateTransformOperation.h" 24 24 25 #include "FloatConversion.h" 26 #include "TextStream.h" 25 27 26 28 namespace WebCore { … … 50 52 } 51 53 54 void TranslateTransformOperation::dump(TextStream& ts) const 55 { 56 ts << type() << "(" << m_x << ", " << m_y << ", " << m_z << ")"; 57 } 58 52 59 } // namespace WebCore -
trunk/Source/WebCore/platform/graphics/transforms/TranslateTransformOperation.h
r197563 r200341 74 74 Ref<TransformOperation> blend(const TransformOperation* from, double progress, bool blendToIdentity = false) override; 75 75 76 void dump(TextStream&) const final; 77 76 78 TranslateTransformOperation(const Length& tx, const Length& ty, const Length& tz, OperationType type) 77 79 : m_x(tx) -
trunk/Source/WebCore/rendering/style/NinePieceImage.cpp
r194496 r200341 28 28 #include "LengthFunctions.h" 29 29 #include "RenderStyle.h" 30 #include "TextStream.h" 30 31 #include <wtf/NeverDestroyed.h> 31 32 #include <wtf/PointerComparison.h> … … 264 265 } 265 266 266 } 267 TextStream& operator<<(TextStream& ts, const NinePieceImage& image) 268 { 269 ts << "style-image " << image.image() << " slices " << image.imageSlices(); 270 return ts; 271 } 272 273 } -
trunk/Source/WebCore/rendering/style/NinePieceImage.h
r194496 r200341 211 211 }; 212 212 213 TextStream& operator<<(TextStream&, const NinePieceImage&); 214 213 215 } // namespace WebCore 214 216 -
trunk/Source/WebCore/svg/SVGLength.cpp
r196991 r200341 30 30 #include "SVGNames.h" 31 31 #include "SVGParserUtilities.h" 32 #include "TextStream.h" 32 33 #include <wtf/MathExtras.h> 33 34 #include <wtf/NeverDestroyed.h> … … 410 411 } 411 412 412 } 413 TextStream& operator<<(TextStream& ts, const SVGLength& length) 414 { 415 ts << length.valueAsString(); 416 return ts; 417 } 418 419 } -
trunk/Source/WebCore/svg/SVGLength.h
r196991 r200341 170 170 }; 171 171 172 TextStream& operator<<(TextStream&, const SVGLength&); 172 173 173 174 } // namespace WebCore
Note: See TracChangeset
for help on using the changeset viewer.