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

Side by Side Diff: third_party/WebKit/Source/core/animation/PrimitiveInterpolation.h

Issue 2370053003: Clean up stale FIXMEs and TODOs in core/animation (Closed)
Patch Set: Enum change unchange Created 4 years, 2 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef PrimitiveInterpolation_h 5 #ifndef PrimitiveInterpolation_h
6 #define PrimitiveInterpolation_h 6 #define PrimitiveInterpolation_h
7 7
8 #include "core/animation/TypedInterpolationValue.h" 8 #include "core/animation/TypedInterpolationValue.h"
9 #include "platform/animation/AnimationUtilities.h" 9 #include "platform/animation/AnimationUtilities.h"
10 #include "platform/heap/Handle.h" 10 #include "platform/heap/Handle.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 89
90 private: 90 private:
91 FlipPrimitiveInterpolation(std::unique_ptr<TypedInterpolationValue> start, s td::unique_ptr<TypedInterpolationValue> end) 91 FlipPrimitiveInterpolation(std::unique_ptr<TypedInterpolationValue> start, s td::unique_ptr<TypedInterpolationValue> end)
92 : m_start(std::move(start)) 92 : m_start(std::move(start))
93 , m_end(std::move(end)) 93 , m_end(std::move(end))
94 , m_lastFraction(std::numeric_limits<double>::quiet_NaN()) 94 , m_lastFraction(std::numeric_limits<double>::quiet_NaN())
95 { } 95 { }
96 96
97 void interpolateValue(double fraction, std::unique_ptr<TypedInterpolationVal ue>& result) const final 97 void interpolateValue(double fraction, std::unique_ptr<TypedInterpolationVal ue>& result) const final
98 { 98 {
99 // TODO(alancutter): Remove this optimisation once Oilpan is default.
alancutter (OOO until 2018) 2016/09/27 01:14:14 InterpolationValues are no longer garbage collecte
100 if (!std::isnan(m_lastFraction) && (fraction < 0.5) == (m_lastFraction < 0.5)) 99 if (!std::isnan(m_lastFraction) && (fraction < 0.5) == (m_lastFraction < 0.5))
101 return; 100 return;
102 const TypedInterpolationValue* side = ((fraction < 0.5) ? m_start : m_en d).get(); 101 const TypedInterpolationValue* side = ((fraction < 0.5) ? m_start : m_en d).get();
103 result = side ? side->clone() : nullptr; 102 result = side ? side->clone() : nullptr;
104 m_lastFraction = fraction; 103 m_lastFraction = fraction;
105 } 104 }
106 105
107 double interpolateUnderlyingFraction(double start, double end, double fracti on) const final { return fraction < 0.5 ? start : end; } 106 double interpolateUnderlyingFraction(double start, double end, double fracti on) const final { return fraction < 0.5 ? start : end; }
108 107
109 bool isFlip() const final { return true; } 108 bool isFlip() const final { return true; }
110 109
111 std::unique_ptr<TypedInterpolationValue> m_start; 110 std::unique_ptr<TypedInterpolationValue> m_start;
112 std::unique_ptr<TypedInterpolationValue> m_end; 111 std::unique_ptr<TypedInterpolationValue> m_end;
113 mutable double m_lastFraction; 112 mutable double m_lastFraction;
114 }; 113 };
115 114
116 } // namespace blink 115 } // namespace blink
117 116
118 #endif // PrimitiveInterpolation_h 117 #endif // PrimitiveInterpolation_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698