From 24cf56896b56d119d837855f5c0a1556481fe957 Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Sat, 5 Mar 2022 17:08:28 +0200 Subject: [PATCH] LibWeb: Use image's intrinsic dimensions when checking their usability Instead of the rendered dimensions. --- .../Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp index 87425f3656..19fa79440b 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp +++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp @@ -604,10 +604,13 @@ DOM::ExceptionOr check_usability_of_image(CanvasImag // HTMLOrSVGImageElement [](HTMLImageElement const& image_element) -> DOM::ExceptionOr> { // FIXME: If image's current request's state is broken, then throw an "InvalidStateError" DOMException. - // FIXME: If image is not fully decodable, then return bad. + + // If image is not fully decodable, then return bad. + if (!image_element.bitmap()) + return { CanvasImageSourceUsability::Bad }; // If image has an intrinsic width or intrinsic height (or both) equal to zero, then return bad. - if (image_element.width() == 0 || image_element.height() == 0) + if (image_element.bitmap()->width() == 0 || image_element.bitmap()->height() == 0) return { CanvasImageSourceUsability::Bad }; return Optional {}; },