summaryrefslogtreecommitdiff
path: root/Libraries
diff options
context:
space:
mode:
authorPeter Nelson <peter@peterdn.com>2020-04-25 14:24:26 +0100
committerAndreas Kling <kling@serenityos.org>2020-04-25 16:49:09 +0200
commite159370ccb7ebe0ddea927cfd8864b76204bbc4c (patch)
tree899edbeb853add883a868d7b3d84d6c339304356 /Libraries
parenta1c0eb1e1d31225f803a4dcf793c34f4889fcf46 (diff)
downloadserenity-e159370ccb7ebe0ddea927cfd8864b76204bbc4c.zip
LibWeb: Handle .gifs as images and use ImageDecoder to decode them
Diffstat (limited to 'Libraries')
-rw-r--r--Libraries/LibWeb/HtmlView.cpp7
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);