[Autofill] Dynamic forms, select to text |
|||
Issue descriptionAs you are filling the form, by changing the country, the state field changes from select type to a text field. (You need to have a non-US profile to see this in the following examples.) shopgoodwill.com shoebuy.com brownells.com
,
Jul 12
,
Jul 13
The CL should also fix: www.ae.com copart.com
,
Jul 16
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/522c2229aa8de418bb84be01b7386d3eb1d8ab65 commit 522c2229aa8de418bb84be01b7386d3eb1d8ab65 Author: Parastoo Geranmayeh <parastoog@google.com> Date: Mon Jul 16 15:14:03 2018 [Autofill] Dynamic/Synthetic form refill. Problem: Some forms have multiple fields for a single logical field, only one of which is visible at a time. As the user is filling the form, the visibility of the fields switches. Case I: the user changes the country from US to CA, and the state field changes from a select to text. Case II: We have two fields, and both of them are detected as a certain type. One is hidden and the other is visible at the time of filling the form. Then as the autofill fills out the form, the visibility status of both fields change, and it looks as if the entered value was removed by the website. (See go/synthetic-fields section 2.2.) Solution: After filling the form, get the form of the clicked on element again, compare it with the old form, and if changed, trigger a refill. Bug: 861877, 863428 Change-Id: I32515e37b5f9f092fd213f9538fdc9dda3933747 Reviewed-on: https://chromium-review.googlesource.com/1135199 Reviewed-by: Sebastien Seguin-Gagnon <sebsg@chromium.org> Commit-Queue: Parastoo Geranmayeh <parastoog@google.com> Cr-Commit-Position: refs/heads/master@{#575272} [modify] https://crrev.com/522c2229aa8de418bb84be01b7386d3eb1d8ab65/chrome/browser/autofill/autofill_interactive_uitest.cc [add] https://crrev.com/522c2229aa8de418bb84be01b7386d3eb1d8ab65/chrome/test/data/autofill/dynamic_form_select_to_text.html [add] https://crrev.com/522c2229aa8de418bb84be01b7386d3eb1d8ab65/chrome/test/data/autofill/dynamic_form_visibility_switch.html [modify] https://crrev.com/522c2229aa8de418bb84be01b7386d3eb1d8ab65/components/autofill/content/renderer/autofill_agent.cc [modify] https://crrev.com/522c2229aa8de418bb84be01b7386d3eb1d8ab65/components/autofill/content/renderer/autofill_agent.h [modify] https://crrev.com/522c2229aa8de418bb84be01b7386d3eb1d8ab65/components/autofill/core/common/form_data.cc [modify] https://crrev.com/522c2229aa8de418bb84be01b7386d3eb1d8ab65/components/autofill/core/common/form_data.h [modify] https://crrev.com/522c2229aa8de418bb84be01b7386d3eb1d8ab65/components/autofill/core/common/form_field_data.cc [modify] https://crrev.com/522c2229aa8de418bb84be01b7386d3eb1d8ab65/components/autofill/core/common/form_field_data.h
,
Jul 16
,
Jul 16
Note: ae behavior is not consistent, probably because of timing. To be fixed for iOS. |
|||
►
Sign in to add a comment |
|||
Comment 1 by parastoog@chromium.org
, Jul 12