mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-30 03:20:28 +00:00
LibWeb: make it possible to directly load .svg files
Make LibWeb load svg files by guessing the svg mime type from the file extension and parsing it with the HTML parser.
This commit is contained in:
parent
699e1fdc07
commit
05be6481b7
Notes:
sideshowbarker
2024-07-19 02:50:31 +09:00
Author: https://github.com/danners 🔰 Commit: https://github.com/SerenityOS/serenity/commit/05be6481b74 Pull-request: https://github.com/SerenityOS/serenity/pull/3434
2 changed files with 8 additions and 5 deletions
|
@ -87,6 +87,8 @@ String guess_mime_type_based_on_filename(const URL& url)
|
|||
return "image/bmp";
|
||||
if (lowercase_url.ends_with(".jpg") || lowercase_url.ends_with(".jpeg"))
|
||||
return "image/jpeg";
|
||||
if (lowercase_url.ends_with(".svg"))
|
||||
return "image/svg+xml";
|
||||
if (lowercase_url.ends_with(".md"))
|
||||
return "text/markdown";
|
||||
if (lowercase_url.ends_with(".html") || lowercase_url.ends_with(".htm"))
|
||||
|
|
|
@ -121,6 +121,11 @@ static RefPtr<DOM::Document> create_gemini_document(const ByteBuffer& data, cons
|
|||
|
||||
RefPtr<DOM::Document> FrameLoader::create_document_from_mime_type(const ByteBuffer& data, const URL& url, const String& mime_type, const String& encoding)
|
||||
{
|
||||
if (mime_type == "text/html" || mime_type == "image/svg+xml") {
|
||||
HTML::HTMLDocumentParser parser(data, encoding);
|
||||
parser.run(url);
|
||||
return parser.document();
|
||||
}
|
||||
if (mime_type.starts_with("image/"))
|
||||
return create_image_document(data, url);
|
||||
if (mime_type == "text/plain")
|
||||
|
@ -129,11 +134,7 @@ RefPtr<DOM::Document> FrameLoader::create_document_from_mime_type(const ByteBuff
|
|||
return create_markdown_document(data, url);
|
||||
if (mime_type == "text/gemini")
|
||||
return create_gemini_document(data, url);
|
||||
if (mime_type == "text/html") {
|
||||
HTML::HTMLDocumentParser parser(data, encoding);
|
||||
parser.run(url);
|
||||
return parser.document();
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue