New issue
Advanced search Search tips

Issue 803670 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

[Autofill] needs better sectioning.

Project Member Reported by parastoog@chromium.org, Jan 18 2018

Issue description

Autofill needs better sectioning to avoid field by field cases.

See:
go/autofill-hidden-sections.
 
Cc: ma...@chromium.org
 Issue 769113  has been merged into this issue.
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6a33ef3d957cc9715d0e2c858d23cee97f969ee7

commit 6a33ef3d957cc9715d0e2c858d23cee97f969ee7
Author: Parastoo Geranmayeh <parastoog@google.com>
Date: Wed Jan 24 17:17:40 2018

[Autofill] Better sectioning for hidden fields.

Sometimes we have multiple sections on a form, but only the first one
is visible, and the next one will appear as the user is interacting
with the page. Currently, as a general rule, we ignore hidden fields
and never start a new section on one. This rule does not apply for
this case.

Example:

A hidden billing address section after a shipping one which appears
if the user has different addresses for billing and shipping.

Solution:

Change the general rule so that:

If current field is a hidden one, start a new section if two
following fields are seen in the previous section.

Also, keep the status of the already seen visible fields. When
back to the visible fields, assume that the hidden section
never existed. Depending on the field types, decide if the visible
field belongs to a new section or it belongs to the previous
visible section.

Tests adjusted, one test added/149.

Fixes:
backcountry.com,
https://www.crutchfield.com/,
https://www.eddiebauer.com/, etc.

Bug:  803670 
Change-Id: I96eb258cbdca3c96c31199552e4acfc2467a8647
Reviewed-on: https://chromium-review.googlesource.com/879233
Commit-Queue: Parastoo Geranmayeh <parastoog@google.com>
Reviewed-by: Sebastien Seguin-Gagnon <sebsg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531577}
[modify] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/autofill/core/browser/form_structure.cc
[add] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/input/149_checkout_qvc.com_non_hidden.html
[modify] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/output/023_checkout_gamestop.com.out
[modify] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/output/025_checkout_hsn.com.out
[modify] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/output/037_checkout_qvc.com.out
[modify] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/output/062_register_newegg.com.out
[modify] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/output/080_crbug_53075.out
[modify] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/output/083_crbug_87517.out
[modify] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/output/092_checkout_alaskaair.com.out
[modify] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/output/096_llbean.out
[modify] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/output/097_register_alaskaair.com.out
[modify] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/output/112_checkout_m_llbean.com.out
[modify] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/output/118_checkout_cvs.com.out
[modify] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/output/127_bug_463986.out
[modify] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/output/140_checkout_nike.com.out
[add] https://crrev.com/6a33ef3d957cc9715d0e2c858d23cee97f969ee7/components/test/data/autofill/heuristics/output/149_checkout_qvc.com_non_hidden.out

Status: Fixed (was: Started)
Project Member

Comment 4 by bugdroid1@chromium.org, Mar 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/89f128f6486e5efe7e8f44ebf8cddcdfad627cd3

commit 89f128f6486e5efe7e8f44ebf8cddcdfad627cd3
Author: Moe Ahmadi <mahmadi@chromium.org>
Date: Mon Mar 12 19:23:40 2018

[AF] optional callback for __gCrWeb.fill.setInputElementValue

Replaces an unused boolean argument with an optional callback that
indicates whether the input element's value was changed.
This callback is used to mark elements as autofilled only when the value
has actually changed. This fixes cases where a <select> element is marked
as autofilled while its value hasn't actually changed from its default
value. e.g., www.crutchfield.com

Bug:  803670 
Change-Id: Iced545fb0f43fa351342b6b51dbacf789f150f8a
Reviewed-on: https://chromium-review.googlesource.com/959052
Commit-Queue: Moe Ahmadi <mahmadi@chromium.org>
Reviewed-by: Olivier Robin <olivierrobin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542562}
[modify] https://crrev.com/89f128f6486e5efe7e8f44ebf8cddcdfad627cd3/components/autofill/ios/browser/resources/autofill_controller.js
[modify] https://crrev.com/89f128f6486e5efe7e8f44ebf8cddcdfad627cd3/components/autofill/ios/fill/resources/fill.js

Sign in to add a comment