fuck my stupid scramjet life

This commit is contained in:
velzie 2024-10-11 16:33:10 -04:00
parent fa7f986662
commit e7cf201083

View file

@ -52,7 +52,7 @@ export default function (client: ScramjetClient, self: typeof window) {
for (const element of attrObject[attr]) { for (const element of attrObject[attr]) {
const descriptor = nativeGetOwnPropertyDescriptor( const descriptor = nativeGetOwnPropertyDescriptor(
element.prototype, element.prototype,
attr attr,
); );
Object.defineProperty(element.prototype, attr, { Object.defineProperty(element.prototype, attr, {
get() { get() {
@ -80,7 +80,7 @@ export default function (client: ScramjetClient, self: typeof window) {
base: new URL(client.url.origin), base: new URL(client.url.origin),
origin: new URL(client.url.origin), origin: new URL(client.url.origin),
} as URLMeta, } as URLMeta,
true true,
); );
} else if (["srcset", "imagesrcset"].includes(attr)) { } else if (["srcset", "imagesrcset"].includes(attr)) {
value = rewriteSrcset(value, client.meta); value = rewriteSrcset(value, client.meta);
@ -183,8 +183,8 @@ export default function (client: ScramjetClient, self: typeof window) {
return atob( return atob(
client.natives["Element.prototype.getAttribute"].call( client.natives["Element.prototype.getAttribute"].call(
ctx.this, ctx.this,
"data-scramjet-script-source-src" "data-scramjet-script-source-src",
) ),
); );
} }
if (ctx.this instanceof self.HTMLStyleElement) { if (ctx.this instanceof self.HTMLStyleElement) {
@ -267,6 +267,20 @@ export default function (client: ScramjetClient, self: typeof window) {
}, },
}); });
client.Trap(
[
"Node.prototype.parentNode",
"Node.prototype.parentElement",
"Node.prototype.previousSibling",
"Node.prototype.nextSibling",
],
{
get(ctx) {
return client.wrapfn(ctx.get());
},
},
);
client.Proxy("DOMParser.prototype.parseFromString", { client.Proxy("DOMParser.prototype.parseFromString", {
apply(ctx) { apply(ctx) {
if (ctx.args[1] === "text/html") { if (ctx.args[1] === "text/html") {
@ -274,7 +288,7 @@ export default function (client: ScramjetClient, self: typeof window) {
ctx.args[0], ctx.args[0],
client.cookieStore, client.cookieStore,
client.meta, client.meta,
false false,
); );
} }
}, },
@ -286,7 +300,7 @@ export default function (client: ScramjetClient, self: typeof window) {
ctx.args[0], ctx.args[0],
client.cookieStore, client.cookieStore,
client.meta, client.meta,
true true,
); );
}, },
}); });
@ -297,7 +311,7 @@ export default function (client: ScramjetClient, self: typeof window) {
ctx.args[0], ctx.args[0],
client.cookieStore, client.cookieStore,
client.meta, client.meta,
false false,
); );
}, },
}); });