mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-13 05:15:45 +00:00
Bug 1180827 - Fix reuse of previous search results. r=MattN
This commit is contained in:
parent
7c11ff37e3
commit
a687a93e78
@ -216,21 +216,21 @@ FormAutoComplete.prototype = {
|
||||
// of results in wrappedResult._values and only the results from
|
||||
// form history in wrappedResults.entries.
|
||||
// First, grab the entire list of old results.
|
||||
let allResults = wrappedResult._values;
|
||||
let allResults = wrappedResult._labels;
|
||||
let datalistResults, datalistLabels;
|
||||
if (allResults) {
|
||||
// We have datalist results, extract them from the values array.
|
||||
datalistResults = allResults.slice(wrappedResult.entries.length);
|
||||
datalistLabels = allResults.slice(wrappedResult.entries.length);
|
||||
let filtered = [];
|
||||
datalistLabels = [];
|
||||
for (let i = datalistResults.length; i > 0; --i) {
|
||||
if (datalistResults[i - 1].contains(searchString)) {
|
||||
filtered.push(datalistResults[i - 1]);
|
||||
datalistLabels.push(wrappedResult._labels[i - 1]);
|
||||
datalistResults = [];
|
||||
for (let i = 0; i < datalistLabels.length; ++i) {
|
||||
if (datalistLabels[i].toLowerCase().includes(searchString)) {
|
||||
filtered.push(datalistLabels[i]);
|
||||
datalistResults.push(wrappedResult._values[i]);
|
||||
}
|
||||
}
|
||||
|
||||
datalistResults = filtered;
|
||||
datalistLabels = filtered;
|
||||
}
|
||||
|
||||
let searchTokens = searchString.split(/\s+/);
|
||||
|
@ -203,6 +203,28 @@ function runTest() {
|
||||
doKey("return");
|
||||
checkForm("Google");
|
||||
|
||||
expectPopup();
|
||||
restoreForm();
|
||||
doKey("down");
|
||||
break;
|
||||
|
||||
case 10:
|
||||
// Test autocompletion of datalists with cached results.
|
||||
sendString("PAS");
|
||||
waitForMenuChange(2);
|
||||
break;
|
||||
|
||||
case 11:
|
||||
// Continuation of test 10
|
||||
sendString("S1");
|
||||
waitForMenuChange(1);
|
||||
break;
|
||||
|
||||
case 12:
|
||||
doKey("down");
|
||||
doKey("return");
|
||||
checkForm("Google");
|
||||
|
||||
// Trigger autocomplete popup
|
||||
// Look at form 3, try to trigger autocomplete popup
|
||||
input.value = "";
|
||||
|
Loading…
Reference in New Issue
Block a user