mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-23 08:00:20 +00:00
LibWeb: Remove unnecessary WeakPtr in queue_microtask_impl()
Capturing a WeakPtr to a GC-allocated object in a JS::SafeFunction is basically pointless, since the SafeFunction mechanism will then keep the object alive anyway.
This commit is contained in:
parent
57f508f048
commit
94f0c34dfe
Notes:
sideshowbarker
2024-07-17 05:17:50 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/94f0c34dfe Pull-request: https://github.com/SerenityOS/serenity/pull/15672
1 changed files with 2 additions and 6 deletions
|
@ -488,15 +488,11 @@ void Window::fire_a_page_transition_event(FlyString const& event_name, bool pers
|
||||||
void Window::queue_microtask_impl(WebIDL::CallbackType& callback)
|
void Window::queue_microtask_impl(WebIDL::CallbackType& callback)
|
||||||
{
|
{
|
||||||
// The queueMicrotask(callback) method must queue a microtask to invoke callback,
|
// The queueMicrotask(callback) method must queue a microtask to invoke callback,
|
||||||
HTML::queue_a_microtask(&associated_document(), [weak_window = make_weak_ptr<Window>(), &callback]() mutable {
|
HTML::queue_a_microtask(&associated_document(), [this, &callback]() mutable {
|
||||||
JS::GCPtr<Window> window = weak_window.ptr();
|
|
||||||
if (!window)
|
|
||||||
return;
|
|
||||||
|
|
||||||
auto result = WebIDL::invoke_callback(callback, {});
|
auto result = WebIDL::invoke_callback(callback, {});
|
||||||
// and if callback throws an exception, report the exception.
|
// and if callback throws an exception, report the exception.
|
||||||
if (result.is_error())
|
if (result.is_error())
|
||||||
HTML::report_exception(result, window->realm());
|
HTML::report_exception(result, realm());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue