Bug 1155154 - Part 3 - Ignore file extension filters with characters that can be interpreted by the file picker. r=smaug

--HG--
extra : rebase_source : 3dfeafb7628689931ac54f00792c683670524d1f
This commit is contained in:
Arnaud Bienner 2015-07-17 01:20:01 +02:00
parent 95d74228ec
commit 5bf0f0bca6
2 changed files with 7 additions and 1 deletions

View File

@ -7212,6 +7212,10 @@ HTMLInputElement::SetFilePickerFiltersFromAccept(nsIFilePicker* filePicker)
filterBundle->GetStringFromName(MOZ_UTF16("videoFilter"),
getter_Copies(extensionListStr));
} else if (token.First() == '.') {
if (token.FindChar(';') >= 0 || token.FindChar('*') >= 0) {
// Ignore this filter as it contains reserved characters
continue;
}
extensionListStr = NS_LITERAL_STRING("*") + token;
filterName = extensionListStr;
atLeastOneFileExtensionFilter = true;

View File

@ -40,6 +40,7 @@
<input id='x' type="file" accept=".xls, .xlsx">
<input id='y' type="file" accept=".xlsx, .xls">
<input id='z' type='file' accept="i/am,a,pathological,;,,,,test/case">
<input id='A' type="file" accept=".xlsx, .xls*">
<input id='mix-ref' type="file" accept="image/jpeg">
<input id='mix' type="file" accept="image/jpeg,.jpg">
<input id='hidden' hidden type='file'>
@ -104,10 +105,11 @@ var testData = [["a", 1, MockFilePicker.filterImages, 1],
["t", 4, "*.mp3; *.wav; *.flac", 1],
["u", 3, "*.xls; *.xlsx", 1],
["v", 3, "*.xlsx; *.xls", 1],
["w", 1, "*.xlsx; .xls", 1],
["w", 0, undefined, 0],
["x", 3, "*.xls; *.xlsx", 1],
["y", 3, "*.xlsx; *.xls", 1],
["z", 0, undefined, 0],
["A", 1, "*.xlsx", 1],
// Note: mix and mix-ref tests extension lists are checked differently: see SimpleTest.executeSoon below
["mix-ref", undefined, undefined, undefined],
["mix", 1, undefined, 1],