I was wrong, this isn't just about the placeholder. There are two problems:
- The placeholder is incorrectly autofilled when the provider does not return an autofill result (before you type the full
input in the record), causing flickering
- Using the STR above, the provider still returns an autofill result (after you type the full
input in the record)
The second problem is pretty bad. It happens because the
moz_inputhistory record still exists; however, in
moz_places, the frecency and visit count are both zero. For adaptive autofill, all we check is
moz_inputhistory. We need to also make sure the frecency and/or visit count are > 0, probably.
Note that this is not a problem for the input history provider. If I disable adaptive autofill and type the record's input, no input history result is shown. AFAICT that's because the input history provider uses
autocomplete_match() to filter rows, and
autocomplete_match() normally allows a row only when its visit count is > 0.
That said, the adaptive history record is eventually deleted, I'm not sure by what or how long it takes (a few minutes in my testing) but IIRC Places performs periodic cleanups.