diff --git a/Userland/Libraries/LibWeb/DOM/DocumentObserver.cpp b/Userland/Libraries/LibWeb/DOM/DocumentObserver.cpp index b941c4ace06..335bd15fe38 100644 --- a/Userland/Libraries/LibWeb/DOM/DocumentObserver.cpp +++ b/Userland/Libraries/LibWeb/DOM/DocumentObserver.cpp @@ -36,17 +36,26 @@ void DocumentObserver::finalize() void DocumentObserver::set_document_became_inactive(Function callback) { - m_document_became_inactive = JS::create_heap_function(vm().heap(), move(callback)); + if (callback) + m_document_became_inactive = JS::create_heap_function(vm().heap(), move(callback)); + else + m_document_became_inactive = nullptr; } void DocumentObserver::set_document_completely_loaded(Function callback) { - m_document_completely_loaded = JS::create_heap_function(vm().heap(), move(callback)); + if (callback) + m_document_completely_loaded = JS::create_heap_function(vm().heap(), move(callback)); + else + m_document_completely_loaded = nullptr; } void DocumentObserver::set_document_readiness_observer(Function callback) { - m_document_readiness_observer = JS::create_heap_function(vm().heap(), move(callback)); + if (callback) + m_document_readiness_observer = JS::create_heap_function(vm().heap(), move(callback)); + else + m_document_readiness_observer = nullptr; } }