diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp index f24efec906..1d293da46f 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp +++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp @@ -139,12 +139,10 @@ DOM::ExceptionOr CanvasRenderingContext2D::draw_image(CanvasImageSource co return {}; // 2. Let usability be the result of checking the usability of image. - auto usability = check_usability_of_image(image); - if (usability.is_exception()) - return usability.exception(); + auto usability = TRY(check_usability_of_image(image)); // 3. If usability is bad, then return (without drawing anything). - if (usability.value() == CanvasImageSourceUsability::Bad) + if (usability == CanvasImageSourceUsability::Bad) return {}; auto const* bitmap = image.visit([](auto const& source) { return source->bitmap(); }); @@ -645,7 +643,7 @@ NonnullRefPtr CanvasRenderingContext2D::create_conic_gradient(do DOM::ExceptionOr check_usability_of_image(CanvasImageSource const& image) { // 1. Switch on image: - auto usability = image.visit( + auto usability = TRY(image.visit( // HTMLOrSVGImageElement [](HTMLImageElement const& image_element) -> DOM::ExceptionOr> { // FIXME: If image's current request's state is broken, then throw an "InvalidStateError" DOMException. @@ -670,11 +668,9 @@ DOM::ExceptionOr check_usability_of_image(CanvasImag if (canvas_element.width() == 0 || canvas_element.height() == 0) return DOM::InvalidStateError::create("Canvas width or height is zero"); return Optional {}; - }); - if (usability.is_exception()) - return usability.exception(); - if (usability.value().has_value()) - return *usability.value(); + })); + if (usability.has_value()) + return usability.release_value(); // 2. Return good. return { CanvasImageSourceUsability::Good };