From 13e1f61a819cbcf5e855d503124ecd93d6d4b63b Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Mon, 19 Jun 2023 06:54:07 -0400 Subject: [PATCH] LibCore: Support audio file extensions when determining MIME type Similar to commit bcfa4a3, this enables navigating to a file:// URL in Ladybird with audio file extensions. The file extensions used here were taken from https://docs.fileformat.com/audio/ (except QOA, which isn't listed). --- Userland/Libraries/LibCore/MimeData.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Userland/Libraries/LibCore/MimeData.cpp b/Userland/Libraries/LibCore/MimeData.cpp index f56b07fd002..bc2b589d8af 100644 --- a/Userland/Libraries/LibCore/MimeData.cpp +++ b/Userland/Libraries/LibCore/MimeData.cpp @@ -102,6 +102,16 @@ StringView guess_mime_type_based_on_filename(StringView path) return "application/x-sheets+json"sv; if (path.ends_with(".webm"sv, CaseSensitivity::CaseInsensitive)) return "video/webm"sv; + if (path.ends_with(".flac"sv, CaseSensitivity::CaseInsensitive)) + return "audio/flac"sv; + if (path.ends_with(".mid"sv, CaseSensitivity::CaseInsensitive) || path.ends_with(".midi"sv, CaseSensitivity::CaseInsensitive)) + return "audio/midi"sv; + if (path.ends_with(".mp3"sv, CaseSensitivity::CaseInsensitive)) + return "audio/mpeg"sv; + if (path.ends_with(".qoa"sv, CaseSensitivity::CaseInsensitive)) + return "audio/qoa"sv; + if (path.ends_with(".wav"sv, CaseSensitivity::CaseInsensitive)) + return "audio/wav"sv; // FIXME: Share this, TextEditor and HackStudio language detection somehow. auto basename = LexicalPath::basename(path); if (path.ends_with(".cpp"sv, CaseSensitivity::CaseInsensitive)