[cleanup] Remove unnecessary shadow roots in device mode toolbar.
The shadow roots were originally required due to the enforced shadow DOM
by the old `UI.Toolbar.Toolbar`, but with the new light DOM approach,
these are just unnecessary.
Bug: 391381439, 388445687
Change-Id: Ia1a99363e82bd624c91d29bda0654cd5ab63be30
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6194452
Reviewed-by: Alex Rudenko <[email protected]>
Auto-Submit: Benedikt Meurer <[email protected]>
Commit-Queue: Alex Rudenko <[email protected]>
diff --git a/front_end/panels/emulation/BUILD.gn b/front_end/panels/emulation/BUILD.gn
index be05883..9963fd3 100644
--- a/front_end/panels/emulation/BUILD.gn
+++ b/front_end/panels/emulation/BUILD.gn
@@ -16,12 +16,6 @@
]
}
-generate_css("legacy_css_files") {
- sources = [ "deviceModeToolbar.css" ]
-
- legacy = true
-}
-
devtools_module("emulation") {
sources = [
"AdvancedApp.ts",
@@ -63,7 +57,6 @@
deps = [
":css_files",
":emulation",
- ":legacy_css_files",
]
visibility = [
diff --git a/front_end/panels/emulation/DeviceModeToolbar.ts b/front_end/panels/emulation/DeviceModeToolbar.ts
index 4799923..46d0d52 100644
--- a/front_end/panels/emulation/DeviceModeToolbar.ts
+++ b/front_end/panels/emulation/DeviceModeToolbar.ts
@@ -14,7 +14,6 @@
import * as MobileThrottling from '../mobile_throttling/mobile_throttling.js';
import * as EmulationComponents from './components/components.js';
-import deviceModeToolbarStyles from './deviceModeToolbar.css.legacy.js';
const UIStrings = {
/**
@@ -302,14 +301,14 @@
}
}
- private createEmptyToolbarElement(): Element {
+ private createEmptyToolbarElement(): HTMLDivElement {
const element = document.createElement('div');
element.classList.add('device-mode-empty-toolbar-element');
return element;
}
private appendDeviceSelectMenu(toolbar: UI.Toolbar.Toolbar): void {
- toolbar.appendToolbarItem(this.wrapToolbarItem(this.createEmptyToolbarElement()));
+ toolbar.appendToolbarItem(new UI.Toolbar.ToolbarItem(this.createEmptyToolbarElement()));
this.deviceSelectItem =
new UI.Toolbar.ToolbarMenuButton(this.appendDeviceMenuItems.bind(this), undefined, undefined, 'device');
this.deviceSelectItem.turnShrinkable();
@@ -323,14 +322,14 @@
const xElement = document.createElement('div');
xElement.classList.add('device-mode-x');
xElement.textContent = '×';
- this.xItem = this.wrapToolbarItem(xElement);
+ this.xItem = new UI.Toolbar.ToolbarItem(xElement);
toolbar.appendToolbarItem(this.xItem);
toolbar.appendToolbarItem(new UI.Toolbar.ToolbarItem(this.heightInput));
}
private appendDisplaySettings(toolbar: UI.Toolbar.Toolbar): void {
- toolbar.appendToolbarItem(this.wrapToolbarItem(this.createEmptyToolbarElement()));
+ toolbar.appendToolbarItem(new UI.Toolbar.ToolbarItem(this.createEmptyToolbarElement()));
this.scaleItem =
new UI.Toolbar.ToolbarMenuButton(this.appendScaleMenuItems.bind(this), undefined, undefined, 'scale');
setTitleForButton(this.scaleItem, i18nString(UIStrings.zoom));
@@ -338,7 +337,7 @@
this.scaleItem.setDarkText();
toolbar.appendToolbarItem(this.scaleItem);
- toolbar.appendToolbarItem(this.wrapToolbarItem(this.createEmptyToolbarElement()));
+ toolbar.appendToolbarItem(new UI.Toolbar.ToolbarItem(this.createEmptyToolbarElement()));
this.deviceScaleItem = new UI.Toolbar.ToolbarMenuButton(
this.appendDeviceScaleMenuItems.bind(this), undefined, undefined, 'device-pixel-ratio');
@@ -348,7 +347,7 @@
this.deviceScaleItem.setDarkText();
toolbar.appendToolbarItem(this.deviceScaleItem);
- toolbar.appendToolbarItem(this.wrapToolbarItem(this.createEmptyToolbarElement()));
+ toolbar.appendToolbarItem(new UI.Toolbar.ToolbarItem(this.createEmptyToolbarElement()));
this.uaItem =
new UI.Toolbar.ToolbarMenuButton(this.appendUserAgentMenuItems.bind(this), undefined, undefined, 'device-type');
this.uaItem.turnShrinkable();
@@ -364,7 +363,7 @@
}
private appendDevicePositionItems(toolbar: UI.Toolbar.Toolbar): void {
- toolbar.appendToolbarItem(this.wrapToolbarItem(this.createEmptyToolbarElement()));
+ toolbar.appendToolbarItem(new UI.Toolbar.ToolbarItem(this.createEmptyToolbarElement()));
this.modeButton = new UI.Toolbar.ToolbarButton('', 'screen-rotation', undefined, 'screen-rotation');
this.modeButton.addEventListener(UI.Toolbar.ToolbarButton.Events.CLICK, this.modeMenuClicked, this);
toolbar.appendToolbarItem(this.modeButton);
@@ -375,7 +374,7 @@
toolbar.appendToolbarItem(this.spanButton);
// Show posture toolbar menu for foldable devices.
- toolbar.appendToolbarItem(this.wrapToolbarItem(this.createEmptyToolbarElement()));
+ toolbar.appendToolbarItem(new UI.Toolbar.ToolbarItem(this.createEmptyToolbarElement()));
this.postureItem = new UI.Toolbar.ToolbarMenuButton(
this.appendDevicePostureItems.bind(this), undefined, undefined, 'device-posture');
this.postureItem.turnShrinkable();
@@ -406,7 +405,7 @@
}
private fillOptionsToolbar(toolbar: UI.Toolbar.Toolbar): void {
- toolbar.appendToolbarItem(this.wrapToolbarItem(this.createEmptyToolbarElement()));
+ toolbar.appendToolbarItem(new UI.Toolbar.ToolbarItem(this.createEmptyToolbarElement()));
const moreOptionsButton = new UI.Toolbar.ToolbarMenuButton(
this.appendOptionsMenuItems.bind(this), true, undefined, 'more-options', 'dots-vertical');
moreOptionsButton.setTitle(i18nString(UIStrings.moreOptions));
@@ -547,13 +546,6 @@
this.model.reset();
}
- private wrapToolbarItem(element: Element): UI.Toolbar.ToolbarItem {
- const container = document.createElement('div');
- const shadowRoot = UI.UIUtils.createShadowRootWithCoreStyles(container, {cssFile: deviceModeToolbarStyles});
- shadowRoot.appendChild(element);
- return new UI.Toolbar.ToolbarItem(container);
- }
-
private emulateDevice(device: EmulationModel.EmulatedDevices.EmulatedDevice): void {
const scale = this.autoAdjustScaleSetting.get() ? undefined : this.model.scaleSetting().get();
this.model.emulate(
diff --git a/front_end/panels/emulation/deviceModeToolbar.css b/front_end/panels/emulation/deviceModeToolbar.css
deleted file mode 100644
index b58f1dc..0000000
--- a/front_end/panels/emulation/deviceModeToolbar.css
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * Copyright 2015 The Chromium Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-.device-mode-x {
- margin: 0 1px;
- font-size: 16px;
-}
-
-.device-mode-empty-toolbar-element {
- width: 0;
-}
diff --git a/front_end/panels/emulation/deviceModeView.css b/front_end/panels/emulation/deviceModeView.css
index 69775d7..1ec18ad 100644
--- a/front_end/panels/emulation/deviceModeView.css
+++ b/front_end/panels/emulation/deviceModeView.css
@@ -20,6 +20,15 @@
align-items: stretch;
}
+.device-mode-x {
+ margin: 0 1px;
+ font-size: 16px;
+}
+
+.device-mode-empty-toolbar-element {
+ width: 0;
+}
+
devtools-toolbar {
overflow: hidden;
flex: 0 100000 auto;