Skip to content

Commit 076d916

Browse files
committed
refactor: update timer definitions to use defineReplacingNative and verify configurability in e2e tests
1 parent 0b3b48f commit 076d916

3 files changed

Lines changed: 21 additions & 3 deletions

File tree

test/e2e/proxy.test.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3706,6 +3706,23 @@ test('browser traffic uses internal SOCKS5 mode and covers proxied runtime integ
37063706
const proxyRawDiff = await readDifferential(page);
37073707
const proxyDiff = comparableDifferential(proxyRawDiff);
37083708
assert.deepEqual(await readFingerprintReport(page), proxyRawDiff.surface.fingerprint);
3709+
assert.deepEqual(
3710+
await page.evaluate(() => {
3711+
const out = {};
3712+
for (const name of ['setTimeout', 'setInterval']) {
3713+
const descriptor = Object.getOwnPropertyDescriptor(window, name);
3714+
Object.defineProperty(window, name, {
3715+
value: descriptor.value,
3716+
enumerable: descriptor.enumerable,
3717+
configurable: descriptor.configurable,
3718+
writable: descriptor.writable,
3719+
});
3720+
out[name] = Object.getOwnPropertyDescriptor(window, name).configurable;
3721+
}
3722+
return out;
3723+
}),
3724+
{ setTimeout: true, setInterval: true },
3725+
);
37093726
assert.equal(proxyDiff.surface.workerRealm.imported.loaded, true);
37103727
assert.ok(
37113728
requests.some((r) => r.url === '/worker-imported-fixture.js' && r.userAgent === TARGET_UA),

test/js/static-policy.test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,8 @@ test('runtime installs required escape-vector hooks', () => {
242242
'__zp_runClassic',
243243
'__zp_get',
244244
'__zp_assign',
245-
"define(root, 'setTimeout'",
245+
"defineReplacingNative(root, 'setTimeout'",
246+
"defineReplacingNative(root, 'setInterval'",
246247
'installDocumentWriteHooks',
247248
'createContextualFragment',
248249
'parseFromString',

web/runtime/dynamic-code/facade.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,12 +189,12 @@ export function createDynamicCodeFacade({
189189
defineReplacingNative(root, 'Function', dynamicFunction);
190190
installDynamicConstructorBackrefs();
191191
if (Native.setTimeout) {
192-
define(root, 'setTimeout', function(handler, delay, ...args) {
192+
defineReplacingNative(root, 'setTimeout', function(handler, delay, ...args) {
193193
return Native.setTimeout(typeof handler === 'string' ? compileTimerString(handler) : handler, delay, ...args);
194194
});
195195
}
196196
if (Native.setInterval) {
197-
define(root, 'setInterval', function(handler, delay, ...args) {
197+
defineReplacingNative(root, 'setInterval', function(handler, delay, ...args) {
198198
return Native.setInterval(typeof handler === 'string' ? compileTimerString(handler) : handler, delay, ...args);
199199
});
200200
}

0 commit comments

Comments
 (0)