chrome-devtools-frontend 1.0.1697595 → 1.0.1698733

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 (124) hide show
  1. package/.agents/skills/version-control/SKILL.md +21 -9
  2. package/.stylelintignore +2 -0
  3. package/front_end/core/common/VersionController.ts +5 -1
  4. package/front_end/core/platform/HostRuntime.ts +12 -0
  5. package/front_end/core/platform/api/HostRuntime.ts +13 -0
  6. package/front_end/core/platform/browser/HostRuntime.ts +34 -0
  7. package/front_end/core/platform/node/HostRuntime.ts +40 -0
  8. package/front_end/core/sdk/AnimationModel.ts +21 -99
  9. package/front_end/core/sdk/CSSModel.ts +4 -2
  10. package/front_end/core/sdk/CSSPropertyParser.ts +4 -4
  11. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +4 -44
  12. package/front_end/core/sdk/Connections.ts +6 -1
  13. package/front_end/core/sdk/ConsoleModel.ts +1 -12
  14. package/front_end/core/sdk/DOMModel.ts +3 -51
  15. package/front_end/core/sdk/DebuggerModel.ts +9 -8
  16. package/front_end/core/sdk/NetworkRequest.ts +1 -1
  17. package/front_end/core/sdk/PageFunctions.ts +187 -0
  18. package/front_end/core/sdk/Resource.ts +1 -1
  19. package/front_end/core/sdk/RuntimeModel.ts +1 -20
  20. package/front_end/core/sdk/Script.ts +21 -0
  21. package/front_end/core/sdk/SourceMap.ts +15 -2
  22. package/front_end/core/sdk/SourceMapCache.ts +13 -10
  23. package/front_end/core/sdk/SourceMapManager.ts +11 -9
  24. package/front_end/core/sdk/SourceMapScopeChainEntry.ts +59 -17
  25. package/front_end/core/sdk/SourceMapScopesInfo.ts +8 -2
  26. package/front_end/entrypoints/heap_snapshot_worker/ContextAnalyzer.ts +635 -0
  27. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +26 -12
  28. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotLoader.ts +16 -2
  29. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotWorkerDispatcher.ts +4 -4
  30. package/front_end/entrypoints/heap_snapshot_worker/heap_snapshot_worker.ts +2 -0
  31. package/front_end/entrypoints/shell/shell.ts +1 -1
  32. package/front_end/generated/InspectorBackendCommands.ts +1 -1
  33. package/front_end/generated/protocol.ts +8 -2
  34. package/front_end/models/ai_assistance/DOMHelpers.ts +95 -0
  35. package/front_end/models/ai_assistance/EvaluateAction.ts +5 -42
  36. package/front_end/models/ai_assistance/ExtensionScope.ts +2 -31
  37. package/front_end/models/ai_assistance/agents/AiAgent.ts +2 -1
  38. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +27 -2
  39. package/front_end/models/ai_assistance/ai_assistance.ts +6 -4
  40. package/front_end/models/ai_assistance/contexts/DOMNodeContext.ts +10 -7
  41. package/front_end/models/ai_assistance/contexts/FileContext.ts +2 -10
  42. package/front_end/models/ai_assistance/skills/performance.md +4 -3
  43. package/front_end/models/ai_assistance/tools/GetSourceContent.ts +3 -2
  44. package/front_end/models/ai_assistance/tools/{GetFunctionCode.ts → GetTraceFunctionCode.ts} +26 -13
  45. package/front_end/models/ai_assistance/tools/{GetResourceContent.ts → GetTraceResourceContent.ts} +31 -11
  46. package/front_end/models/ai_assistance/tools/ListSources.ts +21 -14
  47. package/front_end/models/ai_assistance/tools/Tool.ts +2 -2
  48. package/front_end/models/ai_assistance/tools/ToolRegistry.ts +6 -6
  49. package/front_end/models/bindings/CompilerScriptMapping.ts +3 -10
  50. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +48 -17
  51. package/front_end/models/bindings/ResourceScriptMapping.ts +2 -2
  52. package/front_end/models/bindings/StylesSourceMapping.ts +1 -1
  53. package/front_end/models/comment_manager/CD4ABridge.ts +55 -12
  54. package/front_end/models/comment_manager/CommentManager.ts +46 -91
  55. package/front_end/models/comment_manager/CommentThread.ts +145 -0
  56. package/front_end/models/comment_manager/comment_manager.ts +2 -0
  57. package/front_end/models/elements/DOMChanges.ts +238 -0
  58. package/front_end/models/elements/elements.ts +2 -0
  59. package/front_end/models/emulation/DeviceModeModel.ts +53 -0
  60. package/front_end/models/extensions/ExtensionAPI.ts +8 -6
  61. package/front_end/models/extensions/ExtensionEndpoint.ts +11 -8
  62. package/front_end/models/extensions/HostUrlPattern.ts +4 -3
  63. package/front_end/models/extensions/LanguageExtensionEndpoint.ts +3 -2
  64. package/front_end/models/extensions/RecorderExtensionEndpoint.ts +2 -1
  65. package/front_end/models/formatter/FormatterWorkerPool.ts +4 -6
  66. package/front_end/models/heap_snapshot/HeapSnapshotModel.ts +55 -0
  67. package/front_end/models/heap_snapshot/HeapSnapshotProxy.ts +18 -14
  68. package/front_end/models/issues_manager/IssuesManager.ts +5 -0
  69. package/front_end/models/issues_manager/WebInstallIssue.ts +63 -0
  70. package/front_end/models/issues_manager/descriptions/webInstallManifestMissingId.md +3 -0
  71. package/front_end/models/issues_manager/descriptions/webInstallManifestMissingNameOrShortName.md +3 -0
  72. package/front_end/models/issues_manager/descriptions/webInstallManifestParsingOrNetworkError.md +3 -0
  73. package/front_end/models/issues_manager/descriptions/webInstallNoManifest.md +3 -0
  74. package/front_end/models/issues_manager/descriptions/webInstallStartUrlInvalid.md +3 -0
  75. package/front_end/models/issues_manager/issues_manager.ts +2 -0
  76. package/front_end/models/workspace/UISourceCode.ts +20 -0
  77. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +7 -7
  78. package/front_end/panels/ai_assistance/components/AIv2MarkdownRenderer.ts +4 -10
  79. package/front_end/panels/ai_assistance/components/MarkdownRendererWithCodeBlock.ts +25 -5
  80. package/front_end/panels/browser_debugger/ObjectEventListenersSidebarPane.ts +2 -3
  81. package/front_end/panels/common/CommentThreadWidget.ts +221 -0
  82. package/front_end/{ui/comments → panels/common}/CommentsOverlayWidget.ts +117 -28
  83. package/front_end/{ui/comments → panels/common}/CommentsStatusBarPill.ts +5 -5
  84. package/front_end/panels/common/ExtensionServer.ts +2 -1
  85. package/front_end/panels/common/commentThreadWidget.css +173 -0
  86. package/front_end/{ui/comments → panels/common}/commentsOverlay.css +8 -1
  87. package/front_end/{ui/comments/comments-meta.ts → panels/common/common-meta.ts} +11 -11
  88. package/front_end/panels/common/common.ts +3 -0
  89. package/front_end/panels/elements/AdoptedStyleSheetTreeElement.ts +3 -3
  90. package/front_end/panels/elements/ElementsPanel.ts +5 -1
  91. package/front_end/panels/elements/ElementsTreeElement.ts +102 -21
  92. package/front_end/panels/elements/ElementsTreeOutline.ts +326 -91
  93. package/front_end/panels/elements/EventListenersWidget.ts +0 -1
  94. package/front_end/panels/elements/PropertiesWidget.ts +11 -10
  95. package/front_end/panels/elements/PropertyRenderer.ts +29 -25
  96. package/front_end/panels/elements/StylePropertyTreeElement.ts +6 -6
  97. package/front_end/panels/elements/elementsTreeOutline.css +7 -1
  98. package/front_end/panels/emulation/DeviceModeToolbar.ts +2 -3
  99. package/front_end/panels/event_listeners/EventListenersView.ts +235 -302
  100. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.ts +6 -7
  101. package/front_end/panels/linear_memory_inspector/components/linearMemoryInspector.css +5 -1
  102. package/front_end/panels/linear_memory_inspector/linear_memory_inspector-meta.ts +1 -1
  103. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +10 -2
  104. package/front_end/panels/network/NetworkConfigView.ts +141 -116
  105. package/front_end/panels/network/NetworkPanel.ts +7 -4
  106. package/front_end/panels/network/RequestHeadersView.ts +1 -1
  107. package/front_end/panels/network/forward/BackendLinking.ts +5 -2
  108. package/front_end/panels/recorder/stepView.css +1 -0
  109. package/front_end/panels/security/SecurityPanel.ts +5 -5
  110. package/front_end/panels/security/SecurityPanelSidebar.ts +2 -11
  111. package/front_end/panels/settings/BackendLinkingSettingsTab.ts +7 -2
  112. package/front_end/panels/sources/DebuggerPlugin.ts +1 -1
  113. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +11 -16
  114. package/front_end/panels/sources/sources-meta.ts +1 -1
  115. package/front_end/panels/timeline/TimelineTreeView.ts +11 -1
  116. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +0 -3
  117. package/front_end/third_party/chromium/README.chromium +1 -1
  118. package/front_end/ui/comments/CommentOverlayManager.ts +89 -42
  119. package/front_end/ui/comments/comments.ts +0 -4
  120. package/front_end/ui/legacy/Treeoutline.ts +4 -0
  121. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +15 -8
  122. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +4 -0
  123. package/front_end/ui/visual_logging/KnownContextValues.ts +1 -0
  124. package/package.json +5 -5
@@ -125,7 +125,6 @@ export const DEFAULT_VIEW: View = (input, _output, target) => {
125
125
  </devtools-checkbox>
126
126
  </devtools-toolbar>
127
127
  ${widget(EventListeners.EventListenersView.EventListenersView, {
128
- changeCallback: input.onEventListenersViewChange,
129
128
  objects: input.eventListenerObjects,
130
129
  filter: input.filter,
131
130
  })}
@@ -40,7 +40,7 @@ import * as Platform from '../../core/platform/platform.js';
40
40
  import * as SDK from '../../core/sdk/sdk.js';
41
41
  import * as ObjectUI from '../../ui/legacy/components/object_ui/object_ui.js';
42
42
  import * as UI from '../../ui/legacy/legacy.js';
43
- import {Directives, html, nothing, render} from '../../ui/lit/lit.js';
43
+ import {html, nothing, render} from '../../ui/lit/lit.js';
44
44
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
45
45
 
46
46
  import propertiesWidgetStyles from './propertiesWidget.css.js';
@@ -48,7 +48,7 @@ import propertiesWidgetStyles from './propertiesWidget.css.js';
48
48
  const OBJECT_GROUP_NAME = 'properties-sidebar-pane';
49
49
 
50
50
  const {bindToSetting} = UI.UIUtils;
51
- const {repeat} = Directives;
51
+ const {widget, widgetRef} = UI.Widget;
52
52
 
53
53
  const UIStrings = {
54
54
  /**
@@ -104,14 +104,14 @@ export const DEFAULT_VIEW: View = (input, _output, target) => {
104
104
  <div class="gray-info-message">${i18nString(UIStrings.noMatchingProperty)}</div>
105
105
  ` : nothing}
106
106
  <devtools-tree show-selection-on-keyboard-focus @treeelementexpand=${onExpand} .template=${html`
107
- <ul role=tree class="source-code object-properties-section">
108
- <style>${ObjectUI.ObjectPropertiesSection.objectValueStyles}</style>;
109
- <style>${ObjectUI.ObjectPropertiesSection.objectPropertiesSectionStyles}</style>;
110
- ${repeat(ObjectUI.ObjectPropertiesSection.ObjectPropertyTreeElement.createPropertyNodes(
111
- input.objectTree?.children ?? {},
112
- true /* skipProto */,
113
- true /* skipGettersAndSetters */),
114
- node => html`<devtools-tree-wrapper .treeElement=${node}></devtools-tree-wrapper>`)}
107
+ <style>${ObjectUI.ObjectPropertiesSection.objectValueStyles}</style>
108
+ <style>${ObjectUI.ObjectPropertiesSection.objectPropertiesSectionStyles}</style>
109
+ <ul role=tree open class="source-code object-properties-section" ${
110
+ widget(ObjectUI.ObjectPropertiesSection.ObjectTreeWidget, {
111
+ objectTree: input.objectTree ?? undefined,
112
+ skipProto: true,
113
+ skipGettersAndSetters: true,
114
+ })} ${widgetRef(ObjectUI.ObjectPropertiesSection.ObjectTreeWidget, () => {})}>
115
115
  </ul>
116
116
  `}></devtools-tree>
117
117
  </div>`, target);
@@ -223,6 +223,7 @@ export class PropertiesWidget extends UI.Widget.VBox {
223
223
  propertiesMode: ObjectUI.ObjectPropertiesSection.ObjectPropertiesMode.OWN_AND_INTERNAL_AND_INHERITED,
224
224
  readOnly: true,
225
225
  });
226
+ this.#objectTree.expanded = true;
226
227
  this.#updateFilter();
227
228
  }
228
229
 
@@ -348,14 +348,16 @@ export class TracingContext {
348
348
  }
349
349
  }
350
350
 
351
+ export const CSSControlMap: MapConstructor = Map;
352
+ export type CSSControlMap = Map<string, HTMLElement[]>;
353
+
351
354
  export class RenderingContext {
352
355
  constructor(readonly ast: SDK.CSSPropertyParser.SyntaxTree, readonly property: SDK.CSSProperty.CSSProperty|null,
353
356
  readonly renderers: Map<Platform.Constructor.Constructor<SDK.CSSPropertyParser.Match>,
354
357
  MatchRenderer<SDK.CSSPropertyParser.Match>>,
355
358
  readonly matchedResult: SDK.CSSPropertyParser.BottomUpTreeMatching,
356
- readonly cssControls?: SDK.CSSPropertyParser.CSSControlMap|undefined,
357
- readonly options: {readonly?: boolean} = {}, readonly tracing?: TracingContext|undefined,
358
- readonly signal?: AbortSignal|undefined) {
359
+ readonly cssControls?: CSSControlMap|undefined, readonly options: {readonly?: boolean} = {},
360
+ readonly tracing?: TracingContext|undefined, readonly signal?: AbortSignal|undefined) {
359
361
  }
360
362
 
361
363
  addControl(cssType: string, control: HTMLElement): void {
@@ -406,11 +408,10 @@ export class Renderer extends SDK.CSSPropertyParser.TreeWalker {
406
408
  constructor(
407
409
  ast: SDK.CSSPropertyParser.SyntaxTree,
408
410
  property: SDK.CSSProperty.CSSProperty|null,
409
- renderers:
410
- Map<Platform.Constructor.Constructor<SDK.CSSPropertyParser.Match>,
411
- MatchRenderer<SDK.CSSPropertyParser.Match>>,
411
+ renderers: Map<Platform.Constructor.Constructor<SDK.CSSPropertyParser.Match>,
412
+ MatchRenderer<SDK.CSSPropertyParser.Match>>,
412
413
  matchedResult: SDK.CSSPropertyParser.BottomUpTreeMatching,
413
- cssControls: SDK.CSSPropertyParser.CSSControlMap,
414
+ cssControls: CSSControlMap,
414
415
  options: {
415
416
  readonly?: boolean,
416
417
  },
@@ -423,12 +424,12 @@ export class Renderer extends SDK.CSSPropertyParser.TreeWalker {
423
424
  new RenderingContext(this.ast, property, renderers, this.#matchedResult, cssControls, options, tracing, signal);
424
425
  }
425
426
 
426
- static render(nodeOrNodes: CodeMirror.SyntaxNode|CodeMirror.SyntaxNode[], context: RenderingContext):
427
- {nodes: Node[], cssControls: SDK.CSSPropertyParser.CSSControlMap} {
427
+ static render(nodeOrNodes: CodeMirror.SyntaxNode|CodeMirror.SyntaxNode[],
428
+ context: RenderingContext): {nodes: Node[], cssControls: CSSControlMap} {
428
429
  if (!Array.isArray(nodeOrNodes)) {
429
430
  return this.render([nodeOrNodes], context);
430
431
  }
431
- const cssControls = new SDK.CSSPropertyParser.CSSControlMap();
432
+ const cssControls = new CSSControlMap();
432
433
  const renderers = nodeOrNodes.map(
433
434
  node => this.walkExcludingSuccessors(
434
435
  context.ast.subtree(node), context.property, context.renderers, context.matchedResult, cssControls,
@@ -437,9 +438,8 @@ export class Renderer extends SDK.CSSPropertyParser.TreeWalker {
437
438
  return {nodes, cssControls};
438
439
  }
439
440
 
440
- static renderInto(
441
- nodeOrNodes: CodeMirror.SyntaxNode|CodeMirror.SyntaxNode[], context: RenderingContext,
442
- parent: Node): {nodes: Node[], cssControls: SDK.CSSPropertyParser.CSSControlMap} {
441
+ static renderInto(nodeOrNodes: CodeMirror.SyntaxNode|CodeMirror.SyntaxNode[], context: RenderingContext,
442
+ parent: Node): {nodes: Node[], cssControls: CSSControlMap} {
443
443
  const {nodes, cssControls} = this.render(nodeOrNodes, context);
444
444
  if (parent.lastChild && SDK.CSSPropertyParser.requiresSpace([parent.lastChild], nodes)) {
445
445
  parent.appendChild(document.createTextNode(' '));
@@ -456,8 +456,14 @@ export class Renderer extends SDK.CSSPropertyParser.TreeWalker {
456
456
  const renderer = match &&
457
457
  this.#context.renderers.get(match.constructor as Platform.Constructor.Constructor<SDK.CSSPropertyParser.Match>);
458
458
  if (renderer || match instanceof SDK.CSSPropertyParserMatchers.TextMatch) {
459
- const output = renderer ? renderer.render(match, this.#context) :
460
- (match as SDK.CSSPropertyParserMatchers.TextMatch).render();
459
+ let output: Node[];
460
+ if (renderer) {
461
+ output = renderer.render(match, this.#context);
462
+ } else {
463
+ const span = document.createElement('span');
464
+ span.appendChild(document.createTextNode(match.text));
465
+ output = [span];
466
+ }
461
467
  this.#context.tracing?.highlighting.addMatch(match, output);
462
468
  this.renderedMatchForTest(output, match);
463
469
  this.#output = mergeWithSpacing(this.#output, output);
@@ -490,11 +496,10 @@ export class Renderer extends SDK.CSSPropertyParser.TreeWalker {
490
496
  //
491
497
  // More general, longer matches take precedence over shorter, more specific matches. Whitespaces are normalized, for
492
498
  // unmatched text and around rendered matching results.
493
- static renderValueElement(
494
- property: SDK.CSSProperty.CSSProperty|{name: string, value: string},
495
- matchedResult: SDK.CSSPropertyParser.BottomUpTreeMatching|null,
496
- renderers: Array<MatchRenderer<SDK.CSSPropertyParser.Match>>, tracing?: TracingContext,
497
- signal?: AbortSignal): {valueElement: HTMLElement, cssControls: SDK.CSSPropertyParser.CSSControlMap} {
499
+ static renderValueElement(property: SDK.CSSProperty.CSSProperty|{name: string, value: string},
500
+ matchedResult: SDK.CSSPropertyParser.BottomUpTreeMatching|null,
501
+ renderers: Array<MatchRenderer<SDK.CSSPropertyParser.Match>>, tracing?: TracingContext,
502
+ signal?: AbortSignal): {valueElement: HTMLElement, cssControls: CSSControlMap} {
498
503
  const valueElement = document.createElement('span');
499
504
  valueElement.setAttribute(
500
505
  'jslog', `${VisualLogging.value().track({
@@ -510,11 +515,10 @@ export class Renderer extends SDK.CSSPropertyParser.TreeWalker {
510
515
  return {valueElement, cssControls};
511
516
  }
512
517
 
513
- static renderValueNodes(
514
- property: SDK.CSSProperty.CSSProperty|{name: string, value: string},
515
- matchedResult: SDK.CSSPropertyParser.BottomUpTreeMatching|null,
516
- renderers: Array<MatchRenderer<SDK.CSSPropertyParser.Match>>, tracing?: TracingContext,
517
- signal?: AbortSignal): {nodes: Node[], cssControls: SDK.CSSPropertyParser.CSSControlMap} {
518
+ static renderValueNodes(property: SDK.CSSProperty.CSSProperty|{name: string, value: string},
519
+ matchedResult: SDK.CSSPropertyParser.BottomUpTreeMatching|null,
520
+ renderers: Array<MatchRenderer<SDK.CSSPropertyParser.Match>>, tracing?: TracingContext,
521
+ signal?: AbortSignal): {nodes: Node[], cssControls: CSSControlMap} {
518
522
  if (!matchedResult) {
519
523
  return {nodes: [document.createTextNode(property.value)], cssControls: new Map()};
520
524
  }
@@ -35,6 +35,7 @@ import {CSSValueTraceView} from './CSSValueTraceView.js';
35
35
  import {ElementsPanel} from './ElementsPanel.js';
36
36
  import {
37
37
  BinOpRenderer,
38
+ type CSSControlMap,
38
39
  type MatchRenderer,
39
40
  Renderer,
40
41
  rendererBase,
@@ -713,7 +714,7 @@ export class ColorRenderer extends ColorRendererBase {
713
714
 
714
715
  #getValueChild(match: SDK.CSSPropertyParserMatchers.ColorMatch, context: RenderingContext): {
715
716
  valueChild: HTMLSpanElement,
716
- cssControls?: SDK.CSSPropertyParser.CSSControlMap,
717
+ cssControls?: CSSControlMap,
717
718
  childTracingContexts?: TracingContext[],
718
719
  } {
719
720
  const valueChild = document.createElement('span');
@@ -906,11 +907,10 @@ export class LightDarkColorRenderer extends LightDarkColorRendererBase {
906
907
  return [colorSwatch, content];
907
908
  }
908
909
 
909
- async applyColorScheme(
910
- match: SDK.CSSPropertyParserMatchers.LightDarkColorMatch, context: RenderingContext,
911
- colorSwatch: InlineEditor.ColorSwatch.ColorSwatch, light: HTMLSpanElement, dark: HTMLSpanElement,
912
- lightControls: SDK.CSSPropertyParser.CSSControlMap,
913
- darkControls: SDK.CSSPropertyParser.CSSControlMap): Promise<void> {
910
+ async applyColorScheme(match: SDK.CSSPropertyParserMatchers.LightDarkColorMatch, context: RenderingContext,
911
+ colorSwatch: InlineEditor.ColorSwatch.ColorSwatch, light: HTMLSpanElement,
912
+ dark: HTMLSpanElement, lightControls: CSSControlMap,
913
+ darkControls: CSSControlMap): Promise<void> {
914
914
  const activeColor = await this.#activeColor(match);
915
915
  if (context.signal?.aborted) {
916
916
  return;
@@ -56,11 +56,13 @@
56
56
  line-height: normal;
57
57
  }
58
58
 
59
+ :host(.elements-tree-outline),
59
60
  .elements-disclosure devtools-tree {
60
61
  width: 100%;
61
62
  min-width: 100%;
62
63
  min-height: 100%;
63
64
  display: inline-block;
65
+ padding: 0;
64
66
  }
65
67
 
66
68
  .elements-disclosure li {
@@ -570,7 +572,7 @@ li.hovered:not(.always-parent) + ol.children:not(.shadow-root) {
570
572
  .tree-outline-disclosure li .selection {
571
573
  display: none;
572
574
  z-index: -1;
573
- margin-left: 0;
575
+ margin-left: calc(var(--indent, 0px) * -1);
574
576
  }
575
577
 
576
578
  .tree-outline-disclosure li.selected .selection {
@@ -605,6 +607,10 @@ li.hovered:not(.always-parent) + ol.children:not(.shadow-root) {
605
607
  background-color: var(--sys-color-tonal-container);
606
608
  }
607
609
 
610
+ .tree-outline-disclosure .elements-tree-outline li:has(.elements-tree-editor) .selection {
611
+ display: none;
612
+ }
613
+
608
614
  .tree-outline-disclosure ol {
609
615
  list-style-type: none;
610
616
  padding-inline-start: 12px;
@@ -842,9 +842,8 @@ export class DeviceModeToolbar extends UI.Widget.Widget {
842
842
  if (!this.model) {
843
843
  return;
844
844
  }
845
- const scale = this.autoAdjustScaleSetting.get() ? undefined : this.model.scaleSetting().get();
846
- this.model.emulate(
847
- EmulationModel.DeviceModeModel.Type.Device, device, this.lastMode.get(device) || device.modes[0], scale);
845
+ this.model.emulate(EmulationModel.DeviceModeModel.Type.Device, device,
846
+ this.lastMode.get(device) || device.modes[0]);
848
847
  }
849
848
 
850
849
  private switchToResponsive(): void {