Skip to content
This repository was archived by the owner on Sep 5, 2024. It is now read-only.

Commit 215fae4

Browse files
crisbetojelbourn
authored andcommitted
fix(progressCircular): better support for older ios versions (#9254)
* Fixes the indeterminate animation not working on certain iOS versions which pass in the `DOMHighResTimestamp` to `requestAnimationFrame`, but don't support `performance.now`. * Adds fallbacks to the prefixed versions of `requestAnimationFrame`. Fixes #9253.
1 parent 72f3b7d commit 215fae4

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/components/progressCircular/js/progressCircularDirective.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,15 @@ function MdProgressCircularDirective($window, $mdProgressCircular, $mdTheming,
5353

5454
// Note that this shouldn't use use $$rAF, because it can cause an infinite loop
5555
// in any tests that call $animate.flush.
56-
var rAF = $window.requestAnimationFrame || angular.noop;
57-
var cAF = $window.cancelAnimationFrame || angular.noop;
56+
var rAF = $window.requestAnimationFrame ||
57+
$window.webkitRequestAnimationFrame ||
58+
angular.noop;
59+
60+
var cAF = $window.cancelAnimationFrame ||
61+
$window.webkitCancelAnimationFrame ||
62+
$window.webkitCancelRequestAnimationFrame ||
63+
angular.noop;
64+
5865
var DEGREE_IN_RADIANS = $window.Math.PI / 180;
5966
var MODE_DETERMINATE = 'determinate';
6067
var MODE_INDETERMINATE = 'indeterminate';
@@ -208,8 +215,8 @@ function MdProgressCircularDirective($window, $mdProgressCircular, $mdTheming,
208215
if (animateTo === animateFrom) {
209216
path.attr('d', getSvgArc(animateTo, diameter, pathDiameter, rotation));
210217
} else {
211-
lastDrawFrame = rAF(function animation(now) {
212-
var currentTime = $window.Math.max(0, $window.Math.min((now || $mdUtil.now()) - startTime, animationDuration));
218+
lastDrawFrame = rAF(function animation() {
219+
var currentTime = $window.Math.max(0, $window.Math.min($mdUtil.now() - startTime, animationDuration));
213220

214221
path.attr('d', getSvgArc(
215222
ease(currentTime, animateFrom, changeInValue, animationDuration),

0 commit comments

Comments
 (0)