diff --git a/packages/csp/src/parser.js b/packages/csp/src/parser.js index 99ef7bd99..133c90f19 100644 --- a/packages/csp/src/parser.js +++ b/packages/csp/src/parser.js @@ -3,7 +3,7 @@ let globals = new Set() Object.getOwnPropertyNames(globalThis).forEach(key => { // Prevent Chrome and Safari deprecation warning... - if (key === "styleMedia" || key === "sharedStorage") return + if (key === "styleMedia" || key === "sharedStorage" || key === "fence") return let value diff --git a/tests/vitest/csp-globals.spec.js b/tests/vitest/csp-globals.spec.js new file mode 100644 index 000000000..8da21e0af --- /dev/null +++ b/tests/vitest/csp-globals.spec.js @@ -0,0 +1,20 @@ +// @vitest-environment jsdom + +import { it, expect } from 'vitest'; + +it('does not read the globals that browsers report as deprecated', async () => { + let read = [] + + for (let key of ['styleMedia', 'sharedStorage', 'fence']) { + Object.defineProperty(globalThis, key, { + configurable: true, + get() { + read.push(key) + }, + }) + } + + await import('../../packages/csp/src/parser.js') + + expect(read).toEqual([]) +})