Index: ios/chrome/browser/web/auto_reload_controller.mm |
diff --git a/ios/chrome/browser/web/auto_reload_controller.mm b/ios/chrome/browser/web/auto_reload_controller.mm |
index 73f0453f2ce9c21a146ea9fa5eb4ac8ecd8abfe6..2e64ca9322fb3bfe0b1bad9b22ce0b58338e1843 100644 |
--- a/ios/chrome/browser/web/auto_reload_controller.mm |
+++ b/ios/chrome/browser/web/auto_reload_controller.mm |
@@ -6,11 +6,13 @@ |
#include <memory> |
-#include "base/ios/weak_nsobject.h" |
#include "base/mac/bind_objc_block.h" |
-#include "base/mac/scoped_nsobject.h" |
#include "base/timer/timer.h" |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
namespace { |
base::TimeDelta GetAutoReloadTime(size_t reload_count) { |
@@ -29,7 +31,7 @@ base::TimeDelta GetAutoReloadTime(size_t reload_count) { |
int _reloadCount; |
BOOL _shouldReload; |
BOOL _online; |
- id<AutoReloadDelegate> _delegate; |
+ __weak id<AutoReloadDelegate> _delegate; |
std::unique_ptr<base::Timer> _timer; |
} |
@@ -102,11 +104,10 @@ base::TimeDelta GetAutoReloadTime(size_t reload_count) { |
} |
- (void)startTimer { |
- base::WeakNSObject<AutoReloadController> weakSelf(self); |
+ __weak AutoReloadController* weakSelf = self; |
base::TimeDelta delay = GetAutoReloadTime(_reloadCount); |
- _timer->Start(FROM_HERE, delay, base::BindBlock(^{ |
- base::scoped_nsobject<AutoReloadController> strongSelf( |
- [weakSelf retain]); |
+ _timer->Start(FROM_HERE, delay, base::BindBlockArc(^{ |
+ AutoReloadController* strongSelf = weakSelf; |
// self owns the timer owns this closure, so self must outlive |
// this closure. |
DCHECK(strongSelf); |