From 85485f9f66fbb1eea824caf739d29476b28a1a4c Mon Sep 17 00:00:00 2001 From: Tomislav Jovanovic Date: Wed, 12 Feb 2025 16:06:43 +0100 Subject: [PATCH] Emit only instance members from global polluters (#1910) Co-authored-by: saschanaz --- src/build/emitter.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/build/emitter.ts b/src/build/emitter.ts index 08d0f3936..6edf84de7 100644 --- a/src/build/emitter.ts +++ b/src/build/emitter.ts @@ -803,7 +803,8 @@ export function emitWebIdl( if ( p.name === "name" && i.name === "Window" && - emitScope === EmitScope.All + emitScope === EmitScope.InstanceOnly && + prefix === "declare var " ) { printer.printLine("/** @deprecated */"); printer.printLine("declare const name: void;"); @@ -1064,7 +1065,7 @@ export function emitWebIdl( /// Emit all members of every interfaces at the root level. /// Called only once on the global polluter object function emitAllMembers(i: Browser.Interface) { - emitMembers(/*prefix*/ "declare var ", EmitScope.All, i); + emitMembers(/*prefix*/ "declare var ", EmitScope.InstanceOnly, i); for (const relatedIName of iNameToIDependList[i.name]) { const i = allInterfacesMap[relatedIName];