Forráskód Böngészése

LibWeb: Use the task queue to fire "load" and "error" events on images

Andreas Kling 3 éve
szülő
commit
33f67e4c0f
1 módosított fájl, 6 hozzáadás és 2 törlés
  1. 6 2
      Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp

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

@@ -22,13 +22,17 @@ HTMLImageElement::HTMLImageElement(DOM::Document& document, QualifiedName qualif
 {
     m_image_loader.on_load = [this] {
         this->document().update_layout();
-        dispatch_event(DOM::Event::create(EventNames::load));
+        queue_an_element_task(HTML::Task::Source::DOMManipulation, [this] {
+            dispatch_event(DOM::Event::create(EventNames::load));
+        });
     };
 
     m_image_loader.on_fail = [this] {
         dbgln("HTMLImageElement: Resource did fail: {}", src());
         this->document().update_layout();
-        dispatch_event(DOM::Event::create(EventNames::error));
+        queue_an_element_task(HTML::Task::Source::DOMManipulation, [this] {
+            dispatch_event(DOM::Event::create(EventNames::error));
+        });
     };
 
     m_image_loader.on_animate = [this] {