LibJS+LibWeb: Make HTML::Script GC-allocated

This allows the garbage collector to keep HTML::Script objects alive and
fixes a bug where a HTMLScriptElement could get GC'd while its code was
executing.
This commit is contained in:
Andreas Kling 2022-09-05 14:32:33 +02:00
parent 00c8f07192
commit 8f9ed415a0
Notes: sideshowbarker 2024-07-17 07:23:32 +09:00
6 changed files with 35 additions and 12 deletions

View file

@ -6,16 +6,18 @@
#pragma once
#include <AK/RefCounted.h>
#include <AK/URL.h>
#include <LibJS/Heap/Cell.h>
#include <LibWeb/Forward.h>
namespace Web::HTML {
// https://html.spec.whatwg.org/multipage/webappapis.html#concept-script
class Script : public RefCounted<Script> {
class Script : public JS::Cell {
JS_CELL(Script, JS::Cell);
public:
virtual ~Script();
virtual ~Script() override;
AK::URL const& base_url() const { return m_base_url; }
String const& filename() const { return m_filename; }