chrome-devtools-frontend 1.0.960864 → 1.0.962581

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 (50) hide show
  1. package/.eslintignore +5 -4
  2. package/.vscode/devtools-workspace-launch.json +29 -0
  3. package/.vscode/devtools-workspace-settings.json +6 -1
  4. package/.vscode/devtools-workspace-tasks.json +28 -0
  5. package/config/gni/devtools_grd_files.gni +1 -4
  6. package/front_end/core/i18n/locales/en-US.json +36 -24
  7. package/front_end/core/i18n/locales/en-XL.json +36 -24
  8. package/front_end/core/protocol_client/InspectorBackend.ts +7 -7
  9. package/front_end/core/sdk/CSSProperty.ts +22 -110
  10. package/front_end/core/sdk/DebuggerModel.ts +8 -1
  11. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +3 -0
  12. package/front_end/generated/InspectorBackendCommands.js +21 -2
  13. package/front_end/generated/SupportedCSSProperties.js +3 -1
  14. package/front_end/generated/protocol-mapping.d.ts +17 -1
  15. package/front_end/generated/protocol-proxy-api.d.ts +18 -1
  16. package/front_end/generated/protocol-tsconfig.json +2 -2
  17. package/front_end/generated/protocol.ts +16772 -0
  18. package/front_end/models/emulation/EmulatedDevices.ts +3 -3
  19. package/front_end/models/issues_manager/IssuesManager.ts +0 -5
  20. package/front_end/models/issues_manager/issues_manager.ts +0 -2
  21. package/front_end/models/text_utils/text_utils-legacy.ts +0 -5
  22. package/front_end/models/text_utils/text_utils.ts +0 -2
  23. package/front_end/panels/application/IndexedDBModel.ts +3 -0
  24. package/front_end/panels/application/components/FrameDetailsView.ts +5 -1
  25. package/front_end/panels/application/components/PermissionsPolicySection.ts +16 -4
  26. package/front_end/panels/console/ConsoleView.ts +10 -1
  27. package/front_end/panels/elements/ElementsPanel.ts +10 -1
  28. package/front_end/panels/issues/IssueAggregator.ts +0 -10
  29. package/front_end/panels/issues/IssueView.ts +0 -2
  30. package/front_end/panels/sources/SourcesPanel.ts +20 -2
  31. package/front_end/panels/timeline/TimelineTreeView.ts +10 -1
  32. package/front_end/third_party/additional_readme_paths.json +1 -0
  33. package/front_end/ui/components/buttons/Button.ts +6 -1
  34. package/front_end/ui/components/docs/button/basic.ts +1 -0
  35. package/front_end/ui/components/docs/icon_button/basic.ts +2 -7
  36. package/front_end/ui/components/icon_button/IconButton.ts +1 -1
  37. package/front_end/ui/components/text_editor/TextEditor.ts +8 -1
  38. package/front_end/ui/components/text_editor/config.ts +3 -2
  39. package/front_end/ui/legacy/SplitWidget.ts +6 -2
  40. package/front_end/ui/legacy/UIUtils.ts +1 -1
  41. package/package.json +1 -1
  42. package/scripts/build/assert_third_party_readmes.py +2 -1
  43. package/scripts/build/ninja/devtools_entrypoint.gni +25 -17
  44. package/scripts/devtools_paths.py +4 -0
  45. package/scripts/protocol_typescript/protocol_dts_generator.ts +4 -9
  46. package/front_end/generated/protocol.d.ts +0 -16692
  47. package/front_end/models/issues_manager/WasmCrossOriginModuleSharingIssue.ts +0 -67
  48. package/front_end/models/issues_manager/descriptions/wasmCrossOriginModuleSharing.md +0 -5
  49. package/front_end/models/text_utils/CodeMirrorUtils.ts +0 -77
  50. package/front_end/panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts +0 -90
package/.eslintignore CHANGED
@@ -5,13 +5,14 @@
5
5
  // clang-format check also ignores that file
6
6
  front_end/.eslintrc.js
7
7
  front_end/diff/diff_match_patch.js
8
+ front_end/generated/protocol.ts
8
9
  front_end/javascript_metadata/NativeFunctions.js
9
10
  front_end/third_party/
11
+ node_modules
12
+ scripts/migration/**/*.js
13
+ scripts/protocol_typescript/*.js
14
+ test/**/fixtures/
10
15
  test/e2e/**/*.js
11
16
  test/shared/**/*.js
12
- test/**/fixtures/
13
- scripts/protocol_typescript/*.js
14
- scripts/migration/**/*.js
15
- node_modules
16
17
 
17
18
  *.d.ts
@@ -0,0 +1,29 @@
1
+ {
2
+ "version": "0.2.0",
3
+ "configurations": [
4
+ {
5
+ "type": "pwa-chrome",
6
+ "request": "launch",
7
+ "name": "Run unit tests in VS Code debugger",
8
+ "preLaunchTask": "1-build_Debug",
9
+ "runtimeExecutable": "/usr/bin/npm",
10
+ "runtimeArgs": ["run", "unittest"],
11
+ "port": 9222,
12
+ "timeout": 30000,
13
+ "browserLaunchLocation": "workspace",
14
+ "outputCapture": "std",
15
+ "trace": true,
16
+ "env" : {
17
+ "KARMA_TIMEOUT": "3600000"
18
+ }
19
+ },
20
+ {
21
+ "type": "pwa-node",
22
+ "request": "launch",
23
+ "name": "Run end-to-end tests in VS Code debugger",
24
+ "preLaunchTask": "1-build_Debug",
25
+ "runtimeExecutable": "/usr/bin/npm",
26
+ "runtimeArgs": ["run", "e2etest"]
27
+ }
28
+ ]
29
+ }
@@ -1,4 +1,9 @@
1
1
  {
2
2
  "eslint.runtime": "third_party/node/node.py",
3
- "typescript.tsdk": "node_modules/typescript/lib"
3
+ "typescript.tsdk": "node_modules/typescript/lib",
4
+ "debug.javascript.terminalOptions": {
5
+ "skipFiles": [
6
+ "node_modules/typescript/**"
7
+ ]
8
+ }
4
9
  }
@@ -0,0 +1,28 @@
1
+ {
2
+ "version": "2.0.0",
3
+ "runner": "terminal",
4
+ "tasks": [
5
+ {
6
+ "label": "1-build_Debug",
7
+ "type": "shell",
8
+ "command": "npm run build",
9
+ "group": {"kind": "build", "isDefault": true},
10
+ "presentation": {
11
+ "echo": true,
12
+ "reveal": "always"
13
+ },
14
+ "problemMatcher": [
15
+ {
16
+ "owner": "typescript",
17
+ "fileLocation": ["relative", "${workspaceRoot}/out/Default"],
18
+ "pattern": {
19
+ "regexp": "^([^\\s].*)\\((\\d+,\\d+)\\):\\s*(.*)$",
20
+ "file": 1,
21
+ "location": 2,
22
+ "message": 3
23
+ }
24
+ }
25
+ ]
26
+ }
27
+ ]
28
+ }
@@ -308,7 +308,6 @@ grd_files_release_sources = [
308
308
  "front_end/models/issues_manager/descriptions/heavyAd.md",
309
309
  "front_end/models/issues_manager/descriptions/mixedContent.md",
310
310
  "front_end/models/issues_manager/descriptions/sharedArrayBuffer.md",
311
- "front_end/models/issues_manager/descriptions/wasmCrossOriginModuleSharing.md",
312
311
  "front_end/models/issues_manager/issues_manager.js",
313
312
  "front_end/models/javascript_metadata/javascript_metadata.js",
314
313
  "front_end/models/logs/logs-meta.js",
@@ -660,6 +659,7 @@ grd_files_debug_sources = [
660
659
  "front_end/generated/ARIAProperties.js",
661
660
  "front_end/generated/InspectorBackendCommands.js",
662
661
  "front_end/generated/SupportedCSSProperties.js",
662
+ "front_end/generated/protocol.js",
663
663
  "front_end/legacy_test_runner/test_runner/TestRunner.js",
664
664
  "front_end/models/bindings/BreakpointManager.js",
665
665
  "front_end/models/bindings/CSSWorkspaceBinding.js",
@@ -718,7 +718,6 @@ grd_files_debug_sources = [
718
718
  "front_end/models/issues_manager/SharedArrayBufferIssue.js",
719
719
  "front_end/models/issues_manager/SourceFrameIssuesManager.js",
720
720
  "front_end/models/issues_manager/TrustedWebActivityIssue.js",
721
- "front_end/models/issues_manager/WasmCrossOriginModuleSharingIssue.js",
722
721
  "front_end/models/javascript_metadata/JavaScriptMetadata.js",
723
722
  "front_end/models/javascript_metadata/NativeFunctions.js",
724
723
  "front_end/models/logs/LogManager.js",
@@ -737,7 +736,6 @@ grd_files_debug_sources = [
737
736
  "front_end/models/persistence/WorkspaceSettingsTab.js",
738
737
  "front_end/models/persistence/editFileSystemView.css.js",
739
738
  "front_end/models/persistence/workspaceSettingsTab.css.js",
740
- "front_end/models/text_utils/CodeMirrorUtils.js",
741
739
  "front_end/models/text_utils/ContentProvider.js",
742
740
  "front_end/models/text_utils/StaticContentProvider.js",
743
741
  "front_end/models/text_utils/Text.js",
@@ -992,7 +990,6 @@ grd_files_debug_sources = [
992
990
  "front_end/panels/issues/IssueRevealer.js",
993
991
  "front_end/panels/issues/IssueView.js",
994
992
  "front_end/panels/issues/IssuesPane.js",
995
- "front_end/panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.js",
996
993
  "front_end/panels/issues/components/HideIssuesMenu.js",
997
994
  "front_end/panels/issues/components/hideIssuesMenu.css.js",
998
995
  "front_end/panels/issues/cspViolationsListView.css.js",
@@ -1394,9 +1394,6 @@
1394
1394
  "models/issues_manager/TrustedWebActivityIssue.ts | changesToQualityCriteriaForPwas": {
1395
1395
  "message": "Changes to quality criteria for PWAs using Trusted Web Activity"
1396
1396
  },
1397
- "models/issues_manager/WasmCrossOriginModuleSharingIssue.ts | linkTitle": {
1398
- "message": "Restricting Wasm module sharing to same-origin"
1399
- },
1400
1397
  "models/logs/logs-meta.ts | clear": {
1401
1398
  "message": "clear"
1402
1399
  },
@@ -2897,6 +2894,9 @@
2897
2894
  "panels/application/components/FrameDetailsView.ts | parentIsAdExplanation": {
2898
2895
  "message": "This frame is considered an ad frame because its parent frame is an ad frame."
2899
2896
  },
2897
+ "panels/application/components/FrameDetailsView.ts | refresh": {
2898
+ "message": "Refresh"
2899
+ },
2900
2900
  "panels/application/components/FrameDetailsView.ts | reportingTo": {
2901
2901
  "message": "reporting to"
2902
2902
  },
@@ -2990,6 +2990,9 @@
2990
2990
  "panels/application/components/PermissionsPolicySection.ts | clickToShowIframe": {
2991
2991
  "message": "Click to reveal the top-most iframe which does not allow this feature in the elements panel."
2992
2992
  },
2993
+ "panels/application/components/PermissionsPolicySection.ts | disabledByFencedFrame": {
2994
+ "message": "disabled inside a fencedframe"
2995
+ },
2993
2996
  "panels/application/components/PermissionsPolicySection.ts | disabledByHeader": {
2994
2997
  "message": "disabled by \"Permissions-Policy\" header"
2995
2998
  },
@@ -3806,6 +3809,12 @@
3806
3809
  "panels/console/ConsoleView.ts | consoleSettings": {
3807
3810
  "message": "Console settings"
3808
3811
  },
3812
+ "panels/console/ConsoleView.ts | consoleSidebarHidden": {
3813
+ "message": "Console sidebar hidden"
3814
+ },
3815
+ "panels/console/ConsoleView.ts | consoleSidebarShown": {
3816
+ "message": "Console sidebar shown"
3817
+ },
3809
3818
  "panels/console/ConsoleView.ts | copyVisibleStyledSelection": {
3810
3819
  "message": "Copy visible styled selection"
3811
3820
  },
@@ -4499,6 +4508,12 @@
4499
4508
  "panels/elements/ElementsPanel.ts | computed": {
4500
4509
  "message": "Computed"
4501
4510
  },
4511
+ "panels/elements/ElementsPanel.ts | computedStylesHidden": {
4512
+ "message": "Computed Styles sidebar hidden"
4513
+ },
4514
+ "panels/elements/ElementsPanel.ts | computedStylesShown": {
4515
+ "message": "Computed Styles sidebar shown"
4516
+ },
4502
4517
  "panels/elements/ElementsPanel.ts | domTreeExplorer": {
4503
4518
  "message": "DOM tree explorer"
4504
4519
  },
@@ -5483,27 +5498,6 @@
5483
5498
  "panels/issues/IssueView.ts | warned": {
5484
5499
  "message": "Warned"
5485
5500
  },
5486
- "panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts | blocked": {
5487
- "message": "blocked"
5488
- },
5489
- "panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts | nModuleTransfers": {
5490
- "message": "{n, plural, =1 {# module} other {# modules}}"
5491
- },
5492
- "panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts | sourceOrigin": {
5493
- "message": "Source Origin"
5494
- },
5495
- "panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts | status": {
5496
- "message": "Status"
5497
- },
5498
- "panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts | targetOrigin": {
5499
- "message": "Target Origin"
5500
- },
5501
- "panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts | warned": {
5502
- "message": "warning"
5503
- },
5504
- "panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts | wasmModuleUrl": {
5505
- "message": "Wasm Module URL"
5506
- },
5507
5501
  "panels/js_profiler/js_profiler-meta.ts | profiler": {
5508
5502
  "message": "Profiler"
5509
5503
  },
@@ -9794,6 +9788,12 @@
9794
9788
  "panels/sources/SourcesPanel.ts | copyStringContents": {
9795
9789
  "message": "Copy string contents"
9796
9790
  },
9791
+ "panels/sources/SourcesPanel.ts | debuggerHidden": {
9792
+ "message": "Debugger sidebar hidden"
9793
+ },
9794
+ "panels/sources/SourcesPanel.ts | debuggerShown": {
9795
+ "message": "Debugger sidebar shown"
9796
+ },
9797
9797
  "panels/sources/SourcesPanel.ts | dontPauseOnExceptions": {
9798
9798
  "message": "Don't pause on exceptions"
9799
9799
  },
@@ -9812,6 +9812,12 @@
9812
9812
  "panels/sources/SourcesPanel.ts | moreOptions": {
9813
9813
  "message": "More options"
9814
9814
  },
9815
+ "panels/sources/SourcesPanel.ts | navigatorHidden": {
9816
+ "message": "Navigator sidebar hidden"
9817
+ },
9818
+ "panels/sources/SourcesPanel.ts | navigatorShown": {
9819
+ "message": "Navigator sidebar shown"
9820
+ },
9815
9821
  "panels/sources/SourcesPanel.ts | openInSourcesPanel": {
9816
9822
  "message": "Open in Sources panel"
9817
9823
  },
@@ -10346,6 +10352,12 @@
10346
10352
  "panels/timeline/TimelineTreeView.ts | heaviestStack": {
10347
10353
  "message": "Heaviest stack"
10348
10354
  },
10355
+ "panels/timeline/TimelineTreeView.ts | heaviestStackHidden": {
10356
+ "message": "Heaviest stack sidebar hidden"
10357
+ },
10358
+ "panels/timeline/TimelineTreeView.ts | heaviestStackShown": {
10359
+ "message": "Heaviest stack sidebar shown"
10360
+ },
10349
10361
  "panels/timeline/TimelineTreeView.ts | hideHeaviestStack": {
10350
10362
  "message": "Hide Heaviest stack"
10351
10363
  },
@@ -1394,9 +1394,6 @@
1394
1394
  "models/issues_manager/TrustedWebActivityIssue.ts | changesToQualityCriteriaForPwas": {
1395
1395
  "message": "Ĉh́âńĝéŝ t́ô q́ûál̂ít̂ý ĉŕît́êŕîá f̂ór̂ ṔŴÁŝ úŝín̂ǵ T̂ŕûśt̂éd̂ Ẃêb́ Âćt̂ív̂ít̂ý"
1396
1396
  },
1397
- "models/issues_manager/WasmCrossOriginModuleSharingIssue.ts | linkTitle": {
1398
- "message": "R̂éŝt́r̂íĉt́îńĝ Ẃâśm̂ ḿôd́ûĺê śĥár̂ín̂ǵ t̂ó ŝám̂é-ôŕîǵîń"
1399
- },
1400
1397
  "models/logs/logs-meta.ts | clear": {
1401
1398
  "message": "ĉĺêár̂"
1402
1399
  },
@@ -2897,6 +2894,9 @@
2897
2894
  "panels/application/components/FrameDetailsView.ts | parentIsAdExplanation": {
2898
2895
  "message": "T̂h́îś f̂ŕâḿê íŝ ćôńŝíd̂ér̂éd̂ án̂ ád̂ f́r̂ám̂é b̂éĉáûśê ít̂ś p̂ár̂én̂t́ f̂ŕâḿê íŝ án̂ ád̂ f́r̂ám̂é."
2899
2896
  },
2897
+ "panels/application/components/FrameDetailsView.ts | refresh": {
2898
+ "message": "R̂éf̂ŕêśĥ"
2899
+ },
2900
2900
  "panels/application/components/FrameDetailsView.ts | reportingTo": {
2901
2901
  "message": "r̂ép̂ór̂t́îńĝ t́ô"
2902
2902
  },
@@ -2990,6 +2990,9 @@
2990
2990
  "panels/application/components/PermissionsPolicySection.ts | clickToShowIframe": {
2991
2991
  "message": "Ĉĺîćk̂ t́ô ŕêv́êál̂ t́ĥé t̂óp̂-ḿôśt̂ íf̂ŕâḿê ẃĥíĉh́ d̂óêś n̂ót̂ ál̂ĺôẃ t̂h́îś f̂éât́ûŕê ín̂ t́ĥé êĺêḿêńt̂ś p̂án̂él̂."
2992
2992
  },
2993
+ "panels/application/components/PermissionsPolicySection.ts | disabledByFencedFrame": {
2994
+ "message": "d̂íŝáb̂ĺêd́ îńŝíd̂é â fencedframe"
2995
+ },
2993
2996
  "panels/application/components/PermissionsPolicySection.ts | disabledByHeader": {
2994
2997
  "message": "d̂íŝáb̂ĺêd́ b̂ý \"Permissions-Policy\" ĥéâd́êŕ"
2995
2998
  },
@@ -3806,6 +3809,12 @@
3806
3809
  "panels/console/ConsoleView.ts | consoleSettings": {
3807
3810
  "message": "Ĉón̂śôĺê śêt́t̂ín̂ǵŝ"
3808
3811
  },
3812
+ "panels/console/ConsoleView.ts | consoleSidebarHidden": {
3813
+ "message": "Ĉón̂śôĺê śîd́êb́âŕ ĥíd̂d́êń"
3814
+ },
3815
+ "panels/console/ConsoleView.ts | consoleSidebarShown": {
3816
+ "message": "Ĉón̂śôĺê śîd́êb́âŕ ŝh́ôẃn̂"
3817
+ },
3809
3818
  "panels/console/ConsoleView.ts | copyVisibleStyledSelection": {
3810
3819
  "message": "Ĉóp̂ý v̂íŝíb̂ĺê śt̂ýl̂éd̂ śêĺêćt̂íôń"
3811
3820
  },
@@ -4499,6 +4508,12 @@
4499
4508
  "panels/elements/ElementsPanel.ts | computed": {
4500
4509
  "message": "Ĉóm̂ṕût́êd́"
4501
4510
  },
4511
+ "panels/elements/ElementsPanel.ts | computedStylesHidden": {
4512
+ "message": "Ĉóm̂ṕût́êd́ Ŝt́ŷĺêś ŝíd̂éb̂ár̂ h́îd́d̂én̂"
4513
+ },
4514
+ "panels/elements/ElementsPanel.ts | computedStylesShown": {
4515
+ "message": "Ĉóm̂ṕût́êd́ Ŝt́ŷĺêś ŝíd̂éb̂ár̂ śĥóŵń"
4516
+ },
4502
4517
  "panels/elements/ElementsPanel.ts | domTreeExplorer": {
4503
4518
  "message": "D̂ÓM̂ t́r̂éê éx̂ṕl̂ór̂ér̂"
4504
4519
  },
@@ -5483,27 +5498,6 @@
5483
5498
  "panels/issues/IssueView.ts | warned": {
5484
5499
  "message": "Ŵár̂ńêd́"
5485
5500
  },
5486
- "panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts | blocked": {
5487
- "message": "b̂ĺôćk̂éd̂"
5488
- },
5489
- "panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts | nModuleTransfers": {
5490
- "message": "{n, plural, =1 {# m̂ód̂úl̂é} other {# m̂ód̂úl̂éŝ}}"
5491
- },
5492
- "panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts | sourceOrigin": {
5493
- "message": "Ŝóûŕĉé Ôŕîǵîń"
5494
- },
5495
- "panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts | status": {
5496
- "message": "Ŝt́ât́ûś"
5497
- },
5498
- "panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts | targetOrigin": {
5499
- "message": "T̂ár̂ǵêt́ Ôŕîǵîń"
5500
- },
5501
- "panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts | warned": {
5502
- "message": "ŵár̂ńîńĝ"
5503
- },
5504
- "panels/issues/WasmCrossOriginModuleSharingAffectedResourcesView.ts | wasmModuleUrl": {
5505
- "message": "Ŵáŝḿ M̂ód̂úl̂é ÛŔL̂"
5506
- },
5507
5501
  "panels/js_profiler/js_profiler-meta.ts | profiler": {
5508
5502
  "message": "P̂ŕôf́îĺêŕ"
5509
5503
  },
@@ -9794,6 +9788,12 @@
9794
9788
  "panels/sources/SourcesPanel.ts | copyStringContents": {
9795
9789
  "message": "Ĉóp̂ý ŝt́r̂ín̂ǵ ĉón̂t́êńt̂ś"
9796
9790
  },
9791
+ "panels/sources/SourcesPanel.ts | debuggerHidden": {
9792
+ "message": "D̂éb̂úĝǵêŕ ŝíd̂éb̂ár̂ h́îd́d̂én̂"
9793
+ },
9794
+ "panels/sources/SourcesPanel.ts | debuggerShown": {
9795
+ "message": "D̂éb̂úĝǵêŕ ŝíd̂éb̂ár̂ śĥóŵń"
9796
+ },
9797
9797
  "panels/sources/SourcesPanel.ts | dontPauseOnExceptions": {
9798
9798
  "message": "D̂ón̂'t́ p̂áûśê ón̂ éx̂ćêṕt̂íôńŝ"
9799
9799
  },
@@ -9812,6 +9812,12 @@
9812
9812
  "panels/sources/SourcesPanel.ts | moreOptions": {
9813
9813
  "message": "M̂ór̂é ôṕt̂íôńŝ"
9814
9814
  },
9815
+ "panels/sources/SourcesPanel.ts | navigatorHidden": {
9816
+ "message": "N̂áv̂íĝát̂ór̂ śîd́êb́âŕ ĥíd̂d́êń"
9817
+ },
9818
+ "panels/sources/SourcesPanel.ts | navigatorShown": {
9819
+ "message": "N̂áv̂íĝát̂ór̂ śîd́êb́âŕ ŝh́ôẃn̂"
9820
+ },
9815
9821
  "panels/sources/SourcesPanel.ts | openInSourcesPanel": {
9816
9822
  "message": "Ôṕêń îń Ŝóûŕĉéŝ ṕâńêĺ"
9817
9823
  },
@@ -10346,6 +10352,12 @@
10346
10352
  "panels/timeline/TimelineTreeView.ts | heaviestStack": {
10347
10353
  "message": "Ĥéâv́îéŝt́ ŝt́âćk̂"
10348
10354
  },
10355
+ "panels/timeline/TimelineTreeView.ts | heaviestStackHidden": {
10356
+ "message": "Ĥéâv́îéŝt́ ŝt́âćk̂ śîd́êb́âŕ ĥíd̂d́êń"
10357
+ },
10358
+ "panels/timeline/TimelineTreeView.ts | heaviestStackShown": {
10359
+ "message": "Ĥéâv́îéŝt́ ŝt́âćk̂ śîd́êb́âŕ ŝh́ôẃn̂"
10360
+ },
10349
10361
  "panels/timeline/TimelineTreeView.ts | hideHeaviestStack": {
10350
10362
  "message": "Ĥíd̂é Ĥéâv́îéŝt́ ŝt́âćk̂"
10351
10363
  },
@@ -30,7 +30,7 @@
30
30
 
31
31
  import {NodeURL} from './NodeURL.js';
32
32
  import type * as ProtocolProxyApi from '../../generated/protocol-proxy-api.js';
33
- import * as Protocol from '../../generated/protocol.js';
33
+ import type * as Protocol from '../../generated/protocol.js';
34
34
 
35
35
  export const DevToolsStubErrorCode = -32015;
36
36
  // TODO(dgozman): we are not reporting generic errors in tests, but we should
@@ -147,14 +147,14 @@ export class InspectorBackend {
147
147
 
148
148
  registerEnum(type: QualifiedName, values: Object): void {
149
149
  const [domain, name] = splitQualifiedName(type);
150
- // @ts-ignore Protocol global namespace pollution
151
- if (!Protocol[domain]) {
152
- // @ts-ignore Protocol global namespace pollution
153
- Protocol[domain] = {};
150
+ // @ts-ignore globalThis global namespace pollution
151
+ if (!globalThis.Protocol[domain]) {
152
+ // @ts-ignore globalThis global namespace pollution
153
+ globalThis.Protocol[domain] = {};
154
154
  }
155
155
 
156
- // @ts-ignore Protocol global namespace pollution
157
- Protocol[domain][name] = values;
156
+ // @ts-ignore globalThis global namespace pollution
157
+ globalThis.Protocol[domain][name] = values;
158
158
  this.#initialized = true;
159
159
  }
160
160
 
@@ -3,13 +3,10 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import * as TextUtils from '../../models/text_utils/text_utils.js';
6
- import * as Common from '../common/common.js';
6
+ import type * as Common from '../common/common.js';
7
7
  import * as HostModule from '../host/host.js';
8
- import * as Platform from '../platform/platform.js';
9
- import * as Root from '../root/root.js';
10
8
  import type * as Protocol from '../../generated/protocol.js';
11
9
 
12
- import {cssMetadata, GridAreaRowRegex} from './CSSMetadata.js';
13
10
  import type {Edit} from './CSSModel.js';
14
11
  import type {CSSStyleDeclaration} from './CSSStyleDeclaration.js';
15
12
 
@@ -163,113 +160,17 @@ export class CSSProperty {
163
160
  }
164
161
 
165
162
  const range = this.range.relativeTo(this.ownerStyle.range.startLine, this.ownerStyle.range.startColumn);
166
- const indentation = this.ownerStyle.cssText ?
167
- this.detectIndentation(this.ownerStyle.cssText) :
168
- Common.Settings.Settings.instance().moduleSetting('textEditorIndent').get();
169
- const endIndentation = this.ownerStyle.cssText ? indentation.substring(0, this.ownerStyle.range.endColumn) : '';
170
163
  const text = new TextUtils.Text.Text(this.ownerStyle.cssText || '');
171
- const newStyleText = text.replaceRange(range, Platform.StringUtilities.sprintf(';%s;', propertyText));
172
- const tokenizerFactory = TextUtils.CodeMirrorUtils.TokenizerFactory.instance();
173
- const styleText = CSSProperty.formatStyle(newStyleText, indentation, endIndentation, tokenizerFactory);
174
- return this.ownerStyle.setText(styleText, majorChange);
175
- }
176
-
177
- static formatStyle(
178
- styleText: string, indentation: string, endIndentation: string,
179
- tokenizerFactory: TextUtils.TextUtils.TokenizerFactory): string {
180
- const doubleIndent = indentation.substring(endIndentation.length) + indentation;
181
- if (indentation) {
182
- indentation = '\n' + indentation;
183
- }
184
- let result = '';
185
- let propertyName = '';
186
- let propertyText = '';
187
- let insideProperty = false;
188
- let needsSemi = false;
189
- const tokenize = tokenizerFactory.createTokenizer('text/css');
190
-
191
- tokenize('*{' + styleText + '}', processToken);
192
- if (insideProperty) {
193
- result += propertyText;
194
- }
195
- result = result.substring(2, result.length - 1).trimRight();
196
- return result + (indentation ? '\n' + endIndentation : '');
197
-
198
- function processToken(token: string, tokenType: string|null, _column: number, _newColumn: number): void {
199
- if (!insideProperty) {
200
- const disabledProperty = tokenType && tokenType.includes('comment') && isDisabledProperty(token);
201
- const isPropertyStart = tokenType &&
202
- (tokenType.includes('string') || tokenType.includes('meta') || tokenType.includes('property') ||
203
- tokenType.includes('variable-2'));
204
- if (disabledProperty) {
205
- result = result.trimRight() + indentation + token;
206
- } else if (isPropertyStart) {
207
- insideProperty = true;
208
- propertyText = token;
209
- } else if (token !== ';' || needsSemi) {
210
- result += token;
211
- if (token.trim() && !(tokenType && tokenType.includes('comment'))) {
212
- needsSemi = token !== ';';
213
- }
214
- }
215
- if (token === '{' && !tokenType) {
216
- needsSemi = false;
217
- }
218
- return;
219
- }
220
-
221
- if (token === '}' || token === ';') {
222
- // While `propertyText` can generally be trimmed, doing so
223
- // breaks valid CSS declarations such as `--foo: ;` which would
224
- // then produce invalid CSS of the form `--foo:;`. This
225
- // implementation takes special care to restore a single
226
- // whitespace token in this edge case. https://crbug.com/1071296
227
- const trimmedPropertyText = propertyText.trim();
228
- result =
229
- result.trimRight() + indentation + trimmedPropertyText + (trimmedPropertyText.endsWith(':') ? ' ' : '');
230
- needsSemi = false;
231
- insideProperty = false;
232
- propertyName = '';
233
- if (Root.Runtime.experiments.isEnabled('preciseChanges')) {
234
- result += token;
235
- return;
236
- }
237
- // We preserve the legacy behavior to always add semicolon to
238
- // declarations regardless of its original text.
239
- result += ';';
240
- if (token === '}') {
241
- result += '}';
242
- }
243
- } else {
244
- if (cssMetadata().isGridAreaDefiningProperty(propertyName)) {
245
- const rowResult = GridAreaRowRegex.exec(token);
246
- if (rowResult && rowResult.index === 0 && !propertyText.trimRight().endsWith(']')) {
247
- propertyText = propertyText.trimRight() + '\n' + doubleIndent;
248
- }
249
- }
250
- if (!propertyName && token === ':') {
251
- propertyName = propertyText;
252
- }
253
- propertyText += token;
254
- }
164
+ const textBeforeInsertion =
165
+ text.extract(new TextUtils.TextRange.TextRange(0, 0, range.startLine, range.startColumn));
166
+ // If we are appending after the last property and that property doesn't have a semicolon at the end
167
+ // (which is only legal in the last position), then add the semicolon in front of the new text to avoid
168
+ // CSS parsing errors. However, we shouldn't prepend semicolons on the first line or after a comment.
169
+ if (textBeforeInsertion.trim().length && !/[;{\/]\s*$/.test(textBeforeInsertion)) {
170
+ propertyText = ';' + propertyText;
255
171
  }
256
-
257
- function isDisabledProperty(text: string): boolean {
258
- const colon = text.indexOf(':');
259
- if (colon === -1) {
260
- return false;
261
- }
262
- const propertyName = text.substring(2, colon).trim();
263
- return cssMetadata().isCSSPropertyName(propertyName);
264
- }
265
- }
266
-
267
- private detectIndentation(text: string): string {
268
- const lines = text.split('\n');
269
- if (lines.length < 2) {
270
- return '';
271
- }
272
- return TextUtils.TextUtils.Utils.lineIndent(lines[1]);
172
+ const newStyleText = text.replaceRange(range, propertyText);
173
+ return this.ownerStyle.setText(newStyleText, majorChange);
273
174
  }
274
175
 
275
176
  setValue(newValue: string, majorChange: boolean, overwrite: boolean, userCallback?: ((arg0: boolean) => void)): void {
@@ -288,7 +189,18 @@ export class CSSProperty {
288
189
  return Promise.resolve(true);
289
190
  }
290
191
  const propertyText = this.text.trim();
291
- const text = disabled ? '/* ' + propertyText + ' */' : this.text.substring(2, propertyText.length - 2).trim();
192
+ // Ensure that if we try to enable/disable a property that has no semicolon (which is only legal
193
+ // in the last position of a css rule), we add it. This ensures that if we then later try
194
+ // to re-enable/-disable the rule, we end up with legal syntax (if the user adds more properties
195
+ // after the disabled rule).
196
+ const appendSemicolonIfMissing = (propertyText: string): string =>
197
+ propertyText + (propertyText.endsWith(';') ? '' : ';');
198
+ let text: string;
199
+ if (disabled) {
200
+ text = '/* ' + appendSemicolonIfMissing(propertyText) + ' */';
201
+ } else {
202
+ text = appendSemicolonIfMissing(this.text.substring(2, propertyText.length - 2).trim());
203
+ }
292
204
  return this.setText(text, true, true);
293
205
  }
294
206
 
@@ -548,6 +548,10 @@ export class DebuggerModel extends SDKModel<EventTypes> {
548
548
  return this.#scriptsInternal.get(scriptId) || null;
549
549
  }
550
550
 
551
+ /**
552
+ * Returns all `Script` objects with the same provided `sourceURL`. The
553
+ * resulting array is sorted by time with the newest `Script` in the front.
554
+ */
551
555
  scriptsForSourceURL(sourceURL: string|null): Script[] {
552
556
  if (!sourceURL) {
553
557
  return [];
@@ -770,7 +774,10 @@ export class DebuggerModel extends SDKModel<EventTypes> {
770
774
  scripts = [];
771
775
  this.#scriptsBySourceURL.set(script.sourceURL, scripts);
772
776
  }
773
- scripts.push(script);
777
+ // Newer scripts with the same URL should be preferred so we put them in
778
+ // the front. Consuming code usually will iterate over the array and pick
779
+ // the first script that works.
780
+ scripts.unshift(script);
774
781
  }
775
782
 
776
783
  private unregisterScript(script: Script): void {
@@ -250,6 +250,9 @@ export class ServiceWorkerCacheModel extends SDKModel<EventTypes> implements Pro
250
250
  indexedDBContentUpdated(_event: Protocol.Storage.IndexedDBContentUpdatedEvent): void {
251
251
  }
252
252
 
253
+ interestGroupAccessed(_event: Protocol.Storage.InterestGroupAccessedEvent): void {
254
+ }
255
+
253
256
  setThrottlerSchedulesAsSoonAsPossibleForTest(): void {
254
257
  this.#scheduleAsSoonAsPossible = true;
255
258
  }
@@ -2048,7 +2048,8 @@ export function registerCommands(inspectorBackend) {
2048
2048
  XrSpatialTracking: 'xr-spatial-tracking'
2049
2049
  });
2050
2050
  inspectorBackend.registerEnum(
2051
- 'Page.PermissionsPolicyBlockReason', {Header: 'Header', IframeAttribute: 'IframeAttribute'});
2051
+ 'Page.PermissionsPolicyBlockReason',
2052
+ {Header: 'Header', IframeAttribute: 'IframeAttribute', InFencedFrameTree: 'InFencedFrameTree'});
2052
2053
  inspectorBackend.registerEnum('Page.OriginTrialTokenStatus', {
2053
2054
  Success: 'Success',
2054
2055
  NotSupported: 'NotSupported',
@@ -2430,7 +2431,12 @@ export function registerCommands(inspectorBackend) {
2430
2431
  ],
2431
2432
  []);
2432
2433
  inspectorBackend.registerCommand(
2433
- 'Page.setFontFamilies', [{'name': 'fontFamilies', 'type': 'object', 'optional': false}], []);
2434
+ 'Page.setFontFamilies',
2435
+ [
2436
+ {'name': 'fontFamilies', 'type': 'object', 'optional': false},
2437
+ {'name': 'forScripts', 'type': 'object', 'optional': true}
2438
+ ],
2439
+ []);
2434
2440
  inspectorBackend.registerCommand(
2435
2441
  'Page.setFontSizes', [{'name': 'fontSizes', 'type': 'object', 'optional': false}], []);
2436
2442
  inspectorBackend.registerCommand(
@@ -2621,13 +2627,17 @@ export function registerCommands(inspectorBackend) {
2621
2627
  Websql: 'websql',
2622
2628
  Service_workers: 'service_workers',
2623
2629
  Cache_storage: 'cache_storage',
2630
+ Interest_groups: 'interest_groups',
2624
2631
  All: 'all',
2625
2632
  Other: 'other'
2626
2633
  });
2634
+ inspectorBackend.registerEnum(
2635
+ 'Storage.InterestGroupAccessType', {Join: 'join', Leave: 'leave', Update: 'update', Bid: 'bid', Win: 'win'});
2627
2636
  inspectorBackend.registerEvent('Storage.cacheStorageContentUpdated', ['origin', 'cacheName']);
2628
2637
  inspectorBackend.registerEvent('Storage.cacheStorageListUpdated', ['origin']);
2629
2638
  inspectorBackend.registerEvent('Storage.indexedDBContentUpdated', ['origin', 'databaseName', 'objectStoreName']);
2630
2639
  inspectorBackend.registerEvent('Storage.indexedDBListUpdated', ['origin']);
2640
+ inspectorBackend.registerEvent('Storage.interestGroupAccessed', ['type', 'ownerOrigin', 'name']);
2631
2641
  inspectorBackend.registerCommand(
2632
2642
  'Storage.clearDataForOrigin',
2633
2643
  [
@@ -2667,6 +2677,15 @@ export function registerCommands(inspectorBackend) {
2667
2677
  inspectorBackend.registerCommand('Storage.getTrustTokens', [], ['tokens']);
2668
2678
  inspectorBackend.registerCommand(
2669
2679
  'Storage.clearTrustTokens', [{'name': 'issuerOrigin', 'type': 'string', 'optional': false}], ['didDeleteTokens']);
2680
+ inspectorBackend.registerCommand(
2681
+ 'Storage.getInterestGroupDetails',
2682
+ [
2683
+ {'name': 'ownerOrigin', 'type': 'string', 'optional': false},
2684
+ {'name': 'name', 'type': 'string', 'optional': false}
2685
+ ],
2686
+ ['details']);
2687
+ inspectorBackend.registerCommand(
2688
+ 'Storage.setInterestGroupTracking', [{'name': 'enable', 'type': 'boolean', 'optional': false}], []);
2670
2689
 
2671
2690
  // SystemInfo.
2672
2691
  inspectorBackend.registerEnum('SystemInfo.SubsamplingFormat', {Yuv420: 'yuv420', Yuv422: 'yuv422', Yuv444: 'yuv444'});