From b322abd8d0881003fcf84bed9c1fe6c30fcff191 Mon Sep 17 00:00:00 2001 From: PrestonLTaylor <95388976+PrestonLTaylor@users.noreply.github.com> Date: Tue, 30 May 2023 21:05:49 +0100 Subject: LibWeb: Add document_fully_loaded event to DocumentObserver SVGUseElement needs to be able to query the fully loaded document for its referenced element. --- Userland/Libraries/LibWeb/DOM/Document.cpp | 5 +++++ Userland/Libraries/LibWeb/DOM/DocumentObserver.h | 1 + 2 files changed, 6 insertions(+) diff --git a/Userland/Libraries/LibWeb/DOM/Document.cpp b/Userland/Libraries/LibWeb/DOM/Document.cpp index 3ed261fd9d..fcb2cff399 100644 --- a/Userland/Libraries/LibWeb/DOM/Document.cpp +++ b/Userland/Libraries/LibWeb/DOM/Document.cpp @@ -1679,6 +1679,11 @@ void Document::completely_finish_loading() container->dispatch_event(DOM::Event::create(container->realm(), HTML::EventNames::load).release_value_but_fixme_should_propagate_errors()); }); } + + for (auto& document_observer : m_document_observers) { + if (document_observer->document_fully_loaded) + document_observer->document_fully_loaded(); + } } DeprecatedString Document::cookie(Cookie::Source source) diff --git a/Userland/Libraries/LibWeb/DOM/DocumentObserver.h b/Userland/Libraries/LibWeb/DOM/DocumentObserver.h index 1378a2db05..4b52847927 100644 --- a/Userland/Libraries/LibWeb/DOM/DocumentObserver.h +++ b/Userland/Libraries/LibWeb/DOM/DocumentObserver.h @@ -18,6 +18,7 @@ class DocumentObserver final : public Bindings::PlatformObject { public: JS::SafeFunction document_became_inactive; + JS::SafeFunction document_fully_loaded; private: explicit DocumentObserver(JS::Realm&, DOM::Document&); -- cgit v1.2.3