Index: ios/chrome/browser/ui/settings/translate_collection_view_controller.mm |
diff --git a/ios/chrome/browser/ui/settings/translate_collection_view_controller.mm b/ios/chrome/browser/ui/settings/translate_collection_view_controller.mm |
index 29d62e009c63583364eacb96e206a632353d9033..abce1f057aab6a4c0a28f812e99c29a261542bb9 100644 |
--- a/ios/chrome/browser/ui/settings/translate_collection_view_controller.mm |
+++ b/ios/chrome/browser/ui/settings/translate_collection_view_controller.mm |
@@ -8,7 +8,6 @@ |
#include <memory> |
#include "base/mac/foundation_util.h" |
-#include "base/mac/scoped_nsobject.h" |
#include "components/google/core/browser/google_util.h" |
#include "components/prefs/pref_member.h" |
#include "components/prefs/pref_service.h" |
@@ -32,6 +31,10 @@ |
#include "ui/base/l10n/l10n_util.h" |
#include "url/gurl.h" |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
namespace { |
typedef NS_ENUM(NSInteger, SectionIdentifier) { |
@@ -54,9 +57,9 @@ NSString* const kTranslateSettingsCategory = @"ChromeTranslateSettings"; |
@interface TranslateCollectionViewController ()<BooleanObserver> { |
// Profile preferences. |
PrefService* _prefs; // weak |
- base::scoped_nsobject<PrefBackedBoolean> _translationEnabled; |
+ PrefBackedBoolean* _translationEnabled; |
// The item related to the switch for the translation setting. |
- base::scoped_nsobject<CollectionViewSwitchItem> _translationItem; |
+ CollectionViewSwitchItem* _translationItem; |
} |
@end |
@@ -73,9 +76,9 @@ NSString* const kTranslateSettingsCategory = @"ChromeTranslateSettings"; |
self.collectionViewAccessibilityIdentifier = |
@"translate_settings_view_controller"; |
_prefs = prefs; |
- _translationEnabled.reset([[PrefBackedBoolean alloc] |
- initWithPrefService:_prefs |
- prefName:prefs::kEnableTranslate]); |
+ _translationEnabled = |
+ [[PrefBackedBoolean alloc] initWithPrefService:_prefs |
+ prefName:prefs::kEnableTranslate]; |
[_translationEnabled setObserver:self]; |
[self loadModel]; |
} |
@@ -84,7 +87,6 @@ NSString* const kTranslateSettingsCategory = @"ChromeTranslateSettings"; |
- (void)dealloc { |
[_translationEnabled setObserver:nil]; |
- [super dealloc]; |
} |
#pragma mark - SettingsRootCollectionViewController |
@@ -95,16 +97,15 @@ NSString* const kTranslateSettingsCategory = @"ChromeTranslateSettings"; |
// Translate Section |
[model addSectionWithIdentifier:SectionIdentifierTranslate]; |
- _translationItem.reset( |
- [[CollectionViewSwitchItem alloc] initWithType:ItemTypeTranslate]); |
- _translationItem.get().text = |
- l10n_util::GetNSString(IDS_IOS_TRANSLATE_SETTING); |
- _translationItem.get().on = [_translationEnabled value]; |
+ _translationItem = |
+ [[CollectionViewSwitchItem alloc] initWithType:ItemTypeTranslate]; |
+ _translationItem.text = l10n_util::GetNSString(IDS_IOS_TRANSLATE_SETTING); |
+ _translationItem.on = [_translationEnabled value]; |
[model addItem:_translationItem |
toSectionWithIdentifier:SectionIdentifierTranslate]; |
- CollectionViewTextItem* resetTranslate = [[[CollectionViewTextItem alloc] |
- initWithType:ItemTypeResetTranslate] autorelease]; |
+ CollectionViewTextItem* resetTranslate = |
+ [[CollectionViewTextItem alloc] initWithType:ItemTypeResetTranslate]; |
resetTranslate.text = l10n_util::GetNSString(IDS_IOS_TRANSLATE_SETTING_RESET); |
resetTranslate.accessibilityTraits |= UIAccessibilityTraitButton; |
resetTranslate.textFont = [MDCTypography body2Font]; |
@@ -113,8 +114,8 @@ NSString* const kTranslateSettingsCategory = @"ChromeTranslateSettings"; |
// Footer Section |
[model addSectionWithIdentifier:SectionIdentifierFooter]; |
- CollectionViewFooterItem* footer = [[[CollectionViewFooterItem alloc] |
- initWithType:ItemTypeFooter] autorelease]; |
+ CollectionViewFooterItem* footer = |
+ [[CollectionViewFooterItem alloc] initWithType:ItemTypeFooter]; |
footer.text = l10n_util::GetNSString(IDS_IOS_TRANSLATE_SETTING_DESCRIPTION); |
footer.linkURL = google_util::AppendGoogleLocaleParam( |
GURL(kTranslateLearnMoreUrl), |
@@ -223,10 +224,10 @@ NSString* const kTranslateSettingsCategory = @"ChromeTranslateSettings"; |
#pragma mark - BooleanObserver |
- (void)booleanDidChange:(id<ObservableBoolean>)observableBoolean { |
- DCHECK_EQ(observableBoolean, _translationEnabled.get()); |
+ DCHECK_EQ(observableBoolean, _translationEnabled); |
// Update the item. |
- _translationItem.get().on = [_translationEnabled value]; |
+ _translationItem.on = [_translationEnabled value]; |
// Update the cell. |
[self reconfigureCellsForItems:@[ _translationItem ]]; |