Index: ios/chrome/browser/ui/reversed_animation.mm |
diff --git a/ios/chrome/browser/ui/reversed_animation.mm b/ios/chrome/browser/ui/reversed_animation.mm |
index 557c7d8d951ad691d808ad7efc027fcfbc238c2b..58ce55b77ea93c49c14a7dbd0e30d1f1e73e61b9 100644 |
--- a/ios/chrome/browser/ui/reversed_animation.mm |
+++ b/ios/chrome/browser/ui/reversed_animation.mm |
@@ -9,10 +9,7 @@ |
#include <cmath> |
#include "base/logging.h" |
- |
-#if !defined(__has_feature) || !__has_feature(objc_arc) |
-#error "This file requires ARC support." |
-#endif |
+#include "base/mac/objc_property_releaser.h" |
@protocol ReversedAnimationProtocol; |
typedef CAAnimation<ReversedAnimationProtocol> ReversedAnimation; |
@@ -63,7 +60,10 @@ |
#pragma mark - ReversedBasicAnimation |
-@interface ReversedBasicAnimation : CABasicAnimation<ReversedAnimationProtocol> |
+@interface ReversedBasicAnimation |
+ : CABasicAnimation<ReversedAnimationProtocol> { |
+ base::mac::ObjCPropertyReleaser _propertyReleaser_ReversedBasicAnimation; |
+} |
// Returns an animation that performs |animation| in reverse when added to |
// |layer|. |parentBeginTime| should be set to the beginTime in absolute time |
@@ -80,6 +80,15 @@ |
@synthesize originalAnimation = _originalAnimation; |
@synthesize animationDirection = _animationDirection; |
@synthesize animationTimeOffset = _animationTimeOffset; |
+ |
+- (instancetype)init { |
+ self = [super init]; |
+ if (self) { |
+ _propertyReleaser_ReversedBasicAnimation.Init( |
+ self, [ReversedBasicAnimation class]); |
+ } |
+ return self; |
+} |
- (instancetype)copyWithZone:(NSZone*)zone { |
ReversedBasicAnimation* copy = [super copyWithZone:zone]; |
@@ -127,7 +136,10 @@ |
#pragma mark - ReversedAnimationGroup |
-@interface ReversedAnimationGroup : CAAnimationGroup<ReversedAnimationProtocol> |
+@interface ReversedAnimationGroup |
+ : CAAnimationGroup<ReversedAnimationProtocol> { |
+ base::mac::ObjCPropertyReleaser _propertyReleaser_ReversedAnimationGroup; |
+} |
// Returns an animation that performs |animation| in reverse when added to |
// |layer|. |parentBeginTime| should be set to the beginTime in absolute time |
@@ -144,6 +156,15 @@ |
@synthesize originalAnimation = _originalAnimation; |
@synthesize animationDirection = _animationDirection; |
@synthesize animationTimeOffset = _animationTimeOffset; |
+ |
+- (instancetype)init { |
+ self = [super init]; |
+ if (self) { |
+ _propertyReleaser_ReversedAnimationGroup.Init( |
+ self, [ReversedAnimationGroup class]); |
+ } |
+ return self; |
+} |
- (instancetype)copyWithZone:(NSZone*)zone { |
ReversedAnimationGroup* copy = [super copyWithZone:zone]; |