@codingame/monaco-vscode-view-common-service-override 5.3.0 → 6.0.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 (72) hide show
  1. package/package.json +3 -3
  2. package/viewCommon.js +1 -1
  3. package/vscode/src/vs/base/browser/ui/centered/centeredViewLayout.js +2 -1
  4. package/vscode/src/vs/base/browser/ui/grid/grid.js +34 -24
  5. package/vscode/src/vs/base/browser/ui/grid/gridview.js +35 -34
  6. package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +9 -60
  7. package/vscode/src/vs/workbench/browser/actions/listCommands.js +119 -79
  8. package/vscode/src/vs/workbench/browser/actions/navigationActions.js +76 -64
  9. package/vscode/src/vs/workbench/browser/media/style.css.js +1 -1
  10. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +51 -71
  11. package/vscode/src/vs/workbench/browser/parts/activitybar/media/activityaction.css.js +1 -1
  12. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +21 -18
  13. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +6 -6
  14. package/vscode/src/vs/workbench/browser/parts/compositePart.js +11 -8
  15. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +8 -7
  16. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +112 -107
  17. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +2 -2
  18. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +36 -30
  19. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +75 -69
  20. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +143 -25
  21. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +20 -16
  22. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +13 -11
  23. package/vscode/src/vs/workbench/browser/parts/paneCompositePartService.js +5 -4
  24. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +8 -5
  25. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarActions.js +9 -6
  26. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +51 -37
  27. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +28 -25
  28. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +23 -13
  29. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.js +5 -5
  30. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +3 -2
  31. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInputFactory.js +2 -1
  32. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditors.js +34 -23
  33. package/vscode/src/vs/workbench/contrib/customEditor/common/contributedCustomEditors.js +3 -2
  34. package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.js +7 -1
  35. package/vscode/src/vs/workbench/contrib/customEditor/common/extensionPoint.js +3 -2
  36. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpener.contribution.js +1 -0
  37. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +17 -15
  38. package/vscode/src/vs/workbench/contrib/limitIndicator/browser/limitIndicator.contribution.js +2 -1
  39. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.js +2 -1
  40. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.js +4 -3
  41. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +7 -7
  42. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.js +2 -2
  43. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/codeEditorView.js +2 -1
  44. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.js +9 -8
  45. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/resultCodeEditorView.js +2 -2
  46. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +11 -6
  47. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/scrollSynchronizer.js +24 -23
  48. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewModel.js +3 -2
  49. package/vscode/src/vs/workbench/contrib/preferences/browser/keyboardLayoutPicker.js +5 -4
  50. package/vscode/src/vs/workbench/contrib/sash/browser/sash.contribution.js +2 -1
  51. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +26 -23
  52. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +23 -13
  53. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyTree.js +5 -5
  54. package/vscode/src/vs/workbench/contrib/webview/browser/resourceLoading.js +2 -2
  55. package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +7 -6
  56. package/vscode/src/vs/workbench/contrib/webview/browser/webviewService.js +8 -6
  57. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewCommands.js +10 -8
  58. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +3 -2
  59. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +4 -3
  60. package/vscode/src/vs/workbench/services/activity/browser/activityService.js +1 -0
  61. package/vscode/src/vs/workbench/services/editor/browser/editorPaneService.js +1 -0
  62. package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.js +21 -19
  63. package/vscode/src/vs/workbench/services/history/browser/historyService.js +73 -63
  64. package/vscode/src/vs/workbench/services/progress/browser/progressService.js +19 -15
  65. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +1 -0
  66. package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +23 -18
  67. package/vscode/src/vs/workbench/services/views/common/viewContainerModel.js +20 -14
  68. package/vscode/src/vs/base/browser/deviceAccess.js +0 -61
  69. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +0 -13
  70. package/vscode/src/vs/workbench/browser/window.js +0 -330
  71. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +0 -371
  72. package/vscode/src/vs/workbench/services/driver/browser/driver.js +0 -188
@@ -1,8 +1,10 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
2
  import './media/sidebarpart.css.js';
3
3
  import './sidebarActions.js';
4
+ import { Parts, LayoutSettings, Position, ActivityBarPosition } from 'vscode/vscode/vs/workbench/services/layout/browser/layoutService';
4
5
  import { IWorkbenchLayoutService } from 'vscode/vscode/vs/workbench/services/layout/browser/layoutService.service';
5
6
  import { ActiveViewletContext, SidebarFocusContext } from 'vscode/vscode/vs/workbench/common/contextkeys';
7
+ import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
6
8
  import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
7
9
  import { IContextMenuService } from 'vscode/vscode/vs/platform/contextview/browser/contextView.service';
8
10
  import { IKeybindingService } from 'vscode/vscode/vs/platform/keybinding/common/keybinding.service';
@@ -22,11 +24,15 @@ import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
22
24
  import { SIDE_BAR_BORDER, SIDE_BAR_TITLE_FOREGROUND, SIDE_BAR_BACKGROUND, SIDE_BAR_FOREGROUND, SIDE_BAR_DRAG_AND_DROP_BACKGROUND, ACTIVITY_BAR_TOP_ACTIVE_BORDER, ACTIVITY_BAR_TOP_FOREGROUND, ACTIVITY_BAR_TOP_INACTIVE_FOREGROUND, ACTIVITY_BAR_BADGE_BACKGROUND, ACTIVITY_BAR_BADGE_FOREGROUND, ACTIVITY_BAR_TOP_DRAG_AND_DROP_BORDER } from 'vscode/vscode/vs/workbench/common/theme';
23
25
  import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
24
26
  import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
27
+ import { AnchorAlignment } from 'vscode/vscode/vs/base/browser/ui/contextview/contextview';
25
28
  import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
29
+ import '../../../../base/browser/ui/grid/grid.js';
26
30
  import { assertIsDefined } from 'vscode/vscode/vs/base/common/types';
27
31
  import { IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views.service';
28
32
  import { AbstractPaneCompositePart, CompositeBarPosition } from '../paneCompositePart.js';
29
33
  import { ActivitybarPart, ActivityBarCompositeBar } from '../activitybar/activitybarPart.js';
34
+ import { ActionsOrientation } from 'vscode/vscode/vs/base/browser/ui/actionbar/actionbar';
35
+ import { HoverPosition } from 'vscode/vscode/vs/base/browser/ui/hover/hoverWidget';
30
36
  import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
31
37
  import { registerAction2, Action2 } from 'vscode/vscode/vs/platform/actions/common/actions';
32
38
  import { IMenuService } from 'vscode/vscode/vs/platform/actions/common/actions.service';
@@ -34,6 +40,14 @@ import { Separator } from 'vscode/vscode/vs/base/common/actions';
34
40
  import { ToggleActivityBarVisibilityActionId } from 'vscode/vscode/vs/workbench/browser/actions/layoutActions';
35
41
  import { localize2WithPath } from 'vscode/vscode/vs/nls';
36
42
  import { IHoverService } from 'vscode/vscode/vs/platform/hover/browser/hover.service';
43
+ import { LayoutPriority } from 'vscode/vscode/vs/base/browser/ui/splitview/splitview';
44
+ import 'vscode/vscode/vs/base/browser/dom';
45
+ import 'vscode/vscode/vs/base/browser/ui/sash/sash';
46
+ import 'vscode/vscode/vs/base/common/arrays';
47
+ import 'vscode/vscode/vs/base/common/color';
48
+ import 'vscode/vscode/vs/base/common/event';
49
+ import 'vscode/vscode/vs/base/common/lifecycle';
50
+ import '../../../../base/browser/ui/grid/gridview.css.js';
37
51
 
38
52
  var SidebarPart_1;
39
53
  const _moduleId = "vs/workbench/browser/parts/sidebar/sidebarPart";
@@ -53,31 +67,31 @@ let SidebarPart = class SidebarPart extends AbstractPaneCompositePart {
53
67
  return Math.max(width, 300);
54
68
  }
55
69
  constructor(notificationService, storageService, contextMenuService, layoutService, keybindingService, hoverService, instantiationService, themeService, viewDescriptorService, contextKeyService, extensionService, configurationService, menuService) {
56
- super("workbench.parts.sidebar" , { hasTitle: true, borderWidth: () => (this.getColor(SIDE_BAR_BORDER) || this.getColor(contrastBorder)) ? 1 : 0 }, SidebarPart_1.activeViewletSettingsKey, ActiveViewletContext.bindTo(contextKeyService), SidebarFocusContext.bindTo(contextKeyService), 'sideBar', 'viewlet', SIDE_BAR_TITLE_FOREGROUND, notificationService, storageService, contextMenuService, layoutService, keybindingService, hoverService, instantiationService, themeService, viewDescriptorService, contextKeyService, extensionService, menuService);
70
+ super(Parts.SIDEBAR_PART, { hasTitle: true, borderWidth: () => (this.getColor(SIDE_BAR_BORDER) || this.getColor(contrastBorder)) ? 1 : 0 }, SidebarPart_1.activeViewletSettingsKey, ActiveViewletContext.bindTo(contextKeyService), SidebarFocusContext.bindTo(contextKeyService), 'sideBar', 'viewlet', SIDE_BAR_TITLE_FOREGROUND, notificationService, storageService, contextMenuService, layoutService, keybindingService, hoverService, instantiationService, themeService, viewDescriptorService, contextKeyService, extensionService, menuService);
57
71
  this.configurationService = configurationService;
58
72
  this.minimumWidth = 170;
59
73
  this.maximumWidth = Number.POSITIVE_INFINITY;
60
74
  this.minimumHeight = 0;
61
75
  this.maximumHeight = Number.POSITIVE_INFINITY;
62
- this.priority = 1 ;
63
- this.acitivityBarPart = this._register(instantiationService.createInstance(ActivitybarPart, this));
76
+ this.priority = LayoutPriority.Low;
77
+ this.activityBarPart = this._register(this.instantiationService.createInstance(ActivitybarPart, this));
64
78
  this.rememberActivityBarVisiblePosition();
65
79
  this._register(configurationService.onDidChangeConfiguration(e => {
66
- if (e.affectsConfiguration("workbench.activityBar.location" )) {
80
+ if (e.affectsConfiguration(LayoutSettings.ACTIVITY_BAR_LOCATION)) {
67
81
  this.onDidChangeActivityBarLocation();
68
82
  }
69
83
  }));
70
84
  this.registerActions();
71
85
  }
72
86
  onDidChangeActivityBarLocation() {
73
- this.acitivityBarPart.hide();
87
+ this.activityBarPart.hide();
74
88
  this.updateCompositeBar();
75
89
  const id = this.getActiveComposite()?.getId();
76
90
  if (id) {
77
91
  this.onTitleAreaUpdate(id);
78
92
  }
79
93
  if (this.shouldShowActivityBar()) {
80
- this.acitivityBarPart.show();
94
+ this.activityBarPart.show();
81
95
  }
82
96
  this.rememberActivityBarVisiblePosition();
83
97
  }
@@ -87,7 +101,7 @@ let SidebarPart = class SidebarPart extends AbstractPaneCompositePart {
87
101
  container.style.backgroundColor = this.getColor(SIDE_BAR_BACKGROUND) || '';
88
102
  container.style.color = this.getColor(SIDE_BAR_FOREGROUND) || '';
89
103
  const borderColor = this.getColor(SIDE_BAR_BORDER) || this.getColor(contrastBorder);
90
- const isPositionLeft = this.layoutService.getSideBarPosition() === 0 ;
104
+ const isPositionLeft = this.layoutService.getSideBarPosition() === Position.LEFT;
91
105
  container.style.borderRightWidth = borderColor && isPositionLeft ? '1px' : '';
92
106
  container.style.borderRightStyle = borderColor && isPositionLeft ? 'solid' : '';
93
107
  container.style.borderRightColor = isPositionLeft ? borderColor || '' : '';
@@ -97,13 +111,13 @@ let SidebarPart = class SidebarPart extends AbstractPaneCompositePart {
97
111
  container.style.outlineColor = this.getColor(SIDE_BAR_DRAG_AND_DROP_BACKGROUND) ?? '';
98
112
  }
99
113
  layout(width, height, top, left) {
100
- if (!this.layoutService.isVisible("workbench.parts.sidebar" )) {
114
+ if (!this.layoutService.isVisible(Parts.SIDEBAR_PART)) {
101
115
  return;
102
116
  }
103
117
  super.layout(width, height, top, left);
104
118
  }
105
119
  getTitleAreaDropDownAnchorAlignment() {
106
- return this.layoutService.getSideBarPosition() === 0 ? 0 : 1 ;
120
+ return this.layoutService.getSideBarPosition() === Position.LEFT ? AnchorAlignment.LEFT : AnchorAlignment.RIGHT;
107
121
  }
108
122
  createCompositeBar() {
109
123
  return this.instantiationService.createInstance(ActivityBarCompositeBar, this.getCompositeBarOptions(), this.partId, this, false);
@@ -115,10 +129,10 @@ let SidebarPart = class SidebarPart extends AbstractPaneCompositePart {
115
129
  placeholderViewContainersKey: ActivitybarPart.placeholderViewContainersKey,
116
130
  viewContainersWorkspaceStateKey: ActivitybarPart.viewContainersWorkspaceStateKey,
117
131
  icon: true,
118
- orientation: 0 ,
132
+ orientation: ActionsOrientation.HORIZONTAL,
119
133
  recomputeSizes: true,
120
134
  activityHoverOptions: {
121
- position: () => this.getCompositeBarPosition() === CompositeBarPosition.BOTTOM ? 3 : 2 ,
135
+ position: () => this.getCompositeBarPosition() === CompositeBarPosition.BOTTOM ? HoverPosition.ABOVE : HoverPosition.BELOW,
122
136
  },
123
137
  fillExtraContextMenuActions: actions => {
124
138
  const viewsSubmenuAction = this.getViewsSubmenuAction();
@@ -144,58 +158,58 @@ let SidebarPart = class SidebarPart extends AbstractPaneCompositePart {
144
158
  };
145
159
  }
146
160
  shouldShowCompositeBar() {
147
- const activityBarPosition = this.configurationService.getValue("workbench.activityBar.location" );
148
- return activityBarPosition === "top" || activityBarPosition === "bottom" ;
161
+ const activityBarPosition = this.configurationService.getValue(LayoutSettings.ACTIVITY_BAR_LOCATION);
162
+ return activityBarPosition === ActivityBarPosition.TOP || activityBarPosition === ActivityBarPosition.BOTTOM;
149
163
  }
150
164
  shouldShowActivityBar() {
151
165
  if (this.shouldShowCompositeBar()) {
152
166
  return false;
153
167
  }
154
- return this.configurationService.getValue("workbench.activityBar.location" ) !== "hidden" ;
168
+ return this.configurationService.getValue(LayoutSettings.ACTIVITY_BAR_LOCATION) !== ActivityBarPosition.HIDDEN;
155
169
  }
156
170
  getCompositeBarPosition() {
157
- const activityBarPosition = this.configurationService.getValue("workbench.activityBar.location" );
171
+ const activityBarPosition = this.configurationService.getValue(LayoutSettings.ACTIVITY_BAR_LOCATION);
158
172
  switch (activityBarPosition) {
159
- case "top" : return CompositeBarPosition.TOP;
160
- case "bottom" : return CompositeBarPosition.BOTTOM;
161
- case "hidden" :
162
- case "default" :
173
+ case ActivityBarPosition.TOP: return CompositeBarPosition.TOP;
174
+ case ActivityBarPosition.BOTTOM: return CompositeBarPosition.BOTTOM;
175
+ case ActivityBarPosition.HIDDEN:
176
+ case ActivityBarPosition.DEFAULT:
163
177
  default: return CompositeBarPosition.TITLE;
164
178
  }
165
179
  }
166
180
  rememberActivityBarVisiblePosition() {
167
- const activityBarPosition = this.configurationService.getValue("workbench.activityBar.location" );
168
- if (activityBarPosition !== "hidden" ) {
169
- this.storageService.store("workbench.activityBar.location" , activityBarPosition, 0 , 0 );
181
+ const activityBarPosition = this.configurationService.getValue(LayoutSettings.ACTIVITY_BAR_LOCATION);
182
+ if (activityBarPosition !== ActivityBarPosition.HIDDEN) {
183
+ this.storageService.store(LayoutSettings.ACTIVITY_BAR_LOCATION, activityBarPosition, StorageScope.PROFILE, StorageTarget.USER);
170
184
  }
171
185
  }
172
186
  getRememberedActivityBarVisiblePosition() {
173
- const activityBarPosition = this.storageService.get("workbench.activityBar.location" , 0 );
187
+ const activityBarPosition = this.storageService.get(LayoutSettings.ACTIVITY_BAR_LOCATION, StorageScope.PROFILE);
174
188
  switch (activityBarPosition) {
175
- case "top" : return "top" ;
176
- case "bottom" : return "bottom" ;
177
- default: return "default" ;
189
+ case ActivityBarPosition.TOP: return ActivityBarPosition.TOP;
190
+ case ActivityBarPosition.BOTTOM: return ActivityBarPosition.BOTTOM;
191
+ default: return ActivityBarPosition.DEFAULT;
178
192
  }
179
193
  }
180
194
  getPinnedPaneCompositeIds() {
181
- return this.shouldShowCompositeBar() ? super.getPinnedPaneCompositeIds() : this.acitivityBarPart.getPinnedPaneCompositeIds();
195
+ return this.shouldShowCompositeBar() ? super.getPinnedPaneCompositeIds() : this.activityBarPart.getPinnedPaneCompositeIds();
182
196
  }
183
197
  getVisiblePaneCompositeIds() {
184
- return this.shouldShowCompositeBar() ? super.getVisiblePaneCompositeIds() : this.acitivityBarPart.getVisiblePaneCompositeIds();
198
+ return this.shouldShowCompositeBar() ? super.getVisiblePaneCompositeIds() : this.activityBarPart.getVisiblePaneCompositeIds();
185
199
  }
186
200
  async focusActivityBar() {
187
- if (this.configurationService.getValue("workbench.activityBar.location" ) === "hidden" ) {
188
- await this.configurationService.updateValue("workbench.activityBar.location" , this.getRememberedActivityBarVisiblePosition());
201
+ if (this.configurationService.getValue(LayoutSettings.ACTIVITY_BAR_LOCATION) === ActivityBarPosition.HIDDEN) {
202
+ await this.configurationService.updateValue(LayoutSettings.ACTIVITY_BAR_LOCATION, this.getRememberedActivityBarVisiblePosition());
189
203
  this.onDidChangeActivityBarLocation();
190
204
  }
191
205
  if (this.shouldShowCompositeBar()) {
192
- this.focusComositeBar();
206
+ this.focusCompositeBar();
193
207
  }
194
208
  else {
195
- if (!this.layoutService.isVisible("workbench.parts.activitybar" )) {
196
- this.layoutService.setPartHidden(false, "workbench.parts.activitybar" );
209
+ if (!this.layoutService.isVisible(Parts.ACTIVITYBAR_PART)) {
210
+ this.layoutService.setPartHidden(false, Parts.ACTIVITYBAR_PART);
197
211
  }
198
- this.acitivityBarPart.show(true);
212
+ this.activityBarPart.show(true);
199
213
  }
200
214
  }
201
215
  registerActions() {
@@ -208,14 +222,14 @@ let SidebarPart = class SidebarPart extends AbstractPaneCompositePart {
208
222
  });
209
223
  }
210
224
  run() {
211
- const value = that.configurationService.getValue("workbench.activityBar.location" ) === "hidden" ? that.getRememberedActivityBarVisiblePosition() : "hidden" ;
212
- return that.configurationService.updateValue("workbench.activityBar.location" , value);
225
+ const value = that.configurationService.getValue(LayoutSettings.ACTIVITY_BAR_LOCATION) === ActivityBarPosition.HIDDEN ? that.getRememberedActivityBarVisiblePosition() : ActivityBarPosition.HIDDEN;
226
+ return that.configurationService.updateValue(LayoutSettings.ACTIVITY_BAR_LOCATION, value);
213
227
  }
214
228
  }));
215
229
  }
216
230
  toJSON() {
217
231
  return {
218
- type: "workbench.parts.sidebar"
232
+ type: Parts.SIDEBAR_PART
219
233
  };
220
234
  }
221
235
  };
@@ -1,16 +1,19 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
2
  import { localizeWithPath, localize2WithPath } from 'vscode/vscode/vs/nls';
3
- import { CallHierarchyProviderRegistry, CallHierarchyModel } from 'vscode/vscode/vs/workbench/contrib/callHierarchy/common/callHierarchy';
3
+ import { CallHierarchyDirection, CallHierarchyProviderRegistry, CallHierarchyModel } from 'vscode/vscode/vs/workbench/contrib/callHierarchy/common/callHierarchy';
4
4
  import { CancellationTokenSource } from 'vscode/vscode/vs/base/common/cancellation';
5
5
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
6
6
  import { CallHierarchyTreePeekWidget } from './callHierarchyPeek.js';
7
7
  import { Event } from 'vscode/vscode/vs/base/common/event';
8
- import { registerEditorContribution, EditorAction2 } from 'vscode/vscode/vs/editor/browser/editorExtensions';
8
+ import { registerEditorContribution, EditorContributionInstantiation, EditorAction2 } from 'vscode/vscode/vs/editor/browser/editorExtensions';
9
9
  import { RawContextKey, ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
10
10
  import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
11
11
  import { DisposableStore } from 'vscode/vscode/vs/base/common/lifecycle';
12
+ import { KeybindingWeight } from 'vscode/vscode/vs/platform/keybinding/common/keybindingsRegistry';
13
+ import { KeyMod, KeyCode } from 'vscode/vscode/vs/base/common/keyCodes';
12
14
  import { EditorContextKeys } from 'vscode/vscode/vs/editor/common/editorContextKeys';
13
15
  import { PeekContext } from 'vscode/vscode/vs/editor/contrib/peekView/browser/peekView';
16
+ import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
14
17
  import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
15
18
  import { ICodeEditorService } from 'vscode/vscode/vs/editor/browser/services/codeEditorService';
16
19
  import { Range } from 'vscode/vscode/vs/editor/common/core/range';
@@ -29,9 +32,9 @@ const _ctxCallHierarchyDirection = ( (new RawContextKey(
29
32
  { type: 'string', description: ( localizeWithPath(_moduleId, 2, 'Whether call hierarchy shows incoming or outgoing calls')) }
30
33
  )));
31
34
  function sanitizedDirection(candidate) {
32
- return candidate === "outgoingCalls" || candidate === "incomingCalls"
35
+ return candidate === CallHierarchyDirection.CallsFrom || candidate === CallHierarchyDirection.CallsTo
33
36
  ? candidate
34
- : "incomingCalls" ;
37
+ : CallHierarchyDirection.CallsTo;
35
38
  }
36
39
  let CallHierarchyController = class CallHierarchyController {
37
40
  static { CallHierarchyController_1 = this; }
@@ -73,7 +76,7 @@ let CallHierarchyController = class CallHierarchyController {
73
76
  }
74
77
  const cts = ( (new CancellationTokenSource()));
75
78
  const model = CallHierarchyModel.create(document, position, cts.token);
76
- const direction = sanitizedDirection(this._storageService.get(CallHierarchyController_1._StorageDirection, 0 , "incomingCalls" ));
79
+ const direction = sanitizedDirection(this._storageService.get(CallHierarchyController_1._StorageDirection, StorageScope.PROFILE, CallHierarchyDirection.CallsTo));
77
80
  this._showCallHierarchyWidget(position, direction, model, cts);
78
81
  }
79
82
  async startCallHierarchyFromCallHierarchy() {
@@ -101,7 +104,7 @@ let CallHierarchyController = class CallHierarchyController {
101
104
  this._widget.showLoading();
102
105
  this._sessionDisposables.add(this._widget.onDidClose(() => {
103
106
  this.endCallHierarchy();
104
- this._storageService.store(CallHierarchyController_1._StorageDirection, this._widget.direction, 0 , 0 );
107
+ this._storageService.store(CallHierarchyController_1._StorageDirection, this._widget.direction, StorageScope.PROFILE, StorageTarget.USER);
105
108
  }));
106
109
  this._sessionDisposables.add({ dispose() { cts.dispose(true); } });
107
110
  this._sessionDisposables.add(this._widget);
@@ -125,12 +128,12 @@ let CallHierarchyController = class CallHierarchyController {
125
128
  });
126
129
  }
127
130
  showOutgoingCalls() {
128
- this._widget?.updateDirection("outgoingCalls" );
129
- this._ctxDirection.set("outgoingCalls" );
131
+ this._widget?.updateDirection(CallHierarchyDirection.CallsFrom);
132
+ this._ctxDirection.set(CallHierarchyDirection.CallsFrom);
130
133
  }
131
134
  showIncomingCalls() {
132
- this._widget?.updateDirection("incomingCalls" );
133
- this._ctxDirection.set("incomingCalls" );
135
+ this._widget?.updateDirection(CallHierarchyDirection.CallsTo);
136
+ this._ctxDirection.set(CallHierarchyDirection.CallsTo);
134
137
  }
135
138
  endCallHierarchy() {
136
139
  this._sessionDisposables.clear();
@@ -144,7 +147,7 @@ CallHierarchyController = CallHierarchyController_1 = ( (__decorate([
144
147
  ( (__param(3, ICodeEditorService))),
145
148
  ( (__param(4, IInstantiationService)))
146
149
  ], CallHierarchyController)));
147
- registerEditorContribution(CallHierarchyController.Id, CallHierarchyController, 0 );
150
+ registerEditorContribution(CallHierarchyController.Id, CallHierarchyController, EditorContributionInstantiation.Eager);
148
151
  registerAction2(class PeekCallHierarchyAction extends EditorAction2 {
149
152
  constructor() {
150
153
  super({
@@ -162,8 +165,8 @@ registerAction2(class PeekCallHierarchyAction extends EditorAction2 {
162
165
  },
163
166
  keybinding: {
164
167
  when: EditorContextKeys.editorTextFocus,
165
- weight: 200 ,
166
- primary: 1024 + 512 + 38
168
+ weight: KeybindingWeight.WorkbenchContrib,
169
+ primary: KeyMod.Shift + KeyMod.Alt + KeyCode.KeyH
167
170
  },
168
171
  precondition: ( (ContextKeyExpr.and(_ctxHasCallHierarchyProvider, PeekContext.notInPeekEditor))),
169
172
  f1: true
@@ -181,15 +184,15 @@ registerAction2(class extends EditorAction2 {
181
184
  icon: registerIcon('callhierarchy-incoming', Codicon.callIncoming, ( localizeWithPath(_moduleId, 7, 'Icon for incoming calls in the call hierarchy view.'))),
182
185
  precondition: ( (ContextKeyExpr.and(
183
186
  _ctxCallHierarchyVisible,
184
- (_ctxCallHierarchyDirection.isEqualTo("outgoingCalls" ))
187
+ (_ctxCallHierarchyDirection.isEqualTo(CallHierarchyDirection.CallsFrom))
185
188
  ))),
186
189
  keybinding: {
187
- weight: 200 ,
188
- primary: 1024 + 512 + 38 ,
190
+ weight: KeybindingWeight.WorkbenchContrib,
191
+ primary: KeyMod.Shift + KeyMod.Alt + KeyCode.KeyH,
189
192
  },
190
193
  menu: {
191
194
  id: CallHierarchyTreePeekWidget.TitleMenu,
192
- when: ( (_ctxCallHierarchyDirection.isEqualTo("outgoingCalls" ))),
195
+ when: ( (_ctxCallHierarchyDirection.isEqualTo(CallHierarchyDirection.CallsFrom))),
193
196
  order: 1,
194
197
  }
195
198
  });
@@ -206,15 +209,15 @@ registerAction2(class extends EditorAction2 {
206
209
  icon: registerIcon('callhierarchy-outgoing', Codicon.callOutgoing, ( localizeWithPath(_moduleId, 9, 'Icon for outgoing calls in the call hierarchy view.'))),
207
210
  precondition: ( (ContextKeyExpr.and(
208
211
  _ctxCallHierarchyVisible,
209
- (_ctxCallHierarchyDirection.isEqualTo("incomingCalls" ))
212
+ (_ctxCallHierarchyDirection.isEqualTo(CallHierarchyDirection.CallsTo))
210
213
  ))),
211
214
  keybinding: {
212
- weight: 200 ,
213
- primary: 1024 + 512 + 38 ,
215
+ weight: KeybindingWeight.WorkbenchContrib,
216
+ primary: KeyMod.Shift + KeyMod.Alt + KeyCode.KeyH,
214
217
  },
215
218
  menu: {
216
219
  id: CallHierarchyTreePeekWidget.TitleMenu,
217
- when: ( (_ctxCallHierarchyDirection.isEqualTo("incomingCalls" ))),
220
+ when: ( (_ctxCallHierarchyDirection.isEqualTo(CallHierarchyDirection.CallsTo))),
218
221
  order: 1
219
222
  }
220
223
  });
@@ -230,8 +233,8 @@ registerAction2(class extends EditorAction2 {
230
233
  title: ( localize2WithPath(_moduleId, 10, 'Refocus Call Hierarchy')),
231
234
  precondition: _ctxCallHierarchyVisible,
232
235
  keybinding: {
233
- weight: 200 ,
234
- primary: 1024 + 3
236
+ weight: KeybindingWeight.WorkbenchContrib,
237
+ primary: KeyMod.Shift + KeyCode.Enter
235
238
  }
236
239
  });
237
240
  }
@@ -247,8 +250,8 @@ registerAction2(class extends EditorAction2 {
247
250
  icon: Codicon.close,
248
251
  precondition: _ctxCallHierarchyVisible,
249
252
  keybinding: {
250
- weight: 200 + 10,
251
- primary: 9 ,
253
+ weight: KeybindingWeight.WorkbenchContrib + 10,
254
+ primary: KeyCode.Escape,
252
255
  when: ContextKeyExpr.not('config.editor.stablePeek')
253
256
  },
254
257
  menu: {
@@ -2,9 +2,11 @@ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
2
  import './media/callHierarchy.css.js';
3
3
  import { PeekViewWidget, peekViewBorder, peekViewTitleBackground, peekViewTitleForeground, peekViewTitleInfoForeground, peekViewResultsBackground, peekViewEditorMatchHighlight, IPeekViewService } from 'vscode/vscode/vs/editor/contrib/peekView/browser/peekView';
4
4
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
5
+ import { CallHierarchyDirection } from 'vscode/vscode/vs/workbench/contrib/callHierarchy/common/callHierarchy';
5
6
  import { WorkbenchAsyncDataTree } from 'vscode/vscode/vs/platform/list/browser/listService';
6
7
  import { Sorter, AccessibilityProvider, IdentityProvider, VirtualDelegate, CallRenderer, DataSource } from './callHierarchyTree.js';
7
8
  import { localizeWithPath } from 'vscode/vscode/vs/nls';
9
+ import { ScrollType } from 'vscode/vscode/vs/editor/common/editorCommon';
8
10
  import { Range } from 'vscode/vscode/vs/editor/common/core/range';
9
11
  import { SplitView, Sizing } from 'vscode/vscode/vs/base/browser/ui/splitview/splitview';
10
12
  import { Dimension, isKeyboardEvent } from 'vscode/vscode/vs/base/browser/dom';
@@ -13,9 +15,10 @@ import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/commo
13
15
  import { EmbeddedCodeEditorWidget } from 'vscode/vscode/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget';
14
16
  import { ITextModelService } from 'vscode/vscode/vs/editor/common/services/resolverService';
15
17
  import { DisposableStore, toDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
16
- import { OverviewRulerLane } from 'vscode/vscode/vs/editor/common/model';
18
+ import { TrackedRangeStickiness, OverviewRulerLane } from 'vscode/vscode/vs/editor/common/model';
17
19
  import { themeColorFromId } from 'vscode/vscode/vs/platform/theme/common/themeService';
18
20
  import { IThemeService } from 'vscode/vscode/vs/platform/theme/common/themeService.service';
21
+ import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
19
22
  import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
20
23
  import { Color } from 'vscode/vscode/vs/base/common/color';
21
24
  import { TreeMouseEventTarget } from 'vscode/vscode/vs/base/browser/ui/tree/tree';
@@ -23,15 +26,22 @@ import { MenuId } from 'vscode/vscode/vs/platform/actions/common/actions';
23
26
  import { IMenuService } from 'vscode/vscode/vs/platform/actions/common/actions.service';
24
27
  import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
25
28
  import { createAndFillInActionBarActions } from 'vscode/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
29
+ import { Orientation } from 'vscode/vscode/vs/base/browser/ui/sash/sash';
26
30
 
27
31
  var CallHierarchyTreePeekWidget_1;
28
32
  const _moduleId = "vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek";
33
+ var State;
34
+ ( ((function(State) {
35
+ State["Loading"] = "loading";
36
+ State["Message"] = "message";
37
+ State["Data"] = "data";
38
+ })(State || (State = {}))));
29
39
  class LayoutInfo {
30
40
  static store(info, storageService) {
31
- storageService.store('callHierarchyPeekLayout', JSON.stringify(info), 0 , 1 );
41
+ storageService.store('callHierarchyPeekLayout', JSON.stringify(info), StorageScope.PROFILE, StorageTarget.MACHINE);
32
42
  }
33
43
  static retrieve(storageService) {
34
- const value = storageService.get('callHierarchyPeekLayout', 0 , '{}');
44
+ const value = storageService.get('callHierarchyPeekLayout', StorageScope.PROFILE, '{}');
35
45
  const defaultInfo = { ratio: 0.7, height: 17 };
36
46
  try {
37
47
  return { ...defaultInfo, ...JSON.parse(value) };
@@ -115,7 +125,7 @@ let CallHierarchyTreePeekWidget = class CallHierarchyTreePeekWidget extends Peek
115
125
  const container = document.createElement('div');
116
126
  container.classList.add('results');
117
127
  parent.appendChild(container);
118
- this._splitView = ( (new SplitView(container, { orientation: 1 })));
128
+ this._splitView = ( (new SplitView(container, { orientation: Orientation.HORIZONTAL })));
119
129
  const editorContainer = document.createElement('div');
120
130
  editorContainer.classList.add('editor');
121
131
  container.appendChild(editorContainer);
@@ -223,7 +233,7 @@ let CallHierarchyTreePeekWidget = class CallHierarchyTreePeekWidget extends Peek
223
233
  this._previewDisposable.clear();
224
234
  const options = {
225
235
  description: 'call-hierarchy-decoration',
226
- stickiness: 1 ,
236
+ stickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
227
237
  className: 'call-decoration',
228
238
  overviewRuler: {
229
239
  color: themeColorFromId(peekViewEditorMatchHighlight),
@@ -231,7 +241,7 @@ let CallHierarchyTreePeekWidget = class CallHierarchyTreePeekWidget extends Peek
231
241
  },
232
242
  };
233
243
  let previewUri;
234
- if (this._direction === "outgoingCalls" ) {
244
+ if (this._direction === CallHierarchyDirection.CallsFrom) {
235
245
  previewUri = element.parent ? element.parent.item.uri : element.model.root.uri;
236
246
  }
237
247
  else {
@@ -252,23 +262,23 @@ let CallHierarchyTreePeekWidget = class CallHierarchyTreePeekWidget extends Peek
252
262
  }
253
263
  }
254
264
  if (fullRange) {
255
- this._editor.revealRangeInCenter(fullRange, 1 );
265
+ this._editor.revealRangeInCenter(fullRange, ScrollType.Immediate);
256
266
  const decorationsCollection = this._editor.createDecorationsCollection(decorations);
257
267
  this._previewDisposable.add(toDisposable(() => decorationsCollection.clear()));
258
268
  }
259
269
  this._previewDisposable.add(value);
260
- const title = this._direction === "outgoingCalls"
270
+ const title = this._direction === CallHierarchyDirection.CallsFrom
261
271
  ? ( localizeWithPath(_moduleId, 0, "Calls from '{0}'", element.model.root.name))
262
272
  : ( localizeWithPath(_moduleId, 1, "Callers of '{0}'", element.model.root.name));
263
273
  this.setTitle(title);
264
274
  }
265
275
  showLoading() {
266
- this._parent.dataset['state'] = "loading" ;
276
+ this._parent.dataset['state'] = State.Loading;
267
277
  this.setTitle(( localizeWithPath(_moduleId, 2, "Loading...")));
268
278
  this._show();
269
279
  }
270
280
  showMessage(message) {
271
- this._parent.dataset['state'] = "message" ;
281
+ this._parent.dataset['state'] = State.Message;
272
282
  this.setTitle('');
273
283
  this.setMetaTitle('');
274
284
  this._message.innerText = message;
@@ -282,12 +292,12 @@ let CallHierarchyTreePeekWidget = class CallHierarchyTreePeekWidget extends Peek
282
292
  const root = this._tree.getNode(model).children[0];
283
293
  await this._tree.expand(root.element);
284
294
  if (root.children.length === 0) {
285
- this.showMessage(this._direction === "outgoingCalls"
295
+ this.showMessage(this._direction === CallHierarchyDirection.CallsFrom
286
296
  ? ( localizeWithPath(_moduleId, 3, "No calls from '{0}'", model.root.name))
287
297
  : ( localizeWithPath(_moduleId, 4, "No callers of '{0}'", model.root.name)));
288
298
  }
289
299
  else {
290
- this._parent.dataset['state'] = "data" ;
300
+ this._parent.dataset['state'] = State.Data;
291
301
  if (!viewState || this._tree.getFocus().length === 0) {
292
302
  this._tree.setFocus([root.children[0].element]);
293
303
  }
@@ -311,7 +321,7 @@ let CallHierarchyTreePeekWidget = class CallHierarchyTreePeekWidget extends Peek
311
321
  }
312
322
  _show() {
313
323
  if (!this._isShowing) {
314
- this.editor.revealLineInCenterIfOutsideViewport(this._where.lineNumber, 0 );
324
+ this.editor.revealLineInCenterIfOutsideViewport(this._where.lineNumber, ScrollType.Smooth);
315
325
  super.show(Range.fromPositions(this._where), this._layoutInfo.height);
316
326
  }
317
327
  }
@@ -1,8 +1,8 @@
1
- import { CallHierarchyModel } from 'vscode/vscode/vs/workbench/contrib/callHierarchy/common/callHierarchy';
1
+ import { CallHierarchyModel, CallHierarchyDirection } from 'vscode/vscode/vs/workbench/contrib/callHierarchy/common/callHierarchy';
2
2
  import { CancellationToken } from 'vscode/vscode/vs/base/common/cancellation';
3
3
  import { createMatches } from 'vscode/vscode/vs/base/common/filters';
4
4
  import { IconLabel } from 'vscode/vscode/vs/base/browser/ui/iconLabel/iconLabel';
5
- import { SymbolKinds } from 'vscode/vscode/vs/editor/common/languages';
5
+ import { SymbolTag, SymbolKinds } from 'vscode/vscode/vs/editor/common/languages';
6
6
  import { compare } from 'vscode/vscode/vs/base/common/strings';
7
7
  import { Range } from 'vscode/vscode/vs/editor/common/core/range';
8
8
  import { localizeWithPath } from 'vscode/vscode/vs/nls';
@@ -38,7 +38,7 @@ class DataSource {
38
38
  );
39
39
  }
40
40
  const { model, item } = element;
41
- if (this.getDirection() === "outgoingCalls" ) {
41
+ if (this.getDirection() === CallHierarchyDirection.CallsFrom) {
42
42
  return (
43
43
  ((await model.resolveOutgoingCalls(item, CancellationToken.None)).map(call => {
44
44
  return (
@@ -107,7 +107,7 @@ class CallRenderer {
107
107
  }
108
108
  renderElement(node, _index, template) {
109
109
  const { element, filterData } = node;
110
- const deprecated = element.item.tags?.includes(1 );
110
+ const deprecated = element.item.tags?.includes(SymbolTag.Deprecated);
111
111
  template.icon.className = '';
112
112
  template.icon.classList.add('inline', ...ThemeIcon.asClassNameArray(SymbolKinds.toIcon(element.item.kind)));
113
113
  template.label.setLabel(element.item.name, element.item.detail, { labelEscapeNewLines: true, matches: createMatches(filterData), strikethrough: deprecated });
@@ -132,7 +132,7 @@ class AccessibilityProvider {
132
132
  return ( localizeWithPath(_moduleId, 0, "Call Hierarchy"));
133
133
  }
134
134
  getAriaLabel(element) {
135
- if (this.getDirection() === "outgoingCalls" ) {
135
+ if (this.getDirection() === CallHierarchyDirection.CallsFrom) {
136
136
  return ( localizeWithPath(_moduleId, 1, "calls from {0}", element.item.name));
137
137
  }
138
138
  else {
@@ -1,7 +1,8 @@
1
1
  import { SyncDescriptor } from 'vscode/vscode/vs/platform/instantiation/common/descriptors';
2
+ import 'vscode/vscode/vs/platform/instantiation/common/extensions';
2
3
  import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
3
4
  import { EditorPaneDescriptor } from 'vscode/vscode/vs/workbench/browser/editor';
4
- import { registerWorkbenchContribution2 } from 'vscode/vscode/vs/workbench/common/contributions';
5
+ import { registerWorkbenchContribution2, WorkbenchPhase } from 'vscode/vscode/vs/workbench/common/contributions';
5
6
  import { EditorExtensions } from 'vscode/vscode/vs/workbench/common/editor';
6
7
  import { CustomEditorInputSerializer, ComplexCustomWorkingCopyEditorHandler } from './customEditorInputFactory.js';
7
8
  import 'vscode/vscode/vs/platform/instantiation/common/instantiation';
@@ -15,4 +16,4 @@ import './customEditors.js';
15
16
  ]);
16
17
  ( Registry.as(EditorExtensions.EditorFactory))
17
18
  .registerEditorSerializer(CustomEditorInputSerializer.ID, CustomEditorInputSerializer);
18
- registerWorkbenchContribution2(ComplexCustomWorkingCopyEditorHandler.ID, ComplexCustomWorkingCopyEditorHandler, 1 );
19
+ registerWorkbenchContribution2(ComplexCustomWorkingCopyEditorHandler.ID, ComplexCustomWorkingCopyEditorHandler, WorkbenchPhase.BlockStartup);
@@ -7,6 +7,7 @@ import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/c
7
7
  import { CustomEditorInput } from 'vscode/vscode/vs/workbench/contrib/customEditor/browser/customEditorInput';
8
8
  import { ICustomEditorService } from 'vscode/vscode/vs/workbench/contrib/customEditor/common/customEditor.service';
9
9
  import { NotebookEditorInput } from 'vscode/vscode/vs/workbench/contrib/notebook/common/notebookEditorInput';
10
+ import { WebviewContentPurpose } from 'vscode/vscode/vs/workbench/contrib/webview/browser/webview';
10
11
  import { IWebviewService } from 'vscode/vscode/vs/workbench/contrib/webview/browser/webview.service';
11
12
  import { WebviewEditorInputSerializer, reviveWebviewExtensionDescription, restoreWebviewOptions, restoreWebviewContentOptions } from '../../webviewPanel/browser/webviewEditorInputSerializer.js';
12
13
  import { IWebviewWorkbenchService } from 'vscode/vscode/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service';
@@ -63,7 +64,7 @@ function reviveWebview(webviewService, data) {
63
64
  origin: data.origin,
64
65
  title: undefined,
65
66
  options: {
66
- purpose: "customEditor" ,
67
+ purpose: WebviewContentPurpose.CustomEditor,
67
68
  enableFindWidget: data.webviewOptions.enableFindWidget,
68
69
  retainContextWhenHidden: data.webviewOptions.retainContextWhenHidden,
69
70
  },