diff --git a/src/client/dom/open.ts b/src/client/dom/open.ts index 5550276..5b9142c 100644 --- a/src/client/dom/open.ts +++ b/src/client/dom/open.ts @@ -10,7 +10,7 @@ export default function (client: ScramjetClient) { if (["_parent", "_top", "_unfencedTop"].includes(ctx.args[1])) ctx.args[1] = "_self"; - const realwin = ctx.fn.apply(ctx.this, ctx.args); + const realwin = ctx.call(); if (!realwin) return ctx.return(realwin); diff --git a/src/client/shared/function.ts b/src/client/shared/function.ts index af489ab..f8b17cb 100644 --- a/src/client/shared/function.ts +++ b/src/client/shared/function.ts @@ -2,7 +2,7 @@ import { ScramjetClient, ProxyCtx, Proxy } from "../client"; import { rewriteJs } from "../../shared"; function rewriteFunction(ctx: ProxyCtx) { - const stringifiedFunction = ctx.fn(...ctx.args).toString(); + const stringifiedFunction = ctx.call().toString(); ctx.return(ctx.fn(`return ${rewriteJs(stringifiedFunction)}`)()); } diff --git a/src/client/shared/unproxy.ts b/src/client/shared/unproxy.ts index c7c01a7..058e366 100644 --- a/src/client/shared/unproxy.ts +++ b/src/client/shared/unproxy.ts @@ -44,7 +44,7 @@ export default function (client: ScramjetClient, self: typeof window) { client.Proxy("Object.getOwnPropertyDescriptor", { apply(ctx) { - const desc = ctx.fn.apply(ctx.this, ctx.args); + const desc = ctx.call(); if (!desc) return;