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

Side by Side Diff: third_party/WebKit/Source/core/animation/SVGPathSegInterpolationFunctions.cpp

Issue 1977763002: Remove OwnPtr::release() calls in core/ (part 1). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove static_pointer_cast<>s. Created 4 years, 7 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 #include "core/animation/SVGPathSegInterpolationFunctions.h" 5 #include "core/animation/SVGPathSegInterpolationFunctions.h"
6 6
7 namespace blink { 7 namespace blink {
8 8
9 9
10 PassOwnPtr<InterpolableNumber> consumeControlAxis(double value, bool isAbsolute, double currentValue) 10 PassOwnPtr<InterpolableNumber> consumeControlAxis(double value, bool isAbsolute, double currentValue)
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 OwnPtr<InterpolableList> result = InterpolableList::create(2); 57 OwnPtr<InterpolableList> result = InterpolableList::create(2);
58 result->set(0, consumeCoordinateAxis(segment.x(), isAbsolute, coordinates.cu rrentX)); 58 result->set(0, consumeCoordinateAxis(segment.x(), isAbsolute, coordinates.cu rrentX));
59 result->set(1, consumeCoordinateAxis(segment.y(), isAbsolute, coordinates.cu rrentY)); 59 result->set(1, consumeCoordinateAxis(segment.y(), isAbsolute, coordinates.cu rrentY));
60 60
61 if (toAbsolutePathSegType(segment.command) == PathSegMoveToAbs) { 61 if (toAbsolutePathSegType(segment.command) == PathSegMoveToAbs) {
62 // Any upcoming 'closepath' commands bring us back to the location we ha ve just moved to. 62 // Any upcoming 'closepath' commands bring us back to the location we ha ve just moved to.
63 coordinates.initialX = coordinates.currentX; 63 coordinates.initialX = coordinates.currentX;
64 coordinates.initialY = coordinates.currentY; 64 coordinates.initialY = coordinates.currentY;
65 } 65 }
66 66
67 return result.release(); 67 return std::move(result);
68 } 68 }
69 69
70 PathSegmentData consumeInterpolableSingleCoordinate(const InterpolableValue& val ue, SVGPathSegType segType, PathCoordinates& coordinates) 70 PathSegmentData consumeInterpolableSingleCoordinate(const InterpolableValue& val ue, SVGPathSegType segType, PathCoordinates& coordinates)
71 { 71 {
72 const InterpolableList& list = toInterpolableList(value); 72 const InterpolableList& list = toInterpolableList(value);
73 bool isAbsolute = isAbsolutePathSegType(segType); 73 bool isAbsolute = isAbsolutePathSegType(segType);
74 PathSegmentData segment; 74 PathSegmentData segment;
75 segment.command = segType; 75 segment.command = segType;
76 segment.targetPoint.setX(consumeInterpolableCoordinateAxis(list.get(0), isAb solute, coordinates.currentX)); 76 segment.targetPoint.setX(consumeInterpolableCoordinateAxis(list.get(0), isAb solute, coordinates.currentX));
77 segment.targetPoint.setY(consumeInterpolableCoordinateAxis(list.get(1), isAb solute, coordinates.currentY)); 77 segment.targetPoint.setY(consumeInterpolableCoordinateAxis(list.get(1), isAb solute, coordinates.currentY));
(...skipping 10 matching lines...) Expand all
88 PassOwnPtr<InterpolableValue> consumeCurvetoCubic(const PathSegmentData& segment , PathCoordinates& coordinates) 88 PassOwnPtr<InterpolableValue> consumeCurvetoCubic(const PathSegmentData& segment , PathCoordinates& coordinates)
89 { 89 {
90 bool isAbsolute = isAbsolutePathSegType(segment.command); 90 bool isAbsolute = isAbsolutePathSegType(segment.command);
91 OwnPtr<InterpolableList> result = InterpolableList::create(6); 91 OwnPtr<InterpolableList> result = InterpolableList::create(6);
92 result->set(0, consumeControlAxis(segment.x1(), isAbsolute, coordinates.curr entX)); 92 result->set(0, consumeControlAxis(segment.x1(), isAbsolute, coordinates.curr entX));
93 result->set(1, consumeControlAxis(segment.y1(), isAbsolute, coordinates.curr entY)); 93 result->set(1, consumeControlAxis(segment.y1(), isAbsolute, coordinates.curr entY));
94 result->set(2, consumeControlAxis(segment.x2(), isAbsolute, coordinates.curr entX)); 94 result->set(2, consumeControlAxis(segment.x2(), isAbsolute, coordinates.curr entX));
95 result->set(3, consumeControlAxis(segment.y2(), isAbsolute, coordinates.curr entY)); 95 result->set(3, consumeControlAxis(segment.y2(), isAbsolute, coordinates.curr entY));
96 result->set(4, consumeCoordinateAxis(segment.x(), isAbsolute, coordinates.cu rrentX)); 96 result->set(4, consumeCoordinateAxis(segment.x(), isAbsolute, coordinates.cu rrentX));
97 result->set(5, consumeCoordinateAxis(segment.y(), isAbsolute, coordinates.cu rrentY)); 97 result->set(5, consumeCoordinateAxis(segment.y(), isAbsolute, coordinates.cu rrentY));
98 return result.release(); 98 return std::move(result);
99 } 99 }
100 100
101 PathSegmentData consumeInterpolableCurvetoCubic(const InterpolableValue& value, SVGPathSegType segType, PathCoordinates& coordinates) 101 PathSegmentData consumeInterpolableCurvetoCubic(const InterpolableValue& value, SVGPathSegType segType, PathCoordinates& coordinates)
102 { 102 {
103 const InterpolableList& list = toInterpolableList(value); 103 const InterpolableList& list = toInterpolableList(value);
104 bool isAbsolute = isAbsolutePathSegType(segType); 104 bool isAbsolute = isAbsolutePathSegType(segType);
105 PathSegmentData segment; 105 PathSegmentData segment;
106 segment.command = segType; 106 segment.command = segType;
107 segment.point1.setX(consumeInterpolableControlAxis(list.get(0), isAbsolute, coordinates.currentX)); 107 segment.point1.setX(consumeInterpolableControlAxis(list.get(0), isAbsolute, coordinates.currentX));
108 segment.point1.setY(consumeInterpolableControlAxis(list.get(1), isAbsolute, coordinates.currentY)); 108 segment.point1.setY(consumeInterpolableControlAxis(list.get(1), isAbsolute, coordinates.currentY));
109 segment.point2.setX(consumeInterpolableControlAxis(list.get(2), isAbsolute, coordinates.currentX)); 109 segment.point2.setX(consumeInterpolableControlAxis(list.get(2), isAbsolute, coordinates.currentX));
110 segment.point2.setY(consumeInterpolableControlAxis(list.get(3), isAbsolute, coordinates.currentY)); 110 segment.point2.setY(consumeInterpolableControlAxis(list.get(3), isAbsolute, coordinates.currentY));
111 segment.targetPoint.setX(consumeInterpolableCoordinateAxis(list.get(4), isAb solute, coordinates.currentX)); 111 segment.targetPoint.setX(consumeInterpolableCoordinateAxis(list.get(4), isAb solute, coordinates.currentX));
112 segment.targetPoint.setY(consumeInterpolableCoordinateAxis(list.get(5), isAb solute, coordinates.currentY)); 112 segment.targetPoint.setY(consumeInterpolableCoordinateAxis(list.get(5), isAb solute, coordinates.currentY));
113 return segment; 113 return segment;
114 } 114 }
115 115
116 PassOwnPtr<InterpolableValue> consumeCurvetoQuadratic(const PathSegmentData& seg ment, PathCoordinates& coordinates) 116 PassOwnPtr<InterpolableValue> consumeCurvetoQuadratic(const PathSegmentData& seg ment, PathCoordinates& coordinates)
117 { 117 {
118 bool isAbsolute = isAbsolutePathSegType(segment.command); 118 bool isAbsolute = isAbsolutePathSegType(segment.command);
119 OwnPtr<InterpolableList> result = InterpolableList::create(4); 119 OwnPtr<InterpolableList> result = InterpolableList::create(4);
120 result->set(0, consumeControlAxis(segment.x1(), isAbsolute, coordinates.curr entX)); 120 result->set(0, consumeControlAxis(segment.x1(), isAbsolute, coordinates.curr entX));
121 result->set(1, consumeControlAxis(segment.y1(), isAbsolute, coordinates.curr entY)); 121 result->set(1, consumeControlAxis(segment.y1(), isAbsolute, coordinates.curr entY));
122 result->set(2, consumeCoordinateAxis(segment.x(), isAbsolute, coordinates.cu rrentX)); 122 result->set(2, consumeCoordinateAxis(segment.x(), isAbsolute, coordinates.cu rrentX));
123 result->set(3, consumeCoordinateAxis(segment.y(), isAbsolute, coordinates.cu rrentY)); 123 result->set(3, consumeCoordinateAxis(segment.y(), isAbsolute, coordinates.cu rrentY));
124 return result.release(); 124 return std::move(result);
125 } 125 }
126 126
127 PathSegmentData consumeInterpolableCurvetoQuadratic(const InterpolableValue& val ue, SVGPathSegType segType, PathCoordinates& coordinates) 127 PathSegmentData consumeInterpolableCurvetoQuadratic(const InterpolableValue& val ue, SVGPathSegType segType, PathCoordinates& coordinates)
128 { 128 {
129 const InterpolableList& list = toInterpolableList(value); 129 const InterpolableList& list = toInterpolableList(value);
130 bool isAbsolute = isAbsolutePathSegType(segType); 130 bool isAbsolute = isAbsolutePathSegType(segType);
131 PathSegmentData segment; 131 PathSegmentData segment;
132 segment.command = segType; 132 segment.command = segType;
133 segment.point1.setX(consumeInterpolableControlAxis(list.get(0), isAbsolute, coordinates.currentX)); 133 segment.point1.setX(consumeInterpolableControlAxis(list.get(0), isAbsolute, coordinates.currentX));
134 segment.point1.setY(consumeInterpolableControlAxis(list.get(1), isAbsolute, coordinates.currentY)); 134 segment.point1.setY(consumeInterpolableControlAxis(list.get(1), isAbsolute, coordinates.currentY));
135 segment.targetPoint.setX(consumeInterpolableCoordinateAxis(list.get(2), isAb solute, coordinates.currentX)); 135 segment.targetPoint.setX(consumeInterpolableCoordinateAxis(list.get(2), isAb solute, coordinates.currentX));
136 segment.targetPoint.setY(consumeInterpolableCoordinateAxis(list.get(3), isAb solute, coordinates.currentY)); 136 segment.targetPoint.setY(consumeInterpolableCoordinateAxis(list.get(3), isAb solute, coordinates.currentY));
137 return segment; 137 return segment;
138 } 138 }
139 139
140 PassOwnPtr<InterpolableValue> consumeArc(const PathSegmentData& segment, PathCoo rdinates& coordinates) 140 PassOwnPtr<InterpolableValue> consumeArc(const PathSegmentData& segment, PathCoo rdinates& coordinates)
141 { 141 {
142 bool isAbsolute = isAbsolutePathSegType(segment.command); 142 bool isAbsolute = isAbsolutePathSegType(segment.command);
143 OwnPtr<InterpolableList> result = InterpolableList::create(7); 143 OwnPtr<InterpolableList> result = InterpolableList::create(7);
144 result->set(0, consumeCoordinateAxis(segment.x(), isAbsolute, coordinates.cu rrentX)); 144 result->set(0, consumeCoordinateAxis(segment.x(), isAbsolute, coordinates.cu rrentX));
145 result->set(1, consumeCoordinateAxis(segment.y(), isAbsolute, coordinates.cu rrentY)); 145 result->set(1, consumeCoordinateAxis(segment.y(), isAbsolute, coordinates.cu rrentY));
146 result->set(2, InterpolableNumber::create(segment.r1())); 146 result->set(2, InterpolableNumber::create(segment.r1()));
147 result->set(3, InterpolableNumber::create(segment.r2())); 147 result->set(3, InterpolableNumber::create(segment.r2()));
148 result->set(4, InterpolableNumber::create(segment.arcAngle())); 148 result->set(4, InterpolableNumber::create(segment.arcAngle()));
149 result->set(5, InterpolableBool::create(segment.largeArcFlag())); 149 result->set(5, InterpolableBool::create(segment.largeArcFlag()));
150 result->set(6, InterpolableBool::create(segment.sweepFlag())); 150 result->set(6, InterpolableBool::create(segment.sweepFlag()));
151 return result.release(); 151 return std::move(result);
152 } 152 }
153 153
154 PathSegmentData consumeInterpolableArc(const InterpolableValue& value, SVGPathSe gType segType, PathCoordinates& coordinates) 154 PathSegmentData consumeInterpolableArc(const InterpolableValue& value, SVGPathSe gType segType, PathCoordinates& coordinates)
155 { 155 {
156 const InterpolableList& list = toInterpolableList(value); 156 const InterpolableList& list = toInterpolableList(value);
157 bool isAbsolute = isAbsolutePathSegType(segType); 157 bool isAbsolute = isAbsolutePathSegType(segType);
158 PathSegmentData segment; 158 PathSegmentData segment;
159 segment.command = segType; 159 segment.command = segType;
160 segment.targetPoint.setX(consumeInterpolableCoordinateAxis(list.get(0), isAb solute, coordinates.currentX)); 160 segment.targetPoint.setX(consumeInterpolableCoordinateAxis(list.get(0), isAb solute, coordinates.currentX));
161 segment.targetPoint.setY(consumeInterpolableCoordinateAxis(list.get(1), isAb solute, coordinates.currentY)); 161 segment.targetPoint.setY(consumeInterpolableCoordinateAxis(list.get(1), isAb solute, coordinates.currentY));
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 } 198 }
199 199
200 PassOwnPtr<InterpolableValue> consumeCurvetoCubicSmooth(const PathSegmentData& s egment, PathCoordinates& coordinates) 200 PassOwnPtr<InterpolableValue> consumeCurvetoCubicSmooth(const PathSegmentData& s egment, PathCoordinates& coordinates)
201 { 201 {
202 bool isAbsolute = isAbsolutePathSegType(segment.command); 202 bool isAbsolute = isAbsolutePathSegType(segment.command);
203 OwnPtr<InterpolableList> result = InterpolableList::create(4); 203 OwnPtr<InterpolableList> result = InterpolableList::create(4);
204 result->set(0, consumeControlAxis(segment.x2(), isAbsolute, coordinates.curr entX)); 204 result->set(0, consumeControlAxis(segment.x2(), isAbsolute, coordinates.curr entX));
205 result->set(1, consumeControlAxis(segment.y2(), isAbsolute, coordinates.curr entY)); 205 result->set(1, consumeControlAxis(segment.y2(), isAbsolute, coordinates.curr entY));
206 result->set(2, consumeCoordinateAxis(segment.x(), isAbsolute, coordinates.cu rrentX)); 206 result->set(2, consumeCoordinateAxis(segment.x(), isAbsolute, coordinates.cu rrentX));
207 result->set(3, consumeCoordinateAxis(segment.y(), isAbsolute, coordinates.cu rrentY)); 207 result->set(3, consumeCoordinateAxis(segment.y(), isAbsolute, coordinates.cu rrentY));
208 return result.release(); 208 return std::move(result);
209 } 209 }
210 210
211 PathSegmentData consumeInterpolableCurvetoCubicSmooth(const InterpolableValue& v alue, SVGPathSegType segType, PathCoordinates& coordinates) 211 PathSegmentData consumeInterpolableCurvetoCubicSmooth(const InterpolableValue& v alue, SVGPathSegType segType, PathCoordinates& coordinates)
212 { 212 {
213 const InterpolableList& list = toInterpolableList(value); 213 const InterpolableList& list = toInterpolableList(value);
214 bool isAbsolute = isAbsolutePathSegType(segType); 214 bool isAbsolute = isAbsolutePathSegType(segType);
215 PathSegmentData segment; 215 PathSegmentData segment;
216 segment.command = segType; 216 segment.command = segType;
217 segment.point2.setX(consumeInterpolableControlAxis(list.get(0), isAbsolute, coordinates.currentX)); 217 segment.point2.setX(consumeInterpolableControlAxis(list.get(0), isAbsolute, coordinates.currentX));
218 segment.point2.setY(consumeInterpolableControlAxis(list.get(1), isAbsolute, coordinates.currentY)); 218 segment.point2.setY(consumeInterpolableControlAxis(list.get(1), isAbsolute, coordinates.currentY));
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 return consumeInterpolableCurvetoCubicSmooth(value, segType, coordinates ); 305 return consumeInterpolableCurvetoCubicSmooth(value, segType, coordinates );
306 306
307 case PathSegUnknown: 307 case PathSegUnknown:
308 default: 308 default:
309 ASSERT_NOT_REACHED(); 309 ASSERT_NOT_REACHED();
310 return PathSegmentData(); 310 return PathSegmentData();
311 } 311 }
312 } 312 }
313 313
314 } // namespace blink 314 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698