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

Unified Diff: ios/chrome/app/spotlight/topsites_spotlight_manager.mm

Issue 2704193002: [ObjC ARC] Converts ios/chrome/app/spotlight:spotlight to ARC. (Closed)
Patch Set: s/unsafe/weak Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ios/chrome/app/spotlight/spotlight_util.mm ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/chrome/app/spotlight/topsites_spotlight_manager.mm
diff --git a/ios/chrome/app/spotlight/topsites_spotlight_manager.mm b/ios/chrome/app/spotlight/topsites_spotlight_manager.mm
index 33bb23153619d9bbcea0afaefdae94457613a9af..58b45fec177d88321911b574bf07b37034a77697 100644
--- a/ios/chrome/app/spotlight/topsites_spotlight_manager.mm
+++ b/ios/chrome/app/spotlight/topsites_spotlight_manager.mm
@@ -6,7 +6,6 @@
#include <memory>
-#include "base/ios/weak_nsobject.h"
#include "base/memory/ref_counted.h"
#include "base/strings/sys_string_conversions.h"
#include "components/bookmarks/browser/bookmark_model.h"
@@ -23,6 +22,10 @@
#include "ios/chrome/browser/sync/sync_observer_bridge.h"
#include "ios/chrome/browser/ui/ntp/google_landing_controller.h"
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
class SpotlightTopSitesBridge;
class SpotlightTopSitesCallbackBridge;
class SpotlightSuggestionsBridge;
@@ -97,7 +100,7 @@ class SpotlightTopSitesCallbackBridge
}
private:
- __unsafe_unretained TopSitesSpotlightManager* owner_; // weak, owns us
+ __weak TopSitesSpotlightManager* owner_;
};
class SpotlightTopSitesBridge : public history::TopSitesObserver {
@@ -119,7 +122,7 @@ class SpotlightTopSitesBridge : public history::TopSitesObserver {
}
private:
- __unsafe_unretained TopSitesSpotlightManager* owner_; // weak
+ __weak TopSitesSpotlightManager* owner_;
};
class SpotlightSuggestionsBridge
@@ -136,7 +139,7 @@ class SpotlightSuggestionsBridge
}
private:
- __unsafe_unretained TopSitesSpotlightManager* owner_; // weak, owns us
+ __weak TopSitesSpotlightManager* owner_;
};
@implementation TopSitesSpotlightManager
@@ -144,7 +147,7 @@ class SpotlightSuggestionsBridge
+ (TopSitesSpotlightManager*)topSitesSpotlightManagerWithBrowserState:
(ios::ChromeBrowserState*)browserState {
- return [[[TopSitesSpotlightManager alloc]
+ return [[TopSitesSpotlightManager alloc]
initWithLargeIconService:IOSChromeLargeIconServiceFactory::
GetForBrowserState(browserState)
topSites:ios::TopSitesFactory::GetForBrowserState(
@@ -154,8 +157,7 @@ class SpotlightSuggestionsBridge
profileSyncService:IOSChromeProfileSyncServiceFactory::
GetForBrowserState(browserState)
suggestionsService:suggestions::SuggestionsServiceFactory::
- GetForBrowserState(browserState)]
- autorelease];
+ GetForBrowserState(browserState)];
}
- (instancetype)
@@ -186,7 +188,7 @@ initWithLargeIconService:(favicon::LargeIconService*)largeIconService
}
- (void)updateAllTopSitesSpotlightItems {
- base::WeakNSObject<TopSitesSpotlightManager> weakSelf(self);
+ __weak TopSitesSpotlightManager* weakSelf = self;
[self clearAllSpotlightItems:^(NSError* error) {
dispatch_async(dispatch_get_main_queue(), ^{
[weakSelf addAllTopSitesSpotlightItems];
@@ -269,12 +271,16 @@ initWithLargeIconService:(favicon::LargeIconService*)largeIconService
return;
}
_isReindexPending = true;
- base::WeakNSObject<TopSitesSpotlightManager> weakSelf(self);
+ __weak TopSitesSpotlightManager* weakSelf = self;
dispatch_after(
dispatch_time(DISPATCH_TIME_NOW, static_cast<int64_t>(1 * NSEC_PER_SEC)),
dispatch_get_main_queue(), ^{
- [weakSelf updateAllTopSitesSpotlightItems];
- weakSelf.get()->_isReindexPending = false;
+ TopSitesSpotlightManager* strongSelf = weakSelf;
+ if (!strongSelf) {
+ return;
+ }
+ [strongSelf updateAllTopSitesSpotlightItems];
+ strongSelf->_isReindexPending = false;
});
}
« no previous file with comments | « ios/chrome/app/spotlight/spotlight_util.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698