blob: f86d6a86082499881a57fc5b72ed025586e84d71 [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/xdg_shared_mime_info/mime_cache.h"
#include "base/containers/fixed_flat_map.h"
#include "base/strings/string_piece.h"
#include "base/strings/string_util.h"
// File generated by //third_party/xdg_mime_shared_info/generate.py.
namespace xdg_shared_mime_info {
bool GetMimeCacheTypeFromExtension(const std::string& ext,
std::string* result) {
static constexpr auto kMap = base::MakeFixedFlatMap<base::StringPiece,
base::StringPiece>({
{"123", "application/vnd.lotus-1-2-3"},
{"32x", "application/x-genesis-32x-rom"},
{"3ds", "application/x-nintendo-3ds-rom"},
{"3dsx", "application/x-nintendo-3ds-executable"},
{"3g2", "video/3gpp2"},
{"3ga", "video/3gpp"},
{"3gp", "video/3gpp"},
{"3gp2", "video/3gpp2"},
{"3gpp", "video/3gpp"},
{"3gpp2", "video/3gpp2"},
{"3mf", "model/3mf"},
{"602", "application/x-t602"},
{"669", "audio/x-mod"},
{"7z", "application/x-7z-compressed"},
{"7z.001", "application/x-7z-compressed"},
{"C", "text/x-c++src"},
{"a", "application/x-archive"},
{"a26", "application/x-atari-2600-rom"},
{"a78", "application/x-atari-7800-rom"},
{"aa", "audio/x-pn-audibleaudio"},
{"aac", "audio/aac"},
{"aax", "audio/vnd.audible.aax"},
{"abw", "application/x-abiword"},
{"abw.crashed", "application/x-abiword"},
{"abw.gz", "application/x-abiword"},
{"ac3", "audio/ac3"},
{"ace", "application/x-ace"},
{"adb", "text/x-adasrc"},
{"adf", "application/x-amiga-disk-format"},
{"ads", "text/x-adasrc"},
{"adts", "audio/aac"},
{"afm", "application/x-font-afm"},
{"ag", "image/x-applix-graphics"},
{"agb", "application/x-gba-rom"},
{"ai", "application/illustrator"},
{"aif", "audio/x-aiff"},
{"aifc", "audio/x-aifc"},
{"aiff", "audio/x-aiff"},
{"aiffc", "audio/x-aifc"},
{"al", "application/x-perl"},
{"alz", "application/x-alz"},
{"amr", "audio/AMR"},
{"amz", "audio/x-amzxml"},
{"ani", "application/x-navi-animation"},
{"anx", "application/annodex"},
{"ape", "audio/x-ape"},
{"apk", "application/vnd.android.package-archive"},
{"appimage", "application/vnd.appimage"},
{"ar", "application/x-archive"},
{"arj", "application/x-arj"},
{"arw", "image/x-sony-arw"},
{"as", "application/x-applix-spreadsheet"},
{"asar", "application/x-asar"},
{"asc", "text/plain"},
{"asd", "text/x-common-lisp"},
{"asf", "application/vnd.ms-asf"},
{"asp", "application/x-asp"},
{"ass", "text/x-ssa"},
{"astc", "image/astc"},
{"asx", "audio/x-ms-asx"},
{"atom", "application/atom+xml"},
{"au", "audio/basic"},
{"automount", "text/x-systemd-unit"},
{"avf", "video/x-msvideo"},
{"avi", "video/x-msvideo"},
{"avif", "image/avif"},
{"avifs", "image/avif"},
{"aw", "application/x-applix-word"},
{"awb", "audio/AMR-WB"},
{"awk", "application/x-awk"},
{"axa", "audio/annodex"},
{"axv", "video/annodex"},
{"azw3", "application/vnd.amazon.mobi8-ebook"},
{"bak", "application/x-trash"},
{"bcpio", "application/x-bcpio"},
{"bdf", "application/x-font-bdf"},
{"bdm", "video/mp2t"},
{"bdmv", "video/mp2t"},
{"bib", "text/x-bibtex"},
{"bik", "video/vnd.radgamettools.bink"},
{"bk2", "video/vnd.radgamettools.bink"},
{"blend", "application/x-blender"},
{"blender", "application/x-blender"},
{"bmp", "image/bmp"},
{"bps", "application/x-bps-patch"},
{"bsdiff", "application/x-bsdiff"},
{"bz", "application/x-bzip"},
{"bz2", "application/x-bzip"},
{"c", "text/x-csrc"},
{"c++", "text/x-c++src"},
{"cab", "application/vnd.ms-cab-compressed"},
{"cap", "application/vnd.tcpdump.pcap"},
{"cb7", "application/x-cb7"},
{"cbl", "text/x-cobol"},
{"cbr", "application/vnd.comicbook-rar"},
{"cbt", "application/x-cbt"},
{"cbz", "application/vnd.comicbook+zip"},
{"cc", "text/x-c++src"},
{"cci", "application/x-nintendo-3ds-rom"},
{"ccmx", "application/x-ccmx"},
{"cdf", "application/x-netcdf"},
{"cdi", "application/x-discjuggler-cd-image"},
{"cdr", "application/vnd.corel-draw"},
{"cer", "application/pkix-cert"},
{"cert", "application/x-x509-ca-cert"},
{"cgb", "application/x-gameboy-color-rom"},
{"cgm", "image/cgm"},
{"chd", "application/x-mame-chd"},
{"chm", "application/vnd.ms-htmlhelp"},
{"chrt", "application/x-kchart"},
{"cl", "text/x-opencl-src"},
{"class", "application/x-java"},
{"clpi", "video/mp2t"},
{"cls", "text/x-tex"},
{"cmake", "text/x-cmake"},
{"cob", "text/x-cobol"},
{"coffee", "application/vnd.coffeescript"},
{"cpi", "video/mp2t"},
{"cpio", "application/x-cpio"},
{"cpio.gz", "application/x-cpio-compressed"},
{"cpp", "text/x-c++src"},
{"cr", "text/x-crystal"},
{"cr2", "image/x-canon-cr2"},
{"cr3", "image/x-canon-cr3"},
{"crdownload", "application/x-partial-download"},
{"crl", "application/pkix-crl"},
{"crt", "application/x-x509-ca-cert"},
{"crw", "image/x-canon-crw"},
{"cs", "text/x-csharp"},
{"csh", "application/x-csh"},
{"cso", "application/x-compressed-iso"},
{"css", "text/css"},
{"csv", "text/csv"},
{"csvs", "text/csv-schema"},
{"cue", "application/x-cue"},
{"cur", "image/x-win-bitmap"},
{"cwk", "application/x-appleworks-document"},
{"cxx", "text/x-c++src"},
{"d", "text/x-dsrc"},
{"dar", "application/x-dar"},
{"dart", "text/x-dart"},
{"dbf", "application/x-dbf"},
{"dbk", "application/x-docbook+xml"},
{"dcl", "text/x-dcl"},
{"dcm", "application/dicom"},
{"dcr", "image/x-kodak-dcr"},
{"dds", "image/x-dds"},
{"deb", "application/vnd.debian.binary-package"},
{"der", "application/x-x509-ca-cert"},
{"desktop", "application/x-desktop"},
{"device", "text/x-systemd-unit"},
{"dff", "audio/x-dff"},
{"di", "text/x-dsrc"},
{"dia", "application/x-dia-diagram"},
{"dib", "image/bmp"},
{"diff", "text/x-patch"},
{"divx", "video/x-msvideo"},
{"djv", "image/vnd.djvu"},
{"djvu", "image/vnd.djvu"},
{"dmg", "application/x-apple-diskimage"},
{"dmp", "application/vnd.tcpdump.pcap"},
{"dng", "image/x-adobe-dng"},
{"doc", "application/msword"},
{"docbook", "application/x-docbook+xml"},
{"docm", "application/vnd.ms-word.document.macroEnabled.12"},
{"docx",
"application/"
"vnd.openxmlformats-officedocument.wordprocessingml.document"},
{"dot", "application/msword-template"},
{"dotm", "application/vnd.ms-word.template.macroEnabled.12"},
{"dotx",
"application/"
"vnd.openxmlformats-officedocument.wordprocessingml.template"},
{"dsf", "audio/x-dsf"},
{"dsl", "text/x-dsl"},
{"dtb", "text/x-devicetree-binary"},
{"dtd", "application/xml-dtd"},
{"dts", "audio/vnd.dts"},
{"dtshd", "audio/vnd.dts.hd"},
{"dtsi", "text/x-devicetree-source"},
{"dtx", "text/x-tex"},
{"dv", "video/dv"},
{"dvi", "application/x-dvi"},
{"dvi.bz2", "application/x-bzdvi"},
{"dvi.gz", "application/x-gzdvi"},
{"dwg", "image/vnd.dwg"},
{"dxf", "image/vnd.dxf"},
{"e", "text/x-eiffel"},
{"egon", "application/x-egon"},
{"eif", "text/x-eiffel"},
{"el", "text/x-emacs-lisp"},
{"emf", "image/emf"},
{"eml", "message/rfc822"},
{"emp", "application/vnd.emusic-emusic_package"},
{"ent", "application/xml-external-parsed-entity"},
{"eps", "image/x-eps"},
{"eps.bz2", "image/x-bzeps"},
{"eps.gz", "image/x-gzeps"},
{"epsf", "image/x-eps"},
{"epsf.bz2", "image/x-bzeps"},
{"epsf.gz", "image/x-gzeps"},
{"epsi", "image/x-eps"},
{"epsi.bz2", "image/x-bzeps"},
{"epsi.gz", "image/x-gzeps"},
{"epub", "application/epub+zip"},
{"erl", "text/x-erlang"},
{"es", "application/ecmascript"},
{"escn", "application/x-godot-scene"},
{"etheme", "application/x-e-theme"},
{"etx", "text/x-setext"},
{"ex", "text/x-elixir"},
{"exe", "application/x-ms-dos-executable"},
{"exr", "image/x-exr"},
{"exs", "text/x-elixir"},
{"ez", "application/andrew-inset"},
{"f", "text/x-fortran"},
{"f4a", "audio/mp4"},
{"f4b", "audio/x-m4b"},
{"f4v", "video/mp4"},
{"f90", "text/x-fortran"},
{"f95", "text/x-fortran"},
{"fasl", "text/x-common-lisp"},
{"fb2", "application/x-fictionbook+xml"},
{"fb2.zip", "application/x-zip-compressed-fb2"},
{"fd", "application/x-raw-floppy-disk-image"},
{"fds", "application/x-fds-disk"},
{"feature", "text/x-gherkin"},
{"fig", "image/x-xfig"},
{"fit", "application/fits"},
{"fits", "application/fits"},
{"fl", "application/x-fluid"},
{"flac", "audio/flac"},
{"flatpak", "application/vnd.flatpak"},
{"flatpakref", "application/vnd.flatpak.ref"},
{"flatpakrepo", "application/vnd.flatpak.repo"},
{"flc", "video/x-flic"},
{"fli", "video/x-flic"},
{"flv", "video/x-flv"},
{"flw", "application/x-kivio"},
{"fm", "application/vnd.framemaker"},
{"fo", "text/x-xslfo"},
{"fodg", "application/vnd.oasis.opendocument.graphics-flat-xml"},
{"fodp", "application/vnd.oasis.opendocument.presentation-flat-xml"},
{"fods", "application/vnd.oasis.opendocument.spreadsheet-flat-xml"},
{"fodt", "application/vnd.oasis.opendocument.text-flat-xml"},
{"for", "text/x-fortran"},
{"fts", "application/fits"},
{"fxm", "video/x-javafx"},
{"g3", "image/g3fax"},
{"gb", "application/x-gameboy-rom"},
{"gba", "application/x-gba-rom"},
{"gbc", "application/x-gameboy-color-rom"},
{"gbr", "image/x-gimp-gbr"},
{"gcode", "text/x.gcode"},
{"gcrd", "text/vcard"},
{"gd", "application/x-gdscript"},
{"gdi", "application/x-gd-rom-cue"},
{"gdshader", "application/x-godot-shader"},
{"ged", "application/x-gedcom"},
{"gedcom", "application/x-gedcom"},
{"gem", "application/x-tar"},
{"gen", "application/x-genesis-rom"},
{"geo.json", "application/geo+json"},
{"geojson", "application/geo+json"},
{"gf", "application/x-tex-gf"},
{"gg", "application/x-gamegear-rom"},
{"gif", "image/gif"},
{"gih", "image/x-gimp-gih"},
{"glade", "application/x-glade"},
{"glb", "model/gltf-binary"},
{"gltf", "model/gltf+json"},
{"gml", "application/gml+xml"},
{"gmo", "application/x-gettext-translation"},
{"gnc", "application/x-gnucash"},
{"gnd", "application/gnunet-directory"},
{"gnucash", "application/x-gnucash"},
{"gnumeric", "application/x-gnumeric"},
{"gnuplot", "application/x-gnuplot"},
{"go", "text/x-go"},
{"gp", "application/x-gnuplot"},
{"gpg", "application/pgp-encrypted"},
{"gplt", "application/x-gnuplot"},
{"gpx", "application/gpx+xml"},
{"gra", "application/x-graphite"},
{"gradle", "text/x-gradle"},
{"groovy", "text/x-groovy"},
{"gs", "text/x-genie"},
{"gsf", "application/x-font-type1"},
{"gsh", "text/x-groovy"},
{"gsm", "audio/x-gsm"},
{"gtar", "application/x-tar"},
{"gv", "text/vnd.graphviz"},
{"gvp", "text/x-google-video-pointer"},
{"gvy", "text/x-groovy"},
{"gx", "text/x-gcode-gx"},
{"gy", "text/x-groovy"},
{"gz", "application/gzip"},
{"h", "text/x-chdr"},
{"h++", "text/x-c++hdr"},
{"h4", "application/x-hdf"},
{"h5", "application/x-hdf"},
{"hdf", "application/x-hdf"},
{"hdf4", "application/x-hdf"},
{"hdf5", "application/x-hdf"},
{"heic", "image/heif"},
{"heif", "image/heif"},
{"hfe", "application/x-hfe-floppy-image"},
{"hh", "text/x-c++hdr"},
{"hif", "image/heif"},
{"hlp", "application/winhlp"},
{"hp", "text/x-c++hdr"},
{"hpgl", "application/vnd.hp-hpgl"},
{"hpp", "text/x-c++hdr"},
{"hs", "text/x-haskell"},
{"htm", "text/html"},
{"html", "text/html"},
{"hwp", "application/x-hwp"},
{"hwt", "application/x-hwt"},
{"hxx", "text/x-c++hdr"},
{"ica", "application/x-ica"},
{"icb", "image/x-tga"},
{"icc", "application/vnd.iccprofile"},
{"icm", "application/vnd.iccprofile"},
{"icns", "image/x-icns"},
{"ico", "image/vnd.microsoft.icon"},
{"ics", "text/calendar"},
{"idl", "text/x-idl"},
{"ief", "image/ief"},
{"iff", "image/x-ilbm"},
{"iges", "model/iges"},
{"igs", "model/iges"},
{"ilbm", "image/x-ilbm"},
{"ime", "text/x-iMelody"},
{"img", "application/x-raw-disk-image"},
{"img.xz", "application/x-raw-disk-image-xz-compressed"},
{"imy", "text/x-iMelody"},
{"ins", "text/x-tex"},
{"ips", "application/x-ips-patch"},
{"iptables", "text/x-iptables"},
{"ipynb", "application/x-ipynb+json"},
{"iso", "application/x-cd-image"},
{"iso9660", "application/x-cd-image"},
{"it", "audio/x-it"},
{"it87", "application/x-it87"},
{"j2c", "image/x-jp2-codestream"},
{"j2k", "image/x-jp2-codestream"},
{"jad", "text/vnd.sun.j2me.app-descriptor"},
{"jar", "application/x-java-archive"},
{"java", "text/x-java"},
{"jceks", "application/x-java-jce-keystore"},
{"jks", "application/x-java-keystore"},
{"jng", "image/x-jng"},
{"jnlp", "application/x-java-jnlp-file"},
{"jp2", "image/jp2"},
{"jpc", "image/x-jp2-codestream"},
{"jpe", "image/jpeg"},
{"jpeg", "image/jpeg"},
{"jpf", "image/jpx"},
{"jpg", "image/jpeg"},
{"jpg2", "image/jp2"},
{"jpgm", "image/jpm"},
{"jpm", "image/jpm"},
{"jpr", "application/x-jbuilder-project"},
{"jpx", "application/x-jbuilder-project"},
{"jrd", "application/jrd+json"},
{"js", "text/javascript"},
{"jsm", "text/javascript"},
{"json", "application/json"},
{"json-patch", "application/json-patch+json"},
{"jsonld", "application/ld+json"},
{"jxl", "image/jxl"},
{"k25", "image/x-kodak-k25"},
{"k7", "application/x-thomson-cassette"},
{"kar", "audio/midi"},
{"karbon", "application/x-karbon"},
{"kdc", "image/x-kodak-kdc"},
{"kdelnk", "application/x-desktop"},
{"kexi", "application/x-kexiproject-sqlite2"},
{"kexic", "application/x-kexi-connectiondata"},
{"kexis", "application/x-kexiproject-shortcut"},
{"key", "application/vnd.apple.keynote"},
{"kfo", "application/x-kformula"},
{"kfx", "application/vnd.amazon.mobi8-ebook"},
{"kil", "application/x-killustrator"},
{"kino", "application/smil+xml"},
{"kml", "application/vnd.google-earth.kml+xml"},
{"kmz", "application/vnd.google-earth.kmz"},
{"kon", "application/x-kontour"},
{"kpm", "application/x-kpovmodeler"},
{"kpr", "application/x-kpresenter"},
{"kpt", "application/x-kpresenter"},
{"kra", "application/x-krita"},
{"krz", "application/x-krita"},
{"ks", "application/x-java-keystore"},
{"ksp", "application/x-kspread"},
{"ksy", "text/x-kaitai-struct"},
{"kt", "text/x-kotlin"},
{"ktx", "image/ktx"},
{"ktx2", "image/ktx2"},
{"kud", "application/x-kugar"},
{"kwd", "application/x-kword"},
{"kwt", "application/x-kword"},
{"la", "application/x-shared-library-la"},
{"latex", "text/x-tex"},
{"lbm", "image/x-ilbm"},
{"ldif", "text/x-ldif"},
{"lha", "application/x-lha"},
{"lhs", "text/x-literate-haskell"},
{"lhz", "application/x-lhz"},
{"lisp", "text/x-common-lisp"},
{"lnx", "application/x-atari-lynx-rom"},
{"loas", "audio/usac"},
{"log", "text/x-log"},
{"lrv", "video/mp4"},
{"lrz", "application/x-lrzip"},
{"ltx", "text/x-tex"},
{"lua", "text/x-lua"},
{"lwo", "image/x-lwo"},
{"lwob", "image/x-lwo"},
{"lwp", "application/vnd.lotus-wordpro"},
{"lws", "image/x-lws"},
{"ly", "text/x-lilypond"},
{"lyx", "application/x-lyx"},
{"lz", "application/x-lzip"},
{"lz4", "application/x-lz4"},
{"lzh", "application/x-lha"},
{"lzma", "application/x-lzma"},
{"lzo", "application/x-lzop"},
{"m", "text/x-objcsrc"},
{"m15", "audio/x-mod"},
{"m1u", "video/vnd.mpegurl"},
{"m2t", "video/mp2t"},
{"m2ts", "video/mp2t"},
{"m3u", "audio/x-mpegurl"},
{"m3u8", "audio/x-mpegurl"},
{"m4", "application/x-m4"},
{"m4a", "audio/mp4"},
{"m4b", "audio/x-m4b"},
{"m4r", "audio/x-m4r"},
{"m4u", "video/vnd.mpegurl"},
{"m4v", "video/mp4"},
{"m7", "application/x-thomson-cartridge-memo7"},
{"mab", "application/x-markaby"},
{"mak", "text/x-makefile"},
{"man", "application/x-troff-man"},
{"manifest", "text/cache-manifest"},
{"markdown", "text/markdown"},
{"mbox", "application/mbox"},
{"mc2", "text/vnd.senx.warpscript"},
{"md", "text/markdown"},
{"mdb", "application/vnd.ms-access"},
{"mdi", "image/vnd.ms-modi"},
{"mdx", "application/x-genesis-32x-rom"},
{"me", "text/x-troff-me"},
{"med", "audio/x-mod"},
{"meta4", "application/metalink4+xml"},
{"metalink", "application/metalink+xml"},
{"mgp", "application/x-magicpoint"},
{"mht", "application/x-mimearchive"},
{"mhtml", "application/x-mimearchive"},
{"mid", "audio/midi"},
{"midi", "audio/midi"},
{"mif", "application/x-mif"},
{"minipsf", "audio/x-minipsf"},
{"mj2", "video/mj2"},
{"mjp2", "video/mj2"},
{"mjpeg", "video/x-mjpeg"},
{"mjpg", "video/x-mjpeg"},
{"mjs", "text/javascript"},
{"mk", "text/x-makefile"},
{"mk3d", "video/x-matroska-3d"},
{"mka", "audio/x-matroska"},
{"mkd", "text/markdown"},
{"mkv", "video/x-matroska"},
{"ml", "text/x-ocaml"},
{"mli", "text/x-ocaml"},
{"mm", "text/x-objc++src"},
{"mmf", "application/vnd.smaf"},
{"mml", "application/mathml+xml"},
{"mng", "video/x-mng"},
{"mo", "application/x-gettext-translation"},
{"mo3", "audio/x-mo3"},
{"mobi", "application/x-mobipocket-ebook"},
{"moc", "text/x-moc"},
{"mod", "audio/x-mod"},
{"mof", "text/x-mof"},
{"moov", "video/quicktime"},
{"mount", "text/x-systemd-unit"},
{"mov", "video/quicktime"},
{"movie", "video/x-sgi-movie"},
{"mp+", "audio/x-musepack"},
{"mp2", "audio/mp2"},
{"mp3", "audio/mpeg"},
{"mp4", "video/mp4"},
{"mpc", "audio/x-musepack"},
{"mpe", "video/mpeg"},
{"mpeg", "video/mpeg"},
{"mpg", "video/mpeg"},
{"mpga", "audio/mpeg"},
{"mpl", "text/x-mpl2"},
{"mpls", "video/mp2t"},
{"mpp", "audio/x-musepack"},
{"mrl", "text/x-mrml"},
{"mrml", "text/x-mrml"},
{"mrw", "image/x-minolta-mrw"},
{"ms", "text/x-troff-ms"},
{"msi", "application/x-msi"},
{"msod", "image/x-msod"},
{"msx", "application/x-msx-rom"},
{"mtl", "model/mtl"},
{"mtm", "audio/x-mod"},
{"mts", "video/mp2t"},
{"mup", "text/x-mup"},
{"mxf", "application/mxf"},
{"mxmf", "audio/mobile-xmf"},
{"mxu", "video/vnd.mpegurl"},
{"n64", "application/x-n64-rom"},
{"nb", "application/mathematica"},
{"nc", "application/x-netcdf"},
{"nds", "application/x-nintendo-ds-rom"},
{"nef", "image/x-nikon-nef"},
{"nes", "application/x-nes-rom"},
{"nez", "application/x-nes-rom"},
{"nfo", "text/x-nfo"},
{"ngc", "application/x-neo-geo-pocket-color-rom"},
{"ngp", "application/x-neo-geo-pocket-rom"},
{"not", "text/x-mup"},
{"nrw", "image/x-nikon-nrw"},
{"nsc", "application/x-netshow-channel"},
{"nsv", "video/x-nsv"},
{"numbers", "application/vnd.apple.numbers"},
{"nzb", "application/x-nzb"},
{"o", "application/x-object"},
{"obj", "application/x-tgif"},
{"ocl", "text/x-ocl"},
{"oda", "application/oda"},
{"odb", "application/vnd.oasis.opendocument.database"},
{"odc", "application/vnd.oasis.opendocument.chart"},
{"odf", "application/vnd.oasis.opendocument.formula"},
{"odg", "application/vnd.oasis.opendocument.graphics"},
{"odi", "application/vnd.oasis.opendocument.image"},
{"odm", "application/vnd.oasis.opendocument.text-master"}, // nocheck
{"odp", "application/vnd.oasis.opendocument.presentation"},
{"ods", "application/vnd.oasis.opendocument.spreadsheet"},
{"odt", "application/vnd.oasis.opendocument.text"},
{"oga", "audio/ogg"},
{"ogg", "audio/ogg"},
{"ogm", "video/x-ogm+ogg"},
{"ogv", "video/ogg"},
{"ogx", "application/ogg"},
{"old", "application/x-trash"},
{"oleo", "application/x-oleo"},
{"ooc", "text/x-ooc"},
{"opml", "text/x-opml+xml"},
{"oprc", "application/vnd.palm"},
{"opus", "audio/ogg"},
{"ora", "image/openraster"},
{"orf", "image/x-olympus-orf"},
{"org", "text/org"},
{"otc", "application/vnd.oasis.opendocument.chart-template"},
{"otf", "application/vnd.oasis.opendocument.formula-template"},
{"otg", "application/vnd.oasis.opendocument.graphics-template"},
{"oth", "application/vnd.oasis.opendocument.text-web"},
{"otp", "application/vnd.oasis.opendocument.presentation-template"},
{"ots", "application/vnd.oasis.opendocument.spreadsheet-template"},
{"ott", "application/vnd.oasis.opendocument.text-template"},
{"ova", "application/ovf"},
{"owl", "application/rdf+xml"},
{"owx", "application/owl+xml"},
{"oxps", "application/oxps"},
{"oxt", "application/vnd.openofficeorg.extension"},
{"p", "text/x-pascal"},
{"p10", "application/pkcs10"},
{"p12", "application/pkcs12"},
{"p65", "application/x-pagemaker"},
{"p7b", "application/x-pkcs7-certificates"},
{"p7c", "application/pkcs7-mime"},
{"p7m", "application/pkcs7-mime"},
{"p7s", "application/pkcs7-signature"},
{"p8", "application/pkcs8"},
{"p8e", "application/pkcs8-encrypted"},
{"pack", "application/x-java-pack200"},
{"pages", "application/vnd.apple.pages"},
{"pak", "application/x-pak"},
{"par2", "application/x-par2"},
{"part", "application/x-partial-download"},
{"pas", "text/x-pascal"},
{"pat", "image/x-gimp-pat"},
{"patch", "text/x-patch"},
{"path", "text/x-systemd-unit"},
{"pbm", "image/x-portable-bitmap"},
{"pcap", "application/vnd.tcpdump.pcap"},
{"pcd", "image/x-photo-cd"},
{"pce", "application/x-pc-engine-rom"},
{"pcf", "application/x-font-pcf"},
{"pcf.gz", "application/x-font-pcf"},
{"pcf.z", "application/x-font-pcf"},
{"pcl", "application/vnd.hp-pcl"},
{"pct", "image/x-pict"},
{"pcx", "image/vnd.zbrush.pcx"},
{"pdb", "application/x-aportisdoc"},
{"pdc", "application/x-aportisdoc"},
{"pdf", "application/pdf"},
{"pdf.bz2", "application/x-bzpdf"},
{"pdf.gz", "application/x-gzpdf"},
{"pdf.lz", "application/x-lzpdf"},
{"pdf.xz", "application/x-xzpdf"},
{"pef", "image/x-pentax-pef"},
{"pem", "application/x-x509-ca-cert"},
{"perl", "application/x-perl"},
{"pfa", "application/x-font-type1"},
{"pfb", "application/x-font-type1"},
{"pfx", "application/pkcs12"},
{"pgm", "image/x-portable-graymap"},
{"pgn", "application/vnd.chess-pgn"},
{"pgp", "application/pgp-encrypted"},
{"php", "application/x-php"},
{"php3", "application/x-php"},
{"php4", "application/x-php"},
{"php5", "application/x-php"},
{"phps", "application/x-php"},
{"pict", "image/x-pict"},
{"pict1", "image/x-pict"},
{"pict2", "image/x-pict"},
{"pk", "application/x-tex-pk"},
{"pkg", "application/x-xar"},
{"pkipath", "application/pkix-pkipath"},
{"pkpass", "application/vnd.apple.pkpass"},
{"pkr", "application/pgp-keys"},
{"pl", "application/x-perl"},
{"pla", "audio/x-iriver-pla"},
{"pln", "application/x-planperfect"},
{"pls", "audio/x-scpls"},
{"pm", "application/x-perl"},
{"pm6", "application/x-pagemaker"},
{"pmd", "application/x-pagemaker"},
{"png", "image/png"},
{"pnm", "image/x-portable-anymap"},
{"pntg", "image/x-macpaint"},
{"po", "text/x-gettext-translation"},
{"pod", "application/x-perl"},
{"por", "application/x-spss-por"},
{"pot", "application/vnd.ms-powerpoint"},
{"potm", "application/vnd.ms-powerpoint.template.macroEnabled.12"},
{"potx",
"application/vnd.openxmlformats-officedocument.presentationml.template"},
{"ppam", "application/vnd.ms-powerpoint.addin.macroEnabled.12"},
{"ppm", "image/x-portable-pixmap"},
{"pps", "application/vnd.ms-powerpoint"},
{"ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"},
{"ppsx",
"application/"
"vnd.openxmlformats-officedocument.presentationml.slideshow"},
{"ppt", "application/vnd.ms-powerpoint"},
{"pptm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12"},
{"pptx",
"application/"
"vnd.openxmlformats-officedocument.presentationml.presentation"},
{"ppz", "application/vnd.ms-powerpoint"},
{"pqa", "application/vnd.palm"},
{"prc", "application/x-mobipocket-ebook"},
{"ps", "application/postscript"},
{"ps.bz2", "application/x-bzpostscript"},
{"ps.gz", "application/x-gzpostscript"},
{"psd", "image/vnd.adobe.photoshop"},
{"psf", "application/x-font-linux-psf"},
{"psf.gz", "application/x-gz-font-linux-psf"},
{"psflib", "audio/x-psflib"},
{"psid", "audio/prs.sid"},
{"psw", "application/x-pocket-word"},
{"pub", "application/vnd.ms-publisher"},
{"pw", "application/x-pw"},
{"py", "text/x-python"},
{"py3", "text/x-python3"},
{"py3x", "text/x-python3"},
{"pyc", "application/x-python-bytecode"},
{"pyi", "text/x-python3"},
{"pyo", "application/x-python-bytecode"},
{"pys", "application/x-pyspread-bz-spreadsheet"},
{"pysu", "application/x-pyspread-spreadsheet"},
{"pyx", "text/x-python"},
{"qcow", "application/x-qemu-disk"},
{"qcow2", "application/x-qemu-disk"},
{"qd", "application/x-raw-floppy-disk-image"},
{"qed", "application/x-qed-disk"},
{"qif", "application/x-qw"},
{"qml", "text/x-qml"},
{"qmlproject", "text/x-qml"},
{"qmltypes", "text/x-qml"},
{"qp", "application/x-qpress"},
{"qs", "application/sparql-query"},
{"qt", "video/quicktime"},
{"qti", "application/x-qtiplot"},
{"qti.gz", "application/x-qtiplot"},
{"qtif", "image/x-quicktime"},
{"qtl", "application/x-quicktime-media-link"},
{"qtvr", "video/quicktime"},
{"ra", "audio/vnd.rn-realaudio"},
{"raf", "image/x-fuji-raf"},
{"ram", "application/ram"},
{"raml", "application/raml+yaml"},
{"rar", "application/vnd.rar"},
{"ras", "image/x-cmu-raster"},
{"raw", "image/x-panasonic-rw"},
{"raw-disk-image", "application/x-raw-disk-image"},
{"raw-disk-image.xz", "application/x-raw-disk-image-xz-compressed"},
{"rax", "audio/vnd.rn-realaudio"},
{"rb", "application/x-ruby"},
{"rdf", "application/rdf+xml"},
{"rdfs", "application/rdf+xml"},
{"reg", "text/x-ms-regedit"},
{"rej", "text/x-reject"},
{"res", "application/x-godot-resource"},
{"rgb", "image/x-rgb"},
{"rle", "image/rle"},
{"rm", "application/vnd.rn-realmedia"},
{"rmj", "application/vnd.rn-realmedia"},
{"rmm", "application/vnd.rn-realmedia"},
{"rms", "application/vnd.rn-realmedia"},
{"rmvb", "application/vnd.rn-realmedia"},
{"rmx", "application/vnd.rn-realmedia"},
{"rnc", "application/relax-ng-compact-syntax"},
{"rng", "application/xml"},
{"roff", "text/troff"},
{"ros", "text/x-common-lisp"},
{"rp", "image/vnd.rn-realpix"},
{"rpm", "application/x-rpm"},
{"rs", "text/rust"},
{"rss", "application/rss+xml"},
{"rst", "text/x-rst"},
{"rt", "text/vnd.rn-realtext"},
{"rtf", "application/rtf"},
{"rtx", "text/richtext"},
{"rv", "video/vnd.rn-realvideo"},
{"rvx", "video/vnd.rn-realvideo"},
{"rw2", "image/x-panasonic-rw2"},
{"s3m", "audio/x-s3m"},
{"sage", "text/x-sagemath"},
{"sam", "application/x-amipro"},
{"sami", "application/x-sami"},
{"sap", "application/x-thomson-sap-image"},
{"sass", "text/x-sass"},
{"sav", "application/x-spss-sav"},
{"sc", "text/x-scala"},
{"scala", "text/x-scala"},
{"scm", "text/x-scheme"},
{"scn", "application/x-godot-scene"},
{"scope", "text/x-systemd-unit"},
{"scss", "text/x-scss"},
{"sda", "application/vnd.stardivision.draw"},
{"sdc", "application/vnd.stardivision.calc"},
{"sdd", "application/vnd.stardivision.impress"},
{"sdp", "application/vnd.stardivision.impress"},
{"sds", "application/vnd.stardivision.chart"},
{"sdw", "application/vnd.stardivision.writer"},
{"service", "text/x-dbus-service"},
{"sfc", "application/vnd.nintendo.snes.rom"},
{"sg", "application/x-sg1000-rom"},
{"sgb", "application/x-gameboy-rom"},
{"sgd", "application/x-genesis-rom"},
{"sgf", "application/x-go-sgf"},
{"sgi", "image/x-sgi"},
{"sgl", "application/vnd.stardivision.writer"},
{"sgm", "text/sgml"},
{"sgml", "text/sgml"},
{"sh", "application/x-shellscript"},
{"shape", "application/x-dia-shape"},
{"shar", "application/x-shar"},
{"shn", "application/x-shorten"},
{"siag", "application/x-siag"},
{"sid", "audio/prs.sid"},
{"sig", "application/pgp-signature"},
{"sik", "application/x-trash"},
{"sis", "application/vnd.symbian.install"},
{"sisx", "x-epoc/x-sisx-app"},
{"sit", "application/x-stuffit"},
{"siv", "application/sieve"},
{"sk", "image/x-skencil"},
{"sk1", "image/x-skencil"},
{"skr", "application/pgp-keys"},
{"sldm", "application/vnd.ms-powerpoint.slide.macroEnabled.12"},
{"sldx",
"application/vnd.openxmlformats-officedocument.presentationml.slide"},
{"slice", "text/x-systemd-unit"},
{"slk", "text/spreadsheet"},
{"smaf", "application/vnd.smaf"},
{"smc", "application/vnd.nintendo.snes.rom"},
{"smd", "application/vnd.stardivision.mail"},
{"smf", "application/vnd.stardivision.math"},
{"smi", "application/smil+xml"},
{"smil", "application/smil+xml"},
{"smk", "video/vnd.radgamettools.smacker"},
{"sml", "application/smil+xml"},
{"sms", "application/x-sms-rom"},
{"snap", "application/vnd.snap"},
{"snd", "audio/basic"},
{"so", "application/x-sharedlib"},
{"socket", "text/x-systemd-unit"},
{"spc", "application/x-pkcs7-certificates"},
{"spd", "application/x-font-speedo"},
{"spec", "text/x-rpm-spec"},
{"spl", "application/vnd.adobe.flash.movie"},
{"spm", "application/x-source-rpm"},
{"spx", "audio/x-speex+ogg"},
{"sql", "application/sql"},
{"sqlite2", "application/x-sqlite2"},
{"sqlite3", "application/vnd.sqlite3"},
{"sqsh", "application/vnd.squashfs"},
{"sr2", "image/x-sony-sr2"},
{"src", "application/x-wais-source"},
{"src.rpm", "application/x-source-rpm"},
{"srf", "image/x-sony-srf"},
{"srt", "application/x-subrip"},
{"srx", "application/sparql-results+xml"},
{"ss", "text/x-scheme"},
{"ssa", "text/x-ssa"},
{"stc", "application/vnd.sun.xml.calc.template"},
{"std", "application/vnd.sun.xml.draw.template"},
{"sti", "application/vnd.sun.xml.impress.template"},
{"stl", "model/stl"},
{"stm", "audio/x-stm"},
{"stw", "application/vnd.sun.xml.writer.template"},
{"sty", "text/x-tex"},
{"sub", "text/x-microdvd"},
{"sun", "image/x-sun-raster"},
{"sv", "text/x-svsrc"},
{"sv4cpio", "application/x-sv4cpio"},
{"sv4crc", "application/x-sv4crc"},
{"svg", "image/svg+xml"},
{"svg.gz", "image/svg+xml-compressed"},
{"svgz", "image/svg+xml-compressed"},
{"svh", "text/x-svhdr"},
{"swap", "text/x-systemd-unit"},
{"swf", "application/vnd.adobe.flash.movie"},
{"swm", "application/x-ms-wim"},
{"sxc", "application/vnd.sun.xml.calc"},
{"sxd", "application/vnd.sun.xml.draw"},
{"sxg", "application/vnd.sun.xml.writer.global"},
{"sxi", "application/vnd.sun.xml.impress"},
{"sxm", "application/vnd.sun.xml.math"},
{"sxw", "application/vnd.sun.xml.writer"},
{"sylk", "text/spreadsheet"},
{"t", "application/x-perl"},
{"t2t", "text/x-txt2tags"},
{"tak", "audio/x-tak"},
{"tar", "application/x-tar"},
{"tar.bz", "application/x-bzip-compressed-tar"},
{"tar.bz2", "application/x-bzip-compressed-tar"},
{"tar.gz", "application/x-compressed-tar"},
{"tar.lrz", "application/x-lrzip-compressed-tar"},
{"tar.lz", "application/x-lzip-compressed-tar"},
{"tar.lz4", "application/x-lz4-compressed-tar"},
{"tar.lzma", "application/x-lzma-compressed-tar"},
{"tar.lzo", "application/x-tzo"},
{"tar.xz", "application/x-xz-compressed-tar"},
{"tar.z", "application/x-tarz"},
{"tar.zst", "application/x-zstd-compressed-tar"},
{"target", "text/x-systemd-unit"},
{"taz", "application/x-tarz"},
{"tb2", "application/x-bzip-compressed-tar"},
{"tbz", "application/x-bzip-compressed-tar"},
{"tbz2", "application/x-bzip-compressed-tar"},
{"tcl", "text/tcl"},
{"tex", "text/x-tex"},
{"texi", "text/x-texinfo"},
{"texinfo", "text/x-texinfo"},
{"tga", "image/x-tga"},
{"tgz", "application/x-compressed-tar"},
{"theme", "application/x-theme"},
{"themepack", "application/x-windows-themepack"},
{"tif", "image/tiff"},
{"tiff", "image/tiff"},
{"timer", "text/x-systemd-unit"},
{"tk", "text/tcl"},
{"tlrz", "application/x-lrzip-compressed-tar"},
{"tlz", "application/x-lzma-compressed-tar"},
{"tnef", "application/vnd.ms-tnef"},
{"tnf", "application/vnd.ms-tnef"},
{"toc", "application/x-cdrdao-toc"},
{"toml", "application/toml"},
{"torrent", "application/x-bittorrent"},
{"tpic", "image/x-tga"},
{"tr", "text/troff"},
{"tres", "application/x-godot-resource"},
{"trig", "application/trig"},
{"ts", "text/vnd.trolltech.linguist"},
{"tscn", "application/x-godot-scene"},
{"tsv", "text/tab-separated-values"},
{"tta", "audio/x-tta"},
{"ttc", "font/collection"},
{"ttf", "font/ttf"},
{"ttl", "text/turtle"},
{"ttx", "application/x-font-ttx"},
{"twig", "text/x-twig"},
{"txt", "text/plain"},
{"txz", "application/x-xz-compressed-tar"},
{"tzo", "application/x-tzo"},
{"tzst", "application/x-zstd-compressed-tar"},
{"udeb", "application/vnd.debian.binary-package"},
{"ufraw", "application/x-ufraw"},
{"ui", "application/x-designer"},
{"uil", "text/x-uil"},
{"ult", "audio/x-mod"},
{"unf", "application/x-nes-rom"},
{"uni", "audio/x-mod"},
{"unif", "application/x-nes-rom"},
{"url", "application/x-mswinurl"},
{"ustar", "application/x-ustar"},
{"uue", "text/x-uuencode"},
{"v", "text/x-verilog"},
{"v64", "application/x-n64-rom"},
{"vala", "text/x-vala"},
{"vapi", "text/x-vala"},
{"vb", "application/x-virtual-boy-rom"},
{"vbs", "text/vbscript"},
{"vcard", "text/vcard"},
{"vcf", "text/vcard"},
{"vcs", "text/calendar"},
{"vct", "text/vcard"},
{"vda", "image/x-tga"},
{"vdi", "application/x-vdi-disk"},
{"vhd", "text/x-vhdl"},
{"vhdl", "text/x-vhdl"},
{"vhdx", "application/x-vhdx-disk"},
{"viv", "video/vnd.vivo"},
{"vivo", "video/vnd.vivo"},
{"vlc", "audio/x-mpegurl"},
{"vmdk", "application/x-vmdk-disk"},
{"vob", "video/mpeg"},
{"voc", "audio/x-voc"},
{"vor", "application/vnd.stardivision.writer"},
{"vpc", "application/x-vhd-disk"},
{"vrm", "model/vrml"},
{"vrml", "model/vrml"},
{"vsd", "application/vnd.visio"},
{"vsdm", "application/vnd.ms-visio.drawing.macroEnabled.main+xml"},
{"vsdx", "application/vnd.ms-visio.drawing.main+xml"},
{"vss", "application/vnd.visio"},
{"vssm", "application/vnd.ms-visio.stencil.macroEnabled.main+xml"},
{"vssx", "application/vnd.ms-visio.stencil.main+xml"},
{"vst", "application/vnd.visio"},
{"vstm", "application/vnd.ms-visio.template.macroEnabled.main+xml"},
{"vstx", "application/vnd.ms-visio.template.main+xml"},
{"vsw", "application/vnd.visio"},
{"vtt", "text/vtt"},
{"wad", "application/x-doom-wad"},
{"wav", "audio/x-wav"},
{"wax", "audio/x-ms-asx"},
{"wb1", "application/x-quattropro"},
{"wb2", "application/x-quattropro"},
{"wb3", "application/x-quattropro"},
{"wbmp", "image/vnd.wap.wbmp"},
{"wcm", "application/vnd.ms-works"},
{"wdb", "application/vnd.ms-works"},
{"webm", "video/webm"},
{"webp", "image/webp"},
{"wim", "application/x-ms-wim"},
{"wk1", "application/vnd.lotus-1-2-3"},
{"wk3", "application/vnd.lotus-1-2-3"},
{"wk4", "application/vnd.lotus-1-2-3"},
{"wkdownload", "application/x-partial-download"},
{"wks", "application/vnd.lotus-1-2-3"},
{"wma", "audio/x-ms-wma"},
{"wmf", "image/wmf"},
{"wml", "text/vnd.wap.wml"},
{"wmls", "text/vnd.wap.wmlscript"},
{"wmv", "video/x-ms-wmv"},
{"wmx", "audio/x-ms-asx"},
{"woff", "font/woff"},
{"woff2", "font/woff2"},
{"wp", "application/vnd.wordperfect"},
{"wp4", "application/vnd.wordperfect"},
{"wp5", "application/vnd.wordperfect"},
{"wp6", "application/vnd.wordperfect"},
{"wpd", "application/vnd.wordperfect"},
{"wpg", "application/x-wpg"},
{"wpl", "application/vnd.ms-wpl"},
{"wpp", "application/vnd.wordperfect"},
{"wps", "application/vnd.ms-works"},
{"wri", "application/x-mswrite"},
{"wrl", "model/vrml"},
{"ws", "application/x-wonderswan-rom"},
{"wsc", "application/x-wonderswan-color-rom"},
{"wsgi", "text/x-python"},
{"wv", "audio/x-wavpack"},
{"wvc", "audio/x-wavpack-correction"},
{"wvp", "audio/x-wavpack"},
{"wvx", "audio/x-ms-asx"},
{"wwf", "application/x-wwf"},
{"x3f", "image/x-sigma-x3f"},
{"xac", "application/x-gnucash"},
{"xar", "application/x-xar"},
{"xbel", "application/x-xbel"},
{"xbl", "application/xml"},
{"xbm", "image/x-xbitmap"},
{"xcf", "image/x-xcf"},
{"xcf.bz2", "image/x-compressed-xcf"},
{"xcf.gz", "image/x-compressed-xcf"},
{"xdgapp", "application/vnd.flatpak"},
{"xhe", "audio/usac"},
{"xht", "application/xhtml+xml"},
{"xhtml", "application/xhtml+xml"},
{"xi", "audio/x-xi"},
{"xla", "application/vnd.ms-excel"},
{"xlam", "application/vnd.ms-excel.addin.macroEnabled.12"},
{"xlc", "application/vnd.ms-excel"},
{"xld", "application/vnd.ms-excel"},
{"xlf", "application/xliff+xml"},
{"xliff", "application/xliff+xml"},
{"xll", "application/vnd.ms-excel"},
{"xlm", "application/vnd.ms-excel"},
{"xlr", "application/vnd.ms-works"},
{"xls", "application/vnd.ms-excel"},
{"xlsb", "application/vnd.ms-excel.sheet.binary.macroEnabled.12"},
{"xlsm", "application/vnd.ms-excel.sheet.macroEnabled.12"},
{"xlsx",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},
{"xlt", "application/vnd.ms-excel"},
{"xltm", "application/vnd.ms-excel.template.macroEnabled.12"},
{"xltx",
"application/vnd.openxmlformats-officedocument.spreadsheetml.template"},
{"xlw", "application/vnd.ms-excel"},
{"xm", "audio/x-xm"},
{"xmf", "audio/x-xmf"},
{"xmi", "text/x-xmi"},
{"xml", "application/xml"},
{"xpi", "application/x-xpinstall"},
{"xpm", "image/x-xpixmap"},
{"xps", "application/vnd.ms-xpsdocument"},
{"xsd", "application/xml"},
{"xsl", "application/xslt+xml"},
{"xslfo", "text/x-xslfo"},
{"xslt", "application/xslt+xml"},
{"xspf", "application/xspf+xml"},
{"xul", "application/vnd.mozilla.xul+xml"},
{"xwd", "image/x-xwindowdump"},
{"xz", "application/x-xz"},
{"yaml", "application/x-yaml"},
{"yml", "application/x-yaml"},
{"yt", "video/vnd.youtube.yt"},
{"z", "application/x-compress"},
{"z64", "application/x-n64-rom"},
{"zabw", "application/x-abiword"},
{"zim", "application/x-openzim"},
{"zip", "application/zip"},
{"zipx", "application/zip"},
{"zoo", "application/x-zoo"},
{"zsav", "application/x-spss-sav"},
{"zst", "application/zstd"},
{"zz", "application/zlib"},
});
// If first match fails, try matching lower case.
auto it = kMap.find(ext);
if (it != kMap.end()) {
*result = std::string(it->second);
return true;
}
it = kMap.find(base::ToLowerASCII(ext));
if (it != kMap.end()) {
*result = std::string(it->second);
return true;
}
return false;
}
} // namespace xdg_shared_mime_info