diff options
author | Andreas Kling <kling@serenityos.org> | 2022-08-28 13:42:07 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-09-06 00:27:09 +0200 |
commit | 6f433c86564c24d47d520cb5bdcc2209d724ac96 (patch) | |
tree | 886a2f727782e466e99c61c628637872c1b7403f /Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.cpp | |
parent | bb547ce1c4251e3689287eac845593398a379ca5 (diff) | |
download | serenity-6f433c86564c24d47d520cb5bdcc2209d724ac96.zip |
LibWeb+LibJS: Make the EventTarget hierarchy (incl. DOM) GC-allocated
This is a monster patch that turns all EventTargets into GC-allocated
PlatformObjects. Their C++ wrapper classes are removed, and the LibJS
garbage collector is now responsible for their lifetimes.
There's a fair amount of hacks and band-aids in this patch, and we'll
have a lot of cleanup to do after this.
Diffstat (limited to 'Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.cpp')
-rw-r--r-- | Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.cpp b/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.cpp index 0da867be35..350e4ec11d 100644 --- a/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.cpp +++ b/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.cpp @@ -9,7 +9,7 @@ #include <AK/Utf8View.h> #include <AK/Vector.h> #include <LibTextCodec/Decoder.h> -#include <LibWeb/Bindings/WorkerGlobalScopeWrapper.h> +#include <LibWeb/Bindings/WorkerGlobalScopePrototype.h> #include <LibWeb/DOM/DOMException.h> #include <LibWeb/Forward.h> #include <LibWeb/HTML/EventHandler.h> @@ -20,8 +20,9 @@ namespace Web::HTML { -WorkerGlobalScope::WorkerGlobalScope() - : m_navigator(make_ref_counted<WorkerNavigator>()) +WorkerGlobalScope::WorkerGlobalScope(JS::Realm& realm) + : DOM::EventTarget(realm) + , m_navigator(make_ref_counted<WorkerNavigator>()) { } @@ -54,11 +55,6 @@ DOM::ExceptionOr<void> WorkerGlobalScope::import_scripts(Vector<String> urls) return {}; } -JS::Object* WorkerGlobalScope::create_wrapper(JS::Realm& realm) -{ - return wrap(realm, *this); -} - // https://html.spec.whatwg.org/multipage/workers.html#dom-workerglobalscope-location NonnullRefPtr<WorkerLocation const> WorkerGlobalScope::location() const { |