chrome-devtools-frontend 1.0.1674545 → 1.0.1675430
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/.agents/skills/devtools-ux-writing-refactor/SKILL.md +26 -9
- package/front_end/core/common/ParsedURL.ts +5 -1
- package/front_end/core/common/SettingRegistration.ts +29 -8
- package/front_end/core/common/Settings.ts +0 -11
- package/front_end/core/root/Runtime.ts +4 -0
- package/front_end/core/sdk/TargetManager.ts +18 -0
- package/front_end/entrypoints/main/MainImpl.ts +1 -0
- package/front_end/foundation/Universe.ts +44 -29
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +15 -5
- package/front_end/models/emulation/DeviceModeModel.ts +60 -71
- package/front_end/models/emulation/EmulatedDevices.ts +18 -66
- package/front_end/models/persistence/AutomaticFileSystemManager.ts +2 -2
- package/front_end/models/persistence/IsolatedFileSystemManager.ts +20 -29
- package/front_end/models/workspace/FileManager.ts +13 -6
- package/front_end/panels/application/WebMCPView.ts +13 -5
- package/front_end/panels/application/components/AdsView.ts +24 -1
- package/front_end/panels/application/components/adsView.css +27 -21
- package/front_end/panels/autofill/AutofillView.ts +12 -12
- package/front_end/panels/autofill/autofill-meta.ts +2 -2
- package/front_end/panels/elements/ElementsTreeElement.ts +550 -327
- package/front_end/panels/elements/ElementsTreeOutline.ts +1 -1
- package/front_end/panels/js_timeline/js_timeline-meta.ts +8 -8
- package/front_end/panels/layer_viewer/LayerDetailsView.ts +30 -30
- package/front_end/panels/layer_viewer/LayerTreeOutline.ts +6 -6
- package/front_end/panels/layer_viewer/LayerViewHost.ts +1 -1
- package/front_end/panels/layer_viewer/Layers3DView.ts +11 -11
- package/front_end/panels/layer_viewer/PaintProfilerView.ts +8 -8
- package/front_end/panels/layer_viewer/TransformController.ts +3 -3
- package/front_end/panels/layer_viewer/layer_viewer-meta.ts +11 -11
- package/front_end/panels/mobile_throttling/ThrottlingManager.ts +1 -58
- package/front_end/panels/mobile_throttling/mobile_throttling.ts +0 -10
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +7 -0
- package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +1 -2
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/comments/CommentAnchorResolver.ts +132 -0
- package/front_end/ui/comments/comments.ts +9 -0
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +40 -0
- package/front_end/ui/legacy/components/utils/Linkifier.ts +1 -0
- package/front_end/ui/settings/SettingUIRegistration.ts +4 -0
- package/front_end/ui/visual_logging/Debugging.ts +1 -5
- package/front_end/ui/visual_logging/KnownContextValues.ts +1 -0
- package/front_end/ui/visual_logging/LoggingConfig.ts +21 -0
- package/front_end/ui/visual_logging/visual_logging.ts +9 -0
- package/package.json +1 -1
- package/front_end/panels/mobile_throttling/MobileThrottlingSelector.ts +0 -92
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
5
|
import '../../../ui/legacy/components/data_grid/data_grid.js';
|
|
6
|
+
import '../../../ui/kit/kit.js';
|
|
6
7
|
|
|
7
8
|
import * as Common from '../../../core/common/common.js';
|
|
8
9
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
@@ -89,6 +90,14 @@ const UIStrings = {
|
|
|
89
90
|
* @description Explanation text for the 'Highlight ads' setting.
|
|
90
91
|
*/
|
|
91
92
|
highlightsElementsRedDetectedToBe: 'Highlights elements (red) detected to be ads.',
|
|
93
|
+
/**
|
|
94
|
+
* @description Text explaining that ad detection is not perfect.
|
|
95
|
+
*/
|
|
96
|
+
adDetectionMistakes: 'Chrome’s ad detection can make mistakes.',
|
|
97
|
+
/**
|
|
98
|
+
* @description Link text for learning more about ad detection in Chrome.
|
|
99
|
+
*/
|
|
100
|
+
learnMore: 'Learn more',
|
|
92
101
|
} as const;
|
|
93
102
|
|
|
94
103
|
const str_ = i18n.i18n.registerUIStrings('panels/application/components/AdsView.ts', UIStrings);
|
|
@@ -203,6 +212,7 @@ const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
203
212
|
</dd>
|
|
204
213
|
</div>
|
|
205
214
|
</dl>
|
|
215
|
+
<hr class="divider">
|
|
206
216
|
<div class="ad-frames-title">${i18nString(UIStrings.adIframesTitle, {PH1: input.adFrames.length})}</div>
|
|
207
217
|
<div class="ad-frames-container">
|
|
208
218
|
<devtools-data-grid striped resize="last" class="ad-frames-data-grid" name=${i18nString(UIStrings.adIframes)}>
|
|
@@ -232,14 +242,27 @@ const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
232
242
|
</table>
|
|
233
243
|
</devtools-data-grid>
|
|
234
244
|
</div>
|
|
245
|
+
<hr class="divider">
|
|
235
246
|
<div class="settings-title">${i18nString(UIStrings.settings)}</div>
|
|
236
|
-
<devtools-checkbox class="setting-container"
|
|
247
|
+
<devtools-checkbox class="setting-container small"
|
|
237
248
|
${bindToSetting(Common.Settings.Settings.instance().moduleSetting('show-ad-highlights'))}>
|
|
238
249
|
<div class="setting-text-container">
|
|
239
250
|
<div class="setting-label">${i18nString(UIStrings.highlightAds)}</div>
|
|
240
251
|
<div class="setting-explanation">${i18nString(UIStrings.highlightsElementsRedDetectedToBe)}</div>
|
|
241
252
|
</div>
|
|
242
253
|
</devtools-checkbox>
|
|
254
|
+
<hr class="divider">
|
|
255
|
+
<div class="footer-text">
|
|
256
|
+
<devtools-icon class="inline-icon" name="info"></devtools-icon>
|
|
257
|
+
 
|
|
258
|
+
<span>
|
|
259
|
+
${i18nString(UIStrings.adDetectionMistakes)}
|
|
260
|
+
 
|
|
261
|
+
<devtools-link class="link devtools-link" href="https://chromium.googlesource.com/chromium/src/+/main/docs/ad_tagging.md" jslogcontext="learn-more">
|
|
262
|
+
${i18nString(UIStrings.learnMore)}
|
|
263
|
+
</devtools-link>
|
|
264
|
+
</span>
|
|
265
|
+
</div>
|
|
243
266
|
</div>
|
|
244
267
|
`, target);
|
|
245
268
|
// clang-format on
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
:host {
|
|
8
|
-
padding:
|
|
8
|
+
padding: var(--sys-size-6);
|
|
9
9
|
display: flex;
|
|
10
10
|
flex-direction: column;
|
|
11
11
|
overflow: auto;
|
|
@@ -19,17 +19,17 @@
|
|
|
19
19
|
|
|
20
20
|
.metrics-container {
|
|
21
21
|
flex: 0 0 auto;
|
|
22
|
-
margin: 0
|
|
22
|
+
margin: 0;
|
|
23
23
|
border: 1px solid var(--sys-color-divider);
|
|
24
24
|
display: grid;
|
|
25
25
|
grid-template-columns: repeat(2, 1fr);
|
|
26
|
-
gap:
|
|
26
|
+
gap: var(--sys-size-1);
|
|
27
27
|
background-color: var(--sys-color-divider);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
.metric-box {
|
|
31
31
|
background-color: var(--sys-color-surface);
|
|
32
|
-
padding:
|
|
32
|
+
padding: var(--sys-size-6);
|
|
33
33
|
display: flex;
|
|
34
34
|
flex-direction: column;
|
|
35
35
|
align-items: center;
|
|
@@ -37,24 +37,24 @@
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
.metric-title {
|
|
40
|
-
font-size:
|
|
40
|
+
font-size: var(--sys-typescale-body4-size);
|
|
41
41
|
color: var(--sys-color-on-surface-subtle);
|
|
42
|
-
margin: 0 0
|
|
42
|
+
margin: 0 0 var(--sys-size-3);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
.metric-value {
|
|
46
|
-
font-size:
|
|
46
|
+
font-size: var(--sys-typescale-headline3-size);
|
|
47
47
|
font-weight: bold;
|
|
48
48
|
color: var(--sys-color-on-surface);
|
|
49
49
|
display: flex;
|
|
50
50
|
flex-direction: column;
|
|
51
51
|
align-items: center;
|
|
52
52
|
margin: 0;
|
|
53
|
-
gap:
|
|
53
|
+
gap: var(--sys-size-2);
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
.metric-average {
|
|
57
|
-
font-size:
|
|
57
|
+
font-size: var(--sys-typescale-body4-size);
|
|
58
58
|
font-weight: normal;
|
|
59
59
|
color: var(--sys-color-on-surface-subtle);
|
|
60
60
|
}
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
color: var(--sys-color-on-surface);
|
|
66
66
|
flex: 0 0 auto;
|
|
67
67
|
font-weight: bold;
|
|
68
|
-
margin-bottom:
|
|
68
|
+
margin-bottom: var(--sys-size-5);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
.ad-frames-data-grid {
|
|
@@ -75,22 +75,18 @@
|
|
|
75
75
|
.ad-frames-container {
|
|
76
76
|
border: 1px solid var(--sys-color-divider);
|
|
77
77
|
display: flex;
|
|
78
|
-
flex:
|
|
78
|
+
flex: 1; /* Takes up remaining space */
|
|
79
79
|
flex-direction: column;
|
|
80
|
-
margin-bottom:
|
|
81
|
-
height:
|
|
82
|
-
min-height: 150px;
|
|
80
|
+
margin-bottom: 0;
|
|
81
|
+
min-height: var(--sys-size-22); /* 144px */
|
|
83
82
|
position: relative;
|
|
84
|
-
resize: vertical;
|
|
85
83
|
overflow: hidden;
|
|
86
84
|
}
|
|
87
85
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
*/
|
|
93
|
-
margin: 0 0 -6px -6px;
|
|
86
|
+
.divider {
|
|
87
|
+
border: none;
|
|
88
|
+
border-top: 1px solid var(--sys-color-divider);
|
|
89
|
+
margin: var(--sys-size-8) 0 var(--sys-size-6);
|
|
94
90
|
}
|
|
95
91
|
|
|
96
92
|
.setting-text-container {
|
|
@@ -103,3 +99,13 @@ devtools-checkbox.setting-container {
|
|
|
103
99
|
white-space: break-spaces;
|
|
104
100
|
margin-top: 0;
|
|
105
101
|
}
|
|
102
|
+
|
|
103
|
+
.footer-text {
|
|
104
|
+
margin-bottom: var(--sys-size-6);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.inline-icon {
|
|
108
|
+
width: var(--sys-size-8);
|
|
109
|
+
height: var(--sys-size-8);
|
|
110
|
+
vertical-align: text-bottom;
|
|
111
|
+
}
|
|
@@ -29,30 +29,30 @@ const UIStrings = {
|
|
|
29
29
|
*/
|
|
30
30
|
noAutofill: 'No autofill detected',
|
|
31
31
|
/**
|
|
32
|
-
* @description Explanation for how to populate the
|
|
32
|
+
* @description Explanation for how to populate the Autofill panel with data. Shown when there is
|
|
33
33
|
* no data available.
|
|
34
34
|
*/
|
|
35
|
-
toStartDebugging: 'To start debugging autofill, use Chrome’s autofill menu to fill an address form
|
|
35
|
+
toStartDebugging: 'To start debugging autofill, use Chrome’s autofill menu to fill an address form',
|
|
36
36
|
/**
|
|
37
|
-
* @description Column header for column containing form field values
|
|
37
|
+
* @description Column header for column containing form field values.
|
|
38
38
|
*/
|
|
39
39
|
value: 'Value',
|
|
40
40
|
/**
|
|
41
|
-
* @description Column header for column containing the predicted autofill categories
|
|
41
|
+
* @description Column header for column containing the predicted autofill categories.
|
|
42
42
|
*/
|
|
43
43
|
predictedAutofillValue: 'Predicted autofill value',
|
|
44
44
|
/**
|
|
45
|
-
* @description Column header for column containing the name/label/id of form fields
|
|
45
|
+
* @description Column header for column containing the name/label/id of form fields.
|
|
46
46
|
*/
|
|
47
47
|
formField: 'Form field',
|
|
48
48
|
/**
|
|
49
49
|
* @description Tooltip for an adorner for form fields which have an autocomplete attribute
|
|
50
|
-
* (http://go/mdn/HTML/Attributes/autocomplete)
|
|
50
|
+
* (http://go/mdn/HTML/Attributes/autocomplete).
|
|
51
51
|
*/
|
|
52
52
|
autocompleteAttribute: 'Autocomplete attribute',
|
|
53
53
|
/**
|
|
54
54
|
* @description Abbreviation of 'attribute'. Text content of an adorner for form fields which
|
|
55
|
-
* have an autocomplete attribute (http://go/mdn/HTML/Attributes/autocomplete)
|
|
55
|
+
* have an autocomplete attribute (http://go/mdn/HTML/Attributes/autocomplete).
|
|
56
56
|
*/
|
|
57
57
|
attr: 'attr',
|
|
58
58
|
/**
|
|
@@ -80,21 +80,21 @@ const UIStrings = {
|
|
|
80
80
|
* @description Tooltip text for a checkbox label in the Autofill panel. If checked, this panel
|
|
81
81
|
* will open automatically whenever a form is being autofilled.
|
|
82
82
|
*/
|
|
83
|
-
autoShowTooltip: 'Open the
|
|
83
|
+
autoShowTooltip: 'Open the Autofill panel automatically when an autofill activity is detected',
|
|
84
84
|
/**
|
|
85
|
-
* @description Aria text for the section of the
|
|
85
|
+
* @description Aria text for the section of the Autofill view containing a preview of the autofilled address.
|
|
86
86
|
*/
|
|
87
87
|
addressPreview: 'Address preview',
|
|
88
88
|
/**
|
|
89
|
-
* @description Aria text for the section of the
|
|
89
|
+
* @description Aria text for the section of the Autofill view containing the info about the autofilled form fields.
|
|
90
90
|
*/
|
|
91
91
|
formInspector: 'Form inspector',
|
|
92
92
|
/**
|
|
93
|
-
* @description Link text for a hyperlink to more documentation
|
|
93
|
+
* @description Link text for a hyperlink to more documentation.
|
|
94
94
|
*/
|
|
95
95
|
learnMore: 'Learn more',
|
|
96
96
|
/**
|
|
97
|
-
* @description Link text for a hyperlink to webpage for leaving user feedback
|
|
97
|
+
* @description Link text for a hyperlink to webpage for leaving user feedback.
|
|
98
98
|
*/
|
|
99
99
|
sendFeedback: 'Send feedback',
|
|
100
100
|
} as const;
|
|
@@ -9,11 +9,11 @@ import type * as Autofill from './autofill.js';
|
|
|
9
9
|
|
|
10
10
|
const UIStrings = {
|
|
11
11
|
/**
|
|
12
|
-
* @description Label for the
|
|
12
|
+
* @description Label for the Autofill panel.
|
|
13
13
|
*/
|
|
14
14
|
autofill: 'Autofill',
|
|
15
15
|
/**
|
|
16
|
-
* @description Command for showing the
|
|
16
|
+
* @description Command for showing the Autofill panel.
|
|
17
17
|
*/
|
|
18
18
|
showAutofill: 'Show Autofill',
|
|
19
19
|
} as const;
|