Skip to content

Commit

Permalink
LibWeb: make it possible to directly load .svg files
Browse files Browse the repository at this point in the history
Make LibWeb load svg files by guessing the svg mime type from the file
extension and parsing it with the HTML parser.
  • Loading branch information
danners authored and awesomekling committed Sep 8, 2020
1 parent 699e1fd commit 05be648
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
2 changes: 2 additions & 0 deletions Libraries/LibCore/MimeData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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"))
Expand Down
11 changes: 6 additions & 5 deletions Libraries/LibWeb/Loader/FrameLoader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand All @@ -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;
}

Expand Down

0 comments on commit 05be648

Please sign in to comment.