diff options
author | Peter Nelson <peter@peterdn.com> | 2020-04-25 14:24:26 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-04-25 16:49:09 +0200 |
commit | e159370ccb7ebe0ddea927cfd8864b76204bbc4c (patch) | |
tree | 899edbeb853add883a868d7b3d84d6c339304356 /Libraries | |
parent | a1c0eb1e1d31225f803a4dcf793c34f4889fcf46 (diff) | |
download | serenity-e159370ccb7ebe0ddea927cfd8864b76204bbc4c.zip |
LibWeb: Handle .gifs as images and use ImageDecoder to decode them
Diffstat (limited to 'Libraries')
-rw-r--r-- | Libraries/LibWeb/HtmlView.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Libraries/LibWeb/HtmlView.cpp b/Libraries/LibWeb/HtmlView.cpp index fbae7946de..5092d61b6a 100644 --- a/Libraries/LibWeb/HtmlView.cpp +++ b/Libraries/LibWeb/HtmlView.cpp @@ -27,11 +27,11 @@ #include <AK/FileSystemPath.h> #include <AK/URL.h> #include <LibCore/File.h> +#include <LibGfx/ImageDecoder.h> #include <LibGUI/Application.h> #include <LibGUI/Painter.h> #include <LibGUI/ScrollBar.h> #include <LibGUI/Window.h> -#include <LibGfx/PNGLoader.h> #include <LibJS/Runtime/Value.h> #include <LibWeb/DOM/Element.h> #include <LibWeb/DOM/ElementFactory.h> @@ -317,7 +317,8 @@ static RefPtr<Document> create_image_document(const ByteBuffer& data, const URL& { auto document = adopt(*new Document(url)); - auto bitmap = Gfx::load_png_from_memory(data.data(), data.size()); + auto image_decoder = Gfx::ImageDecoder::create(data.data(), data.size()); + auto bitmap = image_decoder->bitmap(); ASSERT(bitmap); auto html_element = create_element(document, "html"); @@ -366,7 +367,7 @@ void HtmlView::load(const URL& url) } RefPtr<Document> document; - if (url.path().ends_with(".png")) { + if (url.path().ends_with(".png") || url.path().ends_with(".gif")) { document = create_image_document(data, url); } else { document = parse_html_document(data, url); |