OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> | 4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> |
5 * Copyright (C) 2008 Apple Inc. All rights reserved. | 5 * Copyright (C) 2008 Apple Inc. All rights reserved. |
6 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> | 6 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> |
7 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 7 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
232 { | 232 { |
233 // Assumptions may not hold after an attribute change. | 233 // Assumptions may not hold after an attribute change. |
234 m_animationValid = false; | 234 m_animationValid = false; |
235 m_lastValuesAnimationFrom = String(); | 235 m_lastValuesAnimationFrom = String(); |
236 m_lastValuesAnimationTo = String(); | 236 m_lastValuesAnimationTo = String(); |
237 setInactive(); | 237 setInactive(); |
238 } | 238 } |
239 | 239 |
240 float SVGAnimationElement::getStartTime(ExceptionState& exceptionState) const | 240 float SVGAnimationElement::getStartTime(ExceptionState& exceptionState) const |
241 { | 241 { |
242 UseCounter::count(document(), UseCounter::SVGSMILAnimationElementTiming); | |
kouhei (in TOK)
2016/08/15 03:34:45
If you intend to only measure JS callers, you can
Eric Willigers
2016/08/15 04:31:49
Done.
| |
242 SMILTime startTime = intervalBegin(); | 243 SMILTime startTime = intervalBegin(); |
243 if (!startTime.isFinite()) { | 244 if (!startTime.isFinite()) { |
244 exceptionState.throwDOMException(InvalidStateError, "No current interval ."); | 245 exceptionState.throwDOMException(InvalidStateError, "No current interval ."); |
245 return 0; | 246 return 0; |
246 } | 247 } |
247 return narrowPrecisionToFloat(startTime.value()); | 248 return narrowPrecisionToFloat(startTime.value()); |
248 } | 249 } |
249 | 250 |
250 float SVGAnimationElement::getCurrentTime() const | 251 float SVGAnimationElement::getCurrentTime() const |
251 { | 252 { |
253 UseCounter::count(document(), UseCounter::SVGSMILAnimationElementTiming); | |
252 return narrowPrecisionToFloat(elapsed().value()); | 254 return narrowPrecisionToFloat(elapsed().value()); |
253 } | 255 } |
254 | 256 |
255 float SVGAnimationElement::getSimpleDuration(ExceptionState& exceptionState) con st | 257 float SVGAnimationElement::getSimpleDuration(ExceptionState& exceptionState) con st |
256 { | 258 { |
259 UseCounter::count(document(), UseCounter::SVGSMILAnimationElementTiming); | |
257 SMILTime duration = simpleDuration(); | 260 SMILTime duration = simpleDuration(); |
258 if (!duration.isFinite()) { | 261 if (!duration.isFinite()) { |
259 exceptionState.throwDOMException(NotSupportedError, "No simple duration defined."); | 262 exceptionState.throwDOMException(NotSupportedError, "No simple duration defined."); |
260 return 0; | 263 return 0; |
261 } | 264 } |
262 return narrowPrecisionToFloat(duration.value()); | 265 return narrowPrecisionToFloat(duration.value()); |
263 } | 266 } |
264 | 267 |
265 void SVGAnimationElement::beginElement() | 268 void SVGAnimationElement::beginElement() |
266 { | 269 { |
267 beginElementAt(0); | 270 beginElementAt(0); |
268 } | 271 } |
269 | 272 |
270 void SVGAnimationElement::beginElementAt(float offset) | 273 void SVGAnimationElement::beginElementAt(float offset) |
271 { | 274 { |
272 ASSERT(std::isfinite(offset)); | 275 ASSERT(std::isfinite(offset)); |
276 UseCounter::count(document(), UseCounter::SVGSMILBeginEndAnimationElement); | |
273 SMILTime elapsed = this->elapsed(); | 277 SMILTime elapsed = this->elapsed(); |
274 addBeginTime(elapsed, elapsed + offset, SMILTimeWithOrigin::ScriptOrigin); | 278 addBeginTime(elapsed, elapsed + offset, SMILTimeWithOrigin::ScriptOrigin); |
275 } | 279 } |
276 | 280 |
277 void SVGAnimationElement::endElement() | 281 void SVGAnimationElement::endElement() |
278 { | 282 { |
279 endElementAt(0); | 283 endElementAt(0); |
280 } | 284 } |
281 | 285 |
282 void SVGAnimationElement::endElementAt(float offset) | 286 void SVGAnimationElement::endElementAt(float offset) |
283 { | 287 { |
284 ASSERT(std::isfinite(offset)); | 288 ASSERT(std::isfinite(offset)); |
289 UseCounter::count(document(), UseCounter::SVGSMILBeginEndAnimationElement); | |
285 SMILTime elapsed = this->elapsed(); | 290 SMILTime elapsed = this->elapsed(); |
286 addEndTime(elapsed, elapsed + offset, SMILTimeWithOrigin::ScriptOrigin); | 291 addEndTime(elapsed, elapsed + offset, SMILTimeWithOrigin::ScriptOrigin); |
287 } | 292 } |
288 | 293 |
289 void SVGAnimationElement::updateAnimationMode() | 294 void SVGAnimationElement::updateAnimationMode() |
290 { | 295 { |
291 // http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues | 296 // http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues |
292 if (hasAttribute(SVGNames::valuesAttr)) | 297 if (hasAttribute(SVGNames::valuesAttr)) |
293 setAnimationMode(ValuesAnimation); | 298 setAnimationMode(ValuesAnimation); |
294 else if (!toValue().isEmpty()) | 299 else if (!toValue().isEmpty()) |
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
735 if (!hasInvalidCSSAttributeType) | 740 if (!hasInvalidCSSAttributeType) |
736 schedule(); | 741 schedule(); |
737 } | 742 } |
738 | 743 |
739 // Clear values that may depend on the previous target. | 744 // Clear values that may depend on the previous target. |
740 if (targetElement()) | 745 if (targetElement()) |
741 clearAnimatedType(); | 746 clearAnimatedType(); |
742 } | 747 } |
743 | 748 |
744 } // namespace blink | 749 } // namespace blink |
OLD | NEW |