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 9cabb679721442f8b6fa2f36e700948e05392ce6..f4850c914a8b4ee19fdf905b68a5561bf5a8000b 100644 |
--- a/chrome/browser/ui/views/payments/editor_view_controller.h |
+++ b/chrome/browser/ui/views/payments/editor_view_controller.h |
@@ -125,6 +125,20 @@ class EditorViewController : public PaymentRequestSheetController, |
std::unique_ptr<views::Button> CreatePrimaryButton() override; |
std::unique_ptr<views::View> CreateExtraFooterView() override; |
+ protected: |
+ // The editor content view, owned by the client so the derived classes can |
+ // refresh it when some user interactions cause layout changes. |
+ std::unique_ptr<views::View> editor_view_; |
+ |
+ // Update the editor view by removing all it's child views and recreating |
+ // the input fields returned by GetFieldDefinitions. Note that |
+ // CreateEditorView MUST have been called at least once before calling |
+ // UpdateEditorView. |
+ virtual void UpdateEditorView(); |
+ |
+ // views::ComboboxListener: |
+ void OnPerformAction(views::Combobox* combobox) override; |
+ |
private: |
// PaymentRequestSheetController: |
void ButtonPressed(views::Button* sender, const ui::Event& event) override; |
@@ -133,12 +147,9 @@ class EditorViewController : public PaymentRequestSheetController, |
void ContentsChanged(views::Textfield* sender, |
const base::string16& new_contents) override; |
- // views::ComboboxListener: |
- void OnPerformAction(views::Combobox* combobox) override; |
- |
// Creates the whole editor view to go within the editor dialog. It |
// encompasses all the input fields created by CreateInputField(). |
- std::unique_ptr<views::View> CreateEditorView(); |
+ void CreateEditorView(); |
// Adds some views to |layout|, to represent an input field and its labels. |
// |field| is the field definition, which contains the label and the hint |