瀏覽代碼

LibWeb: Implement HTMLImageElement.complete according to spec

Now that we use the HTML image loading algorithm from spec, we can
implement complete correctly.

This (finally) fixes an issue where images were not loading on
https://twinings.co.uk/ :^)
Andreas Kling 2 年之前
父節點
當前提交
5e24b97275
共有 1 個文件被更改,包括 4 次插入2 次删除
  1. 4 2
      Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp

+ 4 - 2
Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp

@@ -234,9 +234,11 @@ bool HTMLImageElement::complete() const
         return true;
 
     // - The img element's current request's state is completely available and its pending request is null.
+    if (m_current_request->state() == ImageRequest::State::CompletelyAvailable && !m_pending_request)
+        return true;
+
     // - The img element's current request's state is broken and its pending request is null.
-    // FIXME: This is ad-hoc and should be updated once we are loading images via the Fetch mechanism.
-    if (auto bitmap = current_image_bitmap())
+    if (m_current_request->state() == ImageRequest::State::Broken && !m_pending_request)
         return true;
 
     return false;