chrome-devtools-frontend 1.0.938150 → 1.0.938678
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/config/gni/all_devtools_files.gni +0 -1
- package/config/gni/devtools_grd_files.gni +0 -1
- package/front_end/Images/whatsnew.avif +0 -0
- package/front_end/core/host/InspectorFrontendHostAPI.ts +1 -0
- package/front_end/core/host/UserMetrics.ts +25 -0
- package/front_end/entrypoints/devtools_app/devtools_app.json +0 -1
- package/front_end/entrypoints/main/MainImpl.ts +14 -0
- package/front_end/entrypoints/worker_app/worker_app.json +0 -1
- package/front_end/legacy_test_runner/test_runner/test_runner.js +2 -4
- package/front_end/panels/browser_debugger/browser_debugger-meta.ts +0 -3
- package/front_end/panels/help/ReleaseNoteText.ts +28 -0
- package/front_end/panels/sources/JavaScriptBreakpointsSidebarPane.ts +14 -17
- package/front_end/panels/sources/javaScriptBreakpointsSidebarPane.css +18 -44
- package/front_end/ui/components/settings/settingCheckbox.css +5 -0
- package/front_end/ui/legacy/ContextMenu.ts +5 -2
- package/front_end/ui/legacy/SoftContextMenu.ts +4 -1
- package/front_end/ui/legacy/checkboxTextLabel.css +4 -0
- package/front_end/ui/legacy/inspectorCommon.css +4 -0
- package/front_end/ui/legacy/softContextMenu.css +10 -0
- package/front_end/ui/legacy/themeColors.css +1 -0
- package/package.json +1 -1
- package/front_end/panels/browser_debugger/module.json +0 -3
|
@@ -30,7 +30,6 @@ all_devtools_files = [
|
|
|
30
30
|
"front_end/legacy_test_runner/bindings_test_runner/IsolatedFilesystemTestRunner.js",
|
|
31
31
|
"front_end/legacy_test_runner/bindings_test_runner/OverridesTestRunner.js",
|
|
32
32
|
"front_end/legacy_test_runner/bindings_test_runner/PersistenceTestRunner.js",
|
|
33
|
-
"front_end/panels/browser_debugger/module.json",
|
|
34
33
|
"front_end/third_party/codemirror/codemirror.css",
|
|
35
34
|
"front_end/legacy_test_runner/console_test_runner/console_test_runner.js",
|
|
36
35
|
"front_end/legacy_test_runner/coverage_test_runner/coverage_test_runner.js",
|
|
@@ -340,7 +340,6 @@ grd_files_release_sources = [
|
|
|
340
340
|
"front_end/panels/browser_debugger/browser_debugger-legacy.js",
|
|
341
341
|
"front_end/panels/browser_debugger/browser_debugger-meta.js",
|
|
342
342
|
"front_end/panels/browser_debugger/browser_debugger.js",
|
|
343
|
-
"front_end/panels/browser_debugger/browser_debugger_module.js",
|
|
344
343
|
"front_end/panels/changes/changes-legacy.js",
|
|
345
344
|
"front_end/panels/changes/changes-meta.js",
|
|
346
345
|
"front_end/panels/changes/changes.js",
|
|
Binary file
|
|
@@ -245,6 +245,22 @@ export class UserMetrics {
|
|
|
245
245
|
InspectorFrontendHostInstance.recordEnumeratedHistogram(
|
|
246
246
|
EnumeratedHistogram.ConsoleShowsCorsErrors, Number(show), 2);
|
|
247
247
|
}
|
|
248
|
+
|
|
249
|
+
syncSetting(devtoolsSyncSettingEnabled: boolean): void {
|
|
250
|
+
const size = Object.keys(SyncSetting).length + 1;
|
|
251
|
+
|
|
252
|
+
InspectorFrontendHostInstance.getSyncInformation(syncInfo => {
|
|
253
|
+
let settingValue = SyncSetting.ChromeSyncDisabled;
|
|
254
|
+
if (syncInfo.isSyncActive && !syncInfo.arePreferencesSynced) {
|
|
255
|
+
settingValue = SyncSetting.ChromeSyncSettingsDisabled;
|
|
256
|
+
} else if (syncInfo.isSyncActive && syncInfo.arePreferencesSynced) {
|
|
257
|
+
settingValue = devtoolsSyncSettingEnabled ? SyncSetting.DevToolsSyncSettingEnabled :
|
|
258
|
+
SyncSetting.DevToolsSyncSettingDisabled;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
InspectorFrontendHostInstance.recordEnumeratedHistogram(EnumeratedHistogram.SyncSetting, settingValue, size);
|
|
262
|
+
});
|
|
263
|
+
}
|
|
248
264
|
}
|
|
249
265
|
|
|
250
266
|
// Codes below are used to collect UMA histograms in the Chromium port.
|
|
@@ -800,3 +816,12 @@ export const Language: Record<string, number> = {
|
|
|
800
816
|
'zh-TW': 81,
|
|
801
817
|
'zu': 82,
|
|
802
818
|
};
|
|
819
|
+
|
|
820
|
+
// TODO(crbug.com/1167717): Make this a const enum again
|
|
821
|
+
// eslint-disable-next-line rulesdir/const_enum
|
|
822
|
+
export enum SyncSetting {
|
|
823
|
+
ChromeSyncDisabled = 1,
|
|
824
|
+
ChromeSyncSettingsDisabled = 2,
|
|
825
|
+
DevToolsSyncSettingDisabled = 3,
|
|
826
|
+
DevToolsSyncSettingEnabled = 4,
|
|
827
|
+
}
|
|
@@ -47,6 +47,7 @@ import * as Persistence from '../../models/persistence/persistence.js';
|
|
|
47
47
|
import * as Workspace from '../../models/workspace/workspace.js';
|
|
48
48
|
import * as Snippets from '../../panels/snippets/snippets.js';
|
|
49
49
|
import * as Timeline from '../../panels/timeline/timeline.js';
|
|
50
|
+
import * as IconButton from '../../ui/components/icon_button/icon_button.js';
|
|
50
51
|
import * as PerfUI from '../../ui/legacy/components/perf_ui/perf_ui.js';
|
|
51
52
|
import * as Components from '../../ui/legacy/components/utils/utils.js';
|
|
52
53
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
@@ -147,6 +148,9 @@ export class MainImpl {
|
|
|
147
148
|
console.timeStamp('Main._gotPreferences');
|
|
148
149
|
this.createSettings(prefs);
|
|
149
150
|
await this.requestAndRegisterLocaleData();
|
|
151
|
+
|
|
152
|
+
Host.userMetrics.syncSetting(Common.Settings.Settings.instance().moduleSetting<boolean>('sync_preferences').get());
|
|
153
|
+
|
|
150
154
|
this.createAppUI();
|
|
151
155
|
}
|
|
152
156
|
|
|
@@ -873,6 +877,16 @@ export class MainMenuItem implements UI.Toolbar.Provider {
|
|
|
873
877
|
if (location !== 'drawer-view' && location !== 'panel') {
|
|
874
878
|
continue;
|
|
875
879
|
}
|
|
880
|
+
|
|
881
|
+
if (viewExtension.isPreviewFeature()) {
|
|
882
|
+
const previewIcon = new IconButton.Icon.Icon();
|
|
883
|
+
previewIcon.data = {iconName: 'ic_preview_feature', color: 'var(--icon-color)', width: '14px', height: '14px'};
|
|
884
|
+
moreTools.defaultSection().appendItem(title, () => {
|
|
885
|
+
UI.ViewManager.ViewManager.instance().showView(id, true, false);
|
|
886
|
+
}, /* disabled=*/ false, previewIcon);
|
|
887
|
+
continue;
|
|
888
|
+
}
|
|
889
|
+
|
|
876
890
|
moreTools.defaultSection().appendItem(title, () => {
|
|
877
891
|
UI.ViewManager.ViewManager.instance().showView(id, true, false);
|
|
878
892
|
});
|
|
@@ -59,15 +59,13 @@ export async function _executeTestScript() {
|
|
|
59
59
|
|
|
60
60
|
// Auto-start unit tests
|
|
61
61
|
self.test = async function() {
|
|
62
|
-
|
|
63
|
-
await eval(`import("${testScriptURL}")`);
|
|
62
|
+
await import(testScriptURL);
|
|
64
63
|
};
|
|
65
64
|
return;
|
|
66
65
|
}
|
|
67
66
|
|
|
68
67
|
try {
|
|
69
|
-
|
|
70
|
-
await eval(`import("${testScriptURL}")`);
|
|
68
|
+
await import(testScriptURL);
|
|
71
69
|
} catch (err) {
|
|
72
70
|
TestRunner.addResult('TEST ENDED EARLY DUE TO UNCAUGHT ERROR:');
|
|
73
71
|
TestRunner.addResult(err && err.stack || err);
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
-
import * as Root from '../../core/root/root.js';
|
|
6
5
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
7
6
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
8
7
|
|
|
@@ -83,8 +82,6 @@ let loadedBrowserDebuggerModule: (typeof BrowserDebugger|undefined);
|
|
|
83
82
|
|
|
84
83
|
async function loadBrowserDebuggerModule(): Promise<typeof BrowserDebugger> {
|
|
85
84
|
if (!loadedBrowserDebuggerModule) {
|
|
86
|
-
// Side-effect import resources in module.json
|
|
87
|
-
await Root.Runtime.Runtime.instance().loadModulePromise('panels/browser_debugger');
|
|
88
85
|
loadedBrowserDebuggerModule = await import('./browser_debugger.js');
|
|
89
86
|
}
|
|
90
87
|
return loadedBrowserDebuggerModule;
|
|
@@ -35,6 +35,34 @@ function getLocalizedReleaseNoteURL(url: string): string {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
export const releaseNoteText: ReleaseNote[] = [
|
|
38
|
+
{
|
|
39
|
+
version: 39,
|
|
40
|
+
header: 'Highlights from the Chrome 97 update',
|
|
41
|
+
highlights: [
|
|
42
|
+
{
|
|
43
|
+
title: 'New preview feature: Recorder panel',
|
|
44
|
+
subtitle: 'Record, replay and measure user flows with options to export to Puppeteer script and more.',
|
|
45
|
+
link: getLocalizedReleaseNoteURL('https://developer.chrome.com/blog/new-in-devtools-97/#recorder'),
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
title: 'Enhanced "Edit as HTML" with code completion',
|
|
49
|
+
subtitle: 'Edit as HTML in the Elements panel now supports code completion, syntax highlights and more.',
|
|
50
|
+
link: getLocalizedReleaseNoteURL('https://developer.chrome.com/blog/new-in-devtools-97/#code-completion'),
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
title: 'Refresh device list in Device Mode',
|
|
54
|
+
subtitle: 'New devices are added in the device list.',
|
|
55
|
+
link: getLocalizedReleaseNoteURL('https://developer.chrome.com/blog/new-in-devtools-97/#device'),
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
title: 'Improved code debugging experience',
|
|
59
|
+
subtitle:
|
|
60
|
+
'Include column number in the Console stack trace, improved breakpoints display in the Sources panel and more.',
|
|
61
|
+
link: getLocalizedReleaseNoteURL('https://developer.chrome.com/blog/new-in-devtools-97/#debugging'),
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
link: getLocalizedReleaseNoteURL('https://developer.chrome.com/blog/new-in-devtools-97'),
|
|
65
|
+
},
|
|
38
66
|
{
|
|
39
67
|
version: 38,
|
|
40
68
|
header: 'Highlights from the Chrome 96 update',
|
|
@@ -10,8 +10,8 @@ import * as Bindings from '../../models/bindings/bindings.js';
|
|
|
10
10
|
import * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
11
11
|
import * as Workspace from '../../models/workspace/workspace.js';
|
|
12
12
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
13
|
-
|
|
14
13
|
import {LogpointPrefix} from './BreakpointEditDialog.js';
|
|
14
|
+
|
|
15
15
|
import javaScriptBreakpointsSidebarPaneStyles from './javaScriptBreakpointsSidebarPane.css.js';
|
|
16
16
|
|
|
17
17
|
const UIStrings = {
|
|
@@ -288,31 +288,38 @@ export class JavaScriptBreakpointsSidebarPane extends UI.ThrottledWidget.Throttl
|
|
|
288
288
|
element.tabIndex = this.list.selectedItem() === item ? 0 : -1;
|
|
289
289
|
element.addEventListener('contextmenu', this.breakpointContextMenu.bind(this), true);
|
|
290
290
|
element.addEventListener('click', this.revealLocation.bind(this, element), false);
|
|
291
|
-
const checkboxLabel = UI.UIUtils.CheckboxLabel.create('');
|
|
292
291
|
|
|
292
|
+
const hasLogpoint = item.locations.some(location => location.breakpoint.condition().includes(LogpointPrefix));
|
|
293
|
+
const hasConditional = item.locations.some(location => Boolean(location.breakpoint.condition()));
|
|
294
|
+
const lineElement = element.createChild('div', 'decoration-and-content');
|
|
295
|
+
if (hasLogpoint) {
|
|
296
|
+
lineElement.classList.add('logpoint');
|
|
297
|
+
} else if (hasConditional) {
|
|
298
|
+
lineElement.classList.add('breakpoint-conditional');
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
const checkboxLabel = UI.UIUtils.CheckboxLabel.create('');
|
|
293
302
|
const uiLocation = item.locations[0].uiLocation;
|
|
294
303
|
const hasEnabled = item.locations.some(location => location.breakpoint.enabled());
|
|
295
304
|
const hasDisabled = item.locations.some(location => !location.breakpoint.enabled());
|
|
296
|
-
const hasLogpoint = item.locations.some(location => location.breakpoint.condition().includes(LogpointPrefix));
|
|
297
|
-
const hasConditional = item.locations.some(location => Boolean(location.breakpoint.condition()));
|
|
298
305
|
checkboxLabel.textElement.textContent = uiLocation.linkText() +
|
|
299
306
|
(item.showColumn && typeof uiLocation.columnNumber === 'number' ? ':' + (uiLocation.columnNumber + 1) : '');
|
|
300
307
|
checkboxLabel.checkboxElement.checked = hasEnabled;
|
|
301
308
|
checkboxLabel.checkboxElement.indeterminate = hasEnabled && hasDisabled;
|
|
302
309
|
checkboxLabel.checkboxElement.tabIndex = -1;
|
|
303
310
|
checkboxLabel.addEventListener('click', this.breakpointCheckboxClicked.bind(this), false);
|
|
304
|
-
|
|
311
|
+
lineElement.appendChild(checkboxLabel);
|
|
305
312
|
let checkedDescription: Common.UIString.LocalizedString =
|
|
306
313
|
hasEnabled ? i18nString(UIStrings.checked) : i18nString(UIStrings.unchecked);
|
|
307
314
|
if (hasEnabled && hasDisabled) {
|
|
308
315
|
checkedDescription = i18nString(UIStrings.mixed);
|
|
309
316
|
}
|
|
310
317
|
if (item.isSelected) {
|
|
311
|
-
UI.ARIAUtils.setDescription(
|
|
318
|
+
UI.ARIAUtils.setDescription(lineElement, i18nString(UIStrings.sBreakpointHit, {PH1: checkedDescription}));
|
|
312
319
|
element.classList.add('breakpoint-hit');
|
|
313
320
|
this.setDefaultFocusedElement(element);
|
|
314
321
|
} else {
|
|
315
|
-
UI.ARIAUtils.setDescription(
|
|
322
|
+
UI.ARIAUtils.setDescription(lineElement, checkedDescription);
|
|
316
323
|
}
|
|
317
324
|
|
|
318
325
|
element.addEventListener('keydown', event => {
|
|
@@ -322,16 +329,6 @@ export class JavaScriptBreakpointsSidebarPane extends UI.ThrottledWidget.Throttl
|
|
|
322
329
|
}
|
|
323
330
|
});
|
|
324
331
|
|
|
325
|
-
const lineElement = element.createChild('div', 'decoration-and-source');
|
|
326
|
-
const decorationElement = lineElement.createChild('span', 'breakpoint');
|
|
327
|
-
if (hasDisabled) {
|
|
328
|
-
decorationElement.classList.add('disabled');
|
|
329
|
-
}
|
|
330
|
-
if (hasLogpoint) {
|
|
331
|
-
decorationElement.classList.add('logpoint');
|
|
332
|
-
} else if (hasConditional) {
|
|
333
|
-
decorationElement.classList.add('breakpoint-conditional');
|
|
334
|
-
}
|
|
335
332
|
const snippetElement = lineElement.createChild('div', 'source-text monospace');
|
|
336
333
|
const lineNumber = uiLocation.lineNumber;
|
|
337
334
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
.breakpoint-entry {
|
|
8
|
-
padding: 3px
|
|
8
|
+
padding: 3px 0;
|
|
9
9
|
min-height: 18px;
|
|
10
10
|
line-height: 15px;
|
|
11
11
|
border-top: 1px solid var(--color-details-hairline-light);
|
|
@@ -18,68 +18,42 @@
|
|
|
18
18
|
.breakpoint-entry [is=dt-checkbox] {
|
|
19
19
|
max-width: 100%;
|
|
20
20
|
white-space: nowrap;
|
|
21
|
+
border-left-width: 3px;
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
:not(.breakpoints-list-deactivated) > .breakpoint-entry:hover {
|
|
24
25
|
background-color: var(--color-background-elevation-1);
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
.breakpoint-entry .breakpoint {
|
|
32
|
-
content: var(--inline-breakpoint-enabled);
|
|
33
|
-
height: 12px;
|
|
34
|
-
top: 1px;
|
|
35
|
-
position: relative;
|
|
36
|
-
width: 11px;
|
|
37
|
-
margin-left: 3px;
|
|
38
|
-
margin-right: 3px;
|
|
39
|
-
|
|
40
|
-
--inline-breakpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%234285F4" stroke="%231A73E8"/></svg>');
|
|
41
|
-
--inline-breakpoint-disabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%234285F4" fill-opacity="0.2" stroke="%231A73E8"/></svg>');
|
|
42
|
-
--inline-conditional-breakpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.75489 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.75489 11.2583 6.29382 11.5 5.80138 11.5H0.5V0.5Z" fill="%23F29900" stroke="%23E37400"/><path d="M3.51074 7.75635H4.68408V9H3.51074V7.75635ZM4.68408 7.23779H3.51074V6.56104C3.51074 6.271 3.55615 6.02344 3.64697 5.81836C3.73779 5.61328 3.90039 5.39648 4.13477 5.16797L4.53027 4.77686C4.71484 4.59814 4.83936 4.4502 4.90381 4.33301C4.97119 4.21582 5.00488 4.09424 5.00488 3.96826C5.00488 3.77197 4.9375 3.62402 4.80273 3.52441C4.66797 3.4248 4.46582 3.375 4.19629 3.375C3.9502 3.375 3.69238 3.42773 3.42285 3.5332C3.15625 3.63574 2.88232 3.78955 2.60107 3.99463V2.81689C2.88818 2.65283 3.17822 2.52979 3.47119 2.44775C3.76709 2.36279 4.06299 2.32031 4.35889 2.32031C4.95068 2.32031 5.41504 2.45801 5.75195 2.7334C6.08887 3.00879 6.25732 3.38818 6.25732 3.87158C6.25732 4.09424 6.20752 4.30225 6.10791 4.49561C6.0083 4.68604 5.8208 4.91602 5.54541 5.18555L5.15869 5.56348C4.95947 5.75684 4.83203 5.91504 4.77637 6.03809C4.7207 6.16113 4.69287 6.31201 4.69287 6.49072C4.69287 6.51709 4.69141 6.54785 4.68848 6.58301C4.68848 6.61816 4.68701 6.65625 4.68408 6.69727V7.23779Z" fill="white"/></svg>');
|
|
43
|
-
--inline-conditional-breakpoint-disabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.75489 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.75489 11.2583 6.29382 11.5 5.80138 11.5H0.5V0.5Z" fill="%23F9AB00" fill-opacity="0.2" stroke="%23E37400"/><path d="M3.51074 7.75635H4.68408V9H3.51074V7.75635ZM4.68408 7.23779H3.51074V6.56104C3.51074 6.271 3.55615 6.02344 3.64697 5.81836C3.73779 5.61328 3.90039 5.39648 4.13477 5.16797L4.53027 4.77686C4.71484 4.59814 4.83936 4.4502 4.90381 4.33301C4.97119 4.21582 5.00488 4.09424 5.00488 3.96826C5.00488 3.77197 4.9375 3.62402 4.80273 3.52441C4.66797 3.4248 4.46582 3.375 4.19629 3.375C3.9502 3.375 3.69238 3.42773 3.42285 3.5332C3.15625 3.63574 2.88232 3.78955 2.60107 3.99463V2.81689C2.88818 2.65283 3.17822 2.52979 3.47119 2.44775C3.76709 2.36279 4.06299 2.32031 4.35889 2.32031C4.95068 2.32031 5.41504 2.45801 5.75195 2.7334C6.08887 3.00879 6.25732 3.38818 6.25732 3.87158C6.25732 4.09424 6.20752 4.30225 6.10791 4.49561C6.0083 4.68604 5.8208 4.91602 5.54541 5.18555L5.15869 5.56348C4.95947 5.75684 4.83203 5.91504 4.77637 6.03809C4.7207 6.16113 4.69287 6.31201 4.69287 6.49072C4.69287 6.51709 4.69141 6.54785 4.68848 6.58301C4.68848 6.61816 4.68701 6.65625 4.68408 6.69727V7.23779Z" fill="%23E37400"/></svg>');
|
|
44
|
-
--inline-logpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%23F439A0" stroke="%23D01884"/><circle cx="3" cy="6" r="1" fill="white"/><circle cx="7" cy="6" r="1" fill="white"/></svg>');
|
|
45
|
-
--inline-logpoint-disabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%23F439A0" fill-opacity="0.2" stroke="%23D01884"/><circle cx="3" cy="6" r="1" fill="%23D01884"/><circle cx="7" cy="6" r="1" fill="%23D01884"/></svg>');
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.breakpoint-entry .breakpoint.disabled,
|
|
49
|
-
.breakpoints-list-deactivated .breakpoint-entry .breakpoint {
|
|
50
|
-
content: var(--inline-breakpoint-disabled);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
:host-context(.-theme-with-dark-background) .breakpoint-entry .breakpoint {
|
|
54
|
-
--inline-breakpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%235186EC" stroke="%231A73E8"/></svg>');
|
|
55
|
-
--inline-conditional-breakpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.75489 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.75489 11.2583 6.29382 11.5 5.80138 11.5H0.5V0.5Z" fill="%23e9a33a" stroke="%23E37400"/><path d="M3.51074 7.75635H4.68408V9H3.51074V7.75635ZM4.68408 7.23779H3.51074V6.56104C3.51074 6.271 3.55615 6.02344 3.64697 5.81836C3.73779 5.61328 3.90039 5.39648 4.13477 5.16797L4.53027 4.77686C4.71484 4.59814 4.83936 4.4502 4.90381 4.33301C4.97119 4.21582 5.00488 4.09424 5.00488 3.96826C5.00488 3.77197 4.9375 3.62402 4.80273 3.52441C4.66797 3.4248 4.46582 3.375 4.19629 3.375C3.9502 3.375 3.69238 3.42773 3.42285 3.5332C3.15625 3.63574 2.88232 3.78955 2.60107 3.99463V2.81689C2.88818 2.65283 3.17822 2.52979 3.47119 2.44775C3.76709 2.36279 4.06299 2.32031 4.35889 2.32031C4.95068 2.32031 5.41504 2.45801 5.75195 2.7334C6.08887 3.00879 6.25732 3.38818 6.25732 3.87158C6.25732 4.09424 6.20752 4.30225 6.10791 4.49561C6.0083 4.68604 5.8208 4.91602 5.54541 5.18555L5.15869 5.56348C4.95947 5.75684 4.83203 5.91504 4.77637 6.03809C4.7207 6.16113 4.69287 6.31201 4.69287 6.49072C4.69287 6.51709 4.69141 6.54785 4.68848 6.58301C4.68848 6.61816 4.68701 6.65625 4.68408 6.69727V7.23779Z" fill="white"/></svg>');
|
|
56
|
-
--inline-logpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%23E54D9B" stroke="%23D01884"/><circle cx="3" cy="6" r="1" fill="white"/><circle cx="7" cy="6" r="1" fill="white"/></svg>');
|
|
57
|
-
}
|
|
28
|
+
.decoration-and-content {
|
|
29
|
+
--override-color-breakpoint-conditional: #f29900;
|
|
30
|
+
--override-color-logpoint: #f439a0;
|
|
58
31
|
|
|
59
|
-
|
|
60
|
-
|
|
32
|
+
padding: 0 8px;
|
|
33
|
+
border-left: 4px solid;
|
|
34
|
+
border-color: transparent;
|
|
61
35
|
}
|
|
62
36
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
37
|
+
.-theme-with-dark-background .decoration-and-content,
|
|
38
|
+
:host-context(.-theme-with-dark-background) .decoration-and-content {
|
|
39
|
+
--override-color-breakpoint-conditional: #e9a33a;
|
|
40
|
+
--override-color-logpoint: #e54d9b;
|
|
66
41
|
}
|
|
67
42
|
|
|
68
|
-
.breakpoint-
|
|
69
|
-
|
|
43
|
+
.decoration-and-content.breakpoint-conditional {
|
|
44
|
+
border-color: var(--override-color-breakpoint-conditional);
|
|
70
45
|
}
|
|
71
46
|
|
|
72
|
-
.
|
|
73
|
-
|
|
74
|
-
content: var(--inline-logpoint-disabled);
|
|
47
|
+
.decoration-and-content.logpoint {
|
|
48
|
+
border-color: var(--override-color-logpoint);
|
|
75
49
|
}
|
|
76
50
|
|
|
77
|
-
.
|
|
51
|
+
.decoration-and-content > .source-text {
|
|
78
52
|
cursor: pointer;
|
|
79
53
|
text-overflow: ellipsis;
|
|
80
54
|
overflow: hidden;
|
|
81
55
|
white-space: nowrap;
|
|
82
|
-
margin-left:
|
|
56
|
+
margin-left: 22px;
|
|
83
57
|
}
|
|
84
58
|
|
|
85
59
|
.breakpoints-list-deactivated {
|
|
@@ -137,8 +137,11 @@ export class Section {
|
|
|
137
137
|
this.items = [];
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
-
appendItem(label: string, handler: () => void, disabled?: boolean): Item {
|
|
140
|
+
appendItem(label: string, handler: () => void, disabled?: boolean, additionalElement?: Element): Item {
|
|
141
141
|
const item = new Item(this.contextMenu, 'item', label, disabled);
|
|
142
|
+
if (additionalElement) {
|
|
143
|
+
item.customElement = additionalElement;
|
|
144
|
+
}
|
|
142
145
|
this.items.push(item);
|
|
143
146
|
if (this.contextMenu) {
|
|
144
147
|
this.contextMenu.setHandler(item.id(), handler);
|
|
@@ -147,7 +150,7 @@ export class Section {
|
|
|
147
150
|
}
|
|
148
151
|
|
|
149
152
|
appendCustomItem(element: Element): Item {
|
|
150
|
-
const item = new Item(this.contextMenu, 'item'
|
|
153
|
+
const item = new Item(this.contextMenu, 'item');
|
|
151
154
|
item.customElement = element;
|
|
152
155
|
this.items.push(item);
|
|
153
156
|
return item;
|
|
@@ -193,7 +193,7 @@ export class SoftContextMenu {
|
|
|
193
193
|
subMenuTimer: undefined,
|
|
194
194
|
};
|
|
195
195
|
|
|
196
|
-
if (item.element) {
|
|
196
|
+
if (item.element && !item.label) {
|
|
197
197
|
const wrapper = menuItemElement.createChild('div', 'soft-context-menu-custom-item');
|
|
198
198
|
wrapper.appendChild(item.element);
|
|
199
199
|
detailsForElement.customElement = (item.element as HTMLElement);
|
|
@@ -205,6 +205,9 @@ export class SoftContextMenu {
|
|
|
205
205
|
menuItemElement.classList.add('soft-context-menu-disabled');
|
|
206
206
|
}
|
|
207
207
|
createTextChild(menuItemElement, item.label || '');
|
|
208
|
+
if (item.element) {
|
|
209
|
+
menuItemElement.appendChild(item.element);
|
|
210
|
+
}
|
|
208
211
|
menuItemElement.createChild('span', 'soft-context-menu-shortcut').textContent = item.shortcut || '';
|
|
209
212
|
|
|
210
213
|
menuItemElement.addEventListener('mousedown', this.menuItemMouseDown.bind(this), false);
|
|
@@ -60,6 +60,10 @@ input.dt-checkbox-themed:checked::after {
|
|
|
60
60
|
background-color: var(--color-background-inverted);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
:host-context(.-theme-with-dark-background) input:not(.dt-checkbox-themed) {
|
|
64
|
+
accent-color: var(--color-checkbox-accent-color);
|
|
65
|
+
}
|
|
66
|
+
|
|
63
67
|
.dt-checkbox-text {
|
|
64
68
|
margin-left: 3px;
|
|
65
69
|
overflow: hidden;
|
|
@@ -287,6 +287,10 @@ input::placeholder {
|
|
|
287
287
|
--override-input-placeholder-color: rgb(230 230 230 / 54%);
|
|
288
288
|
}
|
|
289
289
|
|
|
290
|
+
:host-context(.-theme-with-dark-background) input[type="checkbox"]:not(.-theme-preserve) {
|
|
291
|
+
accent-color: var(--color-checkbox-accent-color);
|
|
292
|
+
}
|
|
293
|
+
|
|
290
294
|
.harmony-input:not([type]),
|
|
291
295
|
.harmony-input[type=number],
|
|
292
296
|
.harmony-input[type=text] {
|
|
@@ -44,6 +44,12 @@
|
|
|
44
44
|
white-space: nowrap;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
+
.soft-context-menu-item devtools-icon {
|
|
48
|
+
--icon-color: var(--color-text-secondary);
|
|
49
|
+
|
|
50
|
+
pointer-events: none;
|
|
51
|
+
}
|
|
52
|
+
|
|
47
53
|
.soft-context-menu-disabled {
|
|
48
54
|
color: var(--color-text-disabled);
|
|
49
55
|
pointer-events: none;
|
|
@@ -66,6 +72,10 @@
|
|
|
66
72
|
color: var(--override-context-menu-hover-text-color);
|
|
67
73
|
}
|
|
68
74
|
|
|
75
|
+
.soft-context-menu-item-mouse-over devtools-icon {
|
|
76
|
+
--icon-color: var(--override-context-menu-hover-text-color);
|
|
77
|
+
}
|
|
78
|
+
|
|
69
79
|
.-theme-with-dark-background .soft-context-menu-item-mouse-over,
|
|
70
80
|
:host-context(.-theme-with-dark-background) .soft-context-menu-item-mouse-over {
|
|
71
81
|
--override-dark-mode-focus-color: #1a73e8;
|
|
@@ -233,6 +233,7 @@
|
|
|
233
233
|
--color-error-text: hsl(0deg 100% 75%);
|
|
234
234
|
--color-error-border: rgb(92 0 0);
|
|
235
235
|
--color-error-background: hsl(0deg 100% 8%);
|
|
236
|
+
--color-checkbox-accent-color: rgb(255 165 0);
|
|
236
237
|
/* Colors for styling inputs */
|
|
237
238
|
--color-input-outline: rgb(189 193 198);
|
|
238
239
|
--color-input-outline-active: rgb(138 180 248);
|
package/package.json
CHANGED