Index: ios/chrome/browser/ui/alert_coordinator/alert_coordinator.mm |
diff --git a/ios/chrome/browser/ui/alert_coordinator/alert_coordinator.mm b/ios/chrome/browser/ui/alert_coordinator/alert_coordinator.mm |
index a57e2b50c95c1e4a6eee9c0d00f7a743a49472b5..ef5f1ccd03b9024587f55fdf31e940b5ab9b952f 100644 |
--- a/ios/chrome/browser/ui/alert_coordinator/alert_coordinator.mm |
+++ b/ios/chrome/browser/ui/alert_coordinator/alert_coordinator.mm |
@@ -12,26 +12,21 @@ |
@interface AlertCoordinator () { |
// Variables backing properties of the same name. |
base::scoped_nsobject<UIAlertController> _alertController; |
- base::scoped_nsobject<NSString> _message; |
// Title for the alert. |
base::scoped_nsobject<NSString> _title; |
- // Rectangle for the popover alert. |
- CGRect _rect; |
- // View for the popovert alert. |
- base::scoped_nsobject<UIView> _view; |
- // Style for this alert. |
- UIAlertControllerStyle _style; |
+ // Message for the alert. |
+ base::scoped_nsobject<NSString> _message; |
} |
// Redefined to readwrite. |
@property(nonatomic, readwrite, getter=isVisible) BOOL visible; |
-// Lazy initializer to create the |_alert|. |
-@property(nonatomic, readonly) UIAlertController* alertController; |
// Called when the alert is dismissed to perform cleanup. |
- (void)alertDismissed; |
+- (UIAlertController*)alertControllerWithTitle:(NSString*)title |
+ message:(NSString*)message; |
@end |
@implementation AlertCoordinator |
@@ -45,26 +40,18 @@ |
} |
- (instancetype)initWithBaseViewController:(UIViewController*)viewController |
- title:(NSString*)title { |
+ title:(NSString*)title |
+ message:(NSString*)message { |
self = [super initWithBaseViewController:viewController]; |
if (self) { |
- _style = UIAlertControllerStyleAlert; |
_title.reset([title copy]); |
+ _message.reset([message copy]); |
} |
return self; |
} |
#pragma mark - Public Methods. |
-- (void)configureForActionSheetWithRect:(CGRect)rect popoverView:(UIView*)view { |
- if (_alertController) |
- return; |
- |
- _style = UIAlertControllerStyleActionSheet; |
- _view.reset(view); |
- _rect = rect; |
-} |
- |
- (void)addItemWithTitle:(NSString*)title |
action:(ProceduralBlock)actionBlock |
style:(UIAlertActionStyle)style { |
@@ -82,9 +69,9 @@ |
[UIAlertAction actionWithTitle:title |
style:style |
handler:^(UIAlertAction*) { |
- [weakSelf alertDismissed]; |
if (actionBlock) |
actionBlock(); |
+ [weakSelf alertDismissed]; |
}]; |
[self.alertController addAction:alertAction]; |
@@ -99,7 +86,7 @@ |
} |
// Display at least one button to let the user dismiss the alert. |
- if ([self actionsCount] == 0) { |
+ if ([self.alertController actions].count == 0) { |
[self addItemWithTitle:l10n_util::GetNSString(IDS_APP_OK) |
action:nil |
style:UIAlertActionStyleDefault]; |
@@ -116,26 +103,15 @@ |
[self alertDismissed]; |
} |
-- (NSUInteger)actionsCount { |
- return [_alertController actions].count; |
-} |
- |
#pragma mark - Property Implementation. |
- (UIAlertController*)alertController { |
if (!_alertController) { |
UIAlertController* alert = |
- [UIAlertController alertControllerWithTitle:_title |
- message:_message |
- preferredStyle:_style]; |
+ [self alertControllerWithTitle:_title message:_message]; |
if (alert) |
_alertController.reset([alert retain]); |
- |
- if (_style == UIAlertControllerStyleActionSheet) { |
- alert.popoverPresentationController.sourceView = _view; |
- alert.popoverPresentationController.sourceRect = _rect; |
- } |
} |
return _alertController; |
} |
@@ -156,4 +132,12 @@ |
_alertController.reset(); |
} |
+- (UIAlertController*)alertControllerWithTitle:(NSString*)title |
+ message:(NSString*)message { |
+ return |
+ [UIAlertController alertControllerWithTitle:title |
+ message:message |
+ preferredStyle:UIAlertControllerStyleAlert]; |
+} |
+ |
@end |