1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-30 10:22:13 +00:00

LibWeb: Use Core::Timer instead of Platform::Timer in HTML::Timer

By using Core::Timer that accepts Function instead of JS::SafeFunction
in Platform::Timer does we fix memory leak caused by circular
dependency of timer's callback and timer itself.
This commit is contained in:
Aliaksandr Kalenik 2023-09-26 11:53:37 +02:00 committed by Andreas Kling
parent 67c727177e
commit 883a97984c
2 changed files with 4 additions and 4 deletions

View file

@ -4,10 +4,10 @@
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibCore/Timer.h>
#include <LibJS/Runtime/Object.h>
#include <LibWeb/HTML/Timer.h>
#include <LibWeb/HTML/Window.h>
#include <LibWeb/Platform/Timer.h>
namespace Web::HTML {
@ -21,9 +21,9 @@ Timer::Timer(JS::Object& window_or_worker_global_scope, i32 milliseconds, Functi
, m_callback(move(callback))
, m_id(id)
{
m_timer = Platform::Timer::create_single_shot(milliseconds, [this] {
m_timer = Core::Timer::create_single_shot(milliseconds, [this] {
m_callback();
});
}).release_value_but_fixme_should_propagate_errors();
}
void Timer::visit_edges(Cell::Visitor& visitor)