Commit cb65f600 authored by Gauthier Ambard's avatar Gauthier Ambard Committed by Commit Bot

[iOS] Move AutofillEditItem to Legacy

This CL prepares the AutofillEditItem to be changed to be used with
UITableView.

Bug: 894791
Change-Id: Iee510dd6cf2df483ef2977fba9ff4ca3a85f9326
Reviewed-on: https://chromium-review.googlesource.com/c/1344135Reviewed-by: default avataredchin <edchin@chromium.org>
Reviewed-by: default avatarMoe Ahmadi <mahmadi@chromium.org>
Commit-Queue: Gauthier Ambard <gambard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609766}
parent 877be382
......@@ -4,10 +4,10 @@
source_set("cells") {
sources = [
"autofill_edit_item.h",
"autofill_edit_item.mm",
"cvc_item.h",
"cvc_item.mm",
"legacy_autofill_edit_item.h",
"legacy_autofill_edit_item.mm",
"status_item.h",
"status_item.mm",
]
......@@ -36,8 +36,8 @@ source_set("cells") {
source_set("unit_tests") {
testonly = true
sources = [
"autofill_edit_item_unittest.mm",
"cvc_item_unittest.mm",
"legacy_autofill_edit_item_unittest.mm",
"status_item_unittest.mm",
]
......
......@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_UI_AUTOFILL_CELLS_AUTOFILL_EDIT_ITEM_H_
#define IOS_CHROME_BROWSER_UI_AUTOFILL_CELLS_AUTOFILL_EDIT_ITEM_H_
#ifndef IOS_CHROME_BROWSER_UI_AUTOFILL_CELLS_LEGACY_AUTOFILL_EDIT_ITEM_H_
#define IOS_CHROME_BROWSER_UI_AUTOFILL_CELLS_LEGACY_AUTOFILL_EDIT_ITEM_H_
#import <UIKit/UIKit.h>
......@@ -12,9 +12,9 @@
#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
#import "ios/third_party/material_components_ios/src/components/CollectionCells/src/MaterialCollectionCells.h"
// Item to represent and configure an AutofillEditItem. It features a label and
// a text field.
@interface AutofillEditItem : CollectionViewItem
// Item to represent and configure an LegacyAutofillEditItem. It features a
// label and a text field.
@interface LegacyAutofillEditItem : CollectionViewItem
// TODO(crbug.com/891299) remove when all collection and table views are fixed
// for dynamic types.
......@@ -59,9 +59,9 @@
@end
// AutofillEditCell implements an MDCCollectionViewCell subclass containing a
// label and a text field.
@interface AutofillEditCell : MDCCollectionViewCell
// LegacyAutofillEditCell implements an MDCCollectionViewCell subclass
// containing a label and a text field.
@interface LegacyAutofillEditCell : MDCCollectionViewCell
// Label at the leading edge of the cell. It displays the item's textFieldName.
@property(nonatomic, strong) UILabel* textLabel;
......@@ -75,4 +75,4 @@
@end
#endif // IOS_CHROME_BROWSER_UI_AUTOFILL_CELLS_AUTOFILL_EDIT_ITEM_H_
#endif // IOS_CHROME_BROWSER_UI_AUTOFILL_CELLS_LEGACY_AUTOFILL_EDIT_ITEM_H_
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/chrome/browser/ui/autofill/cells/autofill_edit_item.h"
#import "ios/chrome/browser/ui/autofill/cells/legacy_autofill_edit_item.h"
#include "ios/chrome/browser/ui/collection_view/cells/collection_view_cell_constants.h"
#import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h"
......@@ -27,14 +27,14 @@ const CGFloat kVerticalPadding = 16;
const CGFloat kLabelAndFieldGap = 5;
} // namespace
@interface AutofillEditCell ()
@interface LegacyAutofillEditCell ()
// Updates the cell's fonts and colors for the given |cellStyle| and uses
// dynamic font types if they are available (iOS 11+).
- (void)updateForStyle:(CollectionViewCellStyle)cellStyle
withFontScaling:(BOOL)withFontScaling;
@end
@implementation AutofillEditItem
@implementation LegacyAutofillEditItem
@synthesize cellStyle = _cellStyle;
@synthesize textFieldName = _textFieldName;
......@@ -52,7 +52,7 @@ const CGFloat kLabelAndFieldGap = 5;
- (instancetype)initWithType:(NSInteger)type {
self = [super initWithType:type];
if (self) {
self.cellClass = [AutofillEditCell class];
self.cellClass = [LegacyAutofillEditCell class];
_cellStyle = CollectionViewCellStyle::kMaterial;
_returnKeyType = UIReturnKeyNext;
_keyboardType = UIKeyboardTypeDefault;
......@@ -63,7 +63,7 @@ const CGFloat kLabelAndFieldGap = 5;
#pragma mark CollectionViewItem
- (void)configureCell:(AutofillEditCell*)cell {
- (void)configureCell:(LegacyAutofillEditCell*)cell {
[super configureCell:cell];
// Update fonts and colors before changing anything else.
......@@ -99,7 +99,7 @@ const CGFloat kLabelAndFieldGap = 5;
@end
@implementation AutofillEditCell {
@implementation LegacyAutofillEditCell {
NSLayoutConstraint* _iconHeightConstraint;
NSLayoutConstraint* _iconWidthConstraint;
NSLayoutConstraint* _textFieldTrailingConstraint;
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/chrome/browser/ui/autofill/cells/autofill_edit_item.h"
#import "ios/chrome/browser/ui/autofill/cells/legacy_autofill_edit_item.h"
#include "testing/gtest/include/gtest/gtest.h"
#import "testing/gtest_mac.h"
......@@ -14,12 +14,13 @@
namespace {
using AutofillEditItemTest = PlatformTest;
using LegacyAutofillEditItemTest = PlatformTest;
// Tests that the label and text field are set properly after a call to
// |configureCell:|.
TEST_F(AutofillEditItemTest, ConfigureCell) {
AutofillEditItem* item = [[AutofillEditItem alloc] initWithType:0];
TEST_F(LegacyAutofillEditItemTest, ConfigureCell) {
LegacyAutofillEditItem* item =
[[LegacyAutofillEditItem alloc] initWithType:0];
NSString* name = @"Name";
NSString* value = @"Value";
BOOL enabled = NO;
......@@ -29,9 +30,9 @@ TEST_F(AutofillEditItemTest, ConfigureCell) {
item.textFieldEnabled = enabled;
id cell = [[[item cellClass] alloc] init];
ASSERT_TRUE([cell isMemberOfClass:[AutofillEditCell class]]);
ASSERT_TRUE([cell isMemberOfClass:[LegacyAutofillEditCell class]]);
AutofillEditCell* autofillEditCell = cell;
LegacyAutofillEditCell* autofillEditCell = cell;
EXPECT_EQ(0U, autofillEditCell.textLabel.text.length);
EXPECT_EQ(0U, autofillEditCell.textField.text.length);
EXPECT_TRUE(autofillEditCell.textField.enabled);
......
......@@ -9,7 +9,7 @@
#include "base/strings/sys_string_conversions.h"
#include "components/strings/grit/components_strings.h"
#import "ios/chrome/browser/ui/autofill/autofill_edit_accessory_view.h"
#import "ios/chrome/browser/ui/autofill/cells/autofill_edit_item.h"
#import "ios/chrome/browser/ui/autofill/cells/legacy_autofill_edit_item.h"
#import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h"
#import "ios/chrome/browser/ui/collection_view/cells/collection_view_footer_item.h"
#import "ios/chrome/browser/ui/collection_view/cells/collection_view_switch_item.h"
......@@ -40,10 +40,12 @@ const CGFloat kSeparatorEdgeInset = 14;
const CGFloat kFooterCellHorizontalPadding = 16;
// Returns the AutofillEditCell that is the parent view of the |textField|.
AutofillEditCell* AutofillEditCellForTextField(UITextField* textField) {
// Returns the LegacyAutofillEditCell that is the parent view of the
// |textField|.
LegacyAutofillEditCell* AutofillEditCellForTextField(UITextField* textField) {
for (UIView* view = textField; view; view = [view superview]) {
AutofillEditCell* cell = base::mac::ObjCCast<AutofillEditCell>(view);
LegacyAutofillEditCell* cell =
base::mac::ObjCCast<LegacyAutofillEditCell>(view);
if (cell)
return cell;
}
......@@ -101,7 +103,7 @@ PaymentsTextItem* ErrorMessageItemForError(NSString* errorMessage) {
UIPickerViewDelegate,
UITextFieldDelegate> {
// The currently focused cell. May be nil.
__weak AutofillEditCell* _currentEditingCell;
__weak LegacyAutofillEditCell* _currentEditingCell;
AutofillEditAccessoryView* _accessoryView;
}
......@@ -133,7 +135,7 @@ PaymentsTextItem* ErrorMessageItemForError(NSString* errorMessage) {
// Returns the text field with the given offset relative to the currently
// focused text field. May return nil.
- (AutofillEditCell*)nextTextFieldWithOffset:(NSInteger)offset;
- (LegacyAutofillEditCell*)nextTextFieldWithOffset:(NSInteger)offset;
// Enables or disables the accessory view's previous and next buttons depending
// on whether there is a text field before and after the currently focused text
......@@ -304,8 +306,8 @@ PaymentsTextItem* ErrorMessageItemForError(NSString* errorMessage) {
[model addSectionWithIdentifier:sectionIdentifier];
switch (field.fieldType) {
case EditorFieldTypeTextField: {
AutofillEditItem* item =
[[AutofillEditItem alloc] initWithType:ItemTypeTextField];
LegacyAutofillEditItem* item =
[[LegacyAutofillEditItem alloc] initWithType:ItemTypeTextField];
item.useScaledFont = YES;
item.textFieldName = field.label;
item.textFieldEnabled = field.enabled;
......@@ -390,8 +392,8 @@ PaymentsTextItem* ErrorMessageItemForError(NSString* errorMessage) {
- (void)setOptions:(NSArray<NSArray<NSString*>*>*)options
forEditorField:(EditorField*)field {
DCHECK(field.fieldType == EditorFieldTypeTextField);
AutofillEditItem* item =
base::mac::ObjCCastStrict<AutofillEditItem>(field.item);
LegacyAutofillEditItem* item =
base::mac::ObjCCastStrict<LegacyAutofillEditItem>(field.item);
item.textFieldEnabled = field.enabled;
item.textFieldValue = field.value;
......@@ -457,7 +459,7 @@ PaymentsTextItem* ErrorMessageItemForError(NSString* errorMessage) {
- (BOOL)textFieldShouldReturn:(UITextField*)textField {
DCHECK([_currentEditingCell textField] == textField);
AutofillEditCell* nextCell = [self nextTextFieldWithOffset:1];
LegacyAutofillEditCell* nextCell = [self nextTextFieldWithOffset:1];
if (nextCell)
[self nextPressed];
else
......@@ -499,8 +501,8 @@ PaymentsTextItem* ErrorMessageItemForError(NSString* errorMessage) {
// Get the icon that identifies the field value and reload the cell if the
// icon changes.
AutofillEditItem* item =
base::mac::ObjCCastStrict<AutofillEditItem>(field.item);
LegacyAutofillEditItem* item =
base::mac::ObjCCastStrict<LegacyAutofillEditItem>(field.item);
UIImage* oldIcon = item.identifyingIcon;
item.identifyingIcon = [_dataSource iconIdentifyingEditorField:field];
if (item.identifyingIcon != oldIcon) {
......@@ -518,13 +520,13 @@ PaymentsTextItem* ErrorMessageItemForError(NSString* errorMessage) {
#pragma mark - AutofillEditAccessoryDelegate
- (void)nextPressed {
AutofillEditCell* nextCell = [self nextTextFieldWithOffset:1];
LegacyAutofillEditCell* nextCell = [self nextTextFieldWithOffset:1];
if (nextCell)
[nextCell.textField becomeFirstResponder];
}
- (void)previousPressed {
AutofillEditCell* previousCell = [self nextTextFieldWithOffset:-1];
LegacyAutofillEditCell* previousCell = [self nextTextFieldWithOffset:-1];
if (previousCell)
[previousCell.textField becomeFirstResponder];
}
......@@ -601,8 +603,8 @@ PaymentsTextItem* ErrorMessageItemForError(NSString* errorMessage) {
[self.collectionViewModel itemAtIndexPath:indexPath];
switch (item.type) {
case ItemTypeTextField: {
AutofillEditCell* autofillEditCell =
base::mac::ObjCCast<AutofillEditCell>(cell);
LegacyAutofillEditCell* autofillEditCell =
base::mac::ObjCCast<LegacyAutofillEditCell>(cell);
autofillEditCell.textField.delegate = self;
autofillEditCell.textField.clearButtonMode = UITextFieldViewModeNever;
SetUILabelScaledFont(autofillEditCell.textLabel,
......@@ -679,8 +681,8 @@ PaymentsTextItem* ErrorMessageItemForError(NSString* errorMessage) {
id cell = [collectionView cellForItemAtIndexPath:indexPath];
// |cell| may be nil if the cell is not visible.
if (cell) {
AutofillEditCell* autofillEditCell =
base::mac::ObjCCastStrict<AutofillEditCell>(cell);
LegacyAutofillEditCell* autofillEditCell =
base::mac::ObjCCastStrict<LegacyAutofillEditCell>(cell);
[autofillEditCell.textField becomeFirstResponder];
}
}
......@@ -750,7 +752,7 @@ PaymentsTextItem* ErrorMessageItemForError(NSString* errorMessage) {
return nil;
}
- (AutofillEditCell*)nextTextFieldWithOffset:(NSInteger)offset {
- (LegacyAutofillEditCell*)nextTextFieldWithOffset:(NSInteger)offset {
UICollectionView* collectionView = [self collectionView];
NSIndexPath* currentCellPath = [self indexPathForCurrentTextField];
DCHECK(currentCellPath);
......@@ -758,7 +760,7 @@ PaymentsTextItem* ErrorMessageItemForError(NSString* errorMessage) {
[self indexPathWithSectionOffset:offset fromPath:currentCellPath];
while (nextCellPath) {
id nextCell = [collectionView cellForItemAtIndexPath:nextCellPath];
if ([nextCell isKindOfClass:[AutofillEditCell class]])
if ([nextCell isKindOfClass:[LegacyAutofillEditCell class]])
return nextCell;
nextCellPath =
[self indexPathWithSectionOffset:offset fromPath:nextCellPath];
......@@ -767,10 +769,10 @@ PaymentsTextItem* ErrorMessageItemForError(NSString* errorMessage) {
}
- (void)updateAccessoryViewButtonsStates {
AutofillEditCell* previousCell = [self nextTextFieldWithOffset:-1];
LegacyAutofillEditCell* previousCell = [self nextTextFieldWithOffset:-1];
[[_accessoryView previousButton] setEnabled:previousCell != nil];
AutofillEditCell* nextCell = [self nextTextFieldWithOffset:1];
LegacyAutofillEditCell* nextCell = [self nextTextFieldWithOffset:1];
[[_accessoryView nextButton] setEnabled:nextCell != nil];
}
......@@ -823,8 +825,8 @@ PaymentsTextItem* ErrorMessageItemForError(NSString* errorMessage) {
id cell = [[self collectionView] cellForItemAtIndexPath:indexPath];
// |cell| may be nil if the cell is not visible.
if (cell) {
AutofillEditCell* autofillEditCell =
base::mac::ObjCCastStrict<AutofillEditCell>(cell);
LegacyAutofillEditCell* autofillEditCell =
base::mac::ObjCCastStrict<LegacyAutofillEditCell>(cell);
[autofillEditCell.textField becomeFirstResponder];
}
}
......
......@@ -7,7 +7,7 @@
#include "base/mac/foundation_util.h"
#include "base/memory/ptr_util.h"
#import "ios/chrome/browser/ui/autofill/autofill_ui_type.h"
#import "ios/chrome/browser/ui/autofill/cells/autofill_edit_item.h"
#import "ios/chrome/browser/ui/autofill/cells/legacy_autofill_edit_item.h"
#import "ios/chrome/browser/ui/collection_view/cells/collection_view_footer_item.h"
#import "ios/chrome/browser/ui/collection_view/cells/collection_view_switch_item.h"
#import "ios/chrome/browser/ui/collection_view/cells/collection_view_text_item.h"
......@@ -127,10 +127,10 @@ TEST_F(PaymentRequestEditViewControllerTest, TestModel) {
id item = GetCollectionViewItem(0, 0);
EXPECT_TRUE([item isMemberOfClass:[CollectionViewTextItem class]]);
// The next section has one item of the type AutofillEditItem.
// The next section has one item of the type LegacyAutofillEditItem.
ASSERT_EQ(1U, static_cast<unsigned int>(NumberOfItemsInSection(1)));
item = GetCollectionViewItem(1, 0);
EXPECT_TRUE([item isMemberOfClass:[AutofillEditItem class]]);
EXPECT_TRUE([item isMemberOfClass:[LegacyAutofillEditItem class]]);
// The next section has one item of the type PaymentsSelectorEditItem.
ASSERT_EQ(1U, static_cast<unsigned int>(NumberOfItemsInSection(2)));
......
......@@ -46,7 +46,7 @@ typedef NS_ENUM(NSInteger, EditorFieldType) {
UITextAutocapitalizationType autoCapitalizationType;
// The associated CollectionViewItem instance. May be nil.
@property(nonatomic, strong) CollectionViewItem* item;
// The section identifier for the associated AutofillEditItem.
// The section identifier for the associated LegacyAutofillEditItem.
@property(nonatomic, assign) NSInteger sectionIdentifier;
// Whether the field has been modified or not.
@property(nonatomic, getter=isPristine) BOOL pristine;
......
......@@ -19,7 +19,7 @@
#include "ios/chrome/browser/application_context.h"
#import "ios/chrome/browser/ui/autofill/autofill_ui_type.h"
#import "ios/chrome/browser/ui/autofill/autofill_ui_type_util.h"
#import "ios/chrome/browser/ui/autofill/cells/autofill_edit_item.h"
#import "ios/chrome/browser/ui/autofill/cells/legacy_autofill_edit_item.h"
#import "ios/chrome/browser/ui/collection_view/collection_view_model.h"
#import "ios/chrome/browser/ui/commands/application_commands.h"
#import "ios/chrome/browser/ui/commands/open_new_tab_command.h"
......@@ -117,8 +117,9 @@ typedef NS_ENUM(NSInteger, ItemType) {
for (NSInteger itemIndex = 0; itemIndex < itemCount; ++itemIndex) {
NSIndexPath* path =
[NSIndexPath indexPathForItem:itemIndex inSection:section];
AutofillEditItem* item = base::mac::ObjCCastStrict<AutofillEditItem>(
[model itemAtIndexPath:path]);
LegacyAutofillEditItem* item =
base::mac::ObjCCastStrict<LegacyAutofillEditItem>(
[model itemAtIndexPath:path]);
_creditCard.SetInfo(autofill::AutofillType(AutofillTypeFromAutofillUIType(
item.autofillUIType)),
base::SysNSStringToUTF16(item.textFieldValue),
......@@ -143,8 +144,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
BOOL isEditing = self.editor.editing;
[model addSectionWithIdentifier:SectionIdentifierFields];
AutofillEditItem* cardholderNameitem =
[[AutofillEditItem alloc] initWithType:ItemTypeCardholderName];
LegacyAutofillEditItem* cardholderNameitem =
[[LegacyAutofillEditItem alloc] initWithType:ItemTypeCardholderName];
cardholderNameitem.cellStyle = CollectionViewCellStyle::kUIKit;
cardholderNameitem.textFieldName =
l10n_util::GetNSString(IDS_IOS_AUTOFILL_CARDHOLDER);
......@@ -156,8 +157,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
toSectionWithIdentifier:SectionIdentifierFields];
// Card number (PAN).
AutofillEditItem* cardNumberItem =
[[AutofillEditItem alloc] initWithType:ItemTypeCardNumber];
LegacyAutofillEditItem* cardNumberItem =
[[LegacyAutofillEditItem alloc] initWithType:ItemTypeCardNumber];
cardNumberItem.cellStyle = CollectionViewCellStyle::kUIKit;
cardNumberItem.textFieldName =
l10n_util::GetNSString(IDS_IOS_AUTOFILL_CARD_NUMBER);
......@@ -176,8 +177,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
toSectionWithIdentifier:SectionIdentifierFields];
// Expiration month.
AutofillEditItem* expirationMonthItem =
[[AutofillEditItem alloc] initWithType:ItemTypeExpirationMonth];
LegacyAutofillEditItem* expirationMonthItem =
[[LegacyAutofillEditItem alloc] initWithType:ItemTypeExpirationMonth];
expirationMonthItem.cellStyle = CollectionViewCellStyle::kUIKit;
expirationMonthItem.textFieldName =
l10n_util::GetNSString(IDS_IOS_AUTOFILL_EXP_MONTH);
......@@ -190,8 +191,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
toSectionWithIdentifier:SectionIdentifierFields];
// Expiration year.
AutofillEditItem* expirationYearItem =
[[AutofillEditItem alloc] initWithType:ItemTypeExpirationYear];
LegacyAutofillEditItem* expirationYearItem =
[[LegacyAutofillEditItem alloc] initWithType:ItemTypeExpirationYear];
expirationYearItem.cellStyle = CollectionViewCellStyle::kUIKit;
expirationYearItem.textFieldName =
l10n_util::GetNSString(IDS_IOS_AUTOFILL_EXP_YEAR);
......@@ -227,8 +228,9 @@ typedef NS_ENUM(NSInteger, ItemType) {
// Find the respective item for the text field.
NSIndexPath* indexPath = [self indexPathForCurrentTextField];
DCHECK(indexPath);
AutofillEditItem* item = base::mac::ObjCCastStrict<AutofillEditItem>(
[self.collectionViewModel itemAtIndexPath:indexPath]);
LegacyAutofillEditItem* item =
base::mac::ObjCCastStrict<LegacyAutofillEditItem>(
[self.collectionViewModel itemAtIndexPath:indexPath]);
// If the user is typing in the credit card number field, update the card type
// icon (e.g. "Visa") to reflect the number being typed.
......@@ -271,7 +273,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
NSInteger itemType =
[self.collectionViewModel itemTypeForIndexPath:indexPath];
AutofillEditCell* textFieldCell = base::mac::ObjCCast<AutofillEditCell>(cell);
LegacyAutofillEditCell* textFieldCell =
base::mac::ObjCCast<LegacyAutofillEditCell>(cell);
textFieldCell.textField.delegate = self;
switch (itemType) {
case ItemTypeCardholderName:
......
......@@ -7,7 +7,7 @@
#include "base/logging.h"
#import "base/mac/foundation_util.h"
#import "ios/chrome/browser/ui/autofill/autofill_edit_accessory_view.h"
#import "ios/chrome/browser/ui/autofill/cells/autofill_edit_item.h"
#import "ios/chrome/browser/ui/autofill/cells/legacy_autofill_edit_item.h"
#import "ios/chrome/browser/ui/settings/autofill_edit_collection_view_controller+protected.h"
#import "ios/third_party/material_components_ios/src/components/CollectionCells/src/MaterialCollectionCells.h"
......@@ -17,10 +17,11 @@
namespace {
AutofillEditCell* AutofillEditCellForTextField(UITextField* textField) {
AutofillEditCell* settingsCell = nil;
LegacyAutofillEditCell* AutofillEditCellForTextField(UITextField* textField) {
LegacyAutofillEditCell* settingsCell = nil;
for (UIView* view = textField; view; view = [view superview]) {
AutofillEditCell* cell = base::mac::ObjCCast<AutofillEditCell>(view);
LegacyAutofillEditCell* cell =
base::mac::ObjCCast<LegacyAutofillEditCell>(view);
if (cell) {
settingsCell = cell;
break;
......@@ -36,7 +37,7 @@ AutofillEditCell* AutofillEditCellForTextField(UITextField* textField) {
@interface AutofillEditCollectionViewController ()<
AutofillEditAccessoryDelegate> {
AutofillEditCell* _currentEditingCell;
LegacyAutofillEditCell* _currentEditingCell;
AutofillEditAccessoryView* _accessoryView;
}
@end
......@@ -106,14 +107,14 @@ AutofillEditCell* AutofillEditCellForTextField(UITextField* textField) {
#pragma mark - UITextFieldDelegate
- (void)textFieldDidBeginEditing:(UITextField*)textField {
AutofillEditCell* cell = AutofillEditCellForTextField(textField);
LegacyAutofillEditCell* cell = AutofillEditCellForTextField(textField);
_currentEditingCell = cell;
[textField setInputAccessoryView:_accessoryView];
[self updateAccessoryViewButtonState];
}
- (void)textFieldDidEndEditing:(UITextField*)textField {
AutofillEditCell* cell = AutofillEditCellForTextField(textField);
LegacyAutofillEditCell* cell = AutofillEditCellForTextField(textField);
DCHECK(_currentEditingCell == cell);
[textField setInputAccessoryView:nil];
_currentEditingCell = nil;
......@@ -156,8 +157,9 @@ AutofillEditCell* AutofillEditCellForTextField(UITextField* textField) {
if (!nextCellPath) {
[[_currentEditingCell textField] resignFirstResponder];
} else {
AutofillEditCell* nextCell = base::mac::ObjCCastStrict<AutofillEditCell>(
[collectionView cellForItemAtIndexPath:nextCellPath]);
LegacyAutofillEditCell* nextCell =
base::mac::ObjCCastStrict<LegacyAutofillEditCell>(
[collectionView cellForItemAtIndexPath:nextCellPath]);
[nextCell.textField becomeFirstResponder];
}
}
......
......@@ -14,7 +14,7 @@
#include "ios/chrome/browser/application_context.h"
#import "ios/chrome/browser/ui/autofill/autofill_ui_type.h"
#import "ios/chrome/browser/ui/autofill/autofill_ui_type_util.h"
#import "ios/chrome/browser/ui/autofill/cells/autofill_edit_item.h"
#import "ios/chrome/browser/ui/autofill/cells/legacy_autofill_edit_item.h"
#import "ios/chrome/browser/ui/collection_view/collection_view_model.h"
#include "ios/chrome/browser/ui/commands/application_commands.h"
#import "ios/chrome/browser/ui/commands/open_new_tab_command.h"
......@@ -149,8 +149,9 @@ static const AutofillFieldDisplayInfo kFieldsToDisplay[] = {
for (NSInteger itemIndex = 0; itemIndex < itemCount; ++itemIndex) {
NSIndexPath* path =
[NSIndexPath indexPathForItem:itemIndex inSection:section];
AutofillEditItem* item = base::mac::ObjCCastStrict<AutofillEditItem>(
[model itemAtIndexPath:path]);
LegacyAutofillEditItem* item =
base::mac::ObjCCastStrict<LegacyAutofillEditItem>(
[model itemAtIndexPath:path]);
autofill::ServerFieldType serverFieldType =
AutofillTypeFromAutofillUIType(item.autofillUIType);
if (item.autofillUIType == AutofillUITypeProfileHomeAddressCountry) {
......@@ -183,8 +184,8 @@ static const AutofillFieldDisplayInfo kFieldsToDisplay[] = {
[model addSectionWithIdentifier:SectionIdentifierFields];
for (size_t i = 0; i < base::size(kFieldsToDisplay); ++i) {
const AutofillFieldDisplayInfo& field = kFieldsToDisplay[i];
AutofillEditItem* item =
[[AutofillEditItem alloc] initWithType:ItemTypeField];
LegacyAutofillEditItem* item =
[[LegacyAutofillEditItem alloc] initWithType:ItemTypeField];
item.cellStyle = CollectionViewCellStyle::kUIKit;
item.textFieldName = l10n_util::GetNSString(field.displayStringID);
item.textFieldValue = base::SysUTF16ToNSString(_autofillProfile.GetInfo(
......@@ -220,8 +221,8 @@ static const AutofillFieldDisplayInfo kFieldsToDisplay[] = {
UICollectionViewCell* cell =
[super collectionView:collectionView cellForItemAtIndexPath:indexPath];
AutofillEditCell* textFieldCell =
base::mac::ObjCCastStrict<AutofillEditCell>(cell);
LegacyAutofillEditCell* textFieldCell =
base::mac::ObjCCastStrict<LegacyAutofillEditCell>(cell);
textFieldCell.accessibilityIdentifier = textFieldCell.textLabel.text;
textFieldCell.textField.delegate = self;
return textFieldCell;
......@@ -234,8 +235,8 @@ static const AutofillFieldDisplayInfo kFieldsToDisplay[] = {
if (self.editor.editing) {
UICollectionViewCell* cell =
[self.collectionView cellForItemAtIndexPath:indexPath];
AutofillEditCell* textFieldCell =
base::mac::ObjCCastStrict<AutofillEditCell>(cell);
LegacyAutofillEditCell* textFieldCell =
base::mac::ObjCCastStrict<LegacyAutofillEditCell>(cell);
[textFieldCell.textField becomeFirstResponder];
}
return [super collectionView:collectionView
......
......@@ -15,8 +15,8 @@
#import "ios/chrome/browser/ui/authentication/signin_promo_view_configurator.h"
#import "ios/chrome/browser/ui/authentication/signin_promo_view_delegate.h"
#import "ios/chrome/browser/ui/authentication/signin_promo_view_mediator.h"
#import "ios/chrome/browser/ui/autofill/cells/autofill_edit_item.h"
#import "ios/chrome/browser/ui/autofill/cells/cvc_item.h"
#import "ios/chrome/browser/ui/autofill/cells/legacy_autofill_edit_item.h"
#import "ios/chrome/browser/ui/autofill/cells/status_item.h"
#import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h"
#import "ios/chrome/browser/ui/collection_view/cells/collection_view_account_item.h"
......@@ -721,8 +721,8 @@ const CGFloat kCardIssuerNetworkIconDimension = 25.0;
}
- (CollectionViewItem*)autofillEditItem {
AutofillEditItem* item =
[[AutofillEditItem alloc] initWithType:ItemTypeAutofillDynamicHeight];
LegacyAutofillEditItem* item = [[LegacyAutofillEditItem alloc]
initWithType:ItemTypeAutofillDynamicHeight];
item.cellStyle = CollectionViewCellStyle::kUIKit;
item.textFieldName = @"Required Card Number";
item.textFieldValue = @"4111111111111111";
......@@ -732,8 +732,8 @@ const CGFloat kCardIssuerNetworkIconDimension = 25.0;
}
- (CollectionViewItem*)autofillEditItemWithIcon {
AutofillEditItem* item =
[[AutofillEditItem alloc] initWithType:ItemTypeAutofillDynamicHeight];
LegacyAutofillEditItem* item = [[LegacyAutofillEditItem alloc]
initWithType:ItemTypeAutofillDynamicHeight];
item.cellStyle = CollectionViewCellStyle::kUIKit;
item.textFieldName = @"Card Number";
item.textFieldValue = @"4111111111111111";
......
......@@ -8,7 +8,7 @@
#include "base/strings/utf_string_conversions.h"
#import "ios/chrome/browser/ui/autofill/autofill_ui_type.h"
#import "ios/chrome/browser/ui/autofill/autofill_ui_type_util.h"
#import "ios/chrome/browser/ui/autofill/cells/autofill_edit_item.h"
#import "ios/chrome/browser/ui/autofill/cells/legacy_autofill_edit_item.h"
#import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h"
#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h"
#import "ios/chrome/browser/ui/payments/payment_request_edit_consumer.h"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment