| Index: ios/chrome/browser/payments/payment_method_selection_view_controller.mm
|
| diff --git a/ios/chrome/browser/payments/payment_method_selection_view_controller.mm b/ios/chrome/browser/payments/payment_method_selection_view_controller.mm
|
| index 2ab51c94e663d0774bfd1011dec0c76b82f5df0a..e68e3fa81e5017f259afabec3d24de290c3221ee 100644
|
| --- a/ios/chrome/browser/payments/payment_method_selection_view_controller.mm
|
| +++ b/ios/chrome/browser/payments/payment_method_selection_view_controller.mm
|
| @@ -4,9 +4,7 @@
|
|
|
| #import "ios/chrome/browser/payments/payment_method_selection_view_controller.h"
|
|
|
| -#import "base/ios/weak_nsobject.h"
|
| #include "base/mac/foundation_util.h"
|
| -#include "base/mac/scoped_nsobject.h"
|
| #include "base/strings/sys_string_conversions.h"
|
| #include "components/autofill/core/browser/autofill_data_util.h"
|
| #include "components/autofill/core/browser/credit_card.h"
|
| @@ -27,6 +25,10 @@
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
|
|
| +#if !defined(__has_feature) || !__has_feature(objc_arc)
|
| +#error "This file requires ARC support."
|
| +#endif
|
| +
|
| NSString* const kPaymentMethodSelectionCollectionViewId =
|
| @"kPaymentMethodSelectionCollectionViewId";
|
|
|
| @@ -46,16 +48,13 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| } // namespace
|
|
|
| @interface PaymentMethodSelectionViewController () {
|
| - base::WeakNSProtocol<id<PaymentMethodSelectionViewControllerDelegate>>
|
| - _delegate;
|
| -
|
| // The PaymentRequest object owning an instance of web::PaymentRequest as
|
| // provided by the page invoking the Payment Request API. This is a weak
|
| // pointer and should outlive this class.
|
| PaymentRequest* _paymentRequest;
|
|
|
| // The currently selected item. May be nil.
|
| - PaymentMethodItem* _selectedItem;
|
| + __weak PaymentMethodItem* _selectedItem;
|
| }
|
|
|
| // Called when the user presses the return button.
|
| @@ -64,6 +63,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| @end
|
|
|
| @implementation PaymentMethodSelectionViewController
|
| +@synthesize delegate = _delegate;
|
|
|
| - (instancetype)initWithPaymentRequest:(PaymentRequest*)paymentRequest {
|
| DCHECK(paymentRequest);
|
| @@ -83,14 +83,6 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| return self;
|
| }
|
|
|
| -- (id<PaymentMethodSelectionViewControllerDelegate>)delegate {
|
| - return _delegate.get();
|
| -}
|
| -
|
| -- (void)setDelegate:(id<PaymentMethodSelectionViewControllerDelegate>)delegate {
|
| - _delegate.reset(delegate);
|
| -}
|
| -
|
| - (void)onReturn {
|
| [_delegate paymentMethodSelectionViewControllerDidReturn:self];
|
| }
|
| @@ -105,8 +97,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| [model addSectionWithIdentifier:SectionIdentifierPayment];
|
|
|
| for (const auto& paymentMethod : _paymentRequest->credit_cards()) {
|
| - PaymentMethodItem* paymentMethodItem = [[[PaymentMethodItem alloc]
|
| - initWithType:ItemTypePaymentMethod] autorelease];
|
| + PaymentMethodItem* paymentMethodItem =
|
| + [[PaymentMethodItem alloc] initWithType:ItemTypePaymentMethod];
|
| paymentMethodItem.accessibilityTraits |= UIAccessibilityTraitButton;
|
| paymentMethodItem.methodID =
|
| base::SysUTF16ToNSString(paymentMethod->TypeAndLastFourDigits());
|
| @@ -126,7 +118,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| }
|
|
|
| PaymentsTextItem* addPaymentMethod =
|
| - [[[PaymentsTextItem alloc] initWithType:ItemTypeAddMethod] autorelease];
|
| + [[PaymentsTextItem alloc] initWithType:ItemTypeAddMethod];
|
| addPaymentMethod.text =
|
| l10n_util::GetNSString(IDS_IOS_PAYMENT_REQUEST_ADD_METHOD_BUTTON);
|
| addPaymentMethod.image = NativeImage(IDR_IOS_PAYMENTS_ADD);
|
|
|