Skip to content

Commit 6688db6

Browse files
author
Loïc Mangeonjean
committed
fix: fix css variables in shadow dom, use :host on top of :root
1 parent 941aff9 commit 6688db6

2 files changed

Lines changed: 81 additions & 2 deletions

File tree

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

Lines changed: 80 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Subject: [PATCH] feat: support shadow dom
1313
src/vs/base/browser/ui/findinput/findInput.ts | 3 +-
1414
.../base/browser/ui/findinput/replaceInput.ts | 3 +-
1515
src/vs/base/browser/ui/inputbox/inputBox.ts | 7 ++-
16+
src/vs/base/browser/ui/sash/sash.css | 2 +-
1617
src/vs/base/browser/ui/sash/sash.ts | 2 +-
1718
src/vs/base/browser/ui/splitview/paneview.ts | 6 +-
1819
src/vs/base/browser/ui/splitview/splitview.ts | 6 +-
@@ -22,12 +23,15 @@ Subject: [PATCH] feat: support shadow dom
2223
.../editor/browser/controller/mouseTarget.ts | 2 +-
2324
src/vs/editor/browser/view/viewPart.ts | 3 +-
2425
.../contentWidgets/contentWidgets.ts | 2 +-
26+
.../widget/codeEditor/codeEditorWidget.ts | 10 +--
2527
.../hover/browser/contentHoverController.ts | 3 +-
2628
.../hover/browser/contentHoverWidget.ts | 2 +-
2729
.../actionWidget/browser/actionList.ts | 5 +-
2830
.../clipboard/browser/clipboardService.ts | 4 +-
2931
.../contextkey/browser/contextKeyService.ts | 26 ++++----
3032
src/vs/platform/hover/browser/hoverWidget.ts | 2 +-
33+
.../platform/layout/browser/zIndexRegistry.ts | 2 +-
34+
.../platform/theme/browser/iconsStyleSheet.ts | 2 +-
3135
.../browser/actions/developerActions.ts | 4 +-
3236
src/vs/workbench/browser/layout.ts | 3 +
3337
.../browser/parts/editor/editorGroupView.ts | 4 +-
@@ -51,7 +55,7 @@ Subject: [PATCH] feat: support shadow dom
5155
.../browser/auxiliaryWindowService.ts | 6 +-
5256
.../suggest/browser/simpleSuggestWidget.ts | 4 +-
5357
.../themes/browser/workbenchThemeService.ts | 33 +++++++++-
54-
47 files changed, 227 insertions(+), 109 deletions(-)
58+
51 files changed, 235 insertions(+), 117 deletions(-)
5559

5660
diff --git a/src/vs/base/browser/dom.ts b/src/vs/base/browser/dom.ts
5761
index e943bf0a557..6ebc4568a39 100644
@@ -413,6 +417,19 @@ index d8c041c95ac..85053deefd3 100644
413417
return selection?.anchorNode === wrapper;
414418
});
415419

420+
diff --git a/src/vs/base/browser/ui/sash/sash.css b/src/vs/base/browser/ui/sash/sash.css
421+
index 52419ac7d45..18888b6f07f 100644
422+
--- a/src/vs/base/browser/ui/sash/sash.css
423+
+++ b/src/vs/base/browser/ui/sash/sash.css
424+
@@ -3,7 +3,7 @@
425+
* Licensed under the MIT License. See License.txt in the project root for license information.
426+
*--------------------------------------------------------------------------------------------*/
427+
428+
-:root {
429+
+:root, :host {
430+
--vscode-sash-size: 4px;
431+
--vscode-sash-hover-size: 4px;
432+
}
416433
diff --git a/src/vs/base/browser/ui/sash/sash.ts b/src/vs/base/browser/ui/sash/sash.ts
417434
index 6f2fcb52276..0f9594a7d77 100644
418435
--- a/src/vs/base/browser/ui/sash/sash.ts
@@ -603,6 +620,42 @@ index 1f43f7834f0..550be23f481 100644
603620
};
604621
// return null;
605622
}
623+
diff --git a/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.ts b/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.ts
624+
index 7b1a6e93ab9..8ab4cf789a9 100644
625+
--- a/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.ts
626+
+++ b/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.ts
627+
@@ -2541,26 +2541,26 @@ registerThemingParticipant((theme, collector) => {
628+
const errorForeground = theme.getColor(editorErrorForeground);
629+
if (errorForeground) {
630+
collector.addRule(`.monaco-editor .${ClassName.EditorErrorDecoration} { background: url("data:image/svg+xml,${getSquigglySVGData(errorForeground)}") repeat-x bottom left; }`);
631+
- collector.addRule(`:root { --monaco-editor-error-decoration: url("data:image/svg+xml,${getSquigglySVGData(errorForeground)}"); }`);
632+
+ collector.addRule(`:root, :host { --monaco-editor-error-decoration: url("data:image/svg+xml,${getSquigglySVGData(errorForeground)}"); }`);
633+
}
634+
const warningForeground = theme.getColor(editorWarningForeground);
635+
if (warningForeground) {
636+
collector.addRule(`.monaco-editor .${ClassName.EditorWarningDecoration} { background: url("data:image/svg+xml,${getSquigglySVGData(warningForeground)}") repeat-x bottom left; }`);
637+
- collector.addRule(`:root { --monaco-editor-warning-decoration: url("data:image/svg+xml,${getSquigglySVGData(warningForeground)}"); }`);
638+
+ collector.addRule(`:root, :host { --monaco-editor-warning-decoration: url("data:image/svg+xml,${getSquigglySVGData(warningForeground)}"); }`);
639+
}
640+
const infoForeground = theme.getColor(editorInfoForeground);
641+
if (infoForeground) {
642+
collector.addRule(`.monaco-editor .${ClassName.EditorInfoDecoration} { background: url("data:image/svg+xml,${getSquigglySVGData(infoForeground)}") repeat-x bottom left; }`);
643+
- collector.addRule(`:root { --monaco-editor-info-decoration: url("data:image/svg+xml,${getSquigglySVGData(infoForeground)}"); }`);
644+
+ collector.addRule(`:root, :host { --monaco-editor-info-decoration: url("data:image/svg+xml,${getSquigglySVGData(infoForeground)}"); }`);
645+
}
646+
const hintForeground = theme.getColor(editorHintForeground);
647+
if (hintForeground) {
648+
collector.addRule(`.monaco-editor .${ClassName.EditorHintDecoration} { background: url("data:image/svg+xml,${getDotDotDotSVGData(hintForeground)}") no-repeat bottom left; }`);
649+
- collector.addRule(`:root { --monaco-editor-hint-decoration: url("data:image/svg+xml,${getDotDotDotSVGData(hintForeground)}"); }`);
650+
+ collector.addRule(`:root, :host { --monaco-editor-hint-decoration: url("data:image/svg+xml,${getDotDotDotSVGData(hintForeground)}"); }`);
651+
}
652+
const unnecessaryForeground = theme.getColor(editorUnnecessaryCodeOpacity);
653+
if (unnecessaryForeground) {
654+
collector.addRule(`.monaco-editor.showUnused .${ClassName.EditorUnnecessaryInlineDecoration} { opacity: ${unnecessaryForeground.rgba.a}; }`);
655+
- collector.addRule(`:root { --monaco-editor-unnecessary-decoration-opacity: ${unnecessaryForeground.rgba.a}; }`);
656+
+ collector.addRule(`:root, :host { --monaco-editor-unnecessary-decoration-opacity: ${unnecessaryForeground.rgba.a}; }`);
657+
}
658+
});
606659
diff --git a/src/vs/editor/contrib/hover/browser/contentHoverController.ts b/src/vs/editor/contrib/hover/browser/contentHoverController.ts
607660
index ba0e7d0b161..5a4426465a5 100644
608661
--- a/src/vs/editor/contrib/hover/browser/contentHoverController.ts
@@ -759,6 +812,32 @@ index 1ca3e989f57..2d24d79d066 100644
759812
const accessibleViewHint = hoverFocused && getHoverAccessibleViewHint(this._configurationService.getValue('accessibility.verbosity.hover') === true && this._accessibilityService.isScreenReaderOptimized(), this._keybindingService.lookupKeybinding('editor.action.accessibleView')?.getAriaLabel());
760813
if (accessibleViewHint) {
761814

815+
diff --git a/src/vs/platform/layout/browser/zIndexRegistry.ts b/src/vs/platform/layout/browser/zIndexRegistry.ts
816+
index 3c11201f622..e1ddd435d15 100644
817+
--- a/src/vs/platform/layout/browser/zIndexRegistry.ts
818+
+++ b/src/vs/platform/layout/browser/zIndexRegistry.ts
819+
@@ -65,7 +65,7 @@ class ZIndexRegistry {
820+
this.zIndexMap.forEach((zIndex, name) => {
821+
ruleBuilder += `${this.getVarName(name)}: ${zIndex};\n`;
822+
});
823+
- createCSSRule(':root', ruleBuilder, this.styleSheet);
824+
+ createCSSRule(':root, :host', ruleBuilder, this.styleSheet);
825+
}
826+
}
827+
828+
diff --git a/src/vs/platform/theme/browser/iconsStyleSheet.ts b/src/vs/platform/theme/browser/iconsStyleSheet.ts
829+
index 7215f066d45..f55ed918b03 100644
830+
--- a/src/vs/platform/theme/browser/iconsStyleSheet.ts
831+
+++ b/src/vs/platform/theme/browser/iconsStyleSheet.ts
832+
@@ -68,7 +68,7 @@ export function getIconsStyleSheet(themeService: IThemeService | undefined): IIc
833+
rules.push(css.inline`@font-face { src: ${src.join(', ')}; font-family: ${css.stringValue(id)};${fontWeight}${fontStyle} font-display: block; }`);
834+
}
835+
836+
- rules.push(css.inline`:root { ${rootAttribs.join(' ')} }`);
837+
+ rules.push(css.inline`:root, :host { ${rootAttribs.join(' ')} }`);
838+
839+
return rules.join('\n');
840+
}
762841
diff --git a/src/vs/workbench/browser/actions/developerActions.ts b/src/vs/workbench/browser/actions/developerActions.ts
763842
index cdc59743913..14713c199ce 100644
764843
--- a/src/vs/workbench/browser/actions/developerActions.ts

vscode-patches/0071-refactor-make-editors-register-themself.patch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ instead of scanning them in the keybinding service
1717
9 files changed, 55 insertions(+), 57 deletions(-)
1818

1919
diff --git a/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.ts b/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.ts
20-
index 7b1a6e93ab9..f5033a7ef5a 100644
20+
index 8ab4cf789a9..d421d989951 100644
2121
--- a/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.ts
2222
+++ b/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.ts
2323
@@ -65,6 +65,7 @@ import { TextModelEditSource, EditSources } from '../../../common/textModelEditS

0 commit comments

Comments
 (0)