From e7c13723938e42ee5ac402289d7b59be9a727536 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Thu, 5 Dec 2019 14:44:59 -0800 Subject: [PATCH] lcd - revert layer promotion for now (#86396) * lcd - revert layer promotion for now * Revert "Fix #86347. Fixed overflow widget only for extension viewlet" This reverts commit beb8a0c7b7a1a383181c7bab6f99f007e0629d43. * Revert "Re #85313. Fix suggest widget position for extension editor." This reverts commit 9d47191895b0705f689a234c1a4e1e790303cb70. * repatch titlebar for AA fix --- src/vs/workbench/browser/media/part.css | 5 --- .../activitybar/media/activitybarpart.css | 16 ---------- .../parts/editor/media/editorgroupview.css | 14 --------- .../browser/parts/panel/media/panelpart.css | 16 +--------- .../parts/sidebar/media/sidebarpart.css | 16 ++-------- .../parts/statusbar/media/statusbarpart.css | 14 --------- .../parts/titlebar/media/titlebarpart.css | 31 +++++-------------- .../codeEditor/browser/simpleEditorOptions.ts | 4 +-- .../suggestEnabledInput.ts | 3 +- .../extensions/browser/extensionsViewlet.ts | 2 +- .../preferences/browser/settingsEditor2.ts | 1 - 11 files changed, 14 insertions(+), 108 deletions(-) diff --git a/src/vs/workbench/browser/media/part.css b/src/vs/workbench/browser/media/part.css index d71cf8f50d1..89dd7fe4c9b 100644 --- a/src/vs/workbench/browser/media/part.css +++ b/src/vs/workbench/browser/media/part.css @@ -8,11 +8,6 @@ overflow: hidden; } -.monaco-workbench.windows.chromium .part:focus-within, -.monaco-workbench.linux.chromium .part:focus-within { - z-index: 500; -} - .monaco-workbench .part > .title { display: none; /* Parts have to opt in to show title area */ } diff --git a/src/vs/workbench/browser/parts/activitybar/media/activitybarpart.css b/src/vs/workbench/browser/parts/activitybar/media/activitybarpart.css index 4dc487ae5d0..cbc3d14705b 100644 --- a/src/vs/workbench/browser/parts/activitybar/media/activitybarpart.css +++ b/src/vs/workbench/browser/parts/activitybar/media/activitybarpart.css @@ -7,22 +7,6 @@ width: 48px; } -.monaco-workbench.windows.chromium .part.activitybar, -.monaco-workbench.linux.chromium .part.activitybar { - /* - * Explicitly put the part onto its own layer to help Chrome to - * render the content with LCD-anti-aliasing. By partioning the - * workbench into multiple layers, we can ensure that a bad - * behaving part is not making another part fallback to greyscale - * rendering. - * - * macOS: does not render LCD-anti-aliased. - */ - transform: translate3d(0px, 0px, 0px); - overflow: visible; /* when a new layer is created, we need to set overflow visible to avoid clipping the menubar */ - position: relative; -} - .monaco-workbench .activitybar > .content { height: 100%; display: flex; diff --git a/src/vs/workbench/browser/parts/editor/media/editorgroupview.css b/src/vs/workbench/browser/parts/editor/media/editorgroupview.css index c4c66c12eaa..582eac233e2 100644 --- a/src/vs/workbench/browser/parts/editor/media/editorgroupview.css +++ b/src/vs/workbench/browser/parts/editor/media/editorgroupview.css @@ -48,20 +48,6 @@ overflow: hidden; } -.monaco-workbench.windows.chromium .part.editor > .content .editor-group-container > .title, -.monaco-workbench.linux.chromium .part.editor > .content .editor-group-container > .title { - /* - * Explicitly put the part onto its own layer to help Chrome to - * render the content with LCD-anti-aliasing. By partioning the - * workbench into multiple layers, we can ensure that a bad - * behaving part is not making another part fallback to greyscale - * rendering. - * - * macOS: does not render LCD-anti-aliased. - */ - transform: translate3d(0px, 0px, 0px); -} - .monaco-workbench .part.editor > .content .editor-group-container > .title:not(.tabs) { display: flex; /* when tabs are not shown, use flex layout */ flex-wrap: nowrap; diff --git a/src/vs/workbench/browser/parts/panel/media/panelpart.css b/src/vs/workbench/browser/parts/panel/media/panelpart.css index 5db9c19a1ea..4909d7e9738 100644 --- a/src/vs/workbench/browser/parts/panel/media/panelpart.css +++ b/src/vs/workbench/browser/parts/panel/media/panelpart.css @@ -12,20 +12,6 @@ z-index: initial; } -.monaco-workbench.windows.chromium .part.panel, -.monaco-workbench.linux.chromium .part.panel { - /* - * Explicitly put the part onto its own layer to help Chrome to - * render the content with LCD-anti-aliasing. By partioning the - * workbench into multiple layers, we can ensure that a bad - * behaving part is not making another part fallback to greyscale - * rendering. - * - * macOS: does not render LCD-anti-aliased. - */ - transform: translate3d(0px, 0px, 0px); -} - .monaco-workbench .part.panel .title { height: 35px; display: flex; @@ -114,7 +100,7 @@ text-align: center; display: inline-block; box-sizing: border-box; -} + } /** Actions */ diff --git a/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css b/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css index ac2845f9c4b..25b9dcd0625 100644 --- a/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css +++ b/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css @@ -3,20 +3,8 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -.monaco-workbench.windows.chromium .part.sidebar, -.monaco-workbench.linux.chromium .part.sidebar { - /* - * Explicitly put the part onto its own layer to help Chrome to - * render the content with LCD-anti-aliasing. By partioning the - * workbench into multiple layers, we can ensure that a bad - * behaving part is not making another part fallback to greyscale - * rendering. - * - * macOS: does not render LCD-anti-aliased. - */ - transform: translate3d(0px, 0px, 0px); - overflow: visible; - position: relative; +.monaco-workbench .sidebar > .content { + overflow: hidden; } .monaco-workbench.nosidebar > .part.sidebar { diff --git a/src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css b/src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css index 560bb371cbf..3102b114c52 100644 --- a/src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css +++ b/src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css @@ -13,20 +13,6 @@ overflow: visible; } -.monaco-workbench.windows.chromium .part.statusbar, -.monaco-workbench.linux.chromium .part.statusbar { - /* - * Explicitly put the part onto its own layer to help Chrome to - * render the content with LCD-anti-aliasing. By partioning the - * workbench into multiple layers, we can ensure that a bad - * behaving part is not making another part fallback to greyscale - * rendering. - * - * macOS: does not render LCD-anti-aliased. - */ - transform: translate3d(0px, 0px, 0px); -} - .monaco-workbench .part.statusbar.status-border-top::after { content: ''; position: absolute; diff --git a/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css b/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css index e71467abfc9..2725a7d5da5 100644 --- a/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css +++ b/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css @@ -19,22 +19,6 @@ display: flex; } -.monaco-workbench.windows .part.titlebar, -.monaco-workbench.linux .part.titlebar { - /* - * Explicitly put the part onto its own layer to help Chrome to - * render the content with LCD-anti-aliasing. By partioning the - * workbench into multiple layers, we can ensure that a bad - * behaving part is not making another part fallback to greyscale - * rendering. - * - * macOS: does not render LCD-anti-aliased. - */ - transform: translate3d(0px, 0px, 0px); - position: relative; - z-index: 1500 !important; /* move the entire titlebar above the workbench, except modals/dialogs */ -} - .monaco-workbench .part.titlebar > .titlebar-drag-region { top: 0; left: 0; @@ -45,11 +29,6 @@ -webkit-app-region: drag; } -.monaco-workbench .part.titlebar > .menubar { - /* Move above drag region since negative z-index on that element causes AA issues */ - z-index: 1; -} - .monaco-workbench .part.titlebar > .window-title { flex: 0 1 auto; font-size: 12px; @@ -78,6 +57,11 @@ cursor: default; } +.monaco-workbench .part.titlebar > .menubar { + /* move menubar above drag region as negative z-index on drag region cause greyscale AA */ + z-index: 2000; +} + .monaco-workbench.linux .part.titlebar > .window-title { font-size: inherit; } @@ -100,7 +84,7 @@ width: 35px; height: 100%; position: relative; - z-index: 2; /* highest level of titlebar */ + z-index: 3000; background-image: url('code-icon.svg'); background-repeat: no-repeat; background-position: center center; @@ -118,12 +102,11 @@ flex-shrink: 0; text-align: center; position: relative; - z-index: 2; /* highest level of titlebar */ + z-index: 3000; -webkit-app-region: no-drag; height: 100%; width: 138px; margin-left: auto; - transform: translate3d(0px, 0px, 0px); } .monaco-workbench.fullscreen .part.titlebar > .window-controls-container { diff --git a/src/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.ts b/src/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.ts index ff80bd1ec20..ac40c376e27 100644 --- a/src/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.ts +++ b/src/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.ts @@ -13,7 +13,7 @@ import { SelectionClipboardContributionID } from 'vs/workbench/contrib/codeEdito import { TabCompletionController } from 'vs/workbench/contrib/snippets/browser/tabCompletion'; import { EditorExtensionsRegistry } from 'vs/editor/browser/editorExtensions'; -export function getSimpleEditorOptions(fixedOverflowWidgets: boolean = true): IEditorOptions { +export function getSimpleEditorOptions(): IEditorOptions { return { wordWrap: 'on', overviewRulerLanes: 0, @@ -30,7 +30,7 @@ export function getSimpleEditorOptions(fixedOverflowWidgets: boolean = true): IE overviewRulerBorder: false, scrollBeyondLastLine: false, renderLineHighlight: 'none', - fixedOverflowWidgets: fixedOverflowWidgets, + fixedOverflowWidgets: true, acceptSuggestionOnEnter: 'smart', minimap: { enabled: false diff --git a/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.ts b/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.ts index ee09a61a8e6..b9731888148 100644 --- a/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.ts +++ b/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.ts @@ -72,7 +72,6 @@ interface SuggestEnabledInputOptions { * Context key tracking the focus state of this element */ focusContextKey?: IContextKey; - fixedOverflowWidgets?: boolean; } export interface ISuggestEnabledInputStyleOverrides extends IStyleOverrides { @@ -127,7 +126,7 @@ export class SuggestEnabledInput extends Widget implements IThemable { this.placeholderText = append(this.stylingContainer, $('.suggest-input-placeholder', undefined, options.placeholderText || '')); const editorOptions: IEditorOptions = mixin( - getSimpleEditorOptions(!!options.fixedOverflowWidgets), + getSimpleEditorOptions(), getSuggestEnabledInputOptions(ariaLabel)); this.inputWidget = instantiationService.createInstance(CodeEditorWidget, this.stylingContainer, diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts b/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts index 669297557d5..4ac7d34337e 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts @@ -405,7 +405,7 @@ export class ExtensionsViewlet extends ViewContainerViewlet implements IExtensio else { return 'd'; } }, provideResults: (query: string) => Query.suggestions(query) - }, placeholder, 'extensions:searchinput', { placeholderText: placeholder, value: searchValue, fixedOverflowWidgets: false })); + }, placeholder, 'extensions:searchinput', { placeholderText: placeholder, value: searchValue })); if (this.searchBox.getValue()) { this.triggerSearch(); diff --git a/src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts b/src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts index e339ce2784e..09467700dd5 100644 --- a/src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts +++ b/src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts @@ -406,7 +406,6 @@ export class SettingsEditor2 extends BaseEditor { }, searchBoxLabel, 'settingseditor:searchinput' + SettingsEditor2.NUM_INSTANCES++, { placeholderText: searchBoxLabel, focusContextKey: this.searchFocusContextKey, - fixedOverflowWidgets: true // TODO: Aria-live }) ); -- GitLab