浏览代码

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;
         return true;
 
 
     // - The img element's current request's state is completely available and its pending request is null.
     // - 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.
     // - 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 true;
 
 
     return false;
     return false;