| Index: ios/chrome/browser/payments/payment_request_view_controller.mm
|
| diff --git a/ios/chrome/browser/payments/payment_request_view_controller.mm b/ios/chrome/browser/payments/payment_request_view_controller.mm
|
| index 8d9f78a4923772e8930a3012de177b28bf40f188..0e2ce217c067cd1f7cff7e1e88d15c1abdec566f 100644
|
| --- a/ios/chrome/browser/payments/payment_request_view_controller.mm
|
| +++ b/ios/chrome/browser/payments/payment_request_view_controller.mm
|
| @@ -4,10 +4,8 @@
|
|
|
| #import "ios/chrome/browser/payments/payment_request_view_controller.h"
|
|
|
| -#import "base/ios/weak_nsobject.h"
|
| #include "base/mac/foundation_util.h"
|
| -#include "base/mac/objc_property_releaser.h"
|
| -#include "base/mac/scoped_nsobject.h"
|
| +
|
| #include "base/strings/sys_string_conversions.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "components/autofill/core/browser/autofill_data_util.h"
|
| @@ -38,6 +36,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
|
| +
|
| using payment_request_util::NameLabelFromAutofillProfile;
|
| using payment_request_util::AddressLabelFromAutofillProfile;
|
| using payment_request_util::PhoneNumberLabelFromAutofillProfile;
|
| @@ -73,9 +75,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| } // namespace
|
|
|
| @interface PaymentRequestViewController () {
|
| - base::WeakNSProtocol<id<PaymentRequestViewControllerDelegate>> _delegate;
|
| - base::scoped_nsobject<UIBarButtonItem> _cancelButton;
|
| - base::scoped_nsobject<MDCFlatButton> _payButton;
|
| + UIBarButtonItem* _cancelButton;
|
| + MDCFlatButton* _payButton;
|
|
|
| // The PaymentRequest object owning an instance of web::PaymentRequest as
|
| // provided by the page invoking the Payment Request API. This is a weak
|
| @@ -86,9 +87,6 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| ShippingAddressItem* _selectedShippingAddressItem;
|
| CollectionViewTextItem* _selectedShippingOptionItem;
|
| PaymentMethodItem* _selectedPaymentMethodItem;
|
| -
|
| - base::mac::ObjCPropertyReleaser
|
| - _propertyReleaser_PaymentRequestViewController;
|
| }
|
|
|
| // Called when the user presses the cancel button.
|
| @@ -104,22 +102,20 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| @synthesize pageFavicon = _pageFavicon;
|
| @synthesize pageTitle = _pageTitle;
|
| @synthesize pageHost = _pageHost;
|
| +@synthesize delegate = _delegate;
|
|
|
| - (instancetype)initWithPaymentRequest:(PaymentRequest*)paymentRequest {
|
| DCHECK(paymentRequest);
|
| if ((self = [super initWithStyle:CollectionViewControllerStyleAppBar])) {
|
| - _propertyReleaser_PaymentRequestViewController.Init(
|
| - self, [PaymentRequestViewController class]);
|
| -
|
| [self setTitle:l10n_util::GetNSString(IDS_IOS_PAYMENT_REQUEST_TITLE)];
|
|
|
| // Set up left (cancel) button.
|
| - _cancelButton.reset([[UIBarButtonItem alloc]
|
| + _cancelButton = [[UIBarButtonItem alloc]
|
| initWithTitle:l10n_util::GetNSString(
|
| IDS_IOS_PAYMENT_REQUEST_CANCEL_BUTTON)
|
| style:UIBarButtonItemStylePlain
|
| target:nil
|
| - action:@selector(onCancel)]);
|
| + action:@selector(onCancel)];
|
| [_cancelButton setTitleTextAttributes:@{
|
| NSForegroundColorAttributeName : [UIColor lightGrayColor]
|
| }
|
| @@ -129,7 +125,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| [self navigationItem].leftBarButtonItem = _cancelButton;
|
|
|
| // Set up right (pay) button.
|
| - _payButton.reset([[MDCFlatButton alloc] init]);
|
| + _payButton = [[MDCFlatButton alloc] init];
|
| [_payButton
|
| setTitle:l10n_util::GetNSString(IDS_IOS_PAYMENT_REQUEST_PAY_BUTTON)
|
| forState:UIControlStateNormal];
|
| @@ -151,8 +147,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| // height of the bar. We don't want that for the button so we use a UIView
|
| // here to contain the button instead and the button is vertically centered
|
| // inside the full bar height.
|
| - UIView* buttonView =
|
| - [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
|
| + UIView* buttonView = [[UIView alloc] initWithFrame:CGRectZero];
|
| [buttonView addSubview:_payButton];
|
| // Navigation bar button items are aligned with the trailing edge of the
|
| // screen. Make the enclosing view larger here. The pay button will be
|
| @@ -164,7 +159,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| buttonView.bounds = buttonViewBounds;
|
|
|
| UIBarButtonItem* payButtonItem =
|
| - [[[UIBarButtonItem alloc] initWithCustomView:buttonView] autorelease];
|
| + [[UIBarButtonItem alloc] initWithCustomView:buttonView];
|
| [self navigationItem].rightBarButtonItem = payButtonItem;
|
|
|
| _paymentRequest = paymentRequest;
|
| @@ -172,14 +167,6 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| return self;
|
| }
|
|
|
| -- (id<PaymentRequestViewControllerDelegate>)delegate {
|
| - return _delegate.get();
|
| -}
|
| -
|
| -- (void)setDelegate:(id<PaymentRequestViewControllerDelegate>)delegate {
|
| - _delegate.reset(delegate);
|
| -}
|
| -
|
| - (void)onCancel {
|
| [_delegate paymentRequestViewControllerDidCancel:self];
|
| }
|
| @@ -198,14 +185,13 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| [model addSectionWithIdentifier:SectionIdentifierSummary];
|
|
|
| PageInfoItem* pageInfo =
|
| - [[[PageInfoItem alloc] initWithType:ItemTypeSummaryPageInfo] autorelease];
|
| + [[PageInfoItem alloc] initWithType:ItemTypeSummaryPageInfo];
|
| pageInfo.pageFavicon = _pageFavicon;
|
| pageInfo.pageTitle = _pageTitle;
|
| pageInfo.pageHost = _pageHost;
|
| [model setHeader:pageInfo forSectionWithIdentifier:SectionIdentifierSummary];
|
|
|
| - _paymentSummaryItem =
|
| - [[[PriceItem alloc] initWithType:ItemTypeSummaryTotal] autorelease];
|
| + _paymentSummaryItem = [[PriceItem alloc] initWithType:ItemTypeSummaryTotal];
|
| [self fillPaymentSummaryItem:_paymentSummaryItem
|
| withPaymentItem:_paymentRequest->payment_details().total
|
| withTotalValueChanged:NO];
|
| @@ -220,8 +206,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| // Shipping section.
|
| [model addSectionWithIdentifier:SectionIdentifierShipping];
|
|
|
| - CollectionViewTextItem* shippingTitle = [[[CollectionViewTextItem alloc]
|
| - initWithType:ItemTypeShippingTitle] autorelease];
|
| + CollectionViewTextItem* shippingTitle =
|
| + [[CollectionViewTextItem alloc] initWithType:ItemTypeShippingTitle];
|
| shippingTitle.text =
|
| payment_request_util::GetShippingSectionTitle(_paymentRequest);
|
| [model setHeader:shippingTitle
|
| @@ -229,8 +215,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
|
|
| CollectionViewItem* shippingAddressItem = nil;
|
| if (_paymentRequest->selected_shipping_profile()) {
|
| - _selectedShippingAddressItem = [[[ShippingAddressItem alloc]
|
| - initWithType:ItemTypeShippingAddress] autorelease];
|
| + _selectedShippingAddressItem =
|
| + [[ShippingAddressItem alloc] initWithType:ItemTypeShippingAddress];
|
| shippingAddressItem = _selectedShippingAddressItem;
|
| [self fillShippingAddressItem:_selectedShippingAddressItem
|
| withAddress:_paymentRequest->selected_shipping_profile()];
|
| @@ -238,9 +224,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| MDCCollectionViewCellAccessoryDisclosureIndicator;
|
|
|
| } else {
|
| - CollectionViewDetailItem* addAddressItem =
|
| - [[[CollectionViewDetailItem alloc]
|
| - initWithType:ItemTypeAddShippingAddress] autorelease];
|
| + CollectionViewDetailItem* addAddressItem = [[CollectionViewDetailItem alloc]
|
| + initWithType:ItemTypeAddShippingAddress];
|
| shippingAddressItem = addAddressItem;
|
| addAddressItem.text =
|
| payment_request_util::GetShippingAddressSelectorTitle(_paymentRequest);
|
| @@ -254,8 +239,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
|
|
| CollectionViewItem* shippingOptionItem = nil;
|
| if (_paymentRequest->selected_shipping_option()) {
|
| - _selectedShippingOptionItem = [[[CollectionViewTextItem alloc]
|
| - initWithType:ItemTypeShippingOption] autorelease];
|
| + _selectedShippingOptionItem =
|
| + [[CollectionViewTextItem alloc] initWithType:ItemTypeShippingOption];
|
| shippingOptionItem = _selectedShippingOptionItem;
|
| [self fillShippingOptionItem:_selectedShippingOptionItem
|
| withOption:_paymentRequest->selected_shipping_option()];
|
| @@ -263,8 +248,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
| MDCCollectionViewCellAccessoryDisclosureIndicator;
|
| } else {
|
| CollectionViewDetailItem* selectShippingOptionItem =
|
| - [[[CollectionViewDetailItem alloc]
|
| - initWithType:ItemTypeSelectShippingOption] autorelease];
|
| + [[CollectionViewDetailItem alloc]
|
| + initWithType:ItemTypeSelectShippingOption];
|
| shippingOptionItem = selectShippingOptionItem;
|
| selectShippingOptionItem.text =
|
| payment_request_util::GetShippingOptionSelectorTitle(_paymentRequest);
|
| @@ -280,24 +265,23 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
|
|
| CollectionViewItem* paymentMethodItem = nil;
|
| if (_paymentRequest->selected_credit_card()) {
|
| - CollectionViewTextItem* paymentTitle = [[[CollectionViewTextItem alloc]
|
| - initWithType:ItemTypePaymentTitle] autorelease];
|
| + CollectionViewTextItem* paymentTitle =
|
| + [[CollectionViewTextItem alloc] initWithType:ItemTypePaymentTitle];
|
| paymentTitle.text =
|
| l10n_util::GetNSString(IDS_IOS_PAYMENT_REQUEST_PAYMENT_METHOD_HEADER);
|
| [model setHeader:paymentTitle
|
| forSectionWithIdentifier:SectionIdentifierPayment];
|
|
|
| - _selectedPaymentMethodItem = [[[PaymentMethodItem alloc]
|
| - initWithType:ItemTypePaymentMethod] autorelease];
|
| + _selectedPaymentMethodItem =
|
| + [[PaymentMethodItem alloc] initWithType:ItemTypePaymentMethod];
|
| paymentMethodItem = _selectedPaymentMethodItem;
|
| [self fillPaymentMethodItem:_selectedPaymentMethodItem
|
| withPaymentMethod:_paymentRequest->selected_credit_card()];
|
| _selectedPaymentMethodItem.accessoryType =
|
| MDCCollectionViewCellAccessoryDisclosureIndicator;
|
| } else {
|
| - CollectionViewDetailItem* addPaymentMethodItem =
|
| - [[[CollectionViewDetailItem alloc]
|
| - initWithType:ItemTypeAddPaymentMethod] autorelease];
|
| + CollectionViewDetailItem* addPaymentMethodItem = [
|
| + [CollectionViewDetailItem alloc] initWithType:ItemTypeAddPaymentMethod];
|
| paymentMethodItem = addPaymentMethodItem;
|
| addPaymentMethodItem.text =
|
| l10n_util::GetNSString(IDS_IOS_PAYMENT_REQUEST_PAYMENT_METHOD_HEADER);
|
|
|