[Autofill Assistant] Work around CVC autofill issue.

One some websites, the CVC field is handled specially, with Javascript
that intercepts each key in a way that doesn't work with Autofill. On
these websites, a field filled successfully by autofill might still be
rejected.

This change allows scripts to provide a fallback for these cases, where
a CVC field would be filled using a fallback mechanism that inputs each
number as a key. This way, we can script fallback behavior for websites
where autofill fails.

This change:

- allows forcing required fields to be filled again, even though they
are non-empty, using RequiredField.forced=true
- provides fallback for filling in the CVC and expiration date

This allows working around the issue described in crbug.com/978799

Bug: b/134909608
Change-Id: I1b35a070404ac5b77ee32b5a88d0b72c0aea09f1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1751247
Commit-Queue: Stephane Zermatten <szermatt@chromium.org>
Reviewed-by: Jordan Demeulenaere <jdemeulenaere@chromium.org>
Cr-Commit-Position: refs/heads/master@{#686842}
5 files changed