Index: ios/chrome/browser/translate/before_translate_infobar_controller.mm |
diff --git a/ios/chrome/browser/translate/before_translate_infobar_controller.mm b/ios/chrome/browser/translate/before_translate_infobar_controller.mm |
index 59e97ee1c5b0853a56195288bf10ffb6af1277fc..d94714a07a148003534307db86593230ada38982 100644 |
--- a/ios/chrome/browser/translate/before_translate_infobar_controller.mm |
+++ b/ios/chrome/browser/translate/before_translate_infobar_controller.mm |
@@ -7,9 +7,7 @@ |
#include <stddef.h> |
#import <UIKit/UIKit.h> |
-#include "base/ios/weak_nsobject.h" |
#include "base/logging.h" |
-#include "base/mac/scoped_nsobject.h" |
#include "base/strings/sys_string_conversions.h" |
#include "base/strings/utf_string_conversions.h" |
#include "components/strings/grit/components_strings.h" |
@@ -20,6 +18,10 @@ |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/gfx/image/image.h" |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
namespace { |
CGFloat kNavigationBarHeight = 44; |
@@ -76,7 +78,7 @@ NSTimeInterval kPickerAnimationDurationInSeconds = 0.2; |
DCHECK_EQ(0, component); |
UILabel* label = [view isKindOfClass:[UILabel class]] |
? (UILabel*)view |
- : [[[UILabel alloc] init] autorelease]; |
+ : [[UILabel alloc] init]; |
[label setText:base::SysUTF16ToNSString( |
_translateInfoBarDelegate->language_name_at(row))]; |
[label setTextAlignment:NSTextAlignmentCenter]; |
@@ -112,17 +114,17 @@ NSTimeInterval kPickerAnimationDurationInSeconds = 0.2; |
translate::TranslateInfoBarDelegate* _translateInfoBarDelegate; // weak |
// A fullscreen view that catches all touch events and contains a UIPickerView |
// and a UINavigationBar. |
- base::scoped_nsobject<UIView> _languageSelectionView; |
+ UIView* _languageSelectionView; |
// Stores whether the user is currently choosing in the UIPickerView the |
// original language, or the target language. |
NSUInteger _languageSelectionType; |
// The language picker. |
- base::scoped_nsobject<UIPickerView> _languagePicker; |
+ UIPickerView* _languagePicker; |
// Navigation bar associated with the picker with "Done" and "Cancel" buttons. |
- base::scoped_nsobject<UINavigationBar> _navigationBar; |
+ UINavigationBar* _navigationBar; |
// The controller of the languagePicker. Needs to be an ivar because |
// |_languagePicker| does not retain it. |
- base::scoped_nsobject<LanguagePickerController> _languagePickerController; |
+ LanguagePickerController* _languagePickerController; |
} |
#pragma mark - |
@@ -130,10 +132,10 @@ NSTimeInterval kPickerAnimationDurationInSeconds = 0.2; |
- (InfoBarView*)viewForDelegate:(infobars::InfoBarDelegate*)delegate |
frame:(CGRect)frame { |
- base::scoped_nsobject<InfoBarView> infoBarView; |
+ InfoBarView* infoBarView; |
_translateInfoBarDelegate = delegate->AsTranslateInfoBarDelegate(); |
- infoBarView.reset( |
- [[InfoBarView alloc] initWithFrame:frame delegate:self.delegate]); |
+ infoBarView = |
+ [[InfoBarView alloc] initWithFrame:frame delegate:self.delegate]; |
// Icon |
gfx::Image icon = _translateInfoBarDelegate->GetIcon(); |
if (!icon.IsEmpty()) |
@@ -155,7 +157,7 @@ NSTimeInterval kPickerAnimationDurationInSeconds = 0.2; |
tag2:TranslateInfoBarIOSTag::BEFORE_DENY |
target:self |
action:@selector(infoBarButtonDidPress:)]; |
- return [[infoBarView retain] autorelease]; |
+ return infoBarView; |
} |
- (void)updateInfobarLabelOnView:(InfoBarView*)view { |
@@ -174,7 +176,7 @@ NSTimeInterval kPickerAnimationDurationInSeconds = 0.2; |
l10n_util::GetNSStringF(IDS_TRANSLATE_INFOBAR_BEFORE_MESSAGE_IOS, |
originalLanguageWithLink, targetLanguageWithLink); |
- base::WeakNSObject<BeforeTranslateInfoBarController> weakSelf(self); |
+ __weak BeforeTranslateInfoBarController* weakSelf = self; |
[view addLabel:label |
action:^(NSUInteger tag) { |
[weakSelf infobarLinkDidPress:tag]; |
@@ -209,7 +211,7 @@ NSTimeInterval kPickerAnimationDurationInSeconds = 0.2; |
// delegate. |
[_languagePicker setDataSource:nil]; |
[_languagePicker setDelegate:nil]; |
- _languagePickerController.reset(); |
+ _languagePickerController = nil; |
// Animate the picker away. |
CGRect languagePickerFrame = [_languagePicker frame]; |
CGRect navigationBarFrame = [_navigationBar frame]; |
@@ -217,16 +219,16 @@ NSTimeInterval kPickerAnimationDurationInSeconds = 0.2; |
languagePickerFrame.size.height + navigationBarFrame.size.height; |
languagePickerFrame.origin.y += animationHeight; |
navigationBarFrame.origin.y += animationHeight; |
- auto blockLanguagePicker(_languagePicker); |
- auto blockNavigationBar(_navigationBar); |
- _languagePicker.reset(); |
- _navigationBar.reset(); |
+ UIPickerView* blockLanguagePicker = _languagePicker; |
+ UINavigationBar* blockNavigationBar = _navigationBar; |
+ _languagePicker = nil; |
+ _navigationBar = nil; |
void (^animations)(void) = ^{ |
- blockLanguagePicker.get().frame = languagePickerFrame; |
- blockNavigationBar.get().frame = navigationBarFrame; |
+ blockLanguagePicker.frame = languagePickerFrame; |
+ blockNavigationBar.frame = navigationBarFrame; |
}; |
- auto blockSelectionView(_languageSelectionView); |
- _languageSelectionView.reset(); |
+ UIView* blockSelectionView = _languageSelectionView; |
+ _languageSelectionView = nil; |
void (^completion)(BOOL finished) = ^(BOOL finished) { |
[blockSelectionView removeFromSuperview]; |
}; |
@@ -272,8 +274,8 @@ NSTimeInterval kPickerAnimationDurationInSeconds = 0.2; |
CGRect languageSelectionViewFrame = |
CGRectMake(0, parentFrame.size.height - totalPickerHeight, |
parentFrame.size.width, totalPickerHeight); |
- _languageSelectionView.reset( |
- [[UIView alloc] initWithFrame:languageSelectionViewFrame]); |
+ _languageSelectionView = |
+ [[UIView alloc] initWithFrame:languageSelectionViewFrame]; |
[_languageSelectionView |
setAutoresizingMask:UIViewAutoresizingFlexibleWidth | |
UIViewAutoresizingFlexibleTopMargin]; |
@@ -291,21 +293,20 @@ NSTimeInterval kPickerAnimationDurationInSeconds = 0.2; |
CGRect initialNavigationBarFrame = finalNavigationBarFrame; |
initialNavigationBarFrame.origin.y += totalPickerHeight; |
- _navigationBar.reset( |
- [[UINavigationBar alloc] initWithFrame:initialNavigationBarFrame]); |
+ _navigationBar = |
+ [[UINavigationBar alloc] initWithFrame:initialNavigationBarFrame]; |
const UIViewAutoresizing resizingMask = |
UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin; |
[_navigationBar setAutoresizingMask:resizingMask]; |
- base::scoped_nsobject<UIBarButtonItem> doneButton([[UIBarButtonItem alloc] |
+ UIBarButtonItem* doneButton = [[UIBarButtonItem alloc] |
initWithBarButtonSystemItem:UIBarButtonSystemItemDone |
target:self |
- action:@selector(languageSelectionDone)]); |
- base::scoped_nsobject<UIBarButtonItem> cancelButton([[UIBarButtonItem alloc] |
+ action:@selector(languageSelectionDone)]; |
+ UIBarButtonItem* cancelButton = [[UIBarButtonItem alloc] |
initWithBarButtonSystemItem:UIBarButtonSystemItemCancel |
target:self |
- action:@selector(dismissLanguageSelectionView)]); |
- base::scoped_nsobject<UINavigationItem> item( |
- [[UINavigationItem alloc] initWithTitle:@""]); |
+ action:@selector(dismissLanguageSelectionView)]; |
+ UINavigationItem* item = [[UINavigationItem alloc] initWithTitle:@""]; |
[item setRightBarButtonItem:doneButton]; |
[item setLeftBarButtonItem:cancelButton]; |
[item setHidesBackButton:YES]; |
@@ -338,12 +339,11 @@ NSTimeInterval kPickerAnimationDurationInSeconds = 0.2; |
selectedRow = targetLanguageIndex; |
disabledRow = originalLanguageIndex; |
} |
- _languagePickerController.reset([[LanguagePickerController alloc] |
+ _languagePickerController = [[LanguagePickerController alloc] |
initWithDelegate:_translateInfoBarDelegate |
initialRow:selectedRow |
- disabledRow:disabledRow]); |
- _languagePicker.reset( |
- [[UIPickerView alloc] initWithFrame:initialPickerFrame]); |
+ disabledRow:disabledRow]; |
+ _languagePicker = [[UIPickerView alloc] initWithFrame:initialPickerFrame]; |
[_languagePicker setAutoresizingMask:resizingMask]; |
[_languagePicker setShowsSelectionIndicator:YES]; |
[_languagePicker setDataSource:_languagePickerController]; |
@@ -352,12 +352,12 @@ NSTimeInterval kPickerAnimationDurationInSeconds = 0.2; |
[_languagePicker setBackgroundColor:[self.view backgroundColor]]; |
[_languagePicker selectRow:selectedRow inComponent:0 animated:NO]; |
- auto blockLanguagePicker(_languagePicker); |
- auto blockNavigationBar(_navigationBar); |
+ UIPickerView* blockLanguagePicker = _languagePicker; |
+ UINavigationBar* blockNavigationBar = _navigationBar; |
[UIView animateWithDuration:kPickerAnimationDurationInSeconds |
animations:^{ |
- blockLanguagePicker.get().frame = finalPickerFrame; |
- blockNavigationBar.get().frame = finalNavigationBarFrame; |
+ blockLanguagePicker.frame = finalPickerFrame; |
+ blockNavigationBar.frame = finalNavigationBarFrame; |
}]; |
// Add the subviews. |