@codingame/monaco-vscode-api 19.0.1 → 19.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +26 -0
  2. package/css.js +15 -8
  3. package/package.json +8 -8
  4. package/services.js +3 -3
  5. package/vscode/src/vs/base/browser/dom.d.ts +11 -0
  6. package/vscode/src/vs/base/browser/dom.js +34 -21
  7. package/vscode/src/vs/base/browser/domStylesheets.js +12 -4
  8. package/vscode/src/vs/base/browser/formattedTextRenderer.js +7 -7
  9. package/vscode/src/vs/base/browser/keyboardEvent.js +8 -1
  10. package/vscode/src/vs/base/browser/pixelRatio.js +2 -2
  11. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +3 -3
  12. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +4 -4
  13. package/vscode/src/vs/base/browser/ui/aria/aria.js +4 -4
  14. package/vscode/src/vs/base/browser/ui/button/button.js +10 -10
  15. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +2 -2
  16. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +3 -3
  17. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +3 -3
  18. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +3 -3
  19. package/vscode/src/vs/base/browser/ui/list/listView.js +3 -3
  20. package/vscode/src/vs/base/browser/ui/menu/menu.js +2 -2
  21. package/vscode/src/vs/base/browser/ui/progressbar/progressbar.js +3 -3
  22. package/vscode/src/vs/base/browser/ui/resizable/resizable.js +2 -2
  23. package/vscode/src/vs/base/browser/ui/scrollbar/abstractScrollbar.js +4 -4
  24. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +5 -5
  25. package/vscode/src/vs/base/browser/ui/scrollbar/scrollbarArrow.js +4 -4
  26. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +4 -4
  27. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxNative.js +3 -3
  28. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +2 -2
  29. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +2 -2
  30. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -1
  31. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +2 -2
  32. package/vscode/src/vs/base/browser/window.d.ts +3 -0
  33. package/vscode/src/vs/base/browser/window.js +1 -1
  34. package/vscode/src/vs/editor/browser/config/charWidthReader.js +7 -6
  35. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +3 -3
  36. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +3 -2
  37. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +2 -2
  38. package/vscode/src/vs/editor/browser/gpu/viewGpuContext.js +2 -2
  39. package/vscode/src/vs/editor/browser/observableCodeEditor.js +2 -1
  40. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +2 -1
  41. package/vscode/src/vs/editor/browser/view/viewLayer.js +3 -2
  42. package/vscode/src/vs/editor/browser/view.js +4 -4
  43. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +3 -2
  44. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +3 -3
  45. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +3 -2
  46. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +3 -2
  47. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +8 -8
  48. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRendererFactory.js +2 -1
  49. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +3 -3
  50. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +2 -1
  51. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +2 -1
  52. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +3 -2
  53. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +2 -1
  54. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +2 -2
  55. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +2 -2
  56. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.js +2 -1
  57. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +3 -2
  58. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +3 -1
  59. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +8 -2
  60. package/vscode/src/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.d.ts +2 -1
  61. package/vscode/src/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.js +5 -3
  62. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +12 -12
  63. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +9 -9
  64. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +2 -2
  65. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.d.ts +3 -1
  66. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +6 -2
  67. package/vscode/src/vs/editor/browser/widget/diffEditor/embeddedDiffEditorWidget.d.ts +2 -1
  68. package/vscode/src/vs/editor/browser/widget/diffEditor/embeddedDiffEditorWidget.js +5 -3
  69. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +6 -6
  70. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +2 -2
  71. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +2 -2
  72. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +2 -1
  73. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer.js +3 -2
  74. package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.js +3 -3
  75. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +3 -3
  76. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +2 -2
  77. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerInsertButton.js +2 -2
  78. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerSaturationBox.js +3 -3
  79. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerStrip.js +2 -2
  80. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerWidget.js +2 -2
  81. package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.js +2 -2
  82. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +9 -9
  83. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +13 -13
  84. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +2 -2
  85. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  86. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +2 -2
  87. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +2 -2
  88. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +2 -2
  89. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +2 -2
  90. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +5 -5
  91. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  92. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +10 -10
  93. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +9 -9
  94. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +4 -4
  95. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +2 -2
  96. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +2 -1
  97. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.d.ts +1 -1
  98. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +5 -4
  99. package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +1 -0
  100. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +24 -48
  101. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +6 -6
  102. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +4 -4
  103. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.d.ts +1 -0
  104. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +3 -0
  105. package/vscode/src/vs/platform/keybinding/common/keybinding.service.d.ts +1 -0
  106. package/vscode/src/vs/platform/product/common/product.js +1 -1
  107. package/vscode/src/vs/platform/quickinput/browser/quickInputController.d.ts +3 -1
  108. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +6 -2
  109. package/vscode/src/vs/workbench/browser/actions/developerActions.js +2 -2
  110. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +2 -1
  111. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.d.ts +2 -1
  112. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +5 -3
  113. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +3 -3
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
- import { getActiveElement, EventHelper, addDisposableListener } from '../../dom.js';
3
+ import { createElement, getActiveElement, EventHelper, addDisposableListener } from '../../dom.js';
4
4
  import { RegexToggle, WholeWordsToggle, CaseSensitiveToggle } from './findInputToggles.js';
5
5
  import { HistoryInputBox } from '../inputbox/inputBox.js';
6
6
  import { Widget } from '../widget.js';
@@ -46,7 +46,7 @@ class FindInput extends Widget {
46
46
  const flexibleHeight = !!options.flexibleHeight;
47
47
  const flexibleWidth = !!options.flexibleWidth;
48
48
  const flexibleMaxHeight = options.flexibleMaxHeight;
49
- this.domNode = document.createElement('div');
49
+ this.domNode = createElement('div');
50
50
  this.domNode.classList.add('monaco-findInput');
51
51
  this.inputBox = this._register(( new HistoryInputBox(this.domNode, contextViewProvider, {
52
52
  placeholder: this.placeholder || '',
@@ -137,7 +137,7 @@ class FindInput extends Widget {
137
137
  }
138
138
  });
139
139
  }
140
- this.controls = document.createElement('div');
140
+ this.controls = createElement('div');
141
141
  this.controls.className = 'controls';
142
142
  this.controls.style.display = this.showCommonFindToggles ? '' : 'none';
143
143
  if (this.caseSensitive) {
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
- import { getActiveElement, EventHelper } from '../../dom.js';
3
+ import { createElement, getActiveElement, EventHelper } from '../../dom.js';
4
4
  import { Toggle } from '../toggle/toggle.js';
5
5
  import { HistoryInputBox } from '../inputbox/inputBox.js';
6
6
  import { Widget } from '../widget.js';
@@ -56,7 +56,7 @@ class ReplaceInput extends Widget {
56
56
  const flexibleHeight = !!options.flexibleHeight;
57
57
  const flexibleWidth = !!options.flexibleWidth;
58
58
  const flexibleMaxHeight = options.flexibleMaxHeight;
59
- this.domNode = document.createElement('div');
59
+ this.domNode = createElement('div');
60
60
  this.domNode.classList.add('monaco-findInput');
61
61
  this.inputBox = this._register(( new HistoryInputBox(this.domNode, this.contextViewProvider, {
62
62
  ariaLabel: this.label || '',
@@ -120,7 +120,7 @@ class ReplaceInput extends Widget {
120
120
  }
121
121
  }
122
122
  });
123
- const controls = document.createElement('div');
123
+ const controls = createElement('div');
124
124
  controls.className = 'controls';
125
125
  controls.style.display = this._showOptionButtons ? 'block' : 'none';
126
126
  controls.appendChild(this.preserveCase.domNode);
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
- import { $ as $$1, append, addDisposableListener, EventType } from '../../dom.js';
3
+ import { $ as $$1, createElement, append, addDisposableListener, EventType } from '../../dom.js';
4
4
  import { StandardKeyboardEvent } from '../../keyboardEvent.js';
5
5
  import { DomScrollableElement } from '../scrollbar/scrollableElement.js';
6
6
  import { KeyCode } from '../../../common/keyCodes.js';
@@ -20,12 +20,12 @@ var HoverPosition;
20
20
  class HoverWidget extends Disposable {
21
21
  constructor(fadeIn) {
22
22
  super();
23
- this.containerDomNode = document.createElement('div');
23
+ this.containerDomNode = createElement('div');
24
24
  this.containerDomNode.className = 'monaco-hover';
25
25
  this.containerDomNode.classList.toggle('fade-in', !!fadeIn);
26
26
  this.containerDomNode.tabIndex = 0;
27
27
  this.containerDomNode.setAttribute('role', 'tooltip');
28
- this.contentsDomNode = document.createElement('div');
28
+ this.contentsDomNode = createElement('div');
29
29
  this.contentsDomNode.className = 'monaco-hover-content';
30
30
  this.scrollbar = this._register(( new DomScrollableElement(this.contentsDomNode, {
31
31
  consumeMouseWheelIfScrollbarIsNeeded: true
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { __decorate } from '../../../../../../../external/tslib/tslib.es6.js';
3
3
  import { DataTransfers } from '../../dnd.js';
4
- import { getContentWidth, scheduleAtNextAnimationFrame, getWindow, addDisposableListener, getActiveElement, getContentHeight, getDocument, getTopLeftOffset, animate, isHTMLElement, isSVGElement, isAncestor } from '../../dom.js';
4
+ import { getContentWidth, createElement, scheduleAtNextAnimationFrame, getWindow, addDisposableListener, getActiveElement, getContentHeight, getDocument, getTopLeftOffset, animate, isHTMLElement, isSVGElement, isAncestor } from '../../dom.js';
5
5
  import { DomEmitter } from '../../event.js';
6
6
  import { Gesture, EventType } from '../../touch.js';
7
7
  import { SmoothScrollableElement } from '../scrollbar/scrollableElement.js';
@@ -196,7 +196,7 @@ class ListView {
196
196
  this.cache = this.disposables.add(( new RowCache(this.renderers)));
197
197
  this.lastRenderTop = 0;
198
198
  this.lastRenderHeight = 0;
199
- this.domNode = document.createElement('div');
199
+ this.domNode = createElement('div');
200
200
  this.domNode.className = 'monaco-list';
201
201
  this.domNode.classList.add(this.domId);
202
202
  this.domNode.tabIndex = 0;
@@ -205,7 +205,7 @@ class ListView {
205
205
  this.domNode.classList.toggle('horizontal-scrolling', this._horizontalScrolling);
206
206
  this.paddingBottom = typeof options.paddingBottom === 'undefined' ? 0 : options.paddingBottom;
207
207
  this.accessibilityProvider = ( new ListViewAccessibilityProvider(options.accessibilityProvider));
208
- this.rowsContainer = document.createElement('div');
208
+ this.rowsContainer = createElement('div');
209
209
  this.rowsContainer.className = 'monaco-list-rows';
210
210
  const transformOptimization = options.transformOptimization ?? DefaultOptions.transformOptimization;
211
211
  if (transformOptimization) {
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { isFirefox } from '../../browser.js';
3
3
  import { Gesture, EventType as EventType$1 } from '../../touch.js';
4
- import { addDisposableListener, EventType, EventHelper, isAncestor, getWindow, isInShadowDOM, append, $, clearNode, getActiveElement, Dimension } from '../../dom.js';
4
+ import { createElement, addDisposableListener, EventType, EventHelper, isAncestor, getWindow, isInShadowDOM, append, $, clearNode, getActiveElement, Dimension } from '../../dom.js';
5
5
  import { createStyleSheet } from '../../domStylesheets.js';
6
6
  import { StandardKeyboardEvent } from '../../keyboardEvent.js';
7
7
  import { StandardMouseEvent } from '../../mouseEvent.js';
@@ -37,7 +37,7 @@ class Menu extends ActionBar {
37
37
  constructor(container, actions, options, menuStyles) {
38
38
  container.classList.add('monaco-menu-container');
39
39
  container.setAttribute('role', 'presentation');
40
- const menuElement = document.createElement('div');
40
+ const menuElement = createElement('div');
41
41
  menuElement.classList.add('monaco-menu');
42
42
  menuElement.setAttribute('role', 'presentation');
43
43
  super(menuElement, {
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
- import { show, hide } from '../../dom.js';
3
+ import { show, createElement, hide } from '../../dom.js';
4
4
  import { getProgressAcccessibilitySignalScheduler } from './progressAccessibilitySignal.js';
5
5
  import { RunOnceScheduler } from '../../../common/async.js';
6
6
  import { Disposable, MutableDisposable } from '../../../common/lifecycle.js';
@@ -28,12 +28,12 @@ class ProgressBar extends Disposable {
28
28
  this.create(container, options);
29
29
  }
30
30
  create(container, options) {
31
- this.element = document.createElement('div');
31
+ this.element = createElement('div');
32
32
  this.element.classList.add('monaco-progress-container');
33
33
  this.element.setAttribute('role', 'progressbar');
34
34
  this.element.setAttribute('aria-valuemin', '0');
35
35
  container.appendChild(this.element);
36
- this.bit = document.createElement('div');
36
+ this.bit = createElement('div');
37
37
  this.bit.classList.add('progress-bit');
38
38
  this.bit.style.backgroundColor = options?.progressBarBackground || '#0E70C0';
39
39
  this.element.appendChild(this.bit);
@@ -1,5 +1,5 @@
1
1
 
2
- import { Dimension } from '../../dom.js';
2
+ import { Dimension, createElement } from '../../dom.js';
3
3
  import { Sash, Orientation, OrthogonalEdge, SashState } from '../sash/sash.js';
4
4
  import { Emitter, Event } from '../../../common/event.js';
5
5
  import { DisposableStore } from '../../../common/lifecycle.js';
@@ -14,7 +14,7 @@ class ResizableHTMLElement {
14
14
  this._size = ( new Dimension(0, 0));
15
15
  this._minSize = ( new Dimension(0, 0));
16
16
  this._maxSize = ( new Dimension(Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER));
17
- this.domNode = document.createElement('div');
17
+ this.domNode = createElement('div');
18
18
  this._eastSash = ( new Sash(
19
19
  this.domNode,
20
20
  { getVerticalSashLeft: () => this._size.width },
@@ -1,5 +1,5 @@
1
1
 
2
- import { addDisposableListener, EventType, getDomNodePagePosition } from '../../dom.js';
2
+ import { createElement, addDisposableListener, EventType, getDomNodePagePosition, isElement } from '../../dom.js';
3
3
  import { createFastDomNode } from '../../fastDomNode.js';
4
4
  import { GlobalPointerMoveMonitor } from '../../globalPointerMoveMonitor.js';
5
5
  import { ScrollbarArrow } from './scrollbarArrow.js';
@@ -24,7 +24,7 @@ class AbstractScrollbar extends Widget {
24
24
  this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());
25
25
  this._pointerMoveMonitor = this._register(( new GlobalPointerMoveMonitor()));
26
26
  this._shouldRender = true;
27
- this.domNode = createFastDomNode(document.createElement('div'));
27
+ this.domNode = createFastDomNode(createElement('div'));
28
28
  this.domNode.setAttribute('role', 'presentation');
29
29
  this.domNode.setAttribute('aria-hidden', 'true');
30
30
  this._visibilityController.setDomNode(this.domNode);
@@ -37,7 +37,7 @@ class AbstractScrollbar extends Widget {
37
37
  this.domNode.domNode.appendChild(arrow.domNode);
38
38
  }
39
39
  _createSlider(top, left, width, height) {
40
- this.slider = createFastDomNode(document.createElement('div'));
40
+ this.slider = createFastDomNode(createElement('div'));
41
41
  this.slider.setClassName('slider');
42
42
  this.slider.setPosition('absolute');
43
43
  this.slider.setTop(top);
@@ -150,7 +150,7 @@ class AbstractScrollbar extends Widget {
150
150
  }
151
151
  }
152
152
  _sliderPointerDown(e) {
153
- if (!e.target || !(e.target instanceof Element)) {
153
+ if (!e.target || !isElement(e.target)) {
154
154
  return;
155
155
  }
156
156
  const initialPointerPosition = this._sliderPointerPosition(e);
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
3
  import { isChrome, getZoomFactor } from '../../browser.js';
4
- import { getWindow, addDisposableListener, EventType, scheduleAtNextAnimationFrame } from '../../dom.js';
4
+ import { getWindow, createElement, addDisposableListener, EventType, scheduleAtNextAnimationFrame } from '../../dom.js';
5
5
  import { createFastDomNode } from '../../fastDomNode.js';
6
6
  import { StandardWheelEvent } from '../../mouseEvent.js';
7
7
  import { HorizontalScrollbar } from './horizontalScrollbar.js';
@@ -135,7 +135,7 @@ class AbstractScrollableElement extends Widget {
135
135
  };
136
136
  this._verticalScrollbar = this._register(( new VerticalScrollbar(this._scrollable, this._options, scrollbarHost)));
137
137
  this._horizontalScrollbar = this._register(( new HorizontalScrollbar(this._scrollable, this._options, scrollbarHost)));
138
- this._domNode = document.createElement('div');
138
+ this._domNode = createElement('div');
139
139
  this._domNode.className = 'monaco-scrollable-element ' + this._options.className;
140
140
  this._domNode.setAttribute('role', 'presentation');
141
141
  this._domNode.style.position = 'relative';
@@ -144,13 +144,13 @@ class AbstractScrollableElement extends Widget {
144
144
  this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode);
145
145
  this._domNode.appendChild(this._verticalScrollbar.domNode.domNode);
146
146
  if (this._options.useShadows) {
147
- this._leftShadowDomNode = createFastDomNode(document.createElement('div'));
147
+ this._leftShadowDomNode = createFastDomNode(createElement('div'));
148
148
  this._leftShadowDomNode.setClassName('shadow');
149
149
  this._domNode.appendChild(this._leftShadowDomNode.domNode);
150
- this._topShadowDomNode = createFastDomNode(document.createElement('div'));
150
+ this._topShadowDomNode = createFastDomNode(createElement('div'));
151
151
  this._topShadowDomNode.setClassName('shadow');
152
152
  this._domNode.appendChild(this._topShadowDomNode.domNode);
153
- this._topLeftShadowDomNode = createFastDomNode(document.createElement('div'));
153
+ this._topLeftShadowDomNode = createFastDomNode(createElement('div'));
154
154
  this._topLeftShadowDomNode.setClassName('shadow');
155
155
  this._domNode.appendChild(this._topLeftShadowDomNode.domNode);
156
156
  }
@@ -3,14 +3,14 @@ import { GlobalPointerMoveMonitor } from '../../globalPointerMoveMonitor.js';
3
3
  import { Widget } from '../widget.js';
4
4
  import { TimeoutTimer } from '../../../common/async.js';
5
5
  import { ThemeIcon } from '../../../common/themables.js';
6
- import { addStandardDisposableListener, EventType, WindowIntervalTimer, getWindow } from '../../dom.js';
6
+ import { createElement, addStandardDisposableListener, EventType, WindowIntervalTimer, isElement, getWindow } from '../../dom.js';
7
7
 
8
8
  const ARROW_IMG_SIZE = 11;
9
9
  class ScrollbarArrow extends Widget {
10
10
  constructor(opts) {
11
11
  super();
12
12
  this._onActivate = opts.onActivate;
13
- this.bgDomNode = document.createElement('div');
13
+ this.bgDomNode = createElement('div');
14
14
  this.bgDomNode.className = 'arrow-background';
15
15
  this.bgDomNode.style.position = 'absolute';
16
16
  this.bgDomNode.style.width = opts.bgWidth + 'px';
@@ -27,7 +27,7 @@ class ScrollbarArrow extends Widget {
27
27
  if (typeof opts.right !== 'undefined') {
28
28
  this.bgDomNode.style.right = '0px';
29
29
  }
30
- this.domNode = document.createElement('div');
30
+ this.domNode = createElement('div');
31
31
  this.domNode.className = opts.className;
32
32
  this.domNode.classList.add(...ThemeIcon.asClassNameArray(opts.icon));
33
33
  this.domNode.style.position = 'absolute';
@@ -52,7 +52,7 @@ class ScrollbarArrow extends Widget {
52
52
  this._pointerdownScheduleRepeatTimer = this._register(( new TimeoutTimer()));
53
53
  }
54
54
  _arrowPointerDown(e) {
55
- if (!e.target || !(e.target instanceof Element)) {
55
+ if (!e.target || !isElement(e.target)) {
56
56
  return;
57
57
  }
58
58
  const scheduleRepeater = () => {
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
- import { $ as $$1, append, addDisposableListener, EventType, EventHelper, addStandardDisposableListener, getWindow, getDomNodePagePosition, getTotalWidth, isAncestor } from '../../dom.js';
3
+ import { $ as $$1, append, createElement, addDisposableListener, EventType, EventHelper, addStandardDisposableListener, getWindow, getDomNodePagePosition, getTotalWidth, isAncestor } from '../../dom.js';
4
4
  import { createStyleSheet } from '../../domStylesheets.js';
5
5
  import { asCssValueWithDefault } from '../../cssValue.js';
6
6
  import { DomEmitter } from '../../event.js';
@@ -71,7 +71,7 @@ class SelectBoxList extends Disposable {
71
71
  else if (this.selectBoxOptions.minBottomMargin < 0) {
72
72
  this.selectBoxOptions.minBottomMargin = 0;
73
73
  }
74
- this.selectElement = document.createElement('select');
74
+ this.selectElement = createElement('select');
75
75
  this.selectElement.className = 'monaco-select-box monaco-select-box-dropdown-padding';
76
76
  if (typeof this.selectBoxOptions.ariaLabel === 'string') {
77
77
  this.selectElement.setAttribute('aria-label', this.selectBoxOptions.ariaLabel);
@@ -110,7 +110,7 @@ class SelectBoxList extends Disposable {
110
110
  this.selectionDetailsPane = append(this.selectDropDownContainer, $('.select-box-details-pane'));
111
111
  const widthControlOuterDiv = append(this.selectDropDownContainer, $('.select-box-dropdown-container-width-control'));
112
112
  const widthControlInnerDiv = append(widthControlOuterDiv, $('.width-control-div'));
113
- this.widthControlElement = document.createElement('span');
113
+ this.widthControlElement = createElement('span');
114
114
  this.widthControlElement.className = 'option-text-width-control';
115
115
  append(widthControlInnerDiv, this.widthControlElement);
116
116
  this._dropDownPosition = AnchorPosition.BELOW;
@@ -297,7 +297,7 @@ class SelectBoxList extends Disposable {
297
297
  this.selectList.style(this.styles);
298
298
  }
299
299
  createOption(value, index, disabled) {
300
- const option = document.createElement('option');
300
+ const option = createElement('option');
301
301
  option.value = value;
302
302
  option.text = value;
303
303
  option.disabled = !!disabled;
@@ -1,5 +1,5 @@
1
1
 
2
- import { addDisposableListener, addStandardDisposableListener, EventHelper } from '../../dom.js';
2
+ import { createElement, addDisposableListener, addStandardDisposableListener, EventHelper } from '../../dom.js';
3
3
  import { Gesture, EventType } from '../../touch.js';
4
4
  import { equals } from '../../../common/arrays.js';
5
5
  import { Emitter } from '../../../common/event.js';
@@ -13,7 +13,7 @@ class SelectBoxNative extends Disposable {
13
13
  this.selected = 0;
14
14
  this.selectBoxOptions = selectBoxOptions || Object.create(null);
15
15
  this.options = [];
16
- this.selectElement = document.createElement('select');
16
+ this.selectElement = createElement('select');
17
17
  this.selectElement.className = 'monaco-select-box';
18
18
  if (typeof this.selectBoxOptions.ariaLabel === 'string') {
19
19
  this.selectElement.setAttribute('aria-label', this.selectBoxOptions.ariaLabel);
@@ -136,7 +136,7 @@ class SelectBoxNative extends Disposable {
136
136
  }
137
137
  }
138
138
  createOption(value, index, disabled) {
139
- const option = document.createElement('option');
139
+ const option = createElement('option');
140
140
  option.value = value;
141
141
  option.text = value;
142
142
  option.disabled = !!disabled;
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
- import { append, $, scheduleAtNextAnimationFrame, getWindow, addDisposableListener, getRootContainer } from '../../dom.js';
3
+ import { createElement, append, $, scheduleAtNextAnimationFrame, getWindow, addDisposableListener, getRootContainer } from '../../dom.js';
4
4
  import { DomEmitter } from '../../event.js';
5
5
  import { Orientation, Sash, SashState } from '../sash/sash.js';
6
6
  import { SmoothScrollableElement } from '../scrollbar/scrollableElement.js';
@@ -183,7 +183,7 @@ class SplitView extends Disposable {
183
183
  this.inverseAltBehavior = options.inverseAltBehavior ?? false;
184
184
  this.proportionalLayout = options.proportionalLayout ?? true;
185
185
  this.getSashOrthogonalSize = options.getSashOrthogonalSize;
186
- this.el = document.createElement('div');
186
+ this.el = createElement('div');
187
187
  this.el.classList.add('monaco-split-view2');
188
188
  this.el.classList.add(this.orientation === Orientation.VERTICAL ? 'vertical' : 'horizontal');
189
189
  container.appendChild(this.el);
@@ -4,7 +4,7 @@ import { Codicon } from '../../../common/codicons.js';
4
4
  import { Emitter } from '../../../common/event.js';
5
5
  import { KeyCode } from '../../../common/keyCodes.js';
6
6
  import { ThemeIcon } from '../../../common/themables.js';
7
- import { isActiveElement, $, addDisposableListener, EventType } from '../../dom.js';
7
+ import { createElement, isActiveElement, $, addDisposableListener, EventType } from '../../dom.js';
8
8
  import { BaseActionViewItem } from '../actionbar/actionViewItems.js';
9
9
  import { getBaseLayerHoverDelegate } from '../hover/hoverDelegate2.js';
10
10
  import { getDefaultHoverDelegate } from '../hover/hoverDelegateFactory.js';
@@ -94,7 +94,7 @@ class Toggle extends Widget {
94
94
  if (this._checked) {
95
95
  classes.push('checked');
96
96
  }
97
- this.domNode = document.createElement('div');
97
+ this.domNode = createElement('div');
98
98
  if (this._opts.hoverDelegate?.showNativeHover) {
99
99
  this.domNode.title = this._opts.title;
100
100
  }
@@ -10,6 +10,7 @@ import { Disposable, DisposableStore } from '../../../common/lifecycle.js';
10
10
  import * as toolbar from './toolbar.css';
11
11
  import { localize } from '../../../../nls.js';
12
12
  import { createInstantHoverDelegate } from '../hover/hoverDelegateFactory.js';
13
+ import { createElement } from '../../dom.js';
13
14
 
14
15
  registerCss(toolbar);
15
16
  class ToolBar extends Disposable {
@@ -23,7 +24,7 @@ class ToolBar extends Disposable {
23
24
  options.hoverDelegate = options.hoverDelegate ?? this._register(createInstantHoverDelegate());
24
25
  this.options = options;
25
26
  this.toggleMenuAction = this._register(( new ToggleMenuAction(() => this.toggleMenuActionViewItem?.show(), options.toggleMenuTitle)));
26
- this.element = document.createElement('div');
27
+ this.element = createElement('div');
27
28
  this.element.className = 'monaco-toolbar';
28
29
  container.appendChild(this.element);
29
30
  this.actionBar = this._register(( new ActionBar(this.element, {
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
- import { append, $, clearNode, h, addDisposableListener, isKeyboardEvent, hasParentWithClass, isEditableElement, isActiveElement } from '../../dom.js';
3
+ import { append, $, clearNode, h, createElement, addDisposableListener, isKeyboardEvent, hasParentWithClass, isEditableElement, isActiveElement } from '../../dom.js';
4
4
  import { createStyleSheet } from '../../domStylesheets.js';
5
5
  import { asCssValueWithDefault } from '../../cssValue.js';
6
6
  import { DomEmitter } from '../../event.js';
@@ -1291,7 +1291,7 @@ class StickyScrollWidget {
1291
1291
  }
1292
1292
  createElement(stickyNode, stickyIndex, stickyNodesTotal) {
1293
1293
  const nodeIndex = stickyNode.startIndex;
1294
- const stickyElement = document.createElement('div');
1294
+ const stickyElement = createElement('div');
1295
1295
  stickyElement.style.top = `${stickyNode.position}px`;
1296
1296
  if (this.tree.options.setRowHeight !== false) {
1297
1297
  stickyElement.style.height = `${stickyNode.height}px`;
@@ -2,5 +2,8 @@ export type CodeWindow = Window & typeof globalThis & {
2
2
  readonly vscodeWindowId: number;
3
3
  };
4
4
  export declare function ensureCodeWindow(targetWindow: Window, fallbackWindowId: number): asserts targetWindow is CodeWindow;
5
+ declare global {
6
+ var vscodeWindow: Window | undefined;
7
+ }
5
8
  export declare const mainWindow: CodeWindow;
6
9
  export declare function isAuxiliaryWindow(obj: Window): obj is CodeWindow;
@@ -8,7 +8,7 @@ function ensureCodeWindow(targetWindow, fallbackWindowId) {
8
8
  });
9
9
  }
10
10
  }
11
- const mainWindow = window;
11
+ const mainWindow = (window.vscodeWindow ?? window);
12
12
  function isAuxiliaryWindow(obj) {
13
13
  if (obj === mainWindow) {
14
14
  return false;
@@ -1,5 +1,6 @@
1
1
 
2
2
  import { applyFontInfo } from './domFontInfo.js';
3
+ import { createElement } from '../../../base/browser/dom.js';
3
4
 
4
5
  var CharWidthRequestType;
5
6
  (function (CharWidthRequestType) {
@@ -33,18 +34,18 @@ class DomCharWidthReader {
33
34
  this._testElements = null;
34
35
  }
35
36
  _createDomElements() {
36
- const container = document.createElement('div');
37
+ const container = createElement('div');
37
38
  container.style.position = 'absolute';
38
39
  container.style.top = '-50000px';
39
40
  container.style.width = '50000px';
40
- const regularDomNode = document.createElement('div');
41
+ const regularDomNode = createElement('div');
41
42
  applyFontInfo(regularDomNode, this._bareFontInfo);
42
43
  container.appendChild(regularDomNode);
43
- const boldDomNode = document.createElement('div');
44
+ const boldDomNode = createElement('div');
44
45
  applyFontInfo(boldDomNode, this._bareFontInfo);
45
46
  boldDomNode.style.fontWeight = 'bold';
46
47
  container.appendChild(boldDomNode);
47
- const italicDomNode = document.createElement('div');
48
+ const italicDomNode = createElement('div');
48
49
  applyFontInfo(italicDomNode, this._bareFontInfo);
49
50
  italicDomNode.style.fontStyle = 'italic';
50
51
  container.appendChild(italicDomNode);
@@ -60,8 +61,8 @@ class DomCharWidthReader {
60
61
  if (request.type === CharWidthRequestType.Italic) {
61
62
  parent = italicDomNode;
62
63
  }
63
- parent.appendChild(document.createElement('br'));
64
- const testElement = document.createElement('span');
64
+ parent.appendChild(createElement('br'));
65
+ const testElement = createElement('span');
65
66
  DomCharWidthReader._render(testElement, request);
66
67
  parent.appendChild(testElement);
67
68
  testElements.push(testElement);
@@ -3,7 +3,7 @@ import { registerCss } from '@codingame/monaco-vscode-api/css';
3
3
  import { __decorate, __param } from '../../../../../../../../external/tslib/tslib.es6.js';
4
4
  import * as nativeEditContext from './nativeEditContext.css';
5
5
  import { isFirefox } from '../../../../../base/browser/browser.js';
6
- import { getWindow, addDisposableListener, getWindowId, getActiveWindow } from '../../../../../base/browser/dom.js';
6
+ import { createElement, getWindow, addDisposableListener, getWindowId, getActiveWindow } from '../../../../../base/browser/dom.js';
7
7
  import { FastDomNode } from '../../../../../base/browser/fastDomNode.js';
8
8
  import { StandardKeyboardEvent } from '../../../../../base/browser/keyboardEvent.js';
9
9
  import { KeyCode } from '../../../../../base/common/keyCodes.js';
@@ -47,9 +47,9 @@ let NativeEditContext = class NativeEditContext extends AbstractEditContext {
47
47
  this._targetWindowId = -1;
48
48
  this._scrollTop = 0;
49
49
  this._scrollLeft = 0;
50
- this.domNode = ( new FastDomNode(document.createElement('div')));
50
+ this.domNode = ( new FastDomNode(createElement('div')));
51
51
  this.domNode.setClassName(`native-edit-context`);
52
- this._imeTextArea = ( new FastDomNode(document.createElement('textarea')));
52
+ this._imeTextArea = ( new FastDomNode(createElement('textarea')));
53
53
  this._imeTextArea.setClassName(`ime-text-area`);
54
54
  this._imeTextArea.setAttribute('readonly', 'true');
55
55
  this._imeTextArea.setAttribute('tabindex', '-1');
@@ -32,6 +32,7 @@ import { ariaLabelForScreenReaderContent, PagedScreenReaderStrategy, newlinecoun
32
32
  import { getDataToCopy } from '../clipboardUtils.js';
33
33
  import { TextAreaState } from './textAreaEditContextState.js';
34
34
  import { getMapForWordSeparators, WordCharacterClass } from '../../../../common/core/wordCharacterClassifier.js';
35
+ import { createElement } from '../../../../../base/browser/dom.js';
35
36
 
36
37
  registerCss(textAreaEditContext);
37
38
  class VisibleTextAreaData {
@@ -108,7 +109,7 @@ let TextAreaEditContext = class TextAreaEditContext extends AbstractEditContext
108
109
  this._selections = [( new Selection(1, 1, 1, 1))];
109
110
  this._modelSelections = [( new Selection(1, 1, 1, 1))];
110
111
  this._lastRenderPosition = null;
111
- this.textArea = createFastDomNode(document.createElement('textarea'));
112
+ this.textArea = createFastDomNode(createElement('textarea'));
112
113
  PartFingerprints.write(this.textArea, PartFingerprint.TextArea);
113
114
  this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`);
114
115
  this.textArea.setAttribute('wrap', this._textAreaWrapping && !this._visibleTextArea ? 'on' : 'off');
@@ -126,7 +127,7 @@ let TextAreaEditContext = class TextAreaEditContext extends AbstractEditContext
126
127
  this.textArea.setAttribute('aria-multiline', 'true');
127
128
  this.textArea.setAttribute('aria-autocomplete', options.get(EditorOption.readOnly) ? 'none' : 'both');
128
129
  this._ensureReadOnlyAttribute();
129
- this.textAreaCover = createFastDomNode(document.createElement('div'));
130
+ this.textAreaCover = createFastDomNode(createElement('div'));
130
131
  this.textAreaCover.setPosition('absolute');
131
132
  overflowGuardContainer.appendChild(this.textArea);
132
133
  overflowGuardContainer.appendChild(this.textAreaCover);
@@ -7,7 +7,7 @@ import { EditorOption } from '../../common/config/editorOptions.js';
7
7
  import { Position } from '../../common/core/position.js';
8
8
  import { Range } from '../../common/core/range.js';
9
9
  import { CursorColumns } from '../../common/core/cursorColumns.js';
10
- import { getRootContainer, getWindow, getShadowRoot } from '../../../base/browser/dom.js';
10
+ import { getRootContainer, getWindow, getShadowRoot, createElement } from '../../../base/browser/dom.js';
11
11
  import { AtomicTabMoveOperations, Direction } from '../../common/cursor/cursorAtomicMoveOperations.js';
12
12
  import { PositionAffinity } from '../../common/model.js';
13
13
  import { Lazy } from '../../../base/common/lazy.js';
@@ -864,7 +864,7 @@ class CharWidthReader {
864
864
  }
865
865
  constructor() {
866
866
  this._cache = {};
867
- this._canvas = document.createElement('canvas');
867
+ this._canvas = createElement('canvas');
868
868
  }
869
869
  getCharWidth(char, font) {
870
870
  const cacheKey = char + font;
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
3
3
  import { localize } from '../../../nls.js';
4
- import { getActiveWindow, addDisposableListener } from '../../../base/browser/dom.js';
4
+ import { createElement, getActiveWindow, addDisposableListener } from '../../../base/browser/dom.js';
5
5
  import { createFastDomNode } from '../../../base/browser/fastDomNode.js';
6
6
  import { BugIndicatingError } from '../../../base/common/errors.js';
7
7
  import { Disposable } from '../../../base/common/lifecycle.js';
@@ -49,7 +49,7 @@ let ViewGpuContext = class ViewGpuContext extends Disposable {
49
49
  this._notificationService = _notificationService;
50
50
  this.configurationService = configurationService;
51
51
  this.maxGpuCols = 2000;
52
- this.canvas = createFastDomNode(document.createElement('canvas'));
52
+ this.canvas = createFastDomNode(createElement('canvas'));
53
53
  this.canvas.setClassName('editorCanvas');
54
54
  this._register(Event.runAndSubscribe(configurationService.onDidChangeConfiguration, e => {
55
55
  if (!e || e.affectsConfiguration('editor.scrollbar.verticalScrollbarSize')) {
@@ -9,6 +9,7 @@ import { Position } from '../common/core/position.js';
9
9
  import { Selection } from '../common/core/selection.js';
10
10
  import { ContentWidgetPositionPreference } from './editorBrowser.js';
11
11
  import { Point } from '../common/core/2d/point.js';
12
+ import { createElement } from '../../base/browser/dom.js';
12
13
  import { TransactionImpl } from '../../base/common/observableInternal/transaction.js';
13
14
  import { observableFromEvent } from '../../base/common/observableInternal/observables/observableFromEvent.js';
14
15
  import { derivedOpts, derivedWithSetter, derived } from '../../base/common/observableInternal/observables/derived.js';
@@ -287,7 +288,7 @@ class ObservableCodeEditor extends Disposable {
287
288
  let pos = position.get();
288
289
  const result = observableValueOpts({ owner: this, debugName: () => `topLeftOfPosition${pos?.toString()}`, equalsFn: equalsIfDefined(Point.equals) }, ( new Point(0, 0)));
289
290
  const contentWidgetId = `observablePositionWidget` + (this._widgetCounter++);
290
- const domNode = document.createElement('div');
291
+ const domNode = createElement('div');
291
292
  const w = {
292
293
  getDomNode: () => domNode,
293
294
  getPosition: () => {
@@ -8,6 +8,7 @@ import { WrappingIndent } from '../../common/config/editorOptions.js';
8
8
  import { StringBuilder } from '../../common/core/stringBuilder.js';
9
9
  import { ModelLineProjectionData } from '../../common/modelLineProjectionData.js';
10
10
  import { LineInjectedText } from '../../common/textModelEvents.js';
11
+ import { createElement } from '../../../base/browser/dom.js';
11
12
 
12
13
  const ttPolicy = createTrustedTypesPolicy('domLineBreaksComputer', { createHTML: value => value });
13
14
  class DOMLineBreaksComputerFactory {
@@ -55,7 +56,7 @@ function createLineBreaks(targetWindow, requests, fontInfo, tabSize, firstLineBr
55
56
  const additionalIndent = (wrappingIndent === WrappingIndent.DeepIndent ? 2 : wrappingIndent === WrappingIndent.Indent ? 1 : 0);
56
57
  const additionalIndentSize = Math.round(tabSize * additionalIndent);
57
58
  const additionalIndentLength = Math.ceil(fontInfo.spaceWidth * additionalIndentSize);
58
- const containerDomNode = document.createElement('div');
59
+ const containerDomNode = createElement('div');
59
60
  applyFontInfo(containerDomNode, fontInfo);
60
61
  const sb = ( new StringBuilder(10000));
61
62
  const firstNonWhitespaceIndices = [];
@@ -1,4 +1,5 @@
1
1
 
2
+ import { createElement } from '../../../base/browser/dom.js';
2
3
  import { createFastDomNode } from '../../../base/browser/fastDomNode.js';
3
4
  import { createTrustedTypesPolicy } from '../../../base/browser/trustedTypes.js';
4
5
  import { BugIndicatingError } from '../../../base/common/errors.js';
@@ -156,7 +157,7 @@ class VisibleLinesCollection {
156
157
  this._linesCollection = ( new RenderedLinesCollection(this._lineFactory));
157
158
  }
158
159
  _createDomNode() {
159
- const domNode = createFastDomNode(document.createElement('div'));
160
+ const domNode = createFastDomNode(createElement('div'));
160
161
  domNode.setClassName('view-layer');
161
162
  domNode.setPosition('absolute');
162
163
  domNode.domNode.setAttribute('role', 'presentation');
@@ -354,7 +355,7 @@ class ViewLayerRenderer {
354
355
  }
355
356
  }
356
357
  _finishRenderingInvalidLines(ctx, invalidLinesHTML, wasInvalid) {
357
- const hugeDomNode = document.createElement('div');
358
+ const hugeDomNode = createElement('div');
358
359
  if (ViewLayerRenderer._ttPolicy) {
359
360
  invalidLinesHTML = ViewLayerRenderer._ttPolicy.createHTML(invalidLinesHTML);
360
361
  }