From 322176235ff1d018fb261ab81cbf18b2dc148d55 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Mon, 10 Jan 2022 09:55:47 +0100 Subject: [PATCH] make sure dynamic css rules are scoped to instance fyi @hediet --- src/vs/editor/browser/editorDom.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/vs/editor/browser/editorDom.ts b/src/vs/editor/browser/editorDom.ts index 94d86f8e765..2eca6f9f475 100644 --- a/src/vs/editor/browser/editorDom.ts +++ b/src/vs/editor/browser/editorDom.ts @@ -269,6 +269,8 @@ export class GlobalEditorMouseMoveMonitor extends Disposable { * Reference counting and delayed garbage collection ensure that no rules leak. */ export class DynamicCssRules { + private static _idPool = 0; + private readonly _instanceId = ++DynamicCssRules._idPool; private _counter = 0; private readonly _rules = new Map(); @@ -296,7 +298,7 @@ export class DynamicCssRules { let existingRule = this._rules.get(key); if (!existingRule) { const counter = this._counter++; - existingRule = new RefCountedCssRule(key, `dyn-rule-${counter}`, + existingRule = new RefCountedCssRule(key, `dyn-rule-${this._instanceId}-${counter}`, dom.isInShadowDOM(this._editor.getContainerDomNode()) ? this._editor.getContainerDomNode() : undefined,