Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(301)

Side by Side Diff: ios/chrome/browser/payments/payment_method_selection_view_controller.mm

Issue 2588913002: EarlGrey tests for Payment Request (base CL) (Closed)
Patch Set: Moved the experimental flag back to the BVC Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "ios/chrome/browser/payments/payment_method_selection_view_controller.h" 5 #import "ios/chrome/browser/payments/payment_method_selection_view_controller.h"
6 6
7 #import "base/ios/weak_nsobject.h" 7 #import "base/ios/weak_nsobject.h"
8 #include "base/mac/scoped_nsobject.h" 8 #include "base/mac/scoped_nsobject.h"
9 #include "base/strings/sys_string_conversions.h" 9 #include "base/strings/sys_string_conversions.h"
10 #include "components/autofill/core/browser/autofill_data_util.h" 10 #include "components/autofill/core/browser/autofill_data_util.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 55
56 - (instancetype)init { 56 - (instancetype)init {
57 if ((self = [super initWithStyle:CollectionViewControllerStyleAppBar])) { 57 if ((self = [super initWithStyle:CollectionViewControllerStyleAppBar])) {
58 [self setTitle:l10n_util::GetNSString( 58 [self setTitle:l10n_util::GetNSString(
59 IDS_IOS_PAYMENT_REQUEST_METHOD_SELECTION_TITLE)]; 59 IDS_IOS_PAYMENT_REQUEST_METHOD_SELECTION_TITLE)];
60 60
61 UIBarButtonItem* returnButton = 61 UIBarButtonItem* returnButton =
62 [ChromeIcon templateBarButtonItemWithImage:[ChromeIcon backIcon] 62 [ChromeIcon templateBarButtonItemWithImage:[ChromeIcon backIcon]
63 target:nil 63 target:nil
64 action:@selector(onReturn)]; 64 action:@selector(onReturn)];
65 returnButton.accessibilityLabel = l10n_util::GetNSString(IDS_ACCNAME_BACK);
65 [self navigationItem].leftBarButtonItem = returnButton; 66 [self navigationItem].leftBarButtonItem = returnButton;
66 } 67 }
67 return self; 68 return self;
68 } 69 }
69 70
70 - (id<PaymentMethodSelectionViewControllerDelegate>)delegate { 71 - (id<PaymentMethodSelectionViewControllerDelegate>)delegate {
71 return _delegate.get(); 72 return _delegate.get();
72 } 73 }
73 74
74 - (void)setDelegate:(id<PaymentMethodSelectionViewControllerDelegate>)delegate { 75 - (void)setDelegate:(id<PaymentMethodSelectionViewControllerDelegate>)delegate {
75 _delegate.reset(delegate); 76 _delegate.reset(delegate);
76 } 77 }
77 78
78 - (void)onReturn { 79 - (void)onReturn {
79 [_delegate paymentMethodSelectionViewControllerDidReturn:self]; 80 [_delegate paymentMethodSelectionViewControllerDidReturn:self];
80 } 81 }
81 82
82 #pragma mark - CollectionViewController methods 83 #pragma mark - CollectionViewController methods
83 84
84 - (void)loadModel { 85 - (void)loadModel {
85 [super loadModel]; 86 [super loadModel];
86 CollectionViewModel* model = self.collectionViewModel; 87 CollectionViewModel* model = self.collectionViewModel;
87 88
88 [model addSectionWithIdentifier:SectionIdentifierPayment]; 89 [model addSectionWithIdentifier:SectionIdentifierPayment];
89 90
90 for (size_t i = 0; i < _paymentMethods.size(); ++i) { 91 for (size_t i = 0; i < _paymentMethods.size(); ++i) {
91 autofill::CreditCard* paymentMethod = _paymentMethods[i]; 92 autofill::CreditCard* paymentMethod = _paymentMethods[i];
92 PaymentMethodItem* paymentMethodItem = [[[PaymentMethodItem alloc] 93 PaymentMethodItem* paymentMethodItem = [[[PaymentMethodItem alloc]
93 initWithType:ItemTypePaymentMethod] autorelease]; 94 initWithType:ItemTypePaymentMethod] autorelease];
95 paymentMethodItem.accessibilityTraits |= UIAccessibilityTraitButton;
94 paymentMethodItem.methodID = 96 paymentMethodItem.methodID =
95 base::SysUTF16ToNSString(paymentMethod->TypeAndLastFourDigits()); 97 base::SysUTF16ToNSString(paymentMethod->TypeAndLastFourDigits());
96 paymentMethodItem.methodDetail = base::SysUTF16ToNSString( 98 paymentMethodItem.methodDetail = base::SysUTF16ToNSString(
97 paymentMethod->GetRawInfo(autofill::CREDIT_CARD_NAME_FULL)); 99 paymentMethod->GetRawInfo(autofill::CREDIT_CARD_NAME_FULL));
98 100
99 int methodTypeIconID = 101 int methodTypeIconID =
100 autofill::data_util::GetPaymentRequestData(paymentMethod->type()) 102 autofill::data_util::GetPaymentRequestData(paymentMethod->type())
101 .icon_resource_id; 103 .icon_resource_id;
102 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); 104 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
103 paymentMethodItem.methodTypeIcon = 105 paymentMethodItem.methodTypeIcon =
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 - (CGFloat)collectionView:(UICollectionView*)collectionView 154 - (CGFloat)collectionView:(UICollectionView*)collectionView
153 cellHeightAtIndexPath:(NSIndexPath*)indexPath { 155 cellHeightAtIndexPath:(NSIndexPath*)indexPath {
154 NSInteger type = [self.collectionViewModel itemTypeForIndexPath:indexPath]; 156 NSInteger type = [self.collectionViewModel itemTypeForIndexPath:indexPath];
155 if (type == ItemTypeAddMethod) 157 if (type == ItemTypeAddMethod)
156 return MDCCellDefaultOneLineHeight; 158 return MDCCellDefaultOneLineHeight;
157 else 159 else
158 return MDCCellDefaultTwoLineHeight; 160 return MDCCellDefaultTwoLineHeight;
159 } 161 }
160 162
161 @end 163 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698