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

Unified Diff: chrome/browser/ui/views/payments/payment_request_browsertest_base.cc

Issue 2905733002: [WebPayments] Disabling done button when form invalid (Closed)
Patch Set: upload 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/payment_request_browsertest_base.cc
diff --git a/chrome/browser/ui/views/payments/payment_request_browsertest_base.cc b/chrome/browser/ui/views/payments/payment_request_browsertest_base.cc
index 39054abddfaa9deb1b2da4a4df3bf48b72ccc147..2c20bc0810a2add76dfbbc148be6343ad8eae200 100644
--- a/chrome/browser/ui/views/payments/payment_request_browsertest_base.cc
+++ b/chrome/browser/ui/views/payments/payment_request_browsertest_base.cc
@@ -55,6 +55,29 @@ namespace payments {
namespace {
const auto kBillingAddressType = autofill::ADDRESS_BILLING_LINE1;
+
+// This is preferred to SelectValue, since only SetSelectedRow fires the events
+// as if done by a user.
+void SetComboboxRowForValue(views::Combobox* combobox,
Mathieu 2017/05/29 16:45:36 nit: *SelectComboboxRowForValue?
tmartino 2017/05/29 21:06:58 Done
+ const base::string16& text) {
+ int i;
+ for (i = 0; i < combobox->GetRowCount(); i++) {
+ if (combobox->GetTextForRow(i) == text)
+ break;
+ }
+ DCHECK(i < combobox->GetRowCount()) << "Combobox does not contain " << text;
+ combobox->SetSelectedRow(0);
Mathieu 2017/05/29 16:45:36 The SelectBillingAddress code seems to get away wi
tmartino 2017/05/29 21:06:58 Yup, done.
+ combobox->SetSelectedRow(i);
+
+ // Hit enter twice to trigger events.
Mathieu 2017/05/29 16:45:36 Are we doing this to make sure OnBlur is called on
tmartino 2017/05/29 21:06:58 n/a anymore
+ ui::KeyEvent enter_event(ui::ET_KEY_PRESSED, ui::VKEY_RETURN, 0);
+ LOG(ERROR) << "Pressing enter...";
Mathieu 2017/05/29 16:45:36 plz remove :)
tmartino 2017/05/29 21:06:58 n/a
+ combobox->OnKeyPressed(enter_event);
+ LOG(ERROR) << "Pressing enter...";
+ combobox->OnKeyPressed(enter_event);
+ LOG(ERROR) << "Done pressing enter...";
+}
+
} // namespace
PersonalDataLoadedObserverMock::PersonalDataLoadedObserverMock() {}
@@ -571,8 +594,8 @@ void PaymentRequestBrowserTestBase::SetEditorTextfieldValue(
static_cast<ValidatingTextfield*>(delegate_->dialog_view()->GetViewByID(
EditorViewController::GetInputFieldViewId(type)));
DCHECK(textfield);
- textfield->SetText(value);
- textfield->OnContentsChanged();
+ textfield->SetText(base::string16());
+ textfield->InsertText(value);
textfield->OnBlur();
}
@@ -592,13 +615,13 @@ void PaymentRequestBrowserTestBase::SetComboboxValue(
static_cast<ValidatingCombobox*>(delegate_->dialog_view()->GetViewByID(
EditorViewController::GetInputFieldViewId(type)));
DCHECK(combobox);
- combobox->SelectValue(value);
- combobox->OnContentsChanged();
+ SetComboboxRowForValue(combobox, value);
combobox->OnBlur();
}
void PaymentRequestBrowserTestBase::SelectBillingAddress(
const std::string& billing_address_id) {
+ LOG(ERROR) << "Setting billing address";
Mathieu 2017/05/29 16:45:36 please fix
tmartino 2017/05/29 21:06:58 Done
views::Combobox* address_combobox(
static_cast<views::Combobox*>(dialog_view()->GetViewByID(
EditorViewController::GetInputFieldViewId(kBillingAddressType))));

Powered by Google App Engine
This is Rietveld 408576698