Skip to content

Commit 4b4aed1

Browse files
author
Loïc Mangeonjean
committed
fix: fix duplicated injected style tags when using shadow dom
We are currently checking that the style element exists in the shadow dom to decide if it already exists in the head
1 parent a4f9c45 commit 4b4aed1

File tree

1 file changed

+4
-13
lines changed

1 file changed

+4
-13
lines changed

vscode-patches/0064-feat-support-shadow-dom.patch

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ Subject: [PATCH] feat: support shadow dom
3737
.../contrib/terminal/browser/terminalView.ts | 2 +-
3838
.../browser/gettingStarted.ts | 4 ++--
3939
.../browser/walkThroughPart.ts | 6 ++---
40-
.../themes/browser/workbenchThemeService.ts | 4 ++--
41-
34 files changed, 102 insertions(+), 68 deletions(-)
40+
.../themes/browser/workbenchThemeService.ts | 2 +-
41+
34 files changed, 101 insertions(+), 67 deletions(-)
4242

4343
diff --git a/src/vs/base/browser/dom.ts b/src/vs/base/browser/dom.ts
4444
index 1c7c66f76aa..f414f2b07fd 100644
@@ -840,24 +840,15 @@ index 27d04d09f01..61c2b58dfa4 100644
840840
active = active.parentElement;
841841
}
842842
diff --git a/src/vs/workbench/services/themes/browser/workbenchThemeService.ts b/src/vs/workbench/services/themes/browser/workbenchThemeService.ts
843-
index d85b23015f4..d7d186e8234 100644
843+
index d85b23015f4..a9dc7c145e0 100644
844844
--- a/src/vs/workbench/services/themes/browser/workbenchThemeService.ts
845845
+++ b/src/vs/workbench/services/themes/browser/workbenchThemeService.ts
846-
@@ -18,7 +18,7 @@ import { Event, Emitter } from '../../../../base/common/event.js';
847-
import { registerFileIconThemeSchemas } from '../common/fileIconThemeSchema.js';
848-
import { IDisposable, Disposable, DisposableStore } from '../../../../base/common/lifecycle.js';
849-
import { FileIconThemeData, FileIconThemeLoader } from './fileIconThemeData.js';
850-
-import { createStyleSheet } from '../../../../base/browser/domStylesheets.js';
851-
+import { createStyleSheet, shadowRootContainer } from '../../../../base/browser/domStylesheets.js';
852-
import { IBrowserWorkbenchEnvironmentService } from '../../environment/browser/environmentService.js';
853-
import { IFileService, FileChangeType } from '../../../../platform/files/common/files.js';
854-
import { URI } from '../../../../base/common/uri.js';
855846
@@ -793,7 +793,7 @@ class ThemeFileWatcher {
856847
}
857848

858849
function _applyRules(styleSheetContent: string, rulesClassName: string) {
859850
- const themeStyles = mainWindow.document.head.getElementsByClassName(rulesClassName);
860-
+ const themeStyles = (shadowRootContainer ?? mainWindow.document.head).querySelectorAll(`.${rulesClassName}`);
851+
+ const themeStyles = mainWindow.document.head.querySelectorAll(`.${rulesClassName}`);
861852
if (themeStyles.length === 0) {
862853
const elStyle = createStyleSheet();
863854
elStyle.className = rulesClassName;

0 commit comments

Comments
 (0)