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

Unified Diff: chrome/browser/ui/views/payments/editor_view_controller.h

Issue 2895473005: [Payments] Have expiration date be on the same line in CC editor (Closed)
Patch Set: addressed comments Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/payments/editor_view_controller.h
diff --git a/chrome/browser/ui/views/payments/editor_view_controller.h b/chrome/browser/ui/views/payments/editor_view_controller.h
index 80251eb8c3039c79848c960906d3b89c37d4d909..40517795a6ea86329ddc29a19fd3d3f139a74054 100644
--- a/chrome/browser/ui/views/payments/editor_view_controller.h
+++ b/chrome/browser/ui/views/payments/editor_view_controller.h
@@ -62,12 +62,6 @@ struct EditorField {
required(required),
control_type(control_type) {}
- struct Compare {
- bool operator()(const EditorField& lhs, const EditorField& rhs) const {
- return std::tie(lhs.type, lhs.label) < std::tie(rhs.type, rhs.label);
- }
- };
-
// Data type in the field.
autofill::ServerFieldType type;
// Label to be shown alongside the field.
@@ -90,8 +84,7 @@ class EditorViewController : public PaymentRequestSheetController,
std::unordered_map<ValidatingTextfield*, const EditorField>;
using ComboboxMap =
std::unordered_map<ValidatingCombobox*, const EditorField>;
- using ErrorLabelMap =
- std::map<const EditorField, views::View*, EditorField::Compare>;
+ using ErrorLabelMap = std::map<autofill::ServerFieldType, views::View*>;
// Does not take ownership of the arguments, which should outlive this object.
// |back_navigation_type| identifies what sort of back navigation should be
@@ -104,21 +97,26 @@ class EditorViewController : public PaymentRequestSheetController,
~EditorViewController() override;
// Will display |error_message| alongside the input field represented by
- // |field|.
- void DisplayErrorMessageForField(const EditorField& field,
+ // field |type|.
+ void DisplayErrorMessageForField(autofill::ServerFieldType type,
const base::string16& error_message);
const ComboboxMap& comboboxes() const { return comboboxes_; }
const TextFieldsMap& text_fields() const { return text_fields_; }
+ // Returns the View ID that can be used to lookup the input field for |type|.
+ static int GetInputFieldViewId(autofill::ServerFieldType type);
+
protected:
// Create a header view to be inserted before all fields.
virtual std::unique_ptr<views::View> CreateHeaderView();
// |focusable_field| is to be set with a pointer to the view that should get
- // default focus within the custom view.
+ // default focus within the custom view. |valid| should be set to the initial
+ // validity state of the custom view.
virtual std::unique_ptr<views::View> CreateCustomFieldView(
autofill::ServerFieldType type,
- views::View** focusable_field);
+ views::View** focusable_field,
+ bool* valid);
// Create an extra view to go to the right of the field with |type|, which
// can either be a textfield, combobox, or custom view.
virtual std::unique_ptr<views::View> CreateExtraViewForField(
@@ -154,6 +152,11 @@ class EditorViewController : public PaymentRequestSheetController,
void ButtonPressed(views::Button* sender, const ui::Event& event) override;
views::View* GetFirstFocusedView() override;
+ // Will create a combobox according to the |field| definition. Will also keep
+ // track of this field to populate the edited model on save.
+ std::unique_ptr<ValidatingCombobox> CreateComboboxForField(
+ const EditorField& field);
+
private:
// views::TextfieldController:
void ContentsChanged(views::Textfield* sender,

Powered by Google App Engine
This is Rietveld 408576698