diff --git a/dom/html/test/forms/test_input_file_picker.html b/dom/html/test/forms/test_input_file_picker.html index f59c9e759c87..296c12bb7e46 100644 --- a/dom/html/test/forms/test_input_file_picker.html +++ b/dom/html/test/forms/test_input_file_picker.html @@ -81,7 +81,7 @@ var MockFilePicker = SpecialPowers.MockFilePicker; MockFilePicker.init(window); // The following lists are from toolkit/content/filepicker.properties which is used by filePicker -var imageExtensionList = "*.jpe; *.jpg; *.jpeg; *.gif; *.png; *.bmp; *.ico; *.svg; *.svgz; *.tif; *.tiff; *.ai; *.drw; *.pct; *.psp; *.xcf; *.psd; *.raw; *.webp" +var imageExtensionList = "*.jpe; *.jpg; *.jpeg; *.gif; *.png; *.bmp; *.ico; *.svg; *.svgz; *.tif; *.tiff; *.ai; *.drw; *.pct; *.psp; *.xcf; *.psd; *.raw; *.webp; *.heic" var audioExtensionList = "*.aac; *.aif; *.flac; *.iff; *.m4a; *.m4b; *.mid; *.midi; *.mp3; *.mpa; *.mpc; *.oga; *.ogg; *.opus; *.ra; *.ram; *.snd; *.wav; *.wma" diff --git a/toolkit/components/extensions/parent/ext-downloads.js b/toolkit/components/extensions/parent/ext-downloads.js index 7a93c834dd9c..9cd96e0d65fa 100644 --- a/toolkit/components/extensions/parent/ext-downloads.js +++ b/toolkit/components/extensions/parent/ext-downloads.js @@ -103,6 +103,7 @@ const FILTER_IMAGES_EXTENSIONS = [ "psd", "raw", "webp", + "heic", ]; const FILTER_XML_EXTENSIONS = ["xml"]; diff --git a/toolkit/components/extensions/test/browser/browser_ext_downloads_filters.js b/toolkit/components/extensions/test/browser/browser_ext_downloads_filters.js index c273d4bef0ce..48dd6b88eed2 100644 --- a/toolkit/components/extensions/test/browser/browser_ext_downloads_filters.js +++ b/toolkit/components/extensions/test/browser/browser_ext_downloads_filters.js @@ -106,6 +106,10 @@ add_task(async function testDownload_webp_Images() { await testAppliedFilters(".webp", Ci.nsIFilePicker.filterImages, 2); }); +add_task(async function testDownload_heic_Images() { + await testAppliedFilters(".heic", Ci.nsIFilePicker.filterImages, 2); +}); + add_task(async function testDownload_xml_XML() { await testAppliedFilters(".xml", Ci.nsIFilePicker.filterXML, 2); }); diff --git a/toolkit/content/filepicker.properties b/toolkit/content/filepicker.properties index 5717dbbed052..03daec114c28 100644 --- a/toolkit/content/filepicker.properties +++ b/toolkit/content/filepicker.properties @@ -5,7 +5,7 @@ allFilter=* htmlFilter=*.html; *.htm; *.shtml; *.xhtml textFilter=*.txt; *.text -imageFilter=*.jpe; *.jpg; *.jpeg; *.gif; *.png; *.bmp; *.ico; *.svg; *.svgz; *.tif; *.tiff; *.ai; *.drw; *.pct; *.psp; *.xcf; *.psd; *.raw; *.webp +imageFilter=*.jpe; *.jpg; *.jpeg; *.gif; *.png; *.bmp; *.ico; *.svg; *.svgz; *.tif; *.tiff; *.ai; *.drw; *.pct; *.psp; *.xcf; *.psd; *.raw; *.webp; *.heic xmlFilter=*.xml xulFilter=*.xul audioFilter=*.aac; *.aif; *.flac; *.iff; *.m4a; *.m4b; *.mid; *.midi; *.mp3; *.mpa; *.mpc; *.oga; *.ogg; *.opus; *.ra; *.ram; *.snd; *.wav; *.wma diff --git a/widget/nsIFilePicker.idl b/widget/nsIFilePicker.idl index 4854a6d4a1ad..c64a4de4a043 100644 --- a/widget/nsIFilePicker.idl +++ b/widget/nsIFilePicker.idl @@ -37,7 +37,7 @@ interface nsIFilePicker : nsISupports // *.png; *.bmp; *.ico; *.svg; // *.svgz; *.tif; *.tiff; *.ai; // *.drw; *.pct; *.psp; *.xcf; - // *.psd; *.raw; *.webp + // *.psd; *.raw; *.webp; *.heic const long filterXML = 0x010; // *.xml const long filterXUL = 0x020; // *.xul const long filterApps = 0x040; // Applications (per-platform implementation)