chrome-devtools-frontend 1.0.1703574 → 1.0.1705227
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.
- package/AUTHORS +2 -0
- package/docs/architecture_of_devtools.md +1 -1
- package/docs/cookbook/localization.md +2 -2
- package/front_end/core/common/ParsedURL.ts +54 -0
- package/front_end/core/common/README.md +4 -3
- package/front_end/core/platform/StringUtilities.ts +65 -0
- package/front_end/core/sdk/CPUThrottlingManager.ts +3 -3
- package/front_end/core/sdk/SourceMap.ts +3 -3
- package/front_end/core/sdk/SourceMapScopeChainEntry.ts +4 -3
- package/front_end/core/sdk/SourceMapScopesInfo.ts +17 -5
- package/front_end/entrypoints/formatter_actions/formatter_actions.ts +18 -0
- package/front_end/entrypoints/formatter_worker/Substitute.ts +9 -8
- package/front_end/entrypoints/formatter_worker/formatter_worker-entrypoint.ts +2 -2
- package/front_end/entrypoints/main/MainImpl.ts +3 -3
- package/front_end/foundation/Universe.ts +9 -0
- package/front_end/generated/InspectorBackendCommands.ts +3 -2
- package/front_end/generated/protocol.ts +16 -0
- package/front_end/models/bindings/CompilerScriptMapping.ts +1 -1
- package/front_end/models/formatter/FormatterWorkerPool.ts +8 -3
- package/front_end/models/har/HARFormat.ts +7 -2
- package/front_end/models/source_map_scopes/NamesResolver.ts +75 -38
- package/front_end/models/source_map_scopes/ScopeChainModel.ts +13 -45
- package/front_end/models/source_map_scopes/ScopeChainResolver.ts +101 -0
- package/front_end/models/source_map_scopes/source_map_scopes.ts +2 -0
- package/front_end/panels/accessibility/AccessibilityAnnouncementRecordingListView.ts +33 -1
- package/front_end/panels/accessibility/AccessibilityAnnouncementRecordingView.ts +4 -12
- package/front_end/panels/application/ApplicationPanelSidebar.ts +58 -60
- package/front_end/panels/application/BackForwardCacheTreeElement.ts +1 -1
- package/front_end/panels/application/FrameDetailsView.ts +64 -82
- package/front_end/panels/application/OpenedWindowDetailsView.ts +20 -21
- package/front_end/panels/application/PreloadingTreeElement.ts +3 -3
- package/front_end/panels/common/CommentsOverlayWidget.ts +145 -72
- package/front_end/panels/common/commentsOverlay.css +34 -23
- package/front_end/panels/console/ConsolePrompt.ts +2 -1
- package/front_end/panels/elements/DOMTreeWidget.ts +29 -10
- package/front_end/panels/network/RequestPayloadView.ts +7 -2
- package/front_end/panels/network/ShowMoreDetailsWidget.ts +12 -9
- package/front_end/panels/sources/DebuggerPlugin.ts +52 -20
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +2 -2
- package/front_end/panels/sources/SourcesPanel.ts +1 -1
- package/front_end/panels/sources/SourcesView.ts +3 -12
- package/front_end/panels/sources/TabbedEditorContainer.ts +0 -3
- package/front_end/panels/sources/components/HeadersView.ts +193 -123
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +24 -32
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ElementHandle.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ElementHandle.js +15 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Accessibility.js +8 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Debug.d.ts +0 -8
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Debug.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Debug.js +0 -24
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Debug.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.d.ts +12 -0
- package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.js +79 -17
- package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/node-env-setup.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/node-env-setup.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/package.json +4 -4
- package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +15 -2
- package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +10 -1
- package/front_end/third_party/puppeteer/package/src/common/Debug.ts +0 -27
- package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +96 -17
- package/front_end/third_party/puppeteer/package/src/node-env-setup.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/ui/comments/CommentAnchorResolver.ts +60 -22
- package/front_end/ui/comments/CommentOverlayManager.ts +78 -25
- package/front_end/ui/legacy/README.md +12 -12
- package/front_end/ui/legacy/components/data_grid/DataGridExporter.ts +7 -13
- package/front_end/ui/legacy/components/inline_editor/PositionAreaEditor.ts +51 -57
- package/front_end/ui/legacy/components/source_frame/ImageView.ts +101 -42
- package/front_end/ui/legacy/components/utils/Linkifier.ts +1 -2
- package/front_end/ui/visual_logging/KnownContextValues.ts +7 -0
- package/package.json +1 -1
|
@@ -11,6 +11,10 @@ const UIStrings = {
|
|
|
11
11
|
* @description Text to show more content
|
|
12
12
|
*/
|
|
13
13
|
showMore: 'Show more',
|
|
14
|
+
/**
|
|
15
|
+
* @description Context menu item to copy the shown text to the clipboard
|
|
16
|
+
*/
|
|
17
|
+
copy: 'Copy',
|
|
14
18
|
} as const;
|
|
15
19
|
const str_ = i18n.i18n.registerUIStrings('panels/network/ShowMoreDetailsWidget.ts', UIStrings);
|
|
16
20
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
@@ -20,7 +24,7 @@ interface ViewInput {
|
|
|
20
24
|
text: string;
|
|
21
25
|
showMore: boolean;
|
|
22
26
|
onToggle: () => void;
|
|
23
|
-
copy:
|
|
27
|
+
copy: (() => void)|null;
|
|
24
28
|
}
|
|
25
29
|
type View = (input: ViewInput, output: object, target: HTMLElement) => void;
|
|
26
30
|
const MAX_LENGTH = 3000;
|
|
@@ -29,7 +33,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
29
33
|
const onContextMenuShowMore = (event: Event): void => {
|
|
30
34
|
const contextMenu = new UI.ContextMenu.ContextMenu(event);
|
|
31
35
|
if (input.copy) {
|
|
32
|
-
contextMenu.clipboardSection().appendItem(
|
|
36
|
+
contextMenu.clipboardSection().appendItem(i18nString(UIStrings.copy), input.copy, {jslogContext: 'copy'});
|
|
33
37
|
}
|
|
34
38
|
if (!input.showMore) {
|
|
35
39
|
contextMenu.newSection().appendItem(i18nString(UIStrings.showMore), input.onToggle, {jslogContext: 'show-more'});
|
|
@@ -51,16 +55,11 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
51
55
|
target);
|
|
52
56
|
};
|
|
53
57
|
|
|
54
|
-
interface CopyMenuItem {
|
|
55
|
-
menuItem: UI.ContextMenu.Item;
|
|
56
|
-
handler: () => void;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
58
|
export class ShowMoreDetailsWidget extends UI.Widget.Widget {
|
|
60
59
|
readonly #view: View;
|
|
61
60
|
#text = '';
|
|
62
61
|
#showMore = false;
|
|
63
|
-
#copy:
|
|
62
|
+
#copy: (() => void)|null = null;
|
|
64
63
|
constructor(target?: HTMLElement, view: View = DEFAULT_VIEW) {
|
|
65
64
|
super(target);
|
|
66
65
|
this.#view = view;
|
|
@@ -75,7 +74,11 @@ export class ShowMoreDetailsWidget extends UI.Widget.Widget {
|
|
|
75
74
|
this.requestUpdate();
|
|
76
75
|
}
|
|
77
76
|
|
|
78
|
-
|
|
77
|
+
get copy(): (() => void)|null {
|
|
78
|
+
return this.#copy;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
set copy(copy: () => void) {
|
|
79
82
|
this.#copy = copy;
|
|
80
83
|
this.requestUpdate();
|
|
81
84
|
}
|
|
@@ -583,6 +583,7 @@ export class DebuggerPlugin extends Plugin {
|
|
|
583
583
|
}
|
|
584
584
|
|
|
585
585
|
private workingCopyChanged(): void {
|
|
586
|
+
this.#scopeMappingsCache.clear();
|
|
586
587
|
this.setMuted(this.uiSourceCode.isDirty());
|
|
587
588
|
}
|
|
588
589
|
|
|
@@ -666,7 +667,7 @@ export class DebuggerPlugin extends Plugin {
|
|
|
666
667
|
return {
|
|
667
668
|
box,
|
|
668
669
|
show: async (popover: UI.GlassPane.GlassPane) => {
|
|
669
|
-
const scopeMappings = await this.#getScopeMappings(
|
|
670
|
+
const scopeMappings = await this.#getScopeMappings(debuggableFrame) ?? [];
|
|
670
671
|
const scopedVariable = findVariableInScopeMappings(evaluationText, highlightRange.from, scopeMappings);
|
|
671
672
|
if (scopedVariable.found) {
|
|
672
673
|
if (!scopedVariable.value) {
|
|
@@ -967,21 +968,18 @@ export class DebuggerPlugin extends Plugin {
|
|
|
967
968
|
return offset ?? null;
|
|
968
969
|
}
|
|
969
970
|
|
|
970
|
-
#
|
|
971
|
+
readonly #scopeMappingsCache = new ScopeMappingsCache(this.uiSourceCode);
|
|
971
972
|
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
973
|
+
/** @returns `null` if the scope mappings can't be used because the file has unsaved edits. */
|
|
974
|
+
#getScopeMappings(debuggableFrame: StackTrace.StackTrace.DebuggableFrameFlavor,
|
|
975
|
+
resolvedScopeChain?: SDK.DebuggerModel.ScopeChainEntry[]): Promise<ScopeMapping[]>|null {
|
|
976
|
+
const url = this.uiSourceCode.url();
|
|
977
|
+
return this.#scopeMappingsCache.get(
|
|
978
|
+
debuggableFrame,
|
|
979
|
+
() => computeScopeMappings(
|
|
980
|
+
debuggableFrame.sdkFrame, location => this.#rawLocationToEditorOffset(location, url),
|
|
980
981
|
(line, col) => this.editor?.toOffset(this.transformer.uiLocationToEditorLocation(line, col)) ?? null,
|
|
981
|
-
resolvedScopeChain)
|
|
982
|
-
};
|
|
983
|
-
}
|
|
984
|
-
return this.#cachedScopeMappings.promise;
|
|
982
|
+
resolvedScopeChain));
|
|
985
983
|
}
|
|
986
984
|
|
|
987
985
|
private async computeValueDecorations(): Promise<CodeMirror.DecorationSet|null> {
|
|
@@ -1004,8 +1002,8 @@ export class DebuggerPlugin extends Plugin {
|
|
|
1004
1002
|
|
|
1005
1003
|
const uiPositionToEditorOffset = (lineNumber: number, columnNumber: number): number|null =>
|
|
1006
1004
|
this.editor?.toOffset(this.transformer.uiLocationToEditorLocation(lineNumber, columnNumber)) ?? null;
|
|
1007
|
-
const scopeChain =
|
|
1008
|
-
|
|
1005
|
+
const scopeChain =
|
|
1006
|
+
await SourceMapScopes.ScopeChainResolver.ScopeChainResolver.instance().resolveScopeChain(callFrame);
|
|
1009
1007
|
const localOriginalScope = scopeChain
|
|
1010
1008
|
.find((s): s is SDK.SourceMapScopeChainEntry.SourceMapScopeChainEntry =>
|
|
1011
1009
|
s instanceof SDK.SourceMapScopeChainEntry.SourceMapScopeChainEntry &&
|
|
@@ -1040,9 +1038,9 @@ export class DebuggerPlugin extends Plugin {
|
|
|
1040
1038
|
return null;
|
|
1041
1039
|
}
|
|
1042
1040
|
|
|
1043
|
-
const scopeMappings = await this.#getScopeMappings(
|
|
1041
|
+
const scopeMappings = await this.#getScopeMappings(debuggableFrame, scopeChain);
|
|
1044
1042
|
// After the `await` the DebuggerPlugin could have been disposed. Re-check `this.editor`.
|
|
1045
|
-
if (!this.editor || scopeMappings
|
|
1043
|
+
if (!this.editor || !scopeMappings?.length) {
|
|
1046
1044
|
return null;
|
|
1047
1045
|
}
|
|
1048
1046
|
|
|
@@ -2144,6 +2142,41 @@ export interface ScopeMapping {
|
|
|
2144
2142
|
variableMap: Map<string, SDK.RemoteObject.RemoteObject|null>;
|
|
2145
2143
|
}
|
|
2146
2144
|
|
|
2145
|
+
/**
|
|
2146
|
+
* Caches the {@link ScopeMapping}s for the selected frame of a single {@link DebuggerPlugin}.
|
|
2147
|
+
*
|
|
2148
|
+
* The editor offsets in a {@link ScopeMapping} are derived from raw and UI locations, which describe
|
|
2149
|
+
* the committed script content. Once the user edits the file, these offsets no longer match the
|
|
2150
|
+
* editor content. So no mappings are handed out while the UISourceCode has unsaved edits.
|
|
2151
|
+
*
|
|
2152
|
+
* The cache is keyed on the DebuggableFrameFlavor rather than the SDK CallFrame: Re-translating a
|
|
2153
|
+
* frame (e.g. after a source map is attached) produces a new flavor for the same SDK CallFrame.
|
|
2154
|
+
*/
|
|
2155
|
+
export class ScopeMappingsCache {
|
|
2156
|
+
readonly #uiSourceCode: Workspace.UISourceCode.UISourceCode;
|
|
2157
|
+
#cached?: {frame: StackTrace.StackTrace.DebuggableFrameFlavor, promise: Promise<ScopeMapping[]>};
|
|
2158
|
+
|
|
2159
|
+
constructor(uiSourceCode: Workspace.UISourceCode.UISourceCode) {
|
|
2160
|
+
this.#uiSourceCode = uiSourceCode;
|
|
2161
|
+
}
|
|
2162
|
+
|
|
2163
|
+
/** @returns the (cached) scope mappings for `frame`, or `null` if the UISourceCode has unsaved edits. */
|
|
2164
|
+
get(frame: StackTrace.StackTrace.DebuggableFrameFlavor,
|
|
2165
|
+
compute: () => Promise<ScopeMapping[]>): Promise<ScopeMapping[]>|null {
|
|
2166
|
+
if (this.#uiSourceCode.isDirty()) {
|
|
2167
|
+
return null;
|
|
2168
|
+
}
|
|
2169
|
+
if (this.#cached?.frame !== frame) {
|
|
2170
|
+
this.#cached = {frame, promise: compute()};
|
|
2171
|
+
}
|
|
2172
|
+
return this.#cached.promise;
|
|
2173
|
+
}
|
|
2174
|
+
|
|
2175
|
+
clear(): void {
|
|
2176
|
+
this.#cached = undefined;
|
|
2177
|
+
}
|
|
2178
|
+
}
|
|
2179
|
+
|
|
2147
2180
|
export async function computeScopeMappings(
|
|
2148
2181
|
callFrame: SDK.DebuggerModel.CallFrame,
|
|
2149
2182
|
rawLocationToEditorOffset: (l: SDK.DebuggerModel.Location|null) => Promise<number|null>,
|
|
@@ -2151,8 +2184,7 @@ export async function computeScopeMappings(
|
|
|
2151
2184
|
resolvedScopeChain?: SDK.DebuggerModel.ScopeChainEntry[]): Promise<ScopeMapping[]> {
|
|
2152
2185
|
const scopeMappings: ScopeMapping[] = [];
|
|
2153
2186
|
const scopeChain = resolvedScopeChain ??
|
|
2154
|
-
await SourceMapScopes.
|
|
2155
|
-
callFrame, Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance());
|
|
2187
|
+
await SourceMapScopes.ScopeChainResolver.ScopeChainResolver.instance().resolveScopeChain(callFrame);
|
|
2156
2188
|
const activeScopes =
|
|
2157
2189
|
new Set(scopeChain.filter(s => s instanceof SDK.SourceMapScopeChainEntry.SourceMapScopeChainEntry)
|
|
2158
2190
|
.map(s => s.originalScope()));
|
|
@@ -31,7 +31,6 @@
|
|
|
31
31
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
32
32
|
import type * as SDK from '../../core/sdk/sdk.js';
|
|
33
33
|
import * as Protocol from '../../generated/protocol.js';
|
|
34
|
-
import * as Bindings from '../../models/bindings/bindings.js';
|
|
35
34
|
import * as SourceMapScopes from '../../models/source_map_scopes/source_map_scopes.js';
|
|
36
35
|
import * as StackTrace from '../../models/stack_trace/stack_trace.js';
|
|
37
36
|
import * as ObjectUI from '../../ui/legacy/components/object_ui/object_ui.js';
|
|
@@ -214,8 +213,9 @@ export class ScopeChainSidebarPane extends UI.Widget.VBox implements UI.ContextF
|
|
|
214
213
|
this.#linkifier.reset();
|
|
215
214
|
|
|
216
215
|
if (callFrame) {
|
|
216
|
+
// TODO(crbug.com/458180550): Receive the ScopeChainResolver via constructor.
|
|
217
217
|
const scopeChainModel = new SourceMapScopes.ScopeChainModel.ScopeChainModel(
|
|
218
|
-
callFrame.sdkFrame,
|
|
218
|
+
callFrame.sdkFrame, SourceMapScopes.ScopeChainResolver.ScopeChainResolver.instance());
|
|
219
219
|
this.#scopeChainModel = scopeChainModel;
|
|
220
220
|
this.#scopeChainModel.addEventListener(SourceMapScopes.ScopeChainModel.Events.SCOPE_CHAIN_UPDATED, event => {
|
|
221
221
|
if (this.#scopeChainModel === scopeChainModel) {
|
|
@@ -327,7 +327,7 @@ export class SourcesPanel extends UI.Panel.Panel implements
|
|
|
327
327
|
static updateResizerAndSidebarButtons(panel: SourcesPanel): void {
|
|
328
328
|
const isInWrapper = Boolean(UI.Context.Context.instance().flavor(QuickSourceView)) &&
|
|
329
329
|
!UI.InspectorView.InspectorView.instance().isDrawerMinimized();
|
|
330
|
-
panel.#sourcesView.setLayoutMode(panel.splitWidget
|
|
330
|
+
panel.#sourcesView.setLayoutMode(panel.splitWidget.isVertical(), isInWrapper);
|
|
331
331
|
}
|
|
332
332
|
|
|
333
333
|
targetAdded(_target: SDK.Target.Target): void {
|
|
@@ -16,7 +16,7 @@ import * as Buttons from '../../ui/components/buttons/buttons.js';
|
|
|
16
16
|
import * as QuickOpen from '../../ui/legacy/components/quick_open/quick_open.js';
|
|
17
17
|
import type * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
|
|
18
18
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
19
|
-
import {
|
|
19
|
+
import {html, type LitTemplate, nothing, render} from '../../ui/lit/lit.js';
|
|
20
20
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
21
21
|
|
|
22
22
|
import {EditingLocationHistoryManager} from './EditingLocationHistoryManager.js';
|
|
@@ -69,7 +69,6 @@ const UIStrings = {
|
|
|
69
69
|
const str_ = i18n.i18n.registerUIStrings('panels/sources/SourcesView.ts', UIStrings);
|
|
70
70
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
71
71
|
|
|
72
|
-
const {ref} = Directives;
|
|
73
72
|
const {widget, widgetRef} = UI.Widget;
|
|
74
73
|
|
|
75
74
|
export interface ViewInput {
|
|
@@ -83,7 +82,6 @@ export interface ViewInput {
|
|
|
83
82
|
isVertical: boolean;
|
|
84
83
|
isInWrapper: boolean;
|
|
85
84
|
isTraceApp: boolean;
|
|
86
|
-
splitWidget?: UI.SplitWidget.SplitWidget;
|
|
87
85
|
onToggleNavigatorSidebar?: () => void;
|
|
88
86
|
onToggleDebuggerSidebar?: () => void;
|
|
89
87
|
breakpointsActive: boolean;
|
|
@@ -170,11 +168,7 @@ export const DEFAULT_VIEW: View = (input, output, target): void => {
|
|
|
170
168
|
</devtools-widget>
|
|
171
169
|
</devtools-widget>
|
|
172
170
|
<div class="sources-toolbar" jslog=${VisualLogging.toolbar('bottom')}>
|
|
173
|
-
<devtools-toolbar class="script-view-toolbar" style="flex: auto;"
|
|
174
|
-
if (el && input.splitWidget) {
|
|
175
|
-
input.splitWidget.toggleResizer(el, !input.isVertical && !input.isInWrapper);
|
|
176
|
-
}
|
|
177
|
-
})}>
|
|
171
|
+
<devtools-toolbar class="script-view-toolbar" style="flex: auto;">
|
|
178
172
|
${Array.isArray(input.scriptViewToolbarItems)
|
|
179
173
|
? input.scriptViewToolbarItems.map(item => item.element)
|
|
180
174
|
: input.scriptViewToolbarItems}
|
|
@@ -218,7 +212,6 @@ export class SourcesView extends SourcesViewBase implements UI.SearchableView.Se
|
|
|
218
212
|
#debuggerSidebarInitialized = false;
|
|
219
213
|
#isVertical = false;
|
|
220
214
|
#isInWrapper = true;
|
|
221
|
-
#splitWidget?: UI.SplitWidget.SplitWidget;
|
|
222
215
|
#breakpointsActive = true;
|
|
223
216
|
#editorContainerPromise: Promise<TabbedEditorContainer>;
|
|
224
217
|
#editorContainerResolve!: (container: TabbedEditorContainer) => void;
|
|
@@ -295,7 +288,6 @@ export class SourcesView extends SourcesViewBase implements UI.SearchableView.Se
|
|
|
295
288
|
isVertical: this.#isVertical,
|
|
296
289
|
isInWrapper: this.#isInWrapper,
|
|
297
290
|
isTraceApp: Root.Runtime.Runtime.isTraceApp(),
|
|
298
|
-
splitWidget: this.#splitWidget,
|
|
299
291
|
onToggleNavigatorSidebar: this.#onToggleNavigatorSidebar,
|
|
300
292
|
onToggleDebuggerSidebar: this.#onToggleDebuggerSidebar,
|
|
301
293
|
breakpointsActive: this.#breakpointsActive,
|
|
@@ -390,8 +382,7 @@ export class SourcesView extends SourcesViewBase implements UI.SearchableView.Se
|
|
|
390
382
|
this.requestUpdate();
|
|
391
383
|
}
|
|
392
384
|
|
|
393
|
-
setLayoutMode(
|
|
394
|
-
this.#splitWidget = splitWidget;
|
|
385
|
+
setLayoutMode(isVertical: boolean, isInWrapper: boolean): void {
|
|
395
386
|
this.#isVertical = isVertical;
|
|
396
387
|
this.#isInWrapper = isInWrapper;
|
|
397
388
|
this.requestUpdate();
|
|
@@ -291,9 +291,6 @@ export class TabbedEditorContainer extends TabbedEditorContainerBase {
|
|
|
291
291
|
}
|
|
292
292
|
|
|
293
293
|
override performUpdate(): void {
|
|
294
|
-
if (false) {
|
|
295
|
-
return;
|
|
296
|
-
}
|
|
297
294
|
const shortcuts = [
|
|
298
295
|
{actionId: 'quick-open.show', description: i18nString(UIStrings.openFile)},
|
|
299
296
|
{actionId: 'quick-open.show-command-menu', description: i18nString(UIStrings.runCommand)},
|