diff options
author | Andreas Kling <kling@serenityos.org> | 2020-07-27 19:49:43 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-07-27 19:57:20 +0200 |
commit | 78518d230c3aae0071a8643cafde7152b9c6d0de (patch) | |
tree | a1788e6f928ccf9f6b46254f82ca6a3051b6a4ec /Libraries/LibWeb/Loader | |
parent | e3437414f05ed6d1e91f605af9c717a6a17963db (diff) | |
download | serenity-78518d230c3aae0071a8643cafde7152b9c6d0de.zip |
LibCore+LibWeb: Move guess-mimetype-based-on-filename logic to LibCore
This could be useful in more places.
Diffstat (limited to 'Libraries/LibWeb/Loader')
-rw-r--r-- | Libraries/LibWeb/Loader/Resource.cpp | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/Libraries/LibWeb/Loader/Resource.cpp b/Libraries/LibWeb/Loader/Resource.cpp index 99381eaff0..418b8d170a 100644 --- a/Libraries/LibWeb/Loader/Resource.cpp +++ b/Libraries/LibWeb/Loader/Resource.cpp @@ -25,6 +25,7 @@ */ #include <AK/Function.h> +#include <LibCore/MimeData.h> #include <LibWeb/HTML/HTMLImageElement.h> #include <LibWeb/Loader/Resource.h> @@ -83,32 +84,6 @@ String mime_type_from_content_type(const String& content_type) return content_type; } -static String guess_mime_type_based_on_filename(const URL& url) -{ - String lowercase_url = url.path().to_lowercase(); - if (lowercase_url.ends_with(".pbm")) - return "image/x‑portable‑bitmap"; - if (url.path().ends_with(".pgm")) - return "image/x‑portable‑graymap"; - if (url.path().ends_with(".png")) - return "image/png"; - if (lowercase_url.ends_with(".ppm")) - return "image/x‑portable‑pixmap"; - if (lowercase_url.ends_with(".gif")) - return "image/gif"; - if (lowercase_url.ends_with(".bmp")) - return "image/bmp"; - if (lowercase_url.ends_with(".jpg") || lowercase_url.ends_with(".jpeg")) - return "image/jpeg"; - if (lowercase_url.ends_with(".md")) - return "text/markdown"; - if (lowercase_url.ends_with(".html") || lowercase_url.ends_with(".htm")) - return "text/html"; - if (lowercase_url.ends_with("/")) - return "text/html"; - return "text/plain"; -} - void Resource::did_load(Badge<ResourceLoader>, const ByteBuffer& data, const HashMap<String, String, CaseInsensitiveStringTraits>& headers) { ASSERT(!m_loaded); @@ -134,7 +109,7 @@ void Resource::did_load(Badge<ResourceLoader>, const ByteBuffer& data, const Has dbg() << "No Content-Type header to go on! Guessing based on filename..."; #endif m_encoding = "utf-8"; // FIXME: This doesn't seem nice. - m_mime_type = guess_mime_type_based_on_filename(url()); + m_mime_type = Core::guess_mime_type_based_on_filename(url()); } for_each_client([](auto& client) { |