LibWeb: Remove unecessary dependence on Window from WebAssembly classes

These classes only needed Window to get at its realm. Pass a realm
directly to construct WebAssembly classes.
This commit is contained in:
Andrew Kaster 2022-09-25 18:05:03 -06:00 committed by Linus Groh
parent 320dddde6a
commit d0efc7734a
Notes: sideshowbarker 2024-07-18 01:43:16 +09:00
8 changed files with 22 additions and 29 deletions

View file

@ -4,9 +4,8 @@
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibJS/Runtime/GlobalObject.h>
#include <LibJS/Runtime/TypedArray.h>
#include <LibWeb/HTML/Window.h>
#include <LibWeb/Bindings/Intrinsics.h>
#include <LibWeb/WebAssembly/WebAssemblyModuleConstructor.h>
#include <LibWeb/WebAssembly/WebAssemblyModuleObject.h>
#include <LibWeb/WebAssembly/WebAssemblyModulePrototype.h>
@ -40,10 +39,9 @@ JS::ThrowCompletionOr<JS::Object*> WebAssemblyModuleConstructor::construct(Funct
void WebAssemblyModuleConstructor::initialize(JS::Realm& realm)
{
auto& vm = this->vm();
auto& window = verify_cast<HTML::Window>(realm.global_object());
NativeFunction::initialize(realm);
define_direct_property(vm.names.prototype, &window.ensure_web_prototype<WebAssemblyModulePrototype>("WebAssemblyModulePrototype"), 0);
define_direct_property(vm.names.prototype, &Bindings::ensure_web_prototype<WebAssemblyModulePrototype>(realm, "WebAssemblyModulePrototype"), 0);
define_direct_property(vm.names.length, JS::Value(1), JS::Attribute::Configurable);
}