Commit Graph
257 Commits
Author SHA1 Message Date
Daniel Imms eecf52e949 Add lint rule to ensure on prefix is only for event emitters
Fixes #4183
2022-10-08 10:57:31 -07:00
Daniel Imms 00f6d3a88c Register all event emitters, make some services disposable 2022-10-08 09:00:14 -07:00
Daniel Imms ac659cb412 Prevent overriding of Disposable.dispose
A common mistake made was overriding dispose and not calling super.dispose,
so a TS trick is now used to move it to a readonly property instead of a
member method which prevents it being overridden.
2022-10-08 08:27:10 -07:00
Daniel ImmsandMegan Rogge c4eef2f470 Fix race condition that could when clearing atlas on 2+ terminals
This is the proper fix for microsoft/vscode#162996, after a bunch of
investigation we found that this is causing the problem:

VS Code clears the texture atlas on OS resume to fix an issue where the texture
could be corrupted. This calls clearTextureAtlas twice which should be fine, but
it's not because inside WebglRenderer.clear we're calling updateModel which is
meant to only ever be called in an animation frame. This calls potentially both
renderers to have stale views of the texture atlas for those rows and our perf
caching of cells (the main purpose of the model) doesn't know it's stale.

Co-Authored-By: Megan Rogge <merogge@microsoft.com>
2022-10-07 16:17:11 -07:00
Daniel Imms 4d97729010 Revert "Merge pull request #4166 from Tyriar/event_with_emitter"
This reverts commit d22f7c9edd, reversing
changes made to 1f8e6f0952.
2022-10-06 09:48:54 -07:00
Daniel Imms e0324e32a8 Bring back ImageBitmap optimization in canvas renderer
It's more simple than it used to be, it will clear and debounce all
glyphs when any change is made.
2022-10-04 15:24:10 -07:00
Daniel Imms 622acaaad7 Remove old selection start/end values 2022-10-04 14:45:19 -07:00
Daniel Imms 0d7e18d236 Add CellColorResolver to share load color code 2022-10-04 14:41:27 -07:00
Daniel Imms 83c09c34db Share selection render model code 2022-10-04 14:23:09 -07:00
Daniel Imms 03e3105c55 Fix fg/bg overrides in canvas 2022-10-04 14:10:27 -07:00
Daniel Imms c5d015c908 Merge branch 'master' into shared_cache 2022-10-04 13:54:14 -07:00
Daniel Imms f6a61acc86 Merge branch 'master' into feature/lint-by-putout 2022-10-04 09:52:10 -07:00
Daniel Imms 6316eee672 Comment out debug log 2022-10-02 21:32:24 -07:00
Daniel Imms dbef850039 Hook up attributes to new texture atlas 2022-10-02 13:57:35 -07:00
Daniel Imms 590a8219e3 Merge remote-tracking branch 'upstream/master' into shared_cache 2022-10-02 13:42:44 -07:00
Daniel Imms f38a49b4d5 Move remaining webgl atlas to shared 2022-10-02 08:48:55 -07:00
Daniel Imms 333b0e28ac Add ITextureAtlas and use that instead of WebglCharAtlas 2022-10-02 07:48:43 -07:00
Daniel Imms d669c6e9d6 Fix remaining references 2022-10-01 18:03:43 -07:00
Daniel Imms c5f9eacbb1 Move other render parts to shared folder 2022-10-01 17:41:16 -07:00
Daniel Imms 6fcc496547 Move cache utils to core shared/ folder
Part of #4065
2022-10-01 17:36:16 -07:00
Daniel Imms ed15a8e170 Create new event with emitter object to simplify code 2022-10-01 08:45:40 -07:00
Daniel Imms cf9949840b Use readonly over getter for exposing events
Fixes #4164
2022-10-01 07:52:26 -07:00
Daniel Imms 23328a394b Fix trusted types in dom renderer
Fixes #4156
2022-09-27 13:01:36 -07:00
Daniel Imms 09a5da5d33 Fix width of upper 1/8 block char
See microsoft/vscode#161323
2022-09-23 10:11:28 -07:00
coderaiser 25eb7d6472 chore: lint using 🐊Putout 2022-09-15 17:19:34 +03:00
Mihai Parparita a39a468f19 Make terminal rendering work in popout windows
Add support for the parent element (what is passed to Terminal.open)
being in a different (same origin) window. Accesses to DOM APIs such
as requestAnimationFrame and devicePixelRatio thus need to be scoped
to the corrent window, instead of assuming that it's the same as the
window/global scope where the code is running.

This is done by inferring a parent window at the creation time, and
then storing it in CoreBrowserService, which is already passed to most
places that need it.

To catch future regressions, an ESLint rule that checks for global
accesses is added (it uses AST selectors via the no-restricted-syntax
rule).

This should also be applicable when the parent element is an iframe.

Fixes #3758
2022-09-08 16:59:31 -07:00
Jean Pierre 3953db0d68 Fixes https://github.com/microsoft/vscode/issues/160070 2022-09-07 11:56:52 -05:00
Daniel Imms 4a6e7bee21 Fix lgtm recommendations 2022-08-30 14:09:39 -07:00
Daniel Imms 0727741ca1 Remove iterators from IDecorationService
They're too low performance for typical use cases

Fixes #4079
2022-08-27 20:50:16 -07:00
Daniel Imms 8bbbc98ac8 Merge pull request #4073 from Tyriar/4072
Show entire glyph for extra powerline symbols
2022-08-26 08:33:53 -07:00
Daniel Imms f6860442fb Show entire glyph for extra powerline symbols
Fixes #4072
2022-08-26 08:12:00 -07:00
Daniel Imms 774ebe40e6 Improve glyph padding, especially in large font sizes
Fixes #4066
2022-08-26 07:26:36 -07:00
Daniel Imms 81a62306af Ensure canvas device dims are > 0x0 when firing callback
See microsoft/vscode#157444
2022-08-10 05:59:29 -07:00
Daniel Imms 8f6bde9641 Polish powerline rendering
Fixes #3986
2022-07-31 14:27:07 -07:00
Daniel Imms bff529e1e2 Simplify dom tests and fix assertion 2022-07-30 23:41:08 -07:00
Daniel Imms e0d4384d3c Merge branch 'master' into underline 2022-07-30 06:40:41 -07:00
Daniel Imms ff33834eb2 Merge branch 'master' into inactiveSelection 2022-07-29 14:51:22 -07:00
Daniel Imms b0c29cac9a Merge pull request #3932 from Tyriar/tyriar/dim_bg
Fix inverse dim rendering on canvas+webgl
2022-07-29 14:50:47 -07:00
Daniel Imms 6493679b2e Inactive selection bg in dom renderer
Part of #3803
2022-07-29 11:00:36 -07:00
Daniel Imms 9cb25fbf06 Rename ITheme.selection to selectionBackground
This makes it consistent with selectionForeground and other theme keys and
as a result will make the API easier to work with, especially when inactive
selection is done (#3803)
2022-07-29 10:34:27 -07:00
Daniel Imms 48142eca23 Merge branch 'master' into tyriar/dim_bg 2022-07-29 10:20:22 -07:00
Daniel Imms 1fe0ec8d2c Merge branch 'master' into underline 2022-07-29 10:19:52 -07:00
Daniel Imms d2be5f992a Merge remote-tracking branch 'upstream/master' into underline 2022-07-28 07:01:41 -07:00
Daniel Imms 437c8aac5c Merge remote-tracking branch 'upstream/master' into rounding 2022-07-28 07:00:13 -07:00
Daniel Imms 84b259dfa5 Merge remote-tracking branch 'upstream/master' into tyriar/dim_bg 2022-07-28 06:57:27 -07:00
Daniel Imms ced5c304f1 Move CustomGlyphs.ts into core 2022-07-28 04:46:18 -07:00
Daniel Imms 1c6ce99419 Move canvas renderer contents into addon 2022-07-27 10:26:02 -07:00
Daniel Imms 7a17a26e18 Remove link matchers
Fixes #2703
2022-07-27 06:49:35 -07:00
Daniel Imms 2ceec34809 Remove log 2022-07-24 17:20:41 -07:00
Daniel Imms a4f7e2d8e9 Fix inverse dim on canvas renderer 2022-07-24 13:20:04 -07:00