LibWeb: Add SVGImageElement load and error events

This resolves all WPT timeouts in html/canvas/element/manual/imagebitmap
We can now run an additional 6 tests and 126 subtests :)

This also adds regression tests for this behavior.
This commit is contained in:
Benjamin Bjerken 2024-10-16 16:31:05 +02:00 committed by Tim Ledbetter
commit 0c04bd6676
Notes: github-actions[bot] 2024-10-16 22:00:25 +00:00
3 changed files with 49 additions and 0 deletions

View file

@ -9,6 +9,7 @@
#include <LibJS/Heap/Heap.h>
#include <LibWeb/Bindings/SVGImageElementPrototype.h>
#include <LibWeb/DOM/DocumentObserver.h>
#include <LibWeb/DOM/Event.h>
#include <LibWeb/HTML/PotentialCORSRequest.h>
#include <LibWeb/HTML/SharedResourceRequest.h>
#include <LibWeb/Layout/SVGImageBox.h>
@ -161,9 +162,13 @@ void SVGImageElement::fetch_the_document(URL::URL const& url)
}
set_needs_style_update(true);
document().set_needs_layout();
dispatch_event(DOM::Event::create(realm(), HTML::EventNames::load));
},
[this] {
m_load_event_delayer.clear();
dispatch_event(DOM::Event::create(realm(), HTML::EventNames::error));
});
if (m_resource_request->needs_fetching()) {