From 90f14de1e90854ff8cb364c0d05bc6afca9334b9 Mon Sep 17 00:00:00 2001 From: Luke Wilde Date: Sun, 10 Apr 2022 00:57:11 +0100 Subject: [PATCH] LibJS: Call HostEnsureCanCompileStrings in CreateDynamicFunction I noticed we were missing this when I added to PerformEval :^) --- Userland/Libraries/LibJS/Runtime/FunctionConstructor.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibJS/Runtime/FunctionConstructor.cpp b/Userland/Libraries/LibJS/Runtime/FunctionConstructor.cpp index 39a45e48d3..b417ce12d6 100644 --- a/Userland/Libraries/LibJS/Runtime/FunctionConstructor.cpp +++ b/Userland/Libraries/LibJS/Runtime/FunctionConstructor.cpp @@ -44,12 +44,16 @@ ThrowCompletionOr FunctionConstructor::create_dynamic VERIFY(vm.execution_context_stack().size() >= 2); // 2. Let callerContext be the second to top element of the execution context stack. + auto& caller_context = *vm.execution_context_stack().at(vm.execution_context_stack().size() - 2); + // 3. Let callerRealm be callerContext's Realm. + auto& caller_realm = *caller_context.realm; + // 4. Let calleeRealm be the current Realm Record. - // NOTE: All of these are only needed for the next step. + auto& callee_realm = *vm.running_execution_context().realm; // 5. Perform ? HostEnsureCanCompileStrings(callerRealm, calleeRealm). - // NOTE: We don't have this yet. + TRY(vm.host_ensure_can_compile_strings(caller_realm, callee_realm)); // 6. If newTarget is undefined, set newTarget to constructor. if (new_target == nullptr)