Changeset 80266 in webkit
- Timestamp:
- Mar 3, 2011 11:33:09 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r80265 r80266 1 2011-03-02 Chris Marrin <cmarrin@apple.com> 2 3 Reviewed by Simon Fraser. 4 5 REGRESSION: Accelerated transitions are jumpy 6 https://bugs.webkit.org/show_bug.cgi?id=55022 7 8 Got rid of default TimingFunction values from PlatformCAAnimation*. A TimingFunction 9 is now always passed in. The TimingFunction class now has a static method to get 10 a default object which has the 'ease' values in it. I now assert in both Mac and 11 Win implementations if a null TimingFunction pointer is seen. 12 13 * platform/animation/TimingFunction.h: 14 (WebCore::CubicBezierTimingFunction::create): 15 (WebCore::CubicBezierTimingFunction::defaultTimingFunction): 16 (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction): 17 * platform/graphics/ca/GraphicsLayerCA.cpp: 18 (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue): 19 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: 20 (toCAMediaTimingFunction): 21 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: 22 (toCACFTimingFunction): 23 1 24 2011-03-03 Tony Gentilcore <tonyg@chromium.org> 2 25 -
trunk/Source/WebCore/platform/animation/TimingFunction.h
r67032 r80266 77 77 class CubicBezierTimingFunction : public TimingFunction { 78 78 public: 79 static PassRefPtr<CubicBezierTimingFunction> create(double x1 = 0.25, double y1 = 0.1, double x2 = 0.25, double y2 = 1.0)79 static PassRefPtr<CubicBezierTimingFunction> create(double x1, double y1, double x2, double y2) 80 80 { 81 81 return adoptRef(new CubicBezierTimingFunction(x1, y1, x2, y2)); 82 } 83 84 static PassRefPtr<CubicBezierTimingFunction> create() 85 { 86 return adoptRef(new CubicBezierTimingFunction()); 82 87 } 83 88 … … 98 103 double y2() const { return m_y2; } 99 104 105 static const CubicBezierTimingFunction* defaultTimingFunction() 106 { 107 DEFINE_STATIC_LOCAL(const CubicBezierTimingFunction, dtf, ()); 108 return &dtf; 109 } 110 100 111 private: 101 CubicBezierTimingFunction(double x1 , double y1, double x2, double y2)112 CubicBezierTimingFunction(double x1 = 0.25, double y1 = 0.1, double x2 = 0.25, double y2 = 1.0) 102 113 : TimingFunction(CubicBezierFunction) 103 114 , m_x1(x1) -
trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
r80260 r80266 1682 1682 if (anim->isTimingFunctionSet()) 1683 1683 return anim->timingFunction().get(); 1684 1685 return 0;1684 1685 return CubicBezierTimingFunction::defaultTimingFunction(); 1686 1686 } 1687 1687 -
trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm
r79568 r80266 136 136 static CAMediaTimingFunction* toCAMediaTimingFunction(const TimingFunction* timingFunction) 137 137 { 138 if (!timingFunction) 139 return [CAMediaTimingFunction functionWithControlPoints:0.25f :0.1f :0.25f :1]; // Default is 'ease' function. 140 138 ASSERT(timingFunction); 141 139 if (timingFunction->isCubicBezierTimingFunction()) { 142 140 const CubicBezierTimingFunction* ctf = static_cast<const CubicBezierTimingFunction*>(timingFunction); -
trunk/Source/WebCore/platform/graphics/ca/win/PlatformCAAnimationWin.cpp
r78051 r80266 125 125 static RetainPtr<CACFTimingFunctionRef> toCACFTimingFunction(const TimingFunction* timingFunction) 126 126 { 127 if (!timingFunction) 128 return RetainPtr<CACFTimingFunctionRef>(AdoptCF, CACFTimingFunctionCreate(0.25f, 0.1f, 0.25f, 0.1f)); 129 127 ASSERT(timingFunction); 130 128 if (timingFunction->isCubicBezierTimingFunction()) { 131 129 const CubicBezierTimingFunction* ctf = static_cast<const CubicBezierTimingFunction*>(timingFunction);
Note: See TracChangeset
for help on using the changeset viewer.