diff --git a/Tests/LibWeb/Text/expected/HTML/SVGImageElement-load-and-error-events.txt b/Tests/LibWeb/Text/expected/HTML/SVGImageElement-load-and-error-events.txt new file mode 100644 index 00000000000..3752f8bc397 --- /dev/null +++ b/Tests/LibWeb/Text/expected/HTML/SVGImageElement-load-and-error-events.txt @@ -0,0 +1,3 @@ +SUCCESS: "data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" +FAIL: "file:///i-do-not-exist" +FAIL: "https://something.invalid" diff --git a/Tests/LibWeb/Text/input/HTML/SVGImageElement-load-and-error-events.html b/Tests/LibWeb/Text/input/HTML/SVGImageElement-load-and-error-events.html new file mode 100644 index 00000000000..db7a9e6182d --- /dev/null +++ b/Tests/LibWeb/Text/input/HTML/SVGImageElement-load-and-error-events.html @@ -0,0 +1,41 @@ + + + diff --git a/Userland/Libraries/LibWeb/SVG/SVGImageElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGImageElement.cpp index a0e2e726784..a684d51708c 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGImageElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGImageElement.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -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()) {