chrome-devtools-frontend 1.0.1001476 → 1.0.1002543

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 (73) hide show
  1. package/config/gni/devtools_grd_files.gni +4 -6
  2. package/front_end/core/common/ParsedURL.ts +3 -3
  3. package/front_end/core/host/InspectorFrontendHost.ts +30 -1
  4. package/front_end/core/i18n/locales/en-US.json +6 -30
  5. package/front_end/core/i18n/locales/en-XL.json +6 -30
  6. package/front_end/core/protocol_client/InspectorBackend.ts +4 -0
  7. package/front_end/core/root/Runtime.ts +7 -3
  8. package/front_end/core/sdk/ServiceWorkerManager.ts +6 -5
  9. package/front_end/entrypoints/formatter_worker/FormatterActions.ts +14 -0
  10. package/front_end/entrypoints/formatter_worker/ScopeParser.ts +491 -0
  11. package/front_end/entrypoints/formatter_worker/Substitute.ts +4 -440
  12. package/front_end/entrypoints/formatter_worker/formatter_worker.ts +2 -0
  13. package/front_end/generated/InspectorBackendCommands.js +38 -10
  14. package/front_end/generated/protocol-mapping.d.ts +5 -1
  15. package/front_end/generated/protocol-proxy-api.d.ts +4 -1
  16. package/front_end/generated/protocol.ts +50 -10
  17. package/front_end/models/bindings/CompilerScriptMapping.ts +1 -1
  18. package/front_end/models/issues_manager/AttributionReportingIssue.ts +5 -36
  19. package/front_end/models/issues_manager/DeprecationIssue.ts +0 -69
  20. package/front_end/models/issues_manager/Issue.ts +8 -4
  21. package/front_end/models/timeline_model/TimelineModel.ts +0 -48
  22. package/front_end/panels/application/AppManifestView.ts +3 -3
  23. package/front_end/panels/application/ApplicationPanelCacheSection.ts +3 -1
  24. package/front_end/panels/application/ApplicationPanelSidebar.ts +11 -6
  25. package/front_end/panels/application/ApplicationPanelTreeElement.ts +2 -2
  26. package/front_end/panels/application/BackgroundServiceView.ts +5 -4
  27. package/front_end/panels/application/ResourcesPanel.ts +1 -1
  28. package/front_end/panels/console/ConsoleViewMessage.ts +6 -3
  29. package/front_end/panels/css_overview/components/CSSOverviewStartView.ts +3 -2
  30. package/front_end/panels/elements/StylePropertyTreeElement.ts +19 -13
  31. package/front_end/panels/elements/StylesSidebarPane.ts +53 -0
  32. package/front_end/panels/issues/AffectedResourcesView.ts +4 -3
  33. package/front_end/panels/issues/AffectedSourcesView.ts +2 -1
  34. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +0 -43
  35. package/front_end/panels/issues/IssueView.ts +1 -1
  36. package/front_end/panels/lighthouse/LighthouseController.ts +5 -3
  37. package/front_end/panels/lighthouse/LighthouseReporterTypes.ts +2 -1
  38. package/front_end/panels/lighthouse/lighthousePanel.css +4 -0
  39. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +2 -2
  40. package/front_end/panels/profiler/HeapSnapshotView.ts +2 -1
  41. package/front_end/panels/profiler/ProfileDataGrid.ts +1 -1
  42. package/front_end/panels/security/SecurityPanel.ts +6 -5
  43. package/front_end/panels/settings/SettingsScreen.ts +2 -3
  44. package/front_end/panels/timeline/PerformanceModel.ts +2 -6
  45. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +1 -14
  46. package/front_end/panels/timeline/TimelineUIUtils.ts +14 -12
  47. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1036 -1088
  48. package/front_end/third_party/lighthouse/locales/en-US.json +241 -4
  49. package/front_end/third_party/lighthouse/locales/en-XL.json +241 -4
  50. package/front_end/third_party/lighthouse/report/bundle.d.ts +2 -0
  51. package/front_end/third_party/lighthouse/report/bundle.js +18 -12
  52. package/front_end/third_party/lighthouse/report-assets/report-generator.mjs +1 -1
  53. package/front_end/ui/components/docs/linkifier/simple-url.ts +2 -1
  54. package/front_end/ui/components/docs/panel_feedback/basic.ts +3 -2
  55. package/front_end/ui/components/docs/panel_feedback/button.ts +2 -1
  56. package/front_end/ui/components/linkifier/LinkifierImpl.ts +4 -3
  57. package/front_end/ui/components/linkifier/LinkifierUtils.ts +2 -3
  58. package/front_end/ui/components/panel_feedback/FeedbackButton.ts +4 -6
  59. package/front_end/ui/components/panel_feedback/PanelFeedback.ts +5 -4
  60. package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +3 -3
  61. package/front_end/ui/legacy/EmptyWidget.ts +2 -1
  62. package/front_end/ui/legacy/UIUtils.ts +4 -4
  63. package/front_end/ui/legacy/XLink.ts +12 -13
  64. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +2 -4
  65. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +1 -1
  66. package/front_end/ui/legacy/components/perf_ui/LineLevelProfile.ts +0 -2
  67. package/front_end/ui/legacy/components/utils/ImagePreview.ts +3 -7
  68. package/front_end/ui/legacy/components/utils/Linkifier.ts +23 -23
  69. package/front_end/ui/legacy/toolbar.css +1 -1
  70. package/package.json +1 -1
  71. package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourceEventId.md +0 -3
  72. package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourceExpiry.md +0 -4
  73. package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourcePriority.md +0 -4
@@ -279,9 +279,6 @@ grd_files_release_sources = [
279
279
  "front_end/models/issues_manager/descriptions/arAttributionSourceUntrustworthyOrigin.md",
280
280
  "front_end/models/issues_manager/descriptions/arAttributionUntrustworthyFrameOrigin.md",
281
281
  "front_end/models/issues_manager/descriptions/arAttributionUntrustworthyOrigin.md",
282
- "front_end/models/issues_manager/descriptions/arInvalidAttributionSourceEventId.md",
283
- "front_end/models/issues_manager/descriptions/arInvalidAttributionSourceExpiry.md",
284
- "front_end/models/issues_manager/descriptions/arInvalidAttributionSourcePriority.md",
285
282
  "front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md",
286
283
  "front_end/models/issues_manager/descriptions/clientHintMetaTagAllowListInvalidOrigin.md",
287
284
  "front_end/models/issues_manager/descriptions/clientHintMetaTagModifiedHTML.md",
@@ -669,6 +666,7 @@ grd_files_debug_sources = [
669
666
  "front_end/entrypoints/formatter_worker/JSONFormatter.js",
670
667
  "front_end/entrypoints/formatter_worker/JavaScriptFormatter.js",
671
668
  "front_end/entrypoints/formatter_worker/JavaScriptOutline.js",
669
+ "front_end/entrypoints/formatter_worker/ScopeParser.js",
672
670
  "front_end/entrypoints/formatter_worker/Substitute.js",
673
671
  "front_end/entrypoints/heap_snapshot_worker/AllocationProfile.js",
674
672
  "front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.js",
@@ -1383,7 +1381,10 @@ grd_files_debug_sources = [
1383
1381
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.js",
1384
1382
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.js",
1385
1383
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js",
1384
+ "front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.js",
1385
+ "front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.js",
1386
1386
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.js",
1387
+ "front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js",
1387
1388
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.js",
1388
1389
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.js",
1389
1390
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.js",
@@ -1397,9 +1398,6 @@ grd_files_debug_sources = [
1397
1398
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js",
1398
1399
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js",
1399
1400
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js",
1400
- "front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.js",
1401
- "front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.js",
1402
- "front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js",
1403
1401
  "front_end/third_party/puppeteer/package/lib/esm/puppeteer/web.js",
1404
1402
  "front_end/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.js",
1405
1403
  "front_end/third_party/wasmparser/package/dist/esm/WasmDis.js",
@@ -308,14 +308,14 @@ export class ParsedURL {
308
308
  return ParsedURL.urlRegexInstance;
309
309
  }
310
310
 
311
- static extractPath(url: string): Platform.DevToolsPath.EncodedPathString {
311
+ static extractPath(url: Platform.DevToolsPath.UrlString): Platform.DevToolsPath.EncodedPathString {
312
312
  const parsedURL = this.fromString(url);
313
313
  return (parsedURL ? parsedURL.path : '') as Platform.DevToolsPath.EncodedPathString;
314
314
  }
315
315
 
316
- static extractOrigin(url: string): string {
316
+ static extractOrigin(url: Platform.DevToolsPath.UrlString): Platform.DevToolsPath.UrlString {
317
317
  const parsedURL = this.fromString(url);
318
- return parsedURL ? parsedURL.securityOrigin() : '';
318
+ return parsedURL ? parsedURL.securityOrigin() : Platform.DevToolsPath.EmptyUrlString;
319
319
  }
320
320
 
321
321
  static extractExtension(url: string): string {
@@ -54,10 +54,12 @@ const str_ = i18n.i18n.registerUIStrings('core/host/InspectorFrontendHost.ts', U
54
54
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
55
55
 
56
56
  const MAX_RECORDED_HISTOGRAMS_SIZE = 100;
57
+ const OVERRIDES_FILE_SYSTEM_PATH = '/overrides' as Platform.DevToolsPath.RawPathString;
57
58
 
58
59
  export class InspectorFrontendHostStub implements InspectorFrontendHostAPI {
59
60
  readonly #urlsBeingSaved: Map<Platform.DevToolsPath.RawPathString|Platform.DevToolsPath.UrlString, string[]>;
60
61
  events!: Common.EventTarget.EventTarget<EventTypes>;
62
+ #fileSystem: FileSystem|null = null;
61
63
 
62
64
  recordedEnumeratedHistograms: {actionName: EnumeratedHistogram, actionCode: number}[] = [];
63
65
  recordedPerformanceHistograms: {histogramName: string, duration: number}[] = [];
@@ -213,13 +215,40 @@ export class InspectorFrontendHostStub implements InspectorFrontendHostAPI {
213
215
  }
214
216
 
215
217
  addFileSystem(type?: string): void {
218
+ const onFileSystem = (fs: FileSystem): void => {
219
+ this.#fileSystem = fs;
220
+ const fileSystem = {
221
+ fileSystemName: 'sandboxedRequestedFileSystem',
222
+ fileSystemPath: OVERRIDES_FILE_SYSTEM_PATH,
223
+ rootURL: 'filesystem:devtools://devtools/isolated/',
224
+ type: 'overrides',
225
+ };
226
+ this.events.dispatchEventToListeners(Events.FileSystemAdded, {fileSystem});
227
+ };
228
+ window.webkitRequestFileSystem(window.TEMPORARY, 1024 * 1024, onFileSystem);
216
229
  }
217
230
 
218
231
  removeFileSystem(fileSystemPath: Platform.DevToolsPath.RawPathString): void {
232
+ const removalCallback = (entries: Entry[]): void => {
233
+ entries.forEach(entry => {
234
+ if (entry.isDirectory) {
235
+ (entry as DirectoryEntry).removeRecursively(() => {});
236
+ } else if (entry.isFile) {
237
+ entry.remove(() => {});
238
+ }
239
+ });
240
+ };
241
+
242
+ if (this.#fileSystem) {
243
+ this.#fileSystem.root.createReader().readEntries(removalCallback);
244
+ }
245
+
246
+ this.#fileSystem = null;
247
+ this.events.dispatchEventToListeners(Events.FileSystemRemoved, OVERRIDES_FILE_SYSTEM_PATH);
219
248
  }
220
249
 
221
250
  isolatedFileSystem(fileSystemId: string, registeredName: string): FileSystem|null {
222
- return null;
251
+ return this.#fileSystem;
223
252
  }
224
253
 
225
254
  loadNetworkResource(
@@ -1415,18 +1415,9 @@
1415
1415
  "models/issues_manager/DeprecationIssue.ts | insecurePrivateNetworkSubresourceRequest": {
1416
1416
  "message": "The website requested a subresource from a network that it could only access because of its users' privileged network position. These requests expose non-public devices and servers to the internet, increasing the risk of a cross-site request forgery (CSRF) attack, and/or information leakage. To mitigate these risks, Chrome deprecates requests to non-public subresources when initiated from non-secure contexts, and will start blocking them."
1417
1417
  },
1418
- "models/issues_manager/DeprecationIssue.ts | legacyConstraintGoogCpuOveruseDetection": {
1419
- "message": "CPU overuse detection is enabled-by-default and the ability to disable it using googCpuOveruseDetection will soon be removed. Please stop using this legacy constraint."
1420
- },
1421
1418
  "models/issues_manager/DeprecationIssue.ts | legacyConstraintGoogIPv6": {
1422
1419
  "message": "IPv6 is enabled-by-default and the ability to disable it using googIPv6 will soon be removed. Please stop using this legacy constraint."
1423
1420
  },
1424
- "models/issues_manager/DeprecationIssue.ts | legacyConstraintGoogScreencastMinBitrate": {
1425
- "message": "Screencast min bitrate is now set to 100 kbps by default and googScreencastMinBitrate will soon be ignored in favor of this new default. Please stop using this legacy constraint."
1426
- },
1427
- "models/issues_manager/DeprecationIssue.ts | legacyConstraintGoogSuspendBelowMinBitrate": {
1428
- "message": "Support for the googSuspendBelowMinBitrate constraint is about to be removed. Please stop using this legacy constraint."
1429
- },
1430
1421
  "models/issues_manager/DeprecationIssue.ts | localCSSFileExtensionRejected": {
1431
1422
  "message": "CSS cannot be loaded from file: URLs unless they end in a .css file extension."
1432
1423
  },
@@ -1505,9 +1496,6 @@
1505
1496
  "models/issues_manager/DeprecationIssue.ts | rtcPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics": {
1506
1497
  "message": "Complex Plan B SDP detected. This dialect of the Session Description Protocol is no longer supported. Please use Unified Plan SDP instead."
1507
1498
  },
1508
- "models/issues_manager/DeprecationIssue.ts | rtcPeerConnectionLegacyCreateWithMediaConstraints": {
1509
- "message": "The mediaConstraints version of RTCOfferOptions/RTCAnswerOptions are deprecated and will soon be removed, please migrate to the promise-based createOffer/createAnswer instead."
1510
- },
1511
1499
  "models/issues_manager/DeprecationIssue.ts | rtcPeerConnectionSdpSemanticsPlanB": {
1512
1500
  "message": "Plan B SDP semantics, which is used when constructing an RTCPeerConnection with {sdpSemantics:'plan-b'}, is a legacy non-standard version of the Session Description Protocol that has been permanently deleted from the Web Platform. It is still available when building with IS_FUCHSIA, but we intend to delete it as soon as possible. Stop depending on it. See https://crbug.com/1302249 for status."
1513
1501
  },
@@ -1517,9 +1505,6 @@
1517
1505
  "models/issues_manager/DeprecationIssue.ts | rtpDataChannel": {
1518
1506
  "message": "RTP data channels are no longer supported. The RtpDataChannels constraint is currently ignored, and may cause an error at a later date."
1519
1507
  },
1520
- "models/issues_manager/DeprecationIssue.ts | selectionAddRangeIntersect": {
1521
- "message": "The behavior that Selection.addRange() merges existing Range and the specified Range was removed."
1522
- },
1523
1508
  "models/issues_manager/DeprecationIssue.ts | sharedArrayBufferConstructedWithoutIsolation": {
1524
1509
  "message": "SharedArrayBuffer will require cross-origin isolation. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details."
1525
1510
  },
@@ -1532,9 +1517,6 @@
1532
1517
  "models/issues_manager/DeprecationIssue.ts | v8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
1533
1518
  "message": "Extensions should opt into cross-origin isolation to continue using SharedArrayBuffer. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/."
1534
1519
  },
1535
- "models/issues_manager/DeprecationIssue.ts | webCodecsVideoFrameDefaultTimestamp": {
1536
- "message": "Constructing a VideoFrame without a timestamp is deprecated and support will be removed. Please provide a timestamp via VideoFrameInit."
1537
- },
1538
1520
  "models/issues_manager/DeprecationIssue.ts | xhrJSONEncodingDetection": {
1539
1521
  "message": "UTF-16 is not supported by response json in XMLHttpRequest"
1540
1522
  },
@@ -5117,6 +5099,12 @@
5117
5099
  "panels/elements/StylesSidebarPane.ts | clickToRevealLayer": {
5118
5100
  "message": "Click to reveal layer in layer tree"
5119
5101
  },
5102
+ "panels/elements/StylesSidebarPane.ts | copiedToClipboard": {
5103
+ "message": "Copied to clipboard"
5104
+ },
5105
+ "panels/elements/StylesSidebarPane.ts | copyAllCSSChanges": {
5106
+ "message": "Copy all the CSS changes"
5107
+ },
5120
5108
  "panels/elements/StylesSidebarPane.ts | cssPropertyName": {
5121
5109
  "message": "CSS property name: {PH1}"
5122
5110
  },
@@ -5549,15 +5537,6 @@
5549
5537
  "panels/issues/AttributionReportingIssueDetailsView.ts | frame": {
5550
5538
  "message": "Frame"
5551
5539
  },
5552
- "panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourceEventId": {
5553
- "message": "Invalid attributionsourceeventid"
5554
- },
5555
- "panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourceExpiry": {
5556
- "message": "Invalid attributionexpiry"
5557
- },
5558
- "panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourcePriority": {
5559
- "message": "Invalid attributionsourcepriority"
5560
- },
5561
5540
  "panels/issues/AttributionReportingIssueDetailsView.ts | nViolations": {
5562
5541
  "message": "{n, plural, =1 {# violation} other {# violations}}"
5563
5542
  },
@@ -10466,9 +10445,6 @@
10466
10445
  "panels/timeline/TimelineFlameChartDataProvider.ts | idleFrame": {
10467
10446
  "message": "Idle Frame"
10468
10447
  },
10469
- "panels/timeline/TimelineFlameChartDataProvider.ts | input": {
10470
- "message": "Input"
10471
- },
10472
10448
  "panels/timeline/TimelineFlameChartDataProvider.ts | interactions": {
10473
10449
  "message": "Interactions"
10474
10450
  },
@@ -1415,18 +1415,9 @@
1415
1415
  "models/issues_manager/DeprecationIssue.ts | insecurePrivateNetworkSubresourceRequest": {
1416
1416
  "message": "T̂h́ê ẃêb́ŝít̂é r̂éq̂úêśt̂éd̂ á ŝúb̂ŕêśôúr̂ćê f́r̂óm̂ á n̂ét̂ẃôŕk̂ t́ĥát̂ ít̂ ćôúl̂d́ ôńl̂ý âćĉéŝś b̂éĉáûśê óf̂ ít̂ś ûśêŕŝ' ṕr̂ív̂íl̂éĝéd̂ ńêt́ŵór̂ḱ p̂óŝít̂íôń. T̂h́êśê ŕêq́ûéŝt́ŝ éx̂ṕôśê ńôń-p̂úb̂ĺîć d̂év̂íĉéŝ án̂d́ ŝér̂v́êŕŝ t́ô t́ĥé îńt̂ér̂ńêt́, îńĉŕêáŝín̂ǵ t̂h́ê ŕîśk̂ óf̂ á ĉŕôśŝ-śît́ê ŕêq́ûéŝt́ f̂ór̂ǵêŕŷ (ĆŜŔF̂) át̂t́âćk̂, án̂d́/ôŕ îńf̂ór̂ḿât́îón̂ ĺêák̂áĝé. T̂ó m̂ít̂íĝát̂é t̂h́êśê ŕîśk̂ś, Ĉh́r̂óm̂é d̂ép̂ŕêćât́êś r̂éq̂úêśt̂ś t̂ó n̂ón̂-ṕûb́l̂íĉ śûb́r̂éŝóûŕĉéŝ ẃĥén̂ ín̂ít̂íât́êd́ f̂ŕôḿ n̂ón̂-śêćûŕê ćôńt̂éx̂t́ŝ, án̂d́ ŵíl̂ĺ ŝt́âŕt̂ b́l̂óĉḱîńĝ t́ĥém̂."
1417
1417
  },
1418
- "models/issues_manager/DeprecationIssue.ts | legacyConstraintGoogCpuOveruseDetection": {
1419
- "message": "ĈṔÛ óv̂ér̂úŝé d̂ét̂éĉt́îón̂ íŝ én̂áb̂ĺêd́-b̂ý-d̂éf̂áûĺt̂ án̂d́ t̂h́ê áb̂íl̂ít̂ý t̂ó d̂íŝáb̂ĺê ít̂ úŝín̂ǵ googCpuOveruseDetection ŵíl̂ĺ ŝóôń b̂é r̂ém̂óv̂éd̂. Ṕl̂éâśê śt̂óp̂ úŝín̂ǵ t̂h́îś l̂éĝáĉý ĉón̂śt̂ŕâín̂t́."
1420
- },
1421
1418
  "models/issues_manager/DeprecationIssue.ts | legacyConstraintGoogIPv6": {
1422
1419
  "message": "ÎṔv̂6 íŝ én̂áb̂ĺêd́-b̂ý-d̂éf̂áûĺt̂ án̂d́ t̂h́ê áb̂íl̂ít̂ý t̂ó d̂íŝáb̂ĺê ít̂ úŝín̂ǵ googIPv6 ŵíl̂ĺ ŝóôń b̂é r̂ém̂óv̂éd̂. Ṕl̂éâśê śt̂óp̂ úŝín̂ǵ t̂h́îś l̂éĝáĉý ĉón̂śt̂ŕâín̂t́."
1423
1420
  },
1424
- "models/issues_manager/DeprecationIssue.ts | legacyConstraintGoogScreencastMinBitrate": {
1425
- "message": "Ŝćr̂éêńĉáŝt́ m̂ín̂ b́ît́r̂át̂é îś n̂óŵ śêt́ t̂ó 100 k̂b́p̂ś b̂ý d̂éf̂áûĺt̂ án̂d́ googScreencastMinBitrate ŵíl̂ĺ ŝóôń b̂é îǵn̂ór̂éd̂ ín̂ f́âv́ôŕ ôf́ t̂h́îś n̂éŵ d́êf́âúl̂t́. P̂ĺêáŝé ŝt́ôṕ ûśîńĝ t́ĥíŝ ĺêǵâćŷ ćôńŝt́r̂áîńt̂."
1426
- },
1427
- "models/issues_manager/DeprecationIssue.ts | legacyConstraintGoogSuspendBelowMinBitrate": {
1428
- "message": "Ŝúp̂ṕôŕt̂ f́ôŕ t̂h́ê googSuspendBelowMinBitrate ćôńŝt́r̂áîńt̂ íŝ áb̂óût́ t̂ó b̂é r̂ém̂óv̂éd̂. Ṕl̂éâśê śt̂óp̂ úŝín̂ǵ t̂h́îś l̂éĝáĉý ĉón̂śt̂ŕâín̂t́."
1429
- },
1430
1421
  "models/issues_manager/DeprecationIssue.ts | localCSSFileExtensionRejected": {
1431
1422
  "message": "ĈŚŜ ćâńn̂ót̂ b́ê ĺôád̂éd̂ f́r̂óm̂ file: ÚR̂Ĺŝ ún̂ĺêśŝ t́ĥéŷ én̂d́ îń â .css f́îĺê éx̂t́êńŝíôń."
1432
1423
  },
@@ -1505,9 +1496,6 @@
1505
1496
  "models/issues_manager/DeprecationIssue.ts | rtcPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics": {
1506
1497
  "message": "Complex Plan B SDP d̂ét̂éĉt́êd́. T̂h́îś d̂íâĺêćt̂ óf̂ t́ĥé Session Description Protocol îś n̂ó l̂ón̂ǵêŕ ŝúp̂ṕôŕt̂éd̂. Ṕl̂éâśê úŝé Unified Plan SDP îńŝt́êád̂."
1507
1498
  },
1508
- "models/issues_manager/DeprecationIssue.ts | rtcPeerConnectionLegacyCreateWithMediaConstraints": {
1509
- "message": "T̂h́ê mediaConstraints v́êŕŝíôń ôf́ RTCOfferOptions/RTCAnswerOptions âŕê d́êṕr̂éĉát̂éd̂ án̂d́ ŵíl̂ĺ ŝóôń b̂é r̂ém̂óv̂éd̂, ṕl̂éâśê ḿîǵr̂át̂é t̂ó t̂h́ê ṕr̂óm̂íŝé-b̂áŝéd̂ createOffer/createAnswer ín̂śt̂éâd́."
1510
- },
1511
1499
  "models/issues_manager/DeprecationIssue.ts | rtcPeerConnectionSdpSemanticsPlanB": {
1512
1500
  "message": "Plan B SDP semantics, ŵh́îćĥ íŝ úŝéd̂ ẃĥén̂ ćôńŝt́r̂úĉt́îńĝ án̂ RTCPeerConnection ẃît́ĥ {sdpSemantics:'plan-b'}, íŝ á l̂éĝáĉý n̂ón̂-śt̂án̂d́âŕd̂ v́êŕŝíôń ôf́ t̂h́ê Session Description Protocol t́ĥát̂ h́âś b̂éêń p̂ér̂ḿâńêńt̂ĺŷ d́êĺêt́êd́ f̂ŕôḿ t̂h́ê Ẃêb́ P̂ĺât́f̂ór̂ḿ. Ît́ îś ŝt́îĺl̂ áv̂áîĺâb́l̂é ŵh́êń b̂úîĺd̂ín̂ǵ ŵít̂h́ IS_FUCHSIA, b̂út̂ ẃê ín̂t́êńd̂ t́ô d́êĺêt́ê ít̂ áŝ śôón̂ áŝ ṕôśŝíb̂ĺê. Śt̂óp̂ d́êṕêńd̂ín̂ǵ ôń ît́. Ŝéê h́t̂t́p̂ś://ĉŕb̂úĝ.ćôḿ/1302249 f̂ór̂ śt̂át̂úŝ."
1513
1501
  },
@@ -1517,9 +1505,6 @@
1517
1505
  "models/issues_manager/DeprecationIssue.ts | rtpDataChannel": {
1518
1506
  "message": "RTP data channels âŕê ńô ĺôńĝér̂ śûṕp̂ór̂t́êd́. T̂h́ê RtpDataChannels ćôńŝt́r̂áîńt̂ íŝ ćûŕr̂én̂t́l̂ý îǵn̂ór̂éd̂, án̂d́ m̂áŷ ćâúŝé âń êŕr̂ór̂ át̂ á l̂át̂ér̂ d́ât́ê."
1519
1507
  },
1520
- "models/issues_manager/DeprecationIssue.ts | selectionAddRangeIntersect": {
1521
- "message": "T̂h́ê b́êh́âv́îór̂ t́ĥát̂ Selection.addRange() ḿêŕĝéŝ éx̂íŝt́îńĝ Ŕâńĝé âńd̂ t́ĥé ŝṕêćîf́îéd̂ Ŕâńĝé ŵáŝ ŕêḿôv́êd́."
1522
- },
1523
1508
  "models/issues_manager/DeprecationIssue.ts | sharedArrayBufferConstructedWithoutIsolation": {
1524
1509
  "message": "SharedArrayBuffer ŵíl̂ĺ r̂éq̂úîŕê ćr̂óŝś-ôŕîǵîń îśôĺât́îón̂. Śêé ĥt́t̂ṕŝ://d́êv́êĺôṕêŕ.ĉh́r̂óm̂é.ĉóm̂/b́l̂óĝ/én̂áb̂ĺîńĝ-śĥár̂éd̂-ár̂ŕâý-b̂úf̂f́êŕ/ f̂ór̂ ḿôŕê d́êt́âíl̂ś."
1525
1510
  },
@@ -1532,9 +1517,6 @@
1532
1517
  "models/issues_manager/DeprecationIssue.ts | v8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
1533
1518
  "message": "Êx́t̂én̂śîón̂ś ŝh́ôúl̂d́ ôṕt̂ ín̂t́ô ćr̂óŝś-ôŕîǵîń îśôĺât́îón̂ t́ô ćôńt̂ín̂úê úŝín̂ǵ SharedArrayBuffer. Ŝéê h́t̂t́p̂ś://d̂év̂él̂óp̂ér̂.ćĥŕôḿê.ćôḿ/d̂óĉś/êx́t̂én̂śîón̂ś/m̂v́3/ĉŕôśŝ-ór̂íĝín̂-íŝól̂át̂íôń/."
1534
1519
  },
1535
- "models/issues_manager/DeprecationIssue.ts | webCodecsVideoFrameDefaultTimestamp": {
1536
- "message": "Ĉón̂śt̂ŕûćt̂ín̂ǵ â VideoFrame ẃît́ĥóût́ â t́îḿêśt̂ám̂ṕ îś d̂ép̂ŕêćât́êd́ âńd̂ śûṕp̂ór̂t́ ŵíl̂ĺ b̂é r̂ém̂óv̂éd̂. Ṕl̂éâśê ṕr̂óv̂íd̂é â t́îḿêśt̂ám̂ṕ v̂íâ VideoFrameInit."
1537
- },
1538
1520
  "models/issues_manager/DeprecationIssue.ts | xhrJSONEncodingDetection": {
1539
1521
  "message": "ÛT́F̂-16 íŝ ńôt́ ŝúp̂ṕôŕt̂éd̂ b́ŷ ŕêśp̂ón̂śê j́ŝón̂ ín̂ XMLHttpRequest"
1540
1522
  },
@@ -5117,6 +5099,12 @@
5117
5099
  "panels/elements/StylesSidebarPane.ts | clickToRevealLayer": {
5118
5100
  "message": "Ĉĺîćk̂ t́ô ŕêv́êál̂ ĺâýêŕ îń l̂áŷér̂ t́r̂éê"
5119
5101
  },
5102
+ "panels/elements/StylesSidebarPane.ts | copiedToClipboard": {
5103
+ "message": "Ĉóp̂íêd́ t̂ó ĉĺîṕb̂óâŕd̂"
5104
+ },
5105
+ "panels/elements/StylesSidebarPane.ts | copyAllCSSChanges": {
5106
+ "message": "Ĉóp̂ý âĺl̂ t́ĥé ĈŚŜ ćĥán̂ǵêś"
5107
+ },
5120
5108
  "panels/elements/StylesSidebarPane.ts | cssPropertyName": {
5121
5109
  "message": "CSS p̂ŕôṕêŕt̂ý n̂ám̂é: {PH1}"
5122
5110
  },
@@ -5549,15 +5537,6 @@
5549
5537
  "panels/issues/AttributionReportingIssueDetailsView.ts | frame": {
5550
5538
  "message": "F̂ŕâḿê"
5551
5539
  },
5552
- "panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourceEventId": {
5553
- "message": "Îńv̂ál̂íd̂ attributionsourceeventid"
5554
- },
5555
- "panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourceExpiry": {
5556
- "message": "Îńv̂ál̂íd̂ attributionexpiry"
5557
- },
5558
- "panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourcePriority": {
5559
- "message": "Îńv̂ál̂íd̂ attributionsourcepriority"
5560
- },
5561
5540
  "panels/issues/AttributionReportingIssueDetailsView.ts | nViolations": {
5562
5541
  "message": "{n, plural, =1 {# v̂íôĺât́îón̂} other {# v́îól̂át̂íôńŝ}}"
5563
5542
  },
@@ -10466,9 +10445,6 @@
10466
10445
  "panels/timeline/TimelineFlameChartDataProvider.ts | idleFrame": {
10467
10446
  "message": "Îd́l̂é F̂ŕâḿê"
10468
10447
  },
10469
- "panels/timeline/TimelineFlameChartDataProvider.ts | input": {
10470
- "message": "Îńp̂út̂"
10471
- },
10472
10448
  "panels/timeline/TimelineFlameChartDataProvider.ts | interactions": {
10473
10449
  "message": "Îńt̂ér̂áĉt́îón̂ś"
10474
10450
  },
@@ -409,6 +409,10 @@ export class SessionRouter {
409
409
  const callback = session.callbacks.get(messageObject.id);
410
410
  session.callbacks.delete(messageObject.id);
411
411
  if (!callback) {
412
+ if (messageObject.error?.code === ConnectionClosedErrorCode) {
413
+ // Ignore the errors that are sent as responses after the session closes.
414
+ return;
415
+ }
412
416
  if (!suppressUnknownMessageErrors) {
413
417
  InspectorBackend.reportProtocolError('Protocol Error: the message with wrong id', messageObject);
414
418
  }
@@ -153,7 +153,9 @@ export class ExperimentsSupport {
153
153
  Platform.DCHECK(
154
154
  () => !this.#experimentNames.has(experimentName), 'Duplicate registration of experiment ' + experimentName);
155
155
  this.#experimentNames.add(experimentName);
156
- this.#experiments.push(new Experiment(this, experimentName, experimentTitle, Boolean(unstable), docLink ?? ''));
156
+ this.#experiments.push(new Experiment(
157
+ this, experimentName, experimentTitle, Boolean(unstable),
158
+ docLink as Platform.DevToolsPath.UrlString ?? Platform.DevToolsPath.EmptyUrlString));
157
159
  }
158
160
 
159
161
  isEnabled(experimentName: string): boolean {
@@ -244,9 +246,11 @@ export class Experiment {
244
246
  name: string;
245
247
  title: string;
246
248
  unstable: boolean;
247
- docLink?: string;
249
+ docLink?: Platform.DevToolsPath.UrlString;
248
250
  readonly #experiments: ExperimentsSupport;
249
- constructor(experiments: ExperimentsSupport, name: string, title: string, unstable: boolean, docLink: string) {
251
+ constructor(
252
+ experiments: ExperimentsSupport, name: string, title: string, unstable: boolean,
253
+ docLink: Platform.DevToolsPath.UrlString) {
250
254
  this.name = name;
251
255
  this.title = title;
252
256
  this.unstable = unstable;
@@ -34,6 +34,7 @@
34
34
 
35
35
  import * as Common from '../common/common.js';
36
36
  import * as i18n from '../i18n/i18n.js';
37
+ import type * as Platform from '../platform/platform.js';
37
38
  import type * as ProtocolProxyApi from '../../generated/protocol-proxy-api.js';
38
39
  import * as Protocol from '../../generated/protocol.js';
39
40
 
@@ -364,7 +365,7 @@ export class ServiceWorkerVersionState {
364
365
 
365
366
  export class ServiceWorkerVersion {
366
367
  id!: string;
367
- scriptURL!: string;
368
+ scriptURL!: Platform.DevToolsPath.UrlString;
368
369
  parsedURL!: Common.ParsedURL.ParsedURL;
369
370
  securityOrigin!: string;
370
371
  scriptLastModified!: number|undefined;
@@ -380,7 +381,7 @@ export class ServiceWorkerVersion {
380
381
 
381
382
  update(payload: Protocol.ServiceWorker.ServiceWorkerVersion): void {
382
383
  this.id = payload.versionId;
383
- this.scriptURL = payload.scriptURL;
384
+ this.scriptURL = payload.scriptURL as Platform.DevToolsPath.UrlString;
384
385
  const parsedURL = new Common.ParsedURL.ParsedURL(payload.scriptURL);
385
386
  this.securityOrigin = parsedURL.securityOrigin();
386
387
  this.currentState =
@@ -496,8 +497,8 @@ export namespace ServiceWorkerVersion {
496
497
  export class ServiceWorkerRegistration {
497
498
  #fingerprintInternal!: symbol;
498
499
  id!: Protocol.ServiceWorker.RegistrationID;
499
- scopeURL!: string;
500
- securityOrigin!: string;
500
+ scopeURL!: Platform.DevToolsPath.UrlString;
501
+ securityOrigin!: Platform.DevToolsPath.UrlString;
501
502
  isDeleted!: boolean;
502
503
  versions: Map<string, ServiceWorkerVersion>;
503
504
  deleting: boolean;
@@ -513,7 +514,7 @@ export class ServiceWorkerRegistration {
513
514
  update(payload: Protocol.ServiceWorker.ServiceWorkerRegistration): void {
514
515
  this.#fingerprintInternal = Symbol('fingerprint');
515
516
  this.id = payload.registrationId;
516
- this.scopeURL = payload.scopeURL;
517
+ this.scopeURL = payload.scopeURL as Platform.DevToolsPath.UrlString;
517
518
  const parsedURL = new Common.ParsedURL.ParsedURL(payload.scopeURL);
518
519
  this.securityOrigin = parsedURL.securityOrigin();
519
520
  this.isDeleted = payload.isDeleted;
@@ -22,3 +22,17 @@ export interface FormatResult {
22
22
  content: string;
23
23
  mapping: FormatMapping;
24
24
  }
25
+
26
+ export const enum DefinitionKind {
27
+ None = 0,
28
+ Let = 1,
29
+ Var = 2,
30
+ Fixed = 3,
31
+ }
32
+
33
+ export interface ScopeTreeNode {
34
+ variables: {name: string, kind: DefinitionKind, offsets: number[]}[];
35
+ start: number;
36
+ end: number;
37
+ children: ScopeTreeNode[];
38
+ }