chrome-devtools-frontend 1.0.944903 → 1.0.945884
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/devtools_grd_files.gni +1 -0
- package/config/gni/devtools_image_files.gni +1 -0
- package/front_end/Images/src/circled_exclamation_icon.svg +3 -0
- package/front_end/core/host/InspectorFrontendHostAPI.ts +5 -5
- package/front_end/core/host/UserMetrics.ts +3 -1
- package/front_end/core/i18n/i18nImpl.ts +7 -4
- package/front_end/core/i18n/locales/en-US.json +9 -45
- package/front_end/core/i18n/locales/en-XL.json +9 -45
- package/front_end/core/sdk/CSSMetadata.ts +0 -1
- package/front_end/core/sdk/sdk-meta.ts +20 -8
- package/front_end/entrypoints/main/MainImpl.ts +6 -0
- package/front_end/generated/protocol.d.ts +0 -4
- package/front_end/models/emulation/EmulatedDevices.ts +2 -4
- package/front_end/models/persistence/IsolatedFileSystemManager.ts +6 -10
- package/front_end/models/timeline_model/TimelineJSProfile.ts +16 -3
- package/front_end/models/timeline_model/TimelineModel.ts +1 -0
- package/front_end/models/workspace_diff/WorkspaceDiff.ts +20 -6
- package/front_end/panels/animation/AnimationTimeline.ts +1 -1
- package/front_end/panels/application/BackForwardCacheStrings.ts +15 -75
- package/front_end/panels/application/BackForwardCacheView.ts +8 -1
- package/front_end/panels/changes/ChangesView.ts +8 -7
- package/front_end/panels/elements/StyleEditorWidget.ts +7 -7
- package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -15
- package/front_end/panels/elements/StylesSidebarPane.ts +35 -9
- package/front_end/panels/emulation/DeviceModeView.ts +3 -0
- package/front_end/panels/help/ReleaseNoteText.ts +3 -1
- package/front_end/panels/network/NetworkItemView.ts +7 -1
- package/front_end/panels/profiler/heapProfiler.css +2 -5
- package/front_end/panels/timeline/TimelineController.ts +3 -0
- package/front_end/panels/webauthn/WebauthnPane.ts +31 -32
- package/front_end/third_party/acorn/README.chromium +2 -2
- package/front_end/third_party/acorn/acorn.ts +1 -1
- package/front_end/third_party/acorn/package/CHANGELOG.md +31 -1
- package/front_end/third_party/acorn/package/README.md +1 -1
- package/front_end/third_party/acorn/package/dist/acorn.d.ts +3 -0
- package/front_end/third_party/acorn/package/dist/acorn.js +772 -708
- package/front_end/third_party/acorn/package/dist/acorn.mjs +767 -703
- package/front_end/third_party/acorn/package/dist/bin.js +47 -21
- package/front_end/third_party/acorn/package/package.json +1 -1
- package/front_end/third_party/acorn-loose/README.chromium +2 -2
- package/front_end/third_party/acorn-loose/package/CHANGELOG.md +12 -0
- package/front_end/third_party/acorn-loose/package/dist/acorn-loose.js +27 -7
- package/front_end/third_party/acorn-loose/package/dist/acorn-loose.mjs +28 -8
- package/front_end/third_party/acorn-loose/package/package.json +2 -2
- package/front_end/third_party/i18n/i18n-impl.ts +1 -1
- package/front_end/ui/components/adorners/Adorner.ts +14 -14
- package/front_end/ui/components/buttons/Button.ts +133 -42
- package/front_end/ui/components/buttons/button.css +31 -0
- package/front_end/ui/components/data_grid/DataGrid.ts +131 -122
- package/front_end/ui/components/data_grid/DataGridController.ts +42 -42
- package/front_end/ui/components/diff_view/DiffView.ts +4 -4
- package/front_end/ui/components/docs/button/basic.html +3 -0
- package/front_end/ui/components/docs/button/basic.ts +58 -0
- package/front_end/ui/components/expandable_list/ExpandableList.ts +11 -11
- package/front_end/ui/components/icon_button/Icon.ts +24 -21
- package/front_end/ui/components/icon_button/IconButton.ts +31 -31
- package/front_end/ui/components/issue_counter/IssueCounter.ts +52 -52
- package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +42 -42
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspector.ts +67 -67
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorController.ts +22 -22
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorPane.ts +36 -36
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryNavigator.ts +19 -19
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryValueInterpreter.ts +24 -32
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryViewer.ts +52 -52
- package/front_end/ui/components/linear_memory_inspector/ValueInterpreterDisplay.ts +21 -21
- package/front_end/ui/components/linear_memory_inspector/ValueInterpreterSettings.ts +6 -6
- package/front_end/ui/components/markdown_view/MarkdownImage.ts +14 -14
- package/front_end/ui/components/markdown_view/MarkdownLink.ts +8 -8
- package/front_end/ui/components/markdown_view/MarkdownView.ts +6 -6
- package/front_end/ui/components/render_coordinator/RenderCoordinator.ts +33 -33
- package/front_end/ui/components/report_view/ReportView.ts +18 -18
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +53 -53
- package/front_end/ui/components/settings/SettingCheckbox.ts +15 -15
- package/front_end/ui/components/survey_link/SurveyLink.ts +28 -28
- package/front_end/ui/components/text_editor/TextEditor.ts +55 -52
- package/front_end/ui/components/text_editor/javascript.ts +6 -6
- package/front_end/ui/components/text_prompt/TextPrompt.ts +19 -19
- package/front_end/ui/components/tree_outline/TreeOutline.ts +56 -56
- package/front_end/ui/legacy/Infobar.ts +9 -0
- package/front_end/ui/legacy/InspectorView.ts +1 -1
- package/front_end/ui/legacy/ListWidget.ts +2 -2
- package/front_end/ui/legacy/tabbedPane.css +1 -1
- package/inspector_overlay/main.ts +3 -0
- package/package.json +1 -1
- package/scripts/eslint_rules/lib/l10n_filename_matches.js +17 -4
- package/scripts/eslint_rules/tests/l10n_filename_matches_test.js +21 -0
|
@@ -45,6 +45,7 @@ grd_files_release_sources = [
|
|
|
45
45
|
"front_end/Images/chromeRight.avif",
|
|
46
46
|
"front_end/Images/chromeSelect.svg",
|
|
47
47
|
"front_end/Images/chromeSelectDark.svg",
|
|
48
|
+
"front_end/Images/circled_exclamation_icon.svg",
|
|
48
49
|
"front_end/Images/close-icon.svg",
|
|
49
50
|
"front_end/Images/copy_icon.svg",
|
|
50
51
|
"front_end/Images/cssoverview_icons_2x.avif",
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="16" height="16" viewBox="0 0 4.233 4.233" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M7.25 10.25h1.5v1.5h-1.5zm0-6h1.5v4.5h-1.5ZM7.992.5C3.853.5.5 3.86.5 8c0 4.14 3.353 7.5 7.492 7.5 4.148 0 7.508-3.36 7.508-7.5 0-4.14-3.36-7.5-7.508-7.5ZM8 14c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6z" transform="scale(.26458)" style="fill:#000"/>
|
|
3
|
+
</svg>
|
|
@@ -86,7 +86,7 @@ export interface DevToolsFileSystem {
|
|
|
86
86
|
type: string;
|
|
87
87
|
fileSystemName: string;
|
|
88
88
|
rootURL: string;
|
|
89
|
-
fileSystemPath:
|
|
89
|
+
fileSystemPath: Platform.DevToolsPath.RawPathString;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
export interface FileSystemAddedEvent {
|
|
@@ -95,9 +95,9 @@ export interface FileSystemAddedEvent {
|
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
export interface FilesChangedEvent {
|
|
98
|
-
changed:
|
|
99
|
-
added:
|
|
100
|
-
removed:
|
|
98
|
+
changed: Platform.DevToolsPath.RawPathString[];
|
|
99
|
+
added: Platform.DevToolsPath.RawPathString[];
|
|
100
|
+
removed: Platform.DevToolsPath.RawPathString[];
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
export interface IndexingEvent {
|
|
@@ -155,7 +155,7 @@ export type EventTypes = {
|
|
|
155
155
|
[Events.EnterInspectElementMode]: void,
|
|
156
156
|
[Events.EyeDropperPickedColor]: EyeDropperPickedColorEvent,
|
|
157
157
|
[Events.FileSystemsLoaded]: DevToolsFileSystem[],
|
|
158
|
-
[Events.FileSystemRemoved]:
|
|
158
|
+
[Events.FileSystemRemoved]: Platform.DevToolsPath.RawPathString,
|
|
159
159
|
[Events.FileSystemAdded]: FileSystemAddedEvent,
|
|
160
160
|
[Events.FileSystemFilesChangedAddedRemoved]: FilesChangedEvent,
|
|
161
161
|
[Events.IndexingTotalWorkCalculated]: IndexingTotalWorkCalculatedEvent,
|
|
@@ -598,6 +598,7 @@ export const DevtoolsExperiments: {
|
|
|
598
598
|
'timelineEventInitiators': 24,
|
|
599
599
|
'timelineInvalidationTracking': 26,
|
|
600
600
|
'timelineShowAllEvents': 27,
|
|
601
|
+
'timelineV8RuntimeCallStats': 28,
|
|
601
602
|
'timelineWebGL': 29,
|
|
602
603
|
'timelineReplayEvent': 30,
|
|
603
604
|
'wasmDWARFDebugging': 31,
|
|
@@ -616,7 +617,8 @@ export const DevtoolsExperiments: {
|
|
|
616
617
|
'syncSettings': 50,
|
|
617
618
|
'groupAndHideIssuesByKind': 51,
|
|
618
619
|
'cssTypeComponentLength': 52,
|
|
619
|
-
'
|
|
620
|
+
'preciseChanges': 53,
|
|
621
|
+
'__lastValidEnumPosition': 53,
|
|
620
622
|
};
|
|
621
623
|
|
|
622
624
|
export const IssueExpanded: {
|
|
@@ -182,12 +182,15 @@ export function getLocalizedLanguageRegion(
|
|
|
182
182
|
devtoolsLocale: DevToolsLocale): Platform.UIString.LocalizedString {
|
|
183
183
|
// @ts-ignore TODO(crbug.com/1163928) Wait for Intl support.
|
|
184
184
|
const locale = new Intl.Locale(localeString);
|
|
185
|
+
Platform.DCHECK(() => locale.language !== undefined);
|
|
186
|
+
Platform.DCHECK(() => locale.baseName !== undefined);
|
|
187
|
+
const localLanguage = locale.language || 'en';
|
|
188
|
+
const localBaseName = locale.baseName || 'en-US';
|
|
185
189
|
// @ts-ignore TODO(crbug.com/1163928) Wait for Intl support.
|
|
186
190
|
const devtoolsLoc = new Intl.Locale(devtoolsLocale.locale);
|
|
187
|
-
const targetLanguage =
|
|
188
|
-
const languageInCurrentLocale =
|
|
189
|
-
|
|
190
|
-
const languageInTargetLocale = new Intl.DisplayNames([targetLanguage], {type: 'language'}).of(locale.language);
|
|
191
|
+
const targetLanguage = localLanguage === devtoolsLoc.language ? 'en' : localBaseName;
|
|
192
|
+
const languageInCurrentLocale = new Intl.DisplayNames([devtoolsLocale.locale], {type: 'language'}).of(localLanguage);
|
|
193
|
+
const languageInTargetLocale = new Intl.DisplayNames([targetLanguage], {type: 'language'}).of(localLanguage);
|
|
191
194
|
|
|
192
195
|
let wrappedRegionInCurrentLocale = '';
|
|
193
196
|
let wrappedRegionInTargetLocale = '';
|
|
@@ -584,6 +584,9 @@
|
|
|
584
584
|
"core/sdk/sdk-meta.ts | disabledDarkMode": {
|
|
585
585
|
"message": "Disable"
|
|
586
586
|
},
|
|
587
|
+
"core/sdk/sdk-meta.ts | disableEmulateAutoDarkMode": {
|
|
588
|
+
"message": "Disable auto dark mode"
|
|
589
|
+
},
|
|
587
590
|
"core/sdk/sdk-meta.ts | disableJavascript": {
|
|
588
591
|
"message": "Disable JavaScript"
|
|
589
592
|
},
|
|
@@ -614,6 +617,9 @@
|
|
|
614
617
|
"core/sdk/sdk-meta.ts | doNotEmulateCssMediaType": {
|
|
615
618
|
"message": "Do not emulate CSS media type"
|
|
616
619
|
},
|
|
620
|
+
"core/sdk/sdk-meta.ts | doNotEmulateDarkMode": {
|
|
621
|
+
"message": "Do not emulate auto dark mode"
|
|
622
|
+
},
|
|
617
623
|
"core/sdk/sdk-meta.ts | doNotExtendGridLines": {
|
|
618
624
|
"message": "Do not extend grid lines"
|
|
619
625
|
},
|
|
@@ -686,6 +692,9 @@
|
|
|
686
692
|
"core/sdk/sdk-meta.ts | enabledDarkMode": {
|
|
687
693
|
"message": "Enable"
|
|
688
694
|
},
|
|
695
|
+
"core/sdk/sdk-meta.ts | enableEmulateAutoDarkMode": {
|
|
696
|
+
"message": "Enable auto dark mode"
|
|
697
|
+
},
|
|
689
698
|
"core/sdk/sdk-meta.ts | enableJavascript": {
|
|
690
699
|
"message": "Enable JavaScript"
|
|
691
700
|
},
|
|
@@ -2417,51 +2426,6 @@
|
|
|
2417
2426
|
"panels/application/BackForwardCacheStrings.ts | documentLoaded": {
|
|
2418
2427
|
"message": "The document did not finish loading before navigating away."
|
|
2419
2428
|
},
|
|
2420
|
-
"panels/application/BackForwardCacheStrings.ts | embedderAppBannerManager": {
|
|
2421
|
-
"message": "EmbedderAppBannerManager"
|
|
2422
|
-
},
|
|
2423
|
-
"panels/application/BackForwardCacheStrings.ts | embedderChromePasswordManagerClientBindCredentialManager": {
|
|
2424
|
-
"message": "EmbedderChromePasswordManagerClientBindCredentialManager"
|
|
2425
|
-
},
|
|
2426
|
-
"panels/application/BackForwardCacheStrings.ts | embedderDomDistillerSelfDeletingRequestDelegate": {
|
|
2427
|
-
"message": "EmbedderDomDistillerSelfDeletingRequestDelegate"
|
|
2428
|
-
},
|
|
2429
|
-
"panels/application/BackForwardCacheStrings.ts | embedderDomDistillerViewerSource": {
|
|
2430
|
-
"message": "EmbedderDomDistillerViewerSource"
|
|
2431
|
-
},
|
|
2432
|
-
"panels/application/BackForwardCacheStrings.ts | embedderExtensionMessaging": {
|
|
2433
|
-
"message": "EmbedderExtensionMessaging"
|
|
2434
|
-
},
|
|
2435
|
-
"panels/application/BackForwardCacheStrings.ts | embedderExtensionMessagingForOpenPort": {
|
|
2436
|
-
"message": "EmbedderExtensionMessagingForOpenPort"
|
|
2437
|
-
},
|
|
2438
|
-
"panels/application/BackForwardCacheStrings.ts | embedderExtensions": {
|
|
2439
|
-
"message": "EmbedderExtensions"
|
|
2440
|
-
},
|
|
2441
|
-
"panels/application/BackForwardCacheStrings.ts | embedderExtensionSentMessageToCachedFrame": {
|
|
2442
|
-
"message": "EmbedderExtensionSentMessageToCachedFrame"
|
|
2443
|
-
},
|
|
2444
|
-
"panels/application/BackForwardCacheStrings.ts | embedderModalDialog": {
|
|
2445
|
-
"message": "EmbedderModalDialog"
|
|
2446
|
-
},
|
|
2447
|
-
"panels/application/BackForwardCacheStrings.ts | embedderOfflinePage": {
|
|
2448
|
-
"message": "EmbedderOfflinePage"
|
|
2449
|
-
},
|
|
2450
|
-
"panels/application/BackForwardCacheStrings.ts | embedderOomInterventionTabHelper": {
|
|
2451
|
-
"message": "EmbedderOomInterventionTabHelper"
|
|
2452
|
-
},
|
|
2453
|
-
"panels/application/BackForwardCacheStrings.ts | embedderPermissionRequestManager": {
|
|
2454
|
-
"message": "EmbedderPermissionRequestManager"
|
|
2455
|
-
},
|
|
2456
|
-
"panels/application/BackForwardCacheStrings.ts | embedderPopupBlockerTabHelper": {
|
|
2457
|
-
"message": "EmbedderPopupBlockerTabHelper"
|
|
2458
|
-
},
|
|
2459
|
-
"panels/application/BackForwardCacheStrings.ts | embedderSafeBrowsingThreatDetails": {
|
|
2460
|
-
"message": "EmbedderSafeBrowsingThreatDetails"
|
|
2461
|
-
},
|
|
2462
|
-
"panels/application/BackForwardCacheStrings.ts | embedderSafeBrowsingTriggeredPopupBlocker": {
|
|
2463
|
-
"message": "EmbedderSafeBrowsingTriggeredPopupBlocker"
|
|
2464
|
-
},
|
|
2465
2429
|
"panels/application/BackForwardCacheStrings.ts | enteredBackForwardCacheBeforeServiceWorkerHostAdded": {
|
|
2466
2430
|
"message": "A service worker was activated while the page was in back/forward cache."
|
|
2467
2431
|
},
|
|
@@ -584,6 +584,9 @@
|
|
|
584
584
|
"core/sdk/sdk-meta.ts | disabledDarkMode": {
|
|
585
585
|
"message": "D̂íŝáb̂ĺê"
|
|
586
586
|
},
|
|
587
|
+
"core/sdk/sdk-meta.ts | disableEmulateAutoDarkMode": {
|
|
588
|
+
"message": "D̂íŝáb̂ĺê áût́ô d́âŕk̂ ḿôd́ê"
|
|
589
|
+
},
|
|
587
590
|
"core/sdk/sdk-meta.ts | disableJavascript": {
|
|
588
591
|
"message": "D̂íŝáb̂ĺê J́âv́âŚĉŕîṕt̂"
|
|
589
592
|
},
|
|
@@ -614,6 +617,9 @@
|
|
|
614
617
|
"core/sdk/sdk-meta.ts | doNotEmulateCssMediaType": {
|
|
615
618
|
"message": "D̂ó n̂ót̂ ém̂úl̂át̂é ĈŚŜ ḿêd́îá t̂ýp̂é"
|
|
616
619
|
},
|
|
620
|
+
"core/sdk/sdk-meta.ts | doNotEmulateDarkMode": {
|
|
621
|
+
"message": "D̂ó n̂ót̂ ém̂úl̂át̂é âút̂ó d̂ár̂ḱ m̂ód̂é"
|
|
622
|
+
},
|
|
617
623
|
"core/sdk/sdk-meta.ts | doNotExtendGridLines": {
|
|
618
624
|
"message": "D̂ó n̂ót̂ éx̂t́êńd̂ ǵr̂íd̂ ĺîńêś"
|
|
619
625
|
},
|
|
@@ -686,6 +692,9 @@
|
|
|
686
692
|
"core/sdk/sdk-meta.ts | enabledDarkMode": {
|
|
687
693
|
"message": "Êńâb́l̂é"
|
|
688
694
|
},
|
|
695
|
+
"core/sdk/sdk-meta.ts | enableEmulateAutoDarkMode": {
|
|
696
|
+
"message": "Êńâb́l̂é âút̂ó d̂ár̂ḱ m̂ód̂é"
|
|
697
|
+
},
|
|
689
698
|
"core/sdk/sdk-meta.ts | enableJavascript": {
|
|
690
699
|
"message": "Êńâb́l̂é Ĵáv̂áŜćr̂íp̂t́"
|
|
691
700
|
},
|
|
@@ -2417,51 +2426,6 @@
|
|
|
2417
2426
|
"panels/application/BackForwardCacheStrings.ts | documentLoaded": {
|
|
2418
2427
|
"message": "T̂h́ê d́ôćûḿêńt̂ d́îd́ n̂ót̂ f́îńîśĥ ĺôád̂ín̂ǵ b̂éf̂ór̂é n̂áv̂íĝát̂ín̂ǵ âẃâý."
|
|
2419
2428
|
},
|
|
2420
|
-
"panels/application/BackForwardCacheStrings.ts | embedderAppBannerManager": {
|
|
2421
|
-
"message": "Êḿb̂éd̂d́êŕÂṕp̂B́âńn̂ér̂Ḿâńâǵêŕ"
|
|
2422
|
-
},
|
|
2423
|
-
"panels/application/BackForwardCacheStrings.ts | embedderChromePasswordManagerClientBindCredentialManager": {
|
|
2424
|
-
"message": "Êḿb̂éd̂d́êŕĈh́r̂óm̂éP̂áŝśŵór̂d́M̂án̂áĝér̂Ćl̂íêńt̂B́îńd̂Ćr̂éd̂én̂t́îál̂Ḿâńâǵêŕ"
|
|
2425
|
-
},
|
|
2426
|
-
"panels/application/BackForwardCacheStrings.ts | embedderDomDistillerSelfDeletingRequestDelegate": {
|
|
2427
|
-
"message": "Êḿb̂éd̂d́êŕD̂óm̂D́îśt̂íl̂ĺêŕŜél̂f́D̂él̂ét̂ín̂ǵR̂éq̂úêśt̂D́êĺêǵât́ê"
|
|
2428
|
-
},
|
|
2429
|
-
"panels/application/BackForwardCacheStrings.ts | embedderDomDistillerViewerSource": {
|
|
2430
|
-
"message": "Êḿb̂éd̂d́êŕD̂óm̂D́îśt̂íl̂ĺêŕV̂íêẃêŕŜóûŕĉé"
|
|
2431
|
-
},
|
|
2432
|
-
"panels/application/BackForwardCacheStrings.ts | embedderExtensionMessaging": {
|
|
2433
|
-
"message": "Êḿb̂éd̂d́êŕÊx́t̂én̂śîón̂Ḿêśŝáĝín̂ǵ"
|
|
2434
|
-
},
|
|
2435
|
-
"panels/application/BackForwardCacheStrings.ts | embedderExtensionMessagingForOpenPort": {
|
|
2436
|
-
"message": "Êḿb̂éd̂d́êŕÊx́t̂én̂śîón̂Ḿêśŝáĝín̂ǵF̂ór̂Óp̂én̂Ṕôŕt̂"
|
|
2437
|
-
},
|
|
2438
|
-
"panels/application/BackForwardCacheStrings.ts | embedderExtensions": {
|
|
2439
|
-
"message": "Êḿb̂éd̂d́êŕÊx́t̂én̂śîón̂ś"
|
|
2440
|
-
},
|
|
2441
|
-
"panels/application/BackForwardCacheStrings.ts | embedderExtensionSentMessageToCachedFrame": {
|
|
2442
|
-
"message": "Êḿb̂éd̂d́êŕÊx́t̂én̂śîón̂Śêńt̂ḾêśŝáĝéT̂óĈáĉh́êd́F̂ŕâḿê"
|
|
2443
|
-
},
|
|
2444
|
-
"panels/application/BackForwardCacheStrings.ts | embedderModalDialog": {
|
|
2445
|
-
"message": "Êḿb̂éd̂d́êŕM̂ód̂ál̂D́îál̂óĝ"
|
|
2446
|
-
},
|
|
2447
|
-
"panels/application/BackForwardCacheStrings.ts | embedderOfflinePage": {
|
|
2448
|
-
"message": "Êḿb̂éd̂d́êŕÔf́f̂ĺîńêṔâǵê"
|
|
2449
|
-
},
|
|
2450
|
-
"panels/application/BackForwardCacheStrings.ts | embedderOomInterventionTabHelper": {
|
|
2451
|
-
"message": "Êḿb̂éd̂d́êŕÔóm̂Ín̂t́êŕv̂én̂t́îón̂T́âb́Ĥél̂ṕêŕ"
|
|
2452
|
-
},
|
|
2453
|
-
"panels/application/BackForwardCacheStrings.ts | embedderPermissionRequestManager": {
|
|
2454
|
-
"message": "Êḿb̂éd̂d́êŕP̂ér̂ḿîśŝíôńR̂éq̂úêśt̂Ḿâńâǵêŕ"
|
|
2455
|
-
},
|
|
2456
|
-
"panels/application/BackForwardCacheStrings.ts | embedderPopupBlockerTabHelper": {
|
|
2457
|
-
"message": "Êḿb̂éd̂d́êŕP̂óp̂úp̂B́l̂óĉḱêŕT̂áb̂H́êĺp̂ér̂"
|
|
2458
|
-
},
|
|
2459
|
-
"panels/application/BackForwardCacheStrings.ts | embedderSafeBrowsingThreatDetails": {
|
|
2460
|
-
"message": "Êḿb̂éd̂d́êŕŜáf̂éB̂ŕôẃŝín̂ǵT̂h́r̂éât́D̂ét̂áîĺŝ"
|
|
2461
|
-
},
|
|
2462
|
-
"panels/application/BackForwardCacheStrings.ts | embedderSafeBrowsingTriggeredPopupBlocker": {
|
|
2463
|
-
"message": "Êḿb̂éd̂d́êŕŜáf̂éB̂ŕôẃŝín̂ǵT̂ŕîǵĝér̂éd̂ṔôṕûṕB̂ĺôćk̂ér̂"
|
|
2464
|
-
},
|
|
2465
2429
|
"panels/application/BackForwardCacheStrings.ts | enteredBackForwardCacheBeforeServiceWorkerHostAdded": {
|
|
2466
2430
|
"message": "Â śêŕv̂íĉé ŵór̂ḱêŕ ŵáŝ áĉt́îv́ât́êd́ ŵh́îĺê t́ĥé p̂áĝé ŵáŝ ín̂ b́âćk̂/f́ôŕŵár̂d́ ĉáĉh́ê."
|
|
2467
2431
|
},
|
|
@@ -306,8 +306,8 @@ const UIStrings = {
|
|
|
306
306
|
*/
|
|
307
307
|
enableCache: 'Enable cache',
|
|
308
308
|
/**
|
|
309
|
-
|
|
310
|
-
|
|
309
|
+
* @description Title of a setting under the Network category that can be invoked through the Command Menu
|
|
310
|
+
*/
|
|
311
311
|
disableCache: 'Disable cache (while DevTools is open)',
|
|
312
312
|
/**
|
|
313
313
|
* @description The name of a checkbox setting in the Rendering tool. This setting
|
|
@@ -315,13 +315,25 @@ const UIStrings = {
|
|
|
315
315
|
*/
|
|
316
316
|
emulateAutoDarkMode: 'Emulate auto dark mode',
|
|
317
317
|
/**
|
|
318
|
-
|
|
318
|
+
* @description Title of a setting for enabling auto dark mode.
|
|
319
|
+
*/
|
|
320
|
+
enableEmulateAutoDarkMode: 'Enable auto dark mode',
|
|
321
|
+
/**
|
|
322
|
+
* @description Text to emulate enabled auto dark mode.
|
|
319
323
|
*/
|
|
320
324
|
enabledDarkMode: 'Enable',
|
|
321
325
|
/**
|
|
322
|
-
|
|
323
|
-
|
|
326
|
+
* @description Title of a setting for disabling auto dark mode.
|
|
327
|
+
*/
|
|
328
|
+
disableEmulateAutoDarkMode: 'Disable auto dark mode',
|
|
329
|
+
/**
|
|
330
|
+
* @description Text to emulate disabled auto dark mode.
|
|
331
|
+
*/
|
|
324
332
|
disabledDarkMode: 'Disable',
|
|
333
|
+
/**
|
|
334
|
+
* @description Title of a setting for disabling dark mode emulation.
|
|
335
|
+
*/
|
|
336
|
+
doNotEmulateDarkMode: 'Do not emulate auto dark mode',
|
|
325
337
|
};
|
|
326
338
|
const str_ = i18n.i18n.registerUIStrings('core/sdk/sdk-meta.ts', UIStrings);
|
|
327
339
|
const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
|
|
@@ -1042,17 +1054,17 @@ Common.Settings.registerSettingExtension({
|
|
|
1042
1054
|
defaultValue: 'default',
|
|
1043
1055
|
options: [
|
|
1044
1056
|
{
|
|
1045
|
-
title: i18nLazyString(UIStrings.
|
|
1057
|
+
title: i18nLazyString(UIStrings.doNotEmulateDarkMode),
|
|
1046
1058
|
text: i18nLazyString(UIStrings.noEmulation),
|
|
1047
1059
|
value: 'default',
|
|
1048
1060
|
},
|
|
1049
1061
|
{
|
|
1050
|
-
title: i18nLazyString(UIStrings.
|
|
1062
|
+
title: i18nLazyString(UIStrings.enableEmulateAutoDarkMode),
|
|
1051
1063
|
text: i18nLazyString(UIStrings.enabledDarkMode),
|
|
1052
1064
|
value: 'enabled',
|
|
1053
1065
|
},
|
|
1054
1066
|
{
|
|
1055
|
-
title: i18nLazyString(UIStrings.
|
|
1067
|
+
title: i18nLazyString(UIStrings.disableEmulateAutoDarkMode),
|
|
1056
1068
|
text: i18nLazyString(UIStrings.disabledDarkMode),
|
|
1057
1069
|
value: 'disabled',
|
|
1058
1070
|
},
|
|
@@ -306,6 +306,8 @@ export class MainImpl {
|
|
|
306
306
|
Root.Runtime.experiments.register('timelineEventInitiators', 'Timeline: event initiators');
|
|
307
307
|
Root.Runtime.experiments.register('timelineInvalidationTracking', 'Timeline: invalidation tracking', true);
|
|
308
308
|
Root.Runtime.experiments.register('timelineShowAllEvents', 'Timeline: show all events', true);
|
|
309
|
+
Root.Runtime.experiments.register(
|
|
310
|
+
'timelineV8RuntimeCallStats', 'Timeline: V8 Runtime Call Stats on Timeline', true);
|
|
309
311
|
Root.Runtime.experiments.register('timelineWebGL', 'Timeline: WebGL-based flamechart');
|
|
310
312
|
Root.Runtime.experiments.register('timelineReplayEvent', 'Timeline: Replay input events', true);
|
|
311
313
|
Root.Runtime.experiments.register(
|
|
@@ -363,11 +365,15 @@ export class MainImpl {
|
|
|
363
365
|
'Enable CSS <length> authoring tool in the Styles pane (https://goo.gle/length-feedback)', undefined,
|
|
364
366
|
'https://developer.chrome.com/blog/new-in-devtools-96/#length');
|
|
365
367
|
|
|
368
|
+
// Display precise changes in the Changes tab.
|
|
369
|
+
Root.Runtime.experiments.register('preciseChanges', 'Display more precise changes in the Changes tab');
|
|
370
|
+
|
|
366
371
|
Root.Runtime.experiments.enableExperimentsByDefault([
|
|
367
372
|
'sourceOrderViewer',
|
|
368
373
|
'hideIssuesFeature',
|
|
369
374
|
'bfcacheDebugging',
|
|
370
375
|
'cssTypeComponentLength',
|
|
376
|
+
'preciseChanges',
|
|
371
377
|
Root.Runtime.ExperimentName.SYNC_SETTINGS,
|
|
372
378
|
]);
|
|
373
379
|
|
|
@@ -10442,10 +10442,6 @@ declare namespace Protocol {
|
|
|
10442
10442
|
* The fantasy font-family.
|
|
10443
10443
|
*/
|
|
10444
10444
|
fantasy?: string;
|
|
10445
|
-
/**
|
|
10446
|
-
* The pictograph font-family.
|
|
10447
|
-
*/
|
|
10448
|
-
pictograph?: string;
|
|
10449
10445
|
}
|
|
10450
10446
|
|
|
10451
10447
|
/**
|
|
@@ -502,14 +502,12 @@ export class EmulatedDevicesList extends Common.ObjectWrapper.ObjectWrapper<Even
|
|
|
502
502
|
constructor() {
|
|
503
503
|
super();
|
|
504
504
|
|
|
505
|
-
this.#standardSetting = Common.Settings.Settings.instance().createSetting(
|
|
506
|
-
'standardEmulatedDeviceList', [], Common.Settings.SettingStorageType.Synced);
|
|
505
|
+
this.#standardSetting = Common.Settings.Settings.instance().createSetting('standardEmulatedDeviceList', []);
|
|
507
506
|
this.#standardInternal = new Set();
|
|
508
507
|
this.listFromJSONV1(this.#standardSetting.get(), this.#standardInternal);
|
|
509
508
|
this.updateStandardDevices();
|
|
510
509
|
|
|
511
|
-
this.#customSetting = Common.Settings.Settings.instance().createSetting(
|
|
512
|
-
'customEmulatedDeviceList', [], Common.Settings.SettingStorageType.Synced);
|
|
510
|
+
this.#customSetting = Common.Settings.Settings.instance().createSetting('customEmulatedDeviceList', []);
|
|
513
511
|
this.#customInternal = new Set();
|
|
514
512
|
if (!this.listFromJSONV1(this.#customSetting.get(), this.#customInternal)) {
|
|
515
513
|
this.saveCustomDevices();
|
|
@@ -28,8 +28,6 @@
|
|
|
28
28
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
29
29
|
*/
|
|
30
30
|
|
|
31
|
-
// TODO(crbug.com/1253323): All casts to RawPathString will be removed from this file when migration to branded types is complete.
|
|
32
|
-
|
|
33
31
|
import * as Common from '../../core/common/common.js';
|
|
34
32
|
import * as Host from '../../core/host/host.js';
|
|
35
33
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
@@ -175,8 +173,7 @@ export class IsolatedFileSystemManager extends Common.ObjectWrapper.ObjectWrappe
|
|
|
175
173
|
private innerAddFileSystem(fileSystem: Host.InspectorFrontendHostAPI.DevToolsFileSystem, dispatchEvent: boolean):
|
|
176
174
|
Promise<IsolatedFileSystem|null> {
|
|
177
175
|
const embedderPath = fileSystem.fileSystemPath;
|
|
178
|
-
const fileSystemURL =
|
|
179
|
-
Common.ParsedURL.ParsedURL.rawPathToUrlString(fileSystem.fileSystemPath as Platform.DevToolsPath.RawPathString);
|
|
176
|
+
const fileSystemURL = Common.ParsedURL.ParsedURL.rawPathToUrlString(fileSystem.fileSystemPath);
|
|
180
177
|
const promise = IsolatedFileSystem.create(
|
|
181
178
|
this, fileSystemURL, embedderPath, fileSystem.type, fileSystem.fileSystemName, fileSystem.rootURL);
|
|
182
179
|
return promise.then(storeFileSystem.bind(this));
|
|
@@ -221,10 +218,9 @@ export class IsolatedFileSystemManager extends Common.ObjectWrapper.ObjectWrappe
|
|
|
221
218
|
}
|
|
222
219
|
}
|
|
223
220
|
|
|
224
|
-
private onFileSystemRemoved(event: Common.EventTarget.EventTargetEvent<
|
|
221
|
+
private onFileSystemRemoved(event: Common.EventTarget.EventTargetEvent<Platform.DevToolsPath.RawPathString>): void {
|
|
225
222
|
const embedderPath = event.data;
|
|
226
|
-
const fileSystemPath =
|
|
227
|
-
Common.ParsedURL.ParsedURL.rawPathToUrlString(embedderPath as Platform.DevToolsPath.RawPathString);
|
|
223
|
+
const fileSystemPath = Common.ParsedURL.ParsedURL.rawPathToUrlString(embedderPath);
|
|
228
224
|
const isolatedFileSystem = this.fileSystemsInternal.get(fileSystemPath);
|
|
229
225
|
if (!isolatedFileSystem) {
|
|
230
226
|
return;
|
|
@@ -245,11 +241,11 @@ export class IsolatedFileSystemManager extends Common.ObjectWrapper.ObjectWrappe
|
|
|
245
241
|
this.dispatchEventToListeners(Events.FileSystemFilesChanged, urlPaths);
|
|
246
242
|
|
|
247
243
|
function groupFilePathsIntoFileSystemPaths(
|
|
248
|
-
this: IsolatedFileSystemManager,
|
|
244
|
+
this: IsolatedFileSystemManager,
|
|
245
|
+
embedderPaths: Platform.DevToolsPath.RawPathString[]): Platform.MapUtilities.Multimap<string, string> {
|
|
249
246
|
const paths = new Platform.MapUtilities.Multimap<string, string>();
|
|
250
247
|
for (const embedderPath of embedderPaths) {
|
|
251
|
-
const filePath =
|
|
252
|
-
Common.ParsedURL.ParsedURL.rawPathToUrlString(embedderPath as Platform.DevToolsPath.RawPathString);
|
|
248
|
+
const filePath = Common.ParsedURL.ParsedURL.rawPathToUrlString(embedderPath);
|
|
253
249
|
for (const fileSystemPath of this.fileSystemsInternal.keys()) {
|
|
254
250
|
const fileSystem = this.fileSystemsInternal.get(fileSystemPath);
|
|
255
251
|
if (fileSystem && fileSystem.isFileExcluded(embedderPath)) {
|
|
@@ -59,6 +59,7 @@ export class TimelineJSProfileProcessor {
|
|
|
59
59
|
|
|
60
60
|
static generateJSFrameEvents(events: SDK.TracingModel.Event[], config: {
|
|
61
61
|
showAllEvents: boolean,
|
|
62
|
+
showRuntimeCallStats: boolean,
|
|
62
63
|
showNativeFunctions: boolean,
|
|
63
64
|
}): SDK.TracingModel.Event[] {
|
|
64
65
|
function equalFrames(frame1: Protocol.Runtime.CallFrame, frame2: Protocol.Runtime.CallFrame): boolean {
|
|
@@ -84,7 +85,7 @@ export class TimelineJSProfileProcessor {
|
|
|
84
85
|
const lockedJsStackDepth: number[] = [];
|
|
85
86
|
let ordinal = 0;
|
|
86
87
|
let fakeJSInvocation = false;
|
|
87
|
-
const {showAllEvents, showNativeFunctions} = config;
|
|
88
|
+
const {showAllEvents, showRuntimeCallStats, showNativeFunctions} = config;
|
|
88
89
|
|
|
89
90
|
function onStartEvent(e: SDK.TracingModel.Event): void {
|
|
90
91
|
if (fakeJSInvocation) {
|
|
@@ -134,10 +135,15 @@ export class TimelineJSProfileProcessor {
|
|
|
134
135
|
jsFramesStack.length = depth;
|
|
135
136
|
}
|
|
136
137
|
|
|
138
|
+
function showNativeName(name: string): boolean {
|
|
139
|
+
return showRuntimeCallStats && Boolean(TimelineJSProfileProcessor.nativeGroup(name));
|
|
140
|
+
}
|
|
141
|
+
|
|
137
142
|
function filterStackFrames(stack: Protocol.Runtime.CallFrame[]): void {
|
|
138
143
|
if (showAllEvents) {
|
|
139
144
|
return;
|
|
140
145
|
}
|
|
146
|
+
let previousNativeFrameName: (string|null)|null = null;
|
|
141
147
|
let j = 0;
|
|
142
148
|
for (let i = 0; i < stack.length; ++i) {
|
|
143
149
|
const frame = stack[i];
|
|
@@ -147,9 +153,16 @@ export class TimelineJSProfileProcessor {
|
|
|
147
153
|
continue;
|
|
148
154
|
}
|
|
149
155
|
const isNativeRuntimeFrame = TimelineJSProfileProcessor.isNativeRuntimeFrame(frame);
|
|
150
|
-
if (!
|
|
151
|
-
|
|
156
|
+
if (isNativeRuntimeFrame && !showNativeName(frame.functionName)) {
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
const nativeFrameName =
|
|
160
|
+
isNativeRuntimeFrame ? TimelineJSProfileProcessor.nativeGroup(frame.functionName) : null;
|
|
161
|
+
if (previousNativeFrameName && previousNativeFrameName === nativeFrameName) {
|
|
162
|
+
continue;
|
|
152
163
|
}
|
|
164
|
+
previousNativeFrameName = nativeFrameName;
|
|
165
|
+
stack[j++] = frame;
|
|
153
166
|
}
|
|
154
167
|
stack.length = j;
|
|
155
168
|
}
|
|
@@ -678,6 +678,7 @@ export class TimelineModelImpl {
|
|
|
678
678
|
if (jsSamples || events.some(e => e.name === RecordType.JSSample)) {
|
|
679
679
|
const jsFrameEvents = TimelineJSProfileProcessor.generateJSFrameEvents(events, {
|
|
680
680
|
showAllEvents: Root.Runtime.experiments.isEnabled('timelineShowAllEvents'),
|
|
681
|
+
showRuntimeCallStats: Root.Runtime.experiments.isEnabled('timelineV8RuntimeCallStats'),
|
|
681
682
|
showNativeFunctions: Common.Settings.Settings.instance().moduleSetting('showNativeFunctionsInJSProfile').get(),
|
|
682
683
|
});
|
|
683
684
|
if (jsFrameEvents && jsFrameEvents.length) {
|
|
@@ -5,9 +5,14 @@
|
|
|
5
5
|
import * as Common from '../../core/common/common.js';
|
|
6
6
|
import * as Host from '../../core/host/host.js';
|
|
7
7
|
import * as Diff from '../../third_party/diff/diff.js';
|
|
8
|
+
import * as FormatterModule from '../formatter/formatter.js';
|
|
8
9
|
import * as Persistence from '../persistence/persistence.js';
|
|
9
10
|
import * as Workspace from '../workspace/workspace.js';
|
|
10
11
|
|
|
12
|
+
interface DiffRequestOptions {
|
|
13
|
+
shouldFormatDiff: boolean;
|
|
14
|
+
}
|
|
15
|
+
|
|
11
16
|
export class WorkspaceDiffImpl extends Common.ObjectWrapper.ObjectWrapper<EventTypes> {
|
|
12
17
|
private readonly uiSourceCodeDiffs: WeakMap<Workspace.UISourceCode.UISourceCode, UISourceCodeDiff>;
|
|
13
18
|
private readonly loadingUISourceCodes:
|
|
@@ -29,8 +34,9 @@ export class WorkspaceDiffImpl extends Common.ObjectWrapper.ObjectWrapper<EventT
|
|
|
29
34
|
workspace.uiSourceCodes().forEach(this.updateModifiedState.bind(this));
|
|
30
35
|
}
|
|
31
36
|
|
|
32
|
-
requestDiff(uiSourceCode: Workspace.UISourceCode.UISourceCode):
|
|
33
|
-
|
|
37
|
+
requestDiff(uiSourceCode: Workspace.UISourceCode.UISourceCode, diffRequestOptions: DiffRequestOptions):
|
|
38
|
+
Promise<Diff.Diff.DiffArray|null> {
|
|
39
|
+
return this.uiSourceCodeDiff(uiSourceCode).requestDiff(diffRequestOptions);
|
|
34
40
|
}
|
|
35
41
|
|
|
36
42
|
subscribeToDiffChange(uiSourceCode: Workspace.UISourceCode.UISourceCode, callback: () => void, thisObj?: Object):
|
|
@@ -212,9 +218,9 @@ export class UISourceCodeDiff extends Common.ObjectWrapper.ObjectWrapper<UISourc
|
|
|
212
218
|
}
|
|
213
219
|
}
|
|
214
220
|
|
|
215
|
-
requestDiff(): Promise<Diff.Diff.DiffArray|null> {
|
|
221
|
+
requestDiff(diffRequestOptions: DiffRequestOptions): Promise<Diff.Diff.DiffArray|null> {
|
|
216
222
|
if (!this.requestDiffPromise) {
|
|
217
|
-
this.requestDiffPromise = this.innerRequestDiff();
|
|
223
|
+
this.requestDiffPromise = this.innerRequestDiff(diffRequestOptions);
|
|
218
224
|
}
|
|
219
225
|
return this.requestDiffPromise;
|
|
220
226
|
}
|
|
@@ -231,12 +237,12 @@ export class UISourceCodeDiff extends Common.ObjectWrapper.ObjectWrapper<UISourc
|
|
|
231
237
|
return content.content || ('error' in content && content.error) || '';
|
|
232
238
|
}
|
|
233
239
|
|
|
234
|
-
private async innerRequestDiff(): Promise<Diff.Diff.DiffArray|null> {
|
|
240
|
+
private async innerRequestDiff({shouldFormatDiff}: DiffRequestOptions): Promise<Diff.Diff.DiffArray|null> {
|
|
235
241
|
if (this.dispose) {
|
|
236
242
|
return null;
|
|
237
243
|
}
|
|
238
244
|
|
|
239
|
-
|
|
245
|
+
let baseline = await this.originalContent();
|
|
240
246
|
if (baseline === null) {
|
|
241
247
|
return null;
|
|
242
248
|
}
|
|
@@ -264,6 +270,14 @@ export class UISourceCodeDiff extends Common.ObjectWrapper.ObjectWrapper<UISourc
|
|
|
264
270
|
if (current === null || baseline === null) {
|
|
265
271
|
return null;
|
|
266
272
|
}
|
|
273
|
+
if (shouldFormatDiff) {
|
|
274
|
+
baseline = (await FormatterModule.ScriptFormatter.format(
|
|
275
|
+
this.uiSourceCode.contentType(), this.uiSourceCode.mimeType(), baseline))
|
|
276
|
+
.formattedContent;
|
|
277
|
+
current = (await FormatterModule.ScriptFormatter.format(
|
|
278
|
+
this.uiSourceCode.contentType(), this.uiSourceCode.mimeType(), current))
|
|
279
|
+
.formattedContent;
|
|
280
|
+
}
|
|
267
281
|
return Diff.Diff.DiffWrapper.lineDiff(baseline.split(/\r\n|\n|\r/), current.split(/\r\n|\n|\r/));
|
|
268
282
|
}
|
|
269
283
|
}
|
|
@@ -332,7 +332,7 @@ export class AnimationTimeline extends UI.Widget.VBox implements SDK.TargetManag
|
|
|
332
332
|
show: (popover: UI.GlassPane.GlassPane): Promise<boolean> => {
|
|
333
333
|
let animGroup;
|
|
334
334
|
for (const [group, previewUI] of this.#previewMap) {
|
|
335
|
-
if (previewUI.element === element.parentElement) {
|
|
335
|
+
if (previewUI.element === element || previewUI.element === element.parentElement) {
|
|
336
336
|
animGroup = group;
|
|
337
337
|
}
|
|
338
338
|
}
|