diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css index 5f14c5bd2b11bf..39fcd7ef98b55d 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +++ b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css @@ -45,6 +45,9 @@ } .show-file-icons.chat-inline-anchor-widget .icon::before { + --file-icon-mask-position: center; + --file-icon-mask-size: contain; + display: inline-block; line-height: 100%; overflow: hidden; diff --git a/src/vs/workbench/services/themes/browser/fileIconThemeData.ts b/src/vs/workbench/services/themes/browser/fileIconThemeData.ts index e6138fb1a67073..48811cc86d26f4 100644 --- a/src/vs/workbench/services/themes/browser/fileIconThemeData.ts +++ b/src/vs/workbench/services/themes/browser/fileIconThemeData.ts @@ -417,7 +417,7 @@ export class FileIconThemeLoader { // When usesCurrentColor is set, image icons are rendered as masks filled with the current text color const imageIconStyle = (iconPath: css.CssFragment): css.CssFragment => iconThemeDocument.usesCurrentColor - ? css.inline`background-color: currentColor; background-image: none; mask: ${iconPath} no-repeat left center; mask-size: 16px; -webkit-mask: ${iconPath} no-repeat left center; -webkit-mask-size: 16px;` + ? css.inline`background-color: currentColor; background-image: none; mask: ${iconPath} no-repeat var(--file-icon-mask-position, left center); mask-size: var(--file-icon-mask-size, 16px); -webkit-mask: ${iconPath} no-repeat var(--file-icon-mask-position, left center); -webkit-mask-size: var(--file-icon-mask-size, 16px);` : css.inline`background-image: ${iconPath};`; for (const defId in selectorByDefinitionId) { diff --git a/src/vs/workbench/services/themes/test/browser/fileIconThemeData.test.ts b/src/vs/workbench/services/themes/test/browser/fileIconThemeData.test.ts index 7f62d8266099ab..9481e4959af069 100644 --- a/src/vs/workbench/services/themes/test/browser/fileIconThemeData.test.ts +++ b/src/vs/workbench/services/themes/test/browser/fileIconThemeData.test.ts @@ -44,10 +44,10 @@ suite('FileIconThemeData', () => { assert.deepStrictEqual({ backgroundColor: content?.includes('background-color: currentColor'), mask: content?.includes('mask: url('), - maskPlacement: content?.includes('no-repeat left center'), - maskSize: content?.includes('mask-size: 16px'), + maskPlacement: content?.includes('no-repeat var(--file-icon-mask-position, left center)'), + maskSize: content?.includes('mask-size: var(--file-icon-mask-size, 16px)'), webkitMask: content?.includes('-webkit-mask: url('), - webkitMaskSize: content?.includes('-webkit-mask-size: 16px'), + webkitMaskSize: content?.includes('-webkit-mask-size: var(--file-icon-mask-size, 16px)'), noBackgroundImage: content?.includes('background-image: none') }, { backgroundColor: true,