Index: ios/chrome/browser/payments/payment_request_coordinator.mm |
diff --git a/ios/chrome/browser/payments/payment_request_coordinator.mm b/ios/chrome/browser/payments/payment_request_coordinator.mm |
index 6205c4b84cf64ee6b523b81221ccfab13f2cce4f..b6fde1d773f8c280e1191c3a479758da40e16d09 100644 |
--- a/ios/chrome/browser/payments/payment_request_coordinator.mm |
+++ b/ios/chrome/browser/payments/payment_request_coordinator.mm |
@@ -7,9 +7,6 @@ |
#include <unordered_set> |
#include <vector> |
-#import "base/ios/weak_nsobject.h" |
-#include "base/mac/objc_property_releaser.h" |
-#include "base/mac/scoped_nsobject.h" |
#include "base/memory/ptr_util.h" |
#include "base/memory/weak_ptr.h" |
#include "base/strings/sys_string_conversions.h" |
@@ -28,6 +25,10 @@ |
#include "ios/chrome/browser/payments/payment_request_util.h" |
#include "ios/chrome/browser/ui/autofill/card_unmask_prompt_view_bridge.h" |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
// The unmask prompt UI for Payment Request. |
class PRCardUnmaskPromptViewBridge |
: public autofill::CardUnmaskPromptViewBridge { |
@@ -36,7 +37,7 @@ class PRCardUnmaskPromptViewBridge |
autofill::CardUnmaskPromptController* controller, |
UIViewController* base_view_controller) |
: autofill::CardUnmaskPromptViewBridge(controller), |
- base_view_controller_(base_view_controller){}; |
+ base_view_controller_(base_view_controller) {} |
// autofill::CardUnmaskPromptView: |
void Show() override { |
@@ -48,7 +49,7 @@ class PRCardUnmaskPromptViewBridge |
}; |
private: |
- UIViewController* base_view_controller_; // Weak. |
+ __weak UIViewController* base_view_controller_; |
DISALLOW_COPY_AND_ASSIGN(PRCardUnmaskPromptViewBridge); |
}; |
@@ -108,36 +109,25 @@ class FullCardRequester |
} |
private: |
- PaymentRequestCoordinator* owner_; // Weak. Owns this instance. |
- UIViewController* base_view_controller_; // Weak. |
+ __weak PaymentRequestCoordinator* owner_; |
+ __weak UIViewController* base_view_controller_; |
autofill::CardUnmaskPromptControllerImpl unmask_controller_; |
DISALLOW_COPY_AND_ASSIGN(FullCardRequester); |
}; |
-@interface PaymentRequestCoordinator () { |
- base::WeakNSProtocol<id<PaymentRequestCoordinatorDelegate>> _delegate; |
- base::scoped_nsobject<UINavigationController> _navigationController; |
- base::scoped_nsobject<PaymentRequestViewController> _viewController; |
- base::scoped_nsobject<PaymentItemsDisplayCoordinator> |
- _itemsDisplayCoordinator; |
- base::scoped_nsobject<ShippingAddressSelectionCoordinator> |
- _shippingAddressSelectionCoordinator; |
- base::scoped_nsobject<ShippingOptionSelectionCoordinator> |
- _shippingOptionSelectionCoordinator; |
- base::scoped_nsobject<PaymentMethodSelectionCoordinator> |
- _methodSelectionCoordinator; |
+@implementation PaymentRequestCoordinator { |
+ UINavigationController* _navigationController; |
+ PaymentRequestViewController* _viewController; |
+ PaymentItemsDisplayCoordinator* _itemsDisplayCoordinator; |
+ ShippingAddressSelectionCoordinator* _shippingAddressSelectionCoordinator; |
+ ShippingOptionSelectionCoordinator* _shippingOptionSelectionCoordinator; |
+ PaymentMethodSelectionCoordinator* _methodSelectionCoordinator; |
// Receiver of the full credit card details. Also displays the unmask prompt |
// UI. |
std::unique_ptr<FullCardRequester> _fullCardRequester; |
- base::mac::ObjCPropertyReleaser _propertyReleaser_PaymentRequestCoordinator; |
-} |
- |
-@end |
- |
-@implementation PaymentRequestCoordinator { |
// The selected shipping address, pending approval from the page. |
autofill::AutofillProfile* _pendingShippingAddress; |
} |
@@ -148,35 +138,23 @@ class FullCardRequester |
@synthesize pageFavicon = _pageFavicon; |
@synthesize pageTitle = _pageTitle; |
@synthesize pageHost = _pageHost; |
+@synthesize delegate = _delegate; |
-- (instancetype)initWithBaseViewController: |
- (UIViewController*)baseViewController { |
- if ((self = [super initWithBaseViewController:baseViewController])) { |
- _propertyReleaser_PaymentRequestCoordinator.Init( |
- self, [PaymentRequestCoordinator class]); |
- } |
- return self; |
-} |
- |
-- (id<PaymentRequestCoordinatorDelegate>)delegate { |
- return _delegate.get(); |
-} |
- |
-- (void)setDelegate:(id<PaymentRequestCoordinatorDelegate>)delegate { |
- _delegate.reset(delegate); |
+- (instancetype)initWithBaseViewController:(UIViewController*)viewController { |
+ return [super initWithBaseViewController:viewController]; |
} |
- (void)start { |
- _viewController.reset([[PaymentRequestViewController alloc] |
- initWithPaymentRequest:_paymentRequest]); |
+ _viewController = [[PaymentRequestViewController alloc] |
+ initWithPaymentRequest:_paymentRequest]; |
[_viewController setPageFavicon:_pageFavicon]; |
[_viewController setPageTitle:_pageTitle]; |
[_viewController setPageHost:_pageHost]; |
[_viewController setDelegate:self]; |
[_viewController loadModel]; |
- _navigationController.reset([[UINavigationController alloc] |
- initWithRootViewController:_viewController]); |
+ _navigationController = [[UINavigationController alloc] |
+ initWithRootViewController:_viewController]; |
[_navigationController setNavigationBarHidden:YES]; |
[[self baseViewController] presentViewController:_navigationController |
@@ -188,12 +166,12 @@ class FullCardRequester |
[[_navigationController presentingViewController] |
dismissViewControllerAnimated:YES |
completion:nil]; |
- _itemsDisplayCoordinator.reset(); |
- _shippingAddressSelectionCoordinator.reset(); |
- _shippingOptionSelectionCoordinator.reset(); |
- _methodSelectionCoordinator.reset(); |
- _navigationController.reset(); |
- _viewController.reset(); |
+ _itemsDisplayCoordinator = nil; |
+ _shippingAddressSelectionCoordinator = nil; |
+ _shippingOptionSelectionCoordinator = nil; |
+ _methodSelectionCoordinator = nil; |
+ _navigationController = nil; |
+ _viewController = nil; |
} |
- (void)sendPaymentResponse { |
@@ -260,7 +238,7 @@ class FullCardRequester |
// Dismiss the shipping address selection view. |
[_shippingAddressSelectionCoordinator stop]; |
- _shippingAddressSelectionCoordinator.reset(); |
+ _shippingAddressSelectionCoordinator = nil; |
} else if (_shippingOptionSelectionCoordinator) { |
// Update the selected shipping option in the payment request summary |
// view. The updated selection is already reflected in |_paymentRequest|. |
@@ -268,7 +246,7 @@ class FullCardRequester |
// Dismiss the shipping option selection view. |
[_shippingOptionSelectionCoordinator stop]; |
- _shippingOptionSelectionCoordinator.reset(); |
+ _shippingOptionSelectionCoordinator = nil; |
} |
} |
} |
@@ -287,8 +265,8 @@ class FullCardRequester |
- (void)paymentRequestViewControllerDidSelectPaymentSummaryItem: |
(PaymentRequestViewController*)controller { |
- _itemsDisplayCoordinator.reset([[PaymentItemsDisplayCoordinator alloc] |
- initWithBaseViewController:_viewController]); |
+ _itemsDisplayCoordinator = [[PaymentItemsDisplayCoordinator alloc] |
+ initWithBaseViewController:_viewController]; |
[_itemsDisplayCoordinator setPaymentRequest:_paymentRequest]; |
[_itemsDisplayCoordinator setDelegate:self]; |
@@ -297,9 +275,9 @@ class FullCardRequester |
- (void)paymentRequestViewControllerDidSelectShippingAddressItem: |
(PaymentRequestViewController*)controller { |
- _shippingAddressSelectionCoordinator.reset( |
+ _shippingAddressSelectionCoordinator = |
[[ShippingAddressSelectionCoordinator alloc] |
- initWithBaseViewController:_viewController]); |
+ initWithBaseViewController:_viewController]; |
[_shippingAddressSelectionCoordinator setPaymentRequest:_paymentRequest]; |
[_shippingAddressSelectionCoordinator setDelegate:self]; |
@@ -308,9 +286,9 @@ class FullCardRequester |
- (void)paymentRequestViewControllerDidSelectShippingOptionItem: |
(PaymentRequestViewController*)controller { |
- _shippingOptionSelectionCoordinator.reset( |
+ _shippingOptionSelectionCoordinator = |
[[ShippingOptionSelectionCoordinator alloc] |
- initWithBaseViewController:_viewController]); |
+ initWithBaseViewController:_viewController]; |
[_shippingOptionSelectionCoordinator setPaymentRequest:_paymentRequest]; |
[_shippingOptionSelectionCoordinator setDelegate:self]; |
@@ -319,8 +297,8 @@ class FullCardRequester |
- (void)paymentRequestViewControllerDidSelectPaymentMethodItem: |
(PaymentRequestViewController*)controller { |
- _methodSelectionCoordinator.reset([[PaymentMethodSelectionCoordinator alloc] |
- initWithBaseViewController:_viewController]); |
+ _methodSelectionCoordinator = [[PaymentMethodSelectionCoordinator alloc] |
+ initWithBaseViewController:_viewController]; |
[_methodSelectionCoordinator setPaymentRequest:_paymentRequest]; |
[_methodSelectionCoordinator setDelegate:self]; |
@@ -335,7 +313,7 @@ class FullCardRequester |
[_viewController updatePaymentSummaryWithTotalValueChanged:NO]; |
[_itemsDisplayCoordinator stop]; |
- _itemsDisplayCoordinator.reset(); |
+ _itemsDisplayCoordinator = nil; |
} |
- (void)paymentItemsDisplayCoordinatorDidConfirm: |
@@ -362,7 +340,7 @@ class FullCardRequester |
[_viewController updatePaymentSummaryWithTotalValueChanged:NO]; |
[_shippingAddressSelectionCoordinator stop]; |
- _shippingAddressSelectionCoordinator.reset(); |
+ _shippingAddressSelectionCoordinator = nil; |
} |
#pragma mark - ShippingOptionSelectionCoordinatorDelegate |
@@ -381,7 +359,7 @@ class FullCardRequester |
[_viewController updatePaymentSummaryWithTotalValueChanged:NO]; |
[_shippingOptionSelectionCoordinator stop]; |
- _shippingOptionSelectionCoordinator.reset(); |
+ _shippingOptionSelectionCoordinator = nil; |
} |
#pragma mark - PaymentMethodSelectionCoordinatorDelegate |
@@ -397,7 +375,7 @@ class FullCardRequester |
[_viewController updatePaymentSummaryWithTotalValueChanged:NO]; |
[_methodSelectionCoordinator stop]; |
- _methodSelectionCoordinator.reset(); |
+ _methodSelectionCoordinator = nil; |
} |
- (void)paymentMethodSelectionCoordinatorDidReturn: |
@@ -406,7 +384,7 @@ class FullCardRequester |
[_viewController updatePaymentSummaryWithTotalValueChanged:NO]; |
[_methodSelectionCoordinator stop]; |
- _methodSelectionCoordinator.reset(); |
+ _methodSelectionCoordinator = nil; |
} |
@end |