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

Unified Diff: ios/chrome/browser/ui/ntp/google_landing_mediator.mm

Issue 2955363002: [ObjC ARC] Converts ios/chrome/browser/ui/ntp:ntp_internal to ARC. (Closed)
Patch Set: adsf Created 3 years, 6 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
Index: ios/chrome/browser/ui/ntp/google_landing_mediator.mm
diff --git a/ios/chrome/browser/ui/ntp/google_landing_mediator.mm b/ios/chrome/browser/ui/ntp/google_landing_mediator.mm
index ef06b35d8ba9ad36fdb36734646a180dd9197e99..dc0b176a6d85626600328417b74edfc7b1ff7ef3 100644
--- a/ios/chrome/browser/ui/ntp/google_landing_mediator.mm
+++ b/ios/chrome/browser/ui/ntp/google_landing_mediator.mm
@@ -4,9 +4,7 @@
#import "ios/chrome/browser/ui/ntp/google_landing_mediator.h"
-#import "base/ios/weak_nsobject.h"
#include "base/mac/bind_objc_block.h"
-#include "base/mac/scoped_nsobject.h"
#include "base/metrics/user_metrics.h"
#include "base/metrics/user_metrics_action.h"
#include "base/strings/sys_string_conversions.h"
@@ -44,6 +42,10 @@
#include "ios/web/public/web_state/web_state.h"
#include "skia/ext/skia_utils_ios.h"
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
using base::UserMetricsAction;
namespace {
@@ -70,7 +72,7 @@ class SearchEngineObserver : public TemplateURLServiceObserver {
void OnTemplateURLServiceChanged() override;
private:
- base::WeakNSObject<GoogleLandingMediator> _owner;
+ __weak GoogleLandingMediator* _owner;
TemplateURLService* _templateURLService; // weak
};
@@ -100,7 +102,7 @@ void SearchEngineObserver::OnTemplateURLServiceChanged() {
BOOL _recordedPageImpression;
// Controller to fetch and show doodles or a default Google logo.
- base::scoped_nsprotocol<id<LogoVendor>> _doodleController;
+ id<LogoVendor> _doodleController;
// Listen for default search engine changes.
std::unique_ptr<google_landing::SearchEngineObserver> _observer;
@@ -128,13 +130,13 @@ void SearchEngineObserver::OnTemplateURLServiceChanged() {
}
// Consumer to handle google landing update notifications.
-@property(nonatomic) id<GoogleLandingConsumer> consumer;
+@property(weak, nonatomic) id<GoogleLandingConsumer> consumer;
marq (ping after 24h) 2017/06/29 11:57:15 nit: nonatomic, weak
stkhapugin 2017/06/29 15:04:49 Done.
// The WebStateList that is being observed by this mediator.
@property(nonatomic, assign) WebStateList* webStateList;
// The dispatcher for this mediator.
-@property(nonatomic, assign) id<ChromeExecuteCommand, UrlLoader> dispatcher;
+@property(nonatomic, weak) id<ChromeExecuteCommand, UrlLoader> dispatcher;
// Most visited data from the MostVisitedSites service (copied upon receiving
// the callback), not yet used.
@@ -200,8 +202,8 @@ void SearchEngineObserver::OnTemplateURLServiceChanged() {
_observer.reset(
new google_landing::SearchEngineObserver(self, _templateURLService));
_templateURLService->Load();
- _doodleController.reset(ios::GetChromeBrowserProvider()->CreateLogoVendor(
- _browserState, self.dispatcher));
+ _doodleController = ios::GetChromeBrowserProvider()->CreateLogoVendor(
+ _browserState, self.dispatcher);
[_consumer setLogoVendor:_doodleController];
[self updateShowLogo];
@@ -296,7 +298,7 @@ void SearchEngineObserver::OnTemplateURLServiceChanged() {
fallbackCallback:(void (^)(UIColor* textColor,
UIColor* backgroundColor,
BOOL isDefaultColor))fallbackCallback {
- base::WeakNSObject<GoogleLandingMediator> weakSelf(self);
+ __weak GoogleLandingMediator* weakSelf = self;
void (^faviconBlock)(const favicon_base::LargeIconResult&) = ^(
const favicon_base::LargeIconResult& result) {
@@ -317,7 +319,7 @@ void SearchEngineObserver::OnTemplateURLServiceChanged() {
fallbackCallback(textColor, backgroundColor, isDefaultColor);
}
- base::scoped_nsobject<GoogleLandingMediator> strongSelf([weakSelf retain]);
+ GoogleLandingMediator* strongSelf = weakSelf;
if (strongSelf &&
(result.bitmap.is_valid() || result.fallback_icon_style)) {
[strongSelf largeIconCache]->SetCachedResult(URL, result);
@@ -335,7 +337,7 @@ void SearchEngineObserver::OnTemplateURLServiceChanged() {
CGFloat faviconSize = [UIScreen mainScreen].scale * size;
CGFloat faviconMinSize = [UIScreen mainScreen].scale * kFaviconMinSize;
[self largeIconService]->GetLargeIconOrFallbackStyle(
- URL, faviconMinSize, faviconSize, base::BindBlock(faviconBlock),
+ URL, faviconMinSize, faviconSize, base::BindBlockArc(faviconBlock),
&_cancelable_task_tracker);
}
@@ -430,9 +432,8 @@ void SearchEngineObserver::OnTemplateURLServiceChanged() {
}
if (_notification_promo->IsChromeCommand()) {
- base::scoped_nsobject<GenericChromeCommand> command(
- [[GenericChromeCommand alloc]
- initWithTag:_notification_promo->command_id()]);
+ GenericChromeCommand* command = [[GenericChromeCommand alloc]
+ initWithTag:_notification_promo->command_id()];
[self.dispatcher chromeExecuteCommand:command];
return;
}

Powered by Google App Engine
This is Rietveld 408576698